Through out the years, I’ve came to the conclusion, that healthy limits very often end up improving the creativity of the person, that those limits are placed on. I could bring up countless examples both from my own life and from the human history, but since this is a development blog, today I wanted to talk about self imposed limitations as a way to make game development more fun and creativite.
We will be forever limited by something, and it can range from our parents when we are children, to the amount of matter in the universe, even tho it seems like an infinite amount, if you played Universal Paperclips, you know that it is not that much.
As humans, our brains are incredible at finding loopholes and clever ways around the rules, and you don’t have to go out of your way to find quite a few examples of that, big and small. And those solutions usually are pretty surprising and fun, much more interesting than the thing, that the rule implied you should not do directly.
And such is the case with game development. In the era of NES, you where limited very heavily by the toolset you had to use, memory you had available, even the palette and sprite count. As our hardware advanced, we, as developers, started to feel those hardware limitations less and less. Now you can code in C# instead of C or assembly, and (in mot cases) forget about the physical RAM, you can render complex 3d models without making most computers even trying to look busy processing it, you can have your game weigh tens and hundreds of gigabytes, where as just 30 years ago you had to fit your build on a 40kb cartridge.
And that might sound like a positive change, and it is undoubtedly so, but it is not as black and white as hardware manufacturers would want you to believe.
We can skip over the "lazy developers don’t have to optimize their unity games bla bla bla" bit, and talk about why does every single AAA game try and look hyperrealistic?
I do not dig the whole "rtx" trend. You can make your game look like a weird trip dream, a cartoon, anything! And you chose to make it look as boring real life? And also at the same time kinda fail at it terribly too? Maybe it is my trained eye, but I see so much stuff rendering very weirdly. And for the sake of what? You can make a much more pretty looking product with a fraction of both the hardware and human resources, AND make it stand out from the crowd of irl clones.
Nintendo, thankfully, doesn’t seem to care about this trend, but they have their sins too. But just look at how great their last two Zeldas look, while running on a chip that was released in 2014! Switch is known as "the underpowered piece of silicone that can only run nots and crosses", yet with their unique style they make it look gorgeous. AND EVEN THEN PEOPLE MOD IT TO HAVE RTX, WHAT IS WRONG WITH YOU?
Other great examples of unique art styles for me are games like deep rock galactic and slay the spire.
This whole rant applies to pop animated cartoons too, I just don’t get it, why when you have so much freedom with visuals you go and try to make a movie-ish look.
I did not mean to vent for so long, but let’s continue. Have you ever heard of developers having troubles finishing their games? Maybe even yourself had this issue. Yet the same developers go to hackatons and gamejams and produce small finished packages in 2-3 days of time? Well, I don’t we are making a wild guess here, if we are going to assume that this is directly the aftermath of having a constant "time bomb" ticking, where you know that you won’t have time to write great code and plan out content for months of work ahead, no, you are fighting for your life, you are holding to each hour as never before in your life. This is a good example of an "artificial limit", that we are going to talk about today. Is it a sustainable limit? Can you work a year releasing a game every two days? Of course no, most people are insanely tired and out of their resources even after one game jam. But it is still a must have experience for everyone, who is interested in making games, in learning to finish or to work in a team quickly, and I have tons of examples between my friends, where they didn’t even have all that much skill in their respective area, yet they had tons of fun and growth in that tiny tiny time period.
Another "artificial limit", that is a much nicer example, but is also present in gamejams, is theming. As the clock starts rolling, a theme gets announced, and you have to make your game follow it in some way. For example, a theme like "one room" can turn into a "point and click escape the room adventure", a platformer where the room layout changes every time you reach the goal, or a plethora of other things. And it seems like a weird thing to have in a competition, where you want to breed creativity and different types of games, so why restrict to a single theme, but it turns out that it is a huge, HUGE help in starting generating ideas for your game. When you have an empty piece of paper, it is very hard to start thinking of something new and cool. But add a starting drawing to it, and you will have much less trouble going forward. Just make sure, that the starting condition (aka the limit) is not too strict, because if your piece of paper already has a Picasso painting on it, there is not many places you can go from there.
This sounds all cool and great, but I’ve never really seen anyone use those tools outside of jams. Besides using a limiting engine, like writing a game for a very very old computer, having ascii graphics, or using something like PICO-8.
Strap yourself in for yet another tangent, I’m going to speak of the thing that basically handed me the basis of most skills I posses right now in terms of game development. It sounds like the last thing you would want from your gamdev toolset, because it has a set 128×128 screen resolution for both your game and all your editors, so you code in lua, while seeing not more than like 20 lines of code. And it limits the amount of everything you can have pretty heavily. 128×128 sprites, a 128×64 map (you can trade some memory and have less sprites but more map), a 4 channel audio engine with set instruments, and a 65k char hard code limit, as well as an 8k token limit (token being a basic unit of a programs code, like variable name or punctuation). Oh, did i mention that you get only 6 buttons of input (not wasd, arrows!) and only 16 colors? Jeez, does not sound nice, does it?
It wouldn’t be me if I didn’t mention my beloved PICO-8. I could go on and on about how many insane creations I’ve seen with it over the years, that were made with such love and passion, and most of them under a tiny tiny timeframe, with 0 budget and by a single person. It never stops to amaze me, what new tech developers find to fit their ideas onto this tiny monstrocity.
I’ve seen this again and again over the years, and in many fields, besides game development. We, as humans, tend to struggle, when we have too much freedom, when we have to make too many decisions. We tend to get scared of choice, or stuck with picking just the right sound for our synth. And it is insanely liberating sometimes to put yourself into a box, constrain yourself and try and work with something, that you can’t really change.
Another amazing example of this "boxing in" is bitsy. It limits your graphics options to 1 bit 8×8 sprites, but gives you infite space for dialog, maps & sprites, so you are free to tell as many stories, as you like, and people have been going wild with it!
And you know, after meeting a lot of people IRL, that do not enjoy the same views on pixel art as me, I grew to understand that maybe limiting yourself to 8×8 sprites is not for everyone. But this was kinda never my point. I assure you, that if I gave you right now a scribble on a piece of paper and a pen, you would have a much easier time making a fun drawing out of it, than if I gave you a blank canvas and a butt load of painting supplies.
I’m thinking about putting up some limits for writing articles here too. I started typing it in early April, and the idea for the post was hanging around in my head since the very early days of this blog. And I feel like sitting down for a few hours and finishing it the same day I started would be much more beneficial both to the consistency, and to my satisfaction. That’s what I did with the last post, and I’m much more happy with it. But you know what, this is not some official place for great gamedev articles, this is sometimes a place for me to vent and to record myself for my future self. And maybe, to have someone ride along side with me. So thank you for that.