Tips for Designing Nanogames
A nanogame is a very different beast to construct compared to a normal game. And while the former does share some design philosophies with the latter, nanogames have some special restrictions and expectations that need to be followed. Some of the main ones being:
- Be playable within a very small time frame.
- Have a objective that's understandable at first glance.
- Progress nicely accordingly with speed and difficulty changes.
This guide will give general tips on how to follow Librerama's nanogame design philosophy to help you make a well structured nanogame.
Note: This tutorial assumes you already know how to program nanogames. If that's not the case, please read the Developing a Community Nanogame tutorial first before proceeding.
The "Nano" in Nanogame
Their names aren't for show, nanogames are indented to be very short, and supposed to last 6 seconds, by either being the time limit, or how long the player has to last, depending on the nanogame type.
Such a short time limit means that a nanogame's complexity should be kept to a minimum. Its gameplay needs to be short and simple, as there's little time for the player to understand what's happening, it's important to not make them do a convoluted task in order to achieve victory.
To get a better understanding, let's take a look at one of the official nanogames, "Punchbag Wallop":
This nanogame consists of a single, very simple task: punch the bag until it breaks. This is done by making the boxer hit said bag. No extra moves, nor combos, just a simple punch each time the "Action" input is pressed.
There's basically no clutter that could take the player's attention away from the goal either, with only some basic non-intrusive effects to juice-up the visuals.
Players Are People, Not Machines
Humans aren't perfect, they commit mistakes (lots of them, in fact), and so, perfection should not be expected from them. A good nanogame is lax in terms of precision, and accept "good enough" attempts for the completion of the goal.
Let's look at another example for this, with the "Thing Factory" nanogame:
In the example above, the collision shapes that are used to detect the player's click/touch were made visible, and as you can see, they are bigger than the visual representation of the objects themselves. This allows the player to slightly miss the mark but still count as a hit.
It's important to give this little margin for error, as missing something by a couple of pixels can make the player feel cheated, even if they technically did miss their target.
For nanogames with the "Objective" timer type, how long it takes to win also matters, one should not be at the skin of their teeth even when completely concentrating. Having it be possible to complete with around 2 seconds left on the clock with decent focus is recommended.
Accounting for Speed and Difficulty
A key gameplay element of Librerama is the progression of speed and difficulty levels as the player wins/loses nanogames. And so, nanogames must adapt to the current levels to increase their challenge, while still remaining fair.
The speed level is volatile, increasing 1 point on victory, and losing 2 on
failure, with the minimal value being 1, and its maximum 10. Each level
increases the base speed by
0.075, which means that at max speed, a nanogame
would run 1.675 times faster than normal.
The change in speed affects nanogames passively, which means that the velocity changes without the nanogame's developer needing to do anything extra in the code, but that doesn't mean it shouldn't be designed with it in mind. Make sure that the nanogame plays well at all speeds, not being boringly slow on lowers levels, nor harshly fast on higher ones.
The difficulty level is progressive, increasing once a nanogame is won at the speed in level 10, never decreasing. On level up, the speed points are reset back to 1, except when the difficult reaches its cap at level 3, which will make the speed lower only on loss.
It's the job of the nanogame's developer to make it react differently accordingly with the current difficulty level, making the nanogame harder to complete as more difficulty points are added. What counts as "harder" depends on what your nanogame is about, some examples being:
- More obstacles.
- Smaller safety nets.
- More complex patterns.
- Extra multitasking.
Make sure that the difficulty is balanced. Depending on your skills, some things can appear harder/easier than they are to most people. If possible, try finding some friends to help you test how challenging your nanogame really is.
Also, try to avoid making things faster as a way of adding difficulty, that's the job of the speed levels.
This may not come to mind often for those with no disabilities, but small changes in your nanogame to make it more accessible can mean a lot for those who do.
Librerama opts to bake in some basic accessibility into the nanogames themselves, with the main rule being: don't make nanogames rely solely on colors or audio to be won. This helps immensely the experience for people with either colorblindness or hearing impairment.
If, for example, color differentiation is the main objective, try attaching different symbols to each color. Or, if gameplay requires noise, add a unique visual cue for each different sound.
Care should also be applied for color transitions, as to avoid triggering epileptic attacks. If a large area needs to change colors, make sure that it doesn't happen too fast or too frequently. Try making such transitions happen smoothly, rather than instantaneously.
Final Extra Tips
The list of things that you should mind when making nanogames (or any game in general) could go on for quite a while. And since this guide is supposed to be just a small sample of advice, here are some good final tips to depart with:
- Do not make the win condition be decided by luck! Losing a nanogame not because of your own doing, but because chance wasn't in your side is not fun.
- Avoid using text, if possible. Reading takes some time, which players have very little during gameplay.
- Go wild with the art style! Nanogames are supposed to be their on little universes, so don't be afraid to be creative.
- The kickoff and ending sections both last 1 second each. And while the former can be left alone, try adding an animation to the latter to make it clear if the player won or lost.
- Make sure to give credit to any third-party assets used. Giving credit for the work of others is something you should always strive for.
- Don't be afraid to take inspiration from existing nanogames. Seeing how they work can give some fuel for your imagination.
- And of course, remember to have fun! Enjoying what you're doing helps a lot when making something to be enjoyed.