Making a game – Getting organised

Getting organised is a crucial part of making good progress in any kind of development. Following a mad dash to build a prototype I usually start a fresh new project in Unity and get organised. Once I’m set up, I can start porting and refactoring my prototype code into my new project and get on with making a real game.

The first thing I do is organise my windows. There’s no right way to do this, but this is how I have it set up.
unity-windows
In the top left, I have my Scene and underneath is the Game window. I also have my Project and Animation tabs in the bottom and Animator, Console, and for some reason, Asset Store keeps appearing there.
To the right, I have my scene Hierarchy and the Inspector to the right of that. I will generally run in full-screen mode and have MonoDevelop open at the same time.

Now that Unity is how I want, I can flesh out my folder structure.

Here’s how it looks now.
screen-shot-2016-09-19-at-18-11-11

 

  • Everything goes inside Assets
  • Prefabs folder contains a folder for every prefab we have. Inside each folder will be the prefab and any animations associated with it.
  • Scenes are split between Levels and Menus for now. I may add more categories later.
  • The Scripts folder contains all of the code files. In my case, those are C# files.
  • The Textures folder contains all the image files.

Now I’m organised. Or at least on the right path to being so. I’m ready to start cranking out some code

Making a game – 2D Platformer

Since my early days of playing Mario on the NES, I have always wanted to make a 2D game. Now with enough experience to know WTF I’m doing, I have embarked on making a 2D Platformer, primarily for the iPhone. In truth, I started this game about 2 years ago, and then again 2 weeks later, and again a month later. I eventually gave up.

I have decided to use Unity to build this game because in all my previous attempts at making a game, I’ve spent at least 75% of my time just working on the editor. One previous attempt at making this game produced some good results but it took me months to get to that point. In just 5 late nights of hardcore coding, I’ve managed to surpass where I was before and with more time to spend tweaking the engine values, rather than tweaking the engine code to make use of my values, I can make the game behave much closer to how I want it to.

Here’s a little video showing a snippet of the game so far. I’m still working hard on refinement of the physics and slowly introducing more features. I’ve also already built a lot of the game state so the player can go through levels and save their progress.