Categories
Design Process

It’s All About the Fundamentals

I’ve spent the week mulling over what I wanted to do with my daughter’s wonderful game idea and I am definitely going to take some liberties with it. It is still going to be a 2D platformer but I am trying to think of something I can do to inject some spice into it. The working idea at the moment is to make a single screen platformer in which the objective is simply to collect three “pickups”. There will be multiple paths/orders in which to do this so the secondary objective is to find the fastest, most efficient path possible to achieve the lowest time. So kind of like a speed run thing I guess? I can’t say its particularly unique but we’re getting somewhere.

What is appealing is that this idea forces me to carefully consider a couple of important things: level design/layout and fluidity of motion and controls. I don’t have a lot of experience with thoughtful level design. I’ve made some playable things but I welcome the opportunity to dig deeper here. As far as player controls, I notice and very much appreciate when a game feels good to play but, when it comes to implementation, I’ve always settled with what was functional.

Get on with the scope already

The goal with the first iteration is do deliver a proof of concept. This will be ugly but playable and needs to incorporate the following core mechanics and components:

Player Movement

Right, platformer, kind of obvious but I want to put a box around movement because it can incorporate quite a lot. In the first iteration we are going basic with horizontal movement and a fixed jump. I would like to incorporate a variable jump force based on button press length, some sort of momentum-building mechanic, and maybe some sort of air control. For this first pass, I will settle for something smoothed out and not so rigid.

Pick Ups

We have an objective to collect x amount of something so we need something to pick up. In the first iteration this will include the item(s) to be picked up an a system to track and manage the pick ups. Straight forward here.

Procedurally Generated Levels of course.

The first two were pretty simple so I wanted to add something fun. I am thinking a 3×3 gird comprised of different types of level modules and I will have to define a set of rules around how this gets configured. I’ve actually done this once before on another unfinished project so I have some mistakes to learn from. The first one being: don’t design and build at the same time. I’ll need to plan this one carefully ahead of time to avoid wasted efforts. The first iteration will include one variant of each of the modules needed to build a level.

That’s it, pretty simple but it a good starting point. I’ve already been playing around with some art ideas but I am going to try putting that off as best as I can. The next few posts will probably be more talking through design decisions and cataloging any cool bits of code, Unity-specific or otherwise. I may create a video or two as well, we’ll see.