For those of you who tuned in last weekend to our second episode of the live game development show, you might have wondered why we were so intent on using an oddly assorted 16 color palette to make Project Spaghetti.
Well, that 4 bit palette of 16 colors was the same palette that created the hundreds of worlds I visited as a kid plugging 5 1/4 inch floppy disks into my brother’s Commodore 64 – the reason I love games and the reason I went on to later become a programmer.
Those 16 colors were the only options available to game designers back on the C64, a fact that still conflicts with my memories of the diversity of games the system boasted. In fact, though my mind accepted it, my heart had so much trouble believing it, I had to grab screenshots from some of my favorite old Commodore games, like Impossible Mission, Blade Runner (inspired by the Vangelis soundtrack, not the movie, no definitely not the movie!), and Montezuma’s Revenge and compare the colors to the screenshots. I was amazed to find that all of those wonderfully rich memories from those hundreds of games all boiled down to 16 colors. Of course, back then, that was the only choice (and even using the full palette at once wasn’t an option without some tricky programming), so why, when Photoshop, etc. all offer the wonderful 2^24 = 16,777,216 colors visible to the human eye would I restrict myself to such a limited number?
To anyone who has ever had trouble drawing on a fresh sheet of white paper, or sat down to an empty Word document to write the next great American/British/Australian/ novel, you’ll understand this point perfectly well, but restrictions can ironically be liberating. If someone asks you to write a paper about the woes of Hamlet, it’s easier to get started than if he or she asks you to write “something good.” As much as people on game development teams groan when they run up against the limitations of the hardware they’re working on, or the schedule they’ve been given, those restrictions become the rock-solid foundations for their best ideas. Because there are fewer things to change, it’s easier to focus on the things that can change.
From my experiences on the Commodore 64 (and my mistaken memories) I know perfectly well that 4 bits of color are enough to take me everywhere from Alcazar: The Forgotten Fortress to the Caverns of Kafka. And, not being an artist, I need limitations to keep me consistent. I wanted to pay tribute to the system that brought me to where I am, and, because the game is a 2D top-down cowboy shooter made with sprites in GameMaker, I thought limiting myself to the original Commodore 64 palette would serve perfectly.
Limiting colors and resolutions is not all roses. Beyond the fact that modern gamers enjoy games with a little more graphical fidelity, with 16 colors, problems are bound to appear. The biggest of which is something that resembles a map coloring problem. If I were to draw a character with four colors, an enemy with four other colors, a bullet with two other colors, and background objects with even more colors, that doesn’t leave me anything for drawing a background that stands out from all of those objects. Either objects or characters will start to blend into the background, or I’ll have to use whatever color is left to make a background. (a pink desert?)
The character I drew last episode looks a little something like this:
Four colors. Using 25% of everything I have available is pretty extravagant, but I figure I can get away with it as long as I eliminate the importance of one of those colors: the antenna. If the player doesn’t need to worry about where the antenna are on the screen, then a few red dots of overlap should be okay if I decide to use the same red in the background (as in the dirt particles breaking up a plain field of yellow sand).
But it’ll depend on the enemies. If the enemy happens to use red for the face or clothing, which it might, then I would be better off removing red from the list of colors I can use in the background.
As the game will eventually have more than one stage, with more than one background, I’m going to have to rely on another trick of old game designers working with a limited color palette: changing character colors. In modern games, it would be unthinkable to suddenly change the main character’s color (imagine Master Chief’s armor becoming red because the artist wanted him to stand out in the grass better!), but it’s something they did all the time back in pre-Nintendo days. They had to. But the core gameplay mechanics remained the same, and they took care to make sure you always knew who you were controlling. Montezuma’s Revenge is one great example of this technique in action. In many of the rooms, once you go off-screen, the new room is filled with different traps, different colored bricks, etc. and your character has, subtly, changed color. I’ll be keeping that in mind when I begin to work on the later stages, though it’s a technique that will create a little more work for me, as I’ll have to have multiple sprites tied to the player object.
The other thing that’s going to get tricky is the resolution. I’m keeping the character to the 24 pixel wide x 21 pixel high limit of the old Commodore sprites, which leaves no room for wasted space. That’s not much of a problem when I draw a character just standing there with his gun at his side like the cowboy tengu up above, but it’ll get interesting when I try to animate him.
That classic resolution will look tiny on modern monitors (as those of you who saw episode two witnessed), but that won’t be the final resolution. My plan, as mentioned on the show, is to draw everything to a smaller resolution, then scale everything up all at once later. That way I can keep the classic Commodore pixel look, while still making the game something players won’t have to squint at to play.
Episode three is coming this weekend, and from the task list on Trello.com, it looks like finishing off the player shooting mechanic and getting some bullets bouncing are in the cards. Hope you tune in to see what happens!