Project C, Journal Entry 3&4


This is a journal entry regarding last week of work and last two versions of Project C. 

This was quite an intense week. I'll just comment on how every part of this game works and what was done to achieve it. 

Just one small disclamer. I am aware that others have done much better job making this project, but I tried really hard just to make this and I achieved it with a lot of help from Michaela Štolová. I am quite proud of how this works, although I am aware it isn't much, but it is the best I can do with what I learned (as I wasn't really experienced in regards of Unity). 

Also a note about sources: I painted visuals myself in Malování 3D, so they are my work. Background music is a classical music downloaded from YouTube (links bellow), other sounds were downloaded from freesound.org (links also bellow). There is a story reading that was added after feedbacks, I recorded it myself and edited it a little bit in Audacity to be more child-like. About the code, I tried to follow tutorials that I found, but I mostly failed and went to my teacher for advice. 

So this game consists of some parts that I will now comment on, this isn't chronological, as I did it in weird order. 

When the player starts a game, he is greeted by Start Screen with name that is only a picture painted. The only interactive part is a start button. On click it transports by SceneManager.LoadScene() to main part of the game. 

The Main part of the game is a simple platformer. 

There is a bunny (as a player character) that tries to get to heaven. He is operated by standard controls (A - Left, D - Right, W - Up, Space - Superjump). Superjump is just bigger jump, twice a size of a normal jump. I struggled to make a bunny and not a wooly flying squirrels. There was an idea to make him a little umbrella so the fall would look like it was pre-meditated. But later I managed to adjust jumps and gravity settings so it almost works (gravity = 4, jump = (0,30)), so I (sadly) discarded this idea. On jump there is a soundeffect played. Bunny jumps on a map (Tilemap, rectangular Grid). 

There also Moving platforms, that can carry him for longer distances. They have adjustable length of trajectory(length), direction ("up" for vertical and anything else for horizontal) and speed. It moves similarily to bunny and stops when it encounters "stopper" that is counted from length of trajectory. Bunny can only jump if standing on a ground or a platform (so that he doesn't fly right up using jumps mid-air). 

I adden some arrows just as decoration and little help for a player. Simple arrow hints some directions, double arrows are an indicator that a Moving platform can be encountered nearby (double arrows were made double after feedback). 

In the Main scene there are also Minigame icons and a Gate to heaven (as it is build as a way to heaven ending with stairs and a gate). Those Minigames need to be completed to complete the game (there is a condition that checks the number of Minigames that were visited. When the Minigame is entered, there is a jingle, just as when the Minigame is completed, there is higher jingle to indicate it. 

The teleporting between scenes was quite an issue, because every time player exited the Minigame and returned, the bunny reloaded to the starting position. This was fixed by saving the position of bunny and setting it to a little next to a minigame icon that has been destroyed in a process of reloading as it was already completed (so the player couldn't redo it for extra points). 

First "Minigame" is a Tutorial of sorts, it is a start of a story, that should tell a player what is happenning, as well as that there are three tests (aka minigames) to complete. This is presented as a written the text as well as an audio (the audio was added after feedback). The text is just like a Moving platform, that doesn't loop (mostly because scene ends before) so it scrolls itself. Audio version is me reading the same text. Goal was to sound as child-like as possible to go with a theme. There is a background music too (just as in Main and other Minigames, attached to background playing on loop on awake). This "Minigame" ends when the story is presented, this is realized by falling bunny icon on the right colliding with an object that has SceneManagerSwitch script attached. This script uses SceneManager.LoadScene() for transporting to scene based on parameter given and a tag of a bunny colliding (that means either player or this falling one). 

The first real Minigame is a Test of speed (although there is not a specific order). It is another little platformer, but there it a closing trapdoor on top that stops bunny from doing so. If bunny can get out, player is transported to Main scene. If bunny can't, the trapdoor collides with an object that resets the Minigame. This is on loop until player manages to complete the minigame (but it is simple, so I don't think it is an issue, but for more complicated stuff next time there could be a "Leave button" to return to Main scene without completeing the Minigame and destroying the icon). The Minigame ends when bunny manages to escape, there he collides with SceneManagerSwitch-using object and is returned to the Main scene. 

The second Minigame is a Test of Strength (Fight scene). It is a game in style of "Whack a mole" game. There are five clouds on which there are enemies spawned. Those are all animals that hunt rabbits or hares (Snake, Owl, Fox, Dog and Human). Player needs to click on every enemy that appears there. There is a limit of number of enemies eliminated. For this there is an indicator - a number that lowers every time a "mole is whacked". After last one the bunny is transported back. Those enemies are tricky, because at first I tried to destroy them as an object, but I had a script for respawn as a part of a script that was attached to the enemy that was destroyed. So I was advised to just disable the sprite and make enemy disapper, also stop counting. Then it waits for random number between one and five seconds to reappear. If enemies are not clicked, they stay there, but I imagine that for next time it would be maybe better to make them disappear after some time to make it more interesting and a bit harder and then reappear again. But I got this idea too late (right now to be honest). 

The third Minigame is a Test of a Power of wits. It is a simple maze that bunny has to escape. The maze is same every time as I found it hard to make it as it is and couldn't imagine how to generate working playable mazes. But I tried to make it not that stupid. Bunny is operated by aswd (usuals) and when he escapes, the collides with an object that has SceneManagerSwitch and transports player to Main scene. 

When player completes a minigame, the indicater of this game is added to List hotovo and those games are Destroyed on reload of Main scene. When all of them are completed and player finds a Gate to heaven, it checks if the number of Minigames is right and the gravity is set to 5 to up, so bunny flies up and there in clouds he collides with an object that transports player to Ending scene, where there is a picture of this bunny eating clovers in heaven. There is also text scrolling as a nice ending of a game. The end of this scene is in clouds. I reused the falling bunny to transport to final Credits scene, where there is an button with Goodbye label, that uses Application.Quit() to exit the game. 

And this is all. As I said, I found this project very challenging and it is very beginner-level. But I tried really hard. Also I had a lot of help from my teacher, otherwise I wouldn't be able to finish it. One thing I am sad about are the animations, or their absence to be exact. I just didn't manage to make them work. Maybe if I had much more time (or if I didn't lose half of the time on failing to navigate myself in the technicalities), I would manage it. Well, something for next time, I guess.

I hope I didn't forget anything important.  

Sources:

Main scene:

Story start:

Minigame speed: (125% speed)

Minigame wits:

Minigame strength: 

Ending:

other:

https://freesound.org/people/memerunknown/sounds/670077/

https://freesound.org/people/PanPiper5/sounds/659913/

https://freesound.org/people/BOSS%20MUSIC/sounds/121800/

Files

build4ProjectC.zip 48 MB
May 18, 2023
BunniesGoToHeavenProjectC.zip 50 MB
May 19, 2023

Get Project C

Leave a comment

Log in with itch.io to leave a comment.