Reading Time: 3 minutes
In this blog I will write a short description of Unity3D (the game engine I used) and about my first experiences creating a mobile game.
As I mentioned in my previous blog, Unity3D is a free 2D/3D game engine that allows the user to create apps for all kind of platforms such as android, iOS, PS4, XBOX ONE, Nintendo Switch, PC and the list goes on and on. Lately, Unity3D is investing much time into virtual reality and augmented reality, which may produce some nice applications in the future. It is free to use, until you reach a certain threshold of annual gross revenues or raised funds: You will have to upgrade to the Plus, Pro or Enterprise versions.
Where to start? #Noob #NoDeveloper
My biggest issue was: Where do I start? I decided to start simple with recreating tutorials, for example the Unity famous Roll-a-ball tutorial. This example involves a 3D environment where you move a ball to collect small blocks around the field. Although it is in 3D, the step by step simple instructions allowed me to become accustomed to the interface of Unity3D. After reading and recreating a few tutorials, I decided to start creating my first mobile app.
As a fully-fledged game designer (*cough*, *cough*), I started writing and drawing some wireframes for my game. Although this may not seem necessary, it helped me to focus on what I wanted to build and achieve and which elements I would create first and which should be added in further releases.
As you can see in the above image, Jump Ivy first had a different working name, and three elements on the home screen: Start button, How To button and a scoreboard. On the second drawing you can see how I intended the gameplay to function, where I wanted the advertisements to be placed and a possible “push zone” for player 1. I intended to incorporate multiplayer, but skipped that in order to build something small enough for me to actually finish. In several blog posts I have read, they advise to keep your first mobile game attempts small enough, so you can learn fast and will actually release a game. If I for example wanted to incorporate everything I wanted in my first game, I don’t think it would have been released by now, ha ha!
My game creating experience involved a lot of trial-and-error. Dragging elements to the screen, attaching colliders, animations and scripts to the game objects provided to be sometimes very challenging. Why does the globe continue spinning while object X has collided with object Y? Oh wait, forgot to check a checkbox, or forgot to add code on what it has to do next. For me it felt very rewarding to find a solution for an issue (which I probably created myself in the first place).
At a certain point you will have so many animations, sprites, scripts etc. you will get lost in your own project. In the tutorials at Unity3D they learn you the importance of structuring your files so you can navigate quickly through your files and keep an overview of what is where. After having not worked on Jump Ivy for one a two weeks, I did feel lost in my scripts: What did this code do again? Where did I save my randomizer code again? Adding comments in the coding provided me with a nice overview what is happening in that particular code and enabled me to quickly search for specific elements.
At the end, it has been a fun experience and hopefully when a new idea pops up, I will be able to leverage my learned skills to create an even better and more engaging game!