Making an Indie Game Pt.4: Development and Application

Making an Indie Game Pt.4: Development and Application

It is very important when in development to understand the final product before you actually reach that stage. Once you have the knowledge to shape and create your ideas, then it is on to development of those ideas and adding original programming (how the code that you have learnt can be shaped to solve your subjective issues). In relation to the small 2D platformer I have created, one aspect of this is the combination of unoriginal code I have learnt from tutorials to create something unique, for example, the use of OnTriggerEnter now can be used for both changing to a different scene, activating sound effects when debris collides with the floor, and as a reset button when my Character hits the rising collider.

At this stage you should be able to understand enough to know what your biggest challenges will be when creating your first game. For me, it has been the initial tutorial screen, background art, and collision detection on future levels. Now you can plan; keep it simple to start off with and really think about possible setbacks in code that will halt your progress. Plan the first level and then try to refine it. Make a Word Document that can serve as a backup for elements you want to implement later down the road. Devlogs are also good methods of retaining what you have finished and what you mean to complete. This will help you to both keep to your plan and give you a clear line of events that you can look back on as it is very common to walk away for a couple of weeks and then be completely lost with what you wanted to achieve in the first place.

 

About half way into this project I became more confident with how the code interacts with the program. I didn’t go into saving, instantiation, or anything too complex, I have just tried to keep it basic and simple. Initially my goal was to make a Miner that was trying to escape a mine. Now I have changed it to be an Engineer trying to escape a volcano that is filling up with lava. This is both more aesthetically interesting and gives the game a certain level of intrigue when playing it. I have to be careful with how the background art interacts with the foreground as due to the levels being relatively dark I have to outline each object my character can jump on in grey so players understand what they can and can’t jump on.

Unfortunately because of my incredibly erratic time schedule I couldn’t really formulate a very good devlog for my first ever completed game, however it is still fresh in my mind so I’m hoping to note down all the processes I took:

 

Devlog #1: After numerous hours spent going over the tutorials on the Unity website I feel I may finally have the experience to start work on my own original independent project. This project will be a 2D Platformer. The premise is that a miner has broken through to a large water pocket whilst mining and their mine is beginning to fill up with water. They have to quickly traverse back through their mine with help from their teleportation machine to get to the top of the screen before the water touches them. The Main Menu should convey both a traditional element of mining (dirt and rock etc.) whilst the teleporting should convey futuristic elements (white, metal, bright portal colours (orange and blue). Currently I am working on the main menu with the info being derived from the Brackeys channel “https://www.youtube.com/watch?v=zc8ac_qUXQY“. Along with “https://www.youtube.com/watch?v=YOaYQrN1oYQ” for the Options Menu.

 

Devlog #2: I have designed the pixel art of the Main Character and have thought up possible levels to design for the project. I have realized the teleportation mechanic may be a little bit too far ahead, especially if I plan to complete this inside of one month.

 

Devlog #3: I have decided to shift the idea to be a more rudimentary platformer game with an added element of two obstacles, falling debris with a rising threat. I have changed the basics of the game so that it is more about an Engineer trying to escape a volcano that is filling up with lava. With the fundamentals noted down now, I have decided to create a more basic 2D platformer called Volcano Rush.

 

Devlog #4: To shorten the programming load I have utilized Brackey’s main character code for my main character as that gives me all the abilities I will need for the full game. I am using Photoshop to create all the elements of the artwork. I also changed the main character to be a bit more interesting to look at.

 

Devlog #5: I’m about 2 months down the line of my first project and I am pretty happy with the conclusion to this. The whole game is made from three scenes, the main menu with an options menu that includes a bunch of different features such as graphics quality, resolutions, full-screen mode and volume. I also have a starting menu that explains how the game works and what the player has to do to win. And then I have the actual game, comprised of 5 levels with the end showing them the trophy they have won, whether that be a gold trophy for completing the game in a minute, a silver trophy for 1 minute and 10 seconds, or a bronze trophy for 1 minute and 20 seconds. I have not gone into global variables, save systems, or instantiation for creating new objects as the game isn’t very big and so doesn’t require it. 

 

A big part of the learning curb has been the steady progression of the levels, as I wasn’t quite sure how to shift my camera along with activating the objects I would need for the next level however I just decided to use object-oriented programming with triggers, activation, and opacity of items not currently being used in the level.

 

I also created a pause menu which allows you to quit the game, go back to the menu, reset, or resume your game. I did have a lot of trouble working out the animation mechanics on the canvas as a lot of the time it would be invisible or not show properly when it is activated. Also I had the difficulty of not being able to resize my canvas when I created it later on in the game’s development, and due to the size of the original pixel art features, the very small levels were difficult to scale with the very large canvas.

 

I also added sound effects for the objects hitting the ground, lava sounds, and a main menu song along with numerous animations including clouds, leaves, character movement, and background changes. I also used joints and physics drag to make objects more difficult to traverse and debris less oddly sped up.

 

Summary: Although the game is by no means perfect, this has helped me to understand the fundamental abilities Unity has at creating scenes, levels, animations, and code. I thought this short project would last me from 12/05/19 – 10/06/19 (1 month). It actually took 12/05/19 – 24/07/19 (2 and 1/2 months).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.