Tuesday, June 7, 2016

Finally some progress [on the graphics front].

The game actually moved past the "janky prototype" phase in this past week. I finally added some theme, but it took forever to zero-in on it. I knew I wanted a glitchy aesthetic and for the bricks to be somewhat representative of robotic bugs or some mechanical "body horror" thing or growth. Well, as it turns out making a good representative sprite on such a small scale, with limited palette, and on top of that, keeping them more or less rectangular (after all they need to work well as breakout bricks) is really hard. The sprites that look good on their own, end up looking really distracting once few of them are spawned in the game...not good  After spending close to a week on trying to make representative sprites I somehow found myself googling fictional 80s computer UIs. So I decided to try that. After all, Pico-8 is an 80s fantasy console, so an 80s aesthetic wouldn't hurt. After delving into artstyles of Tron, cyberpunk and 80s retrofuturism in general, I knew I was onto something.

Now, instead of trying to squeeze in some H.R Giger-esque cybernetic growths and other assorted horrors into tiny Pico-8 sprites (you can see some of my passable attempts here on the right), I am going with a simpler neon style reminiscent of  "as seen on TV" 80s computer interfaces. Those simple sprites will be applicably distressed with glitchy graphical effects (and glitchy game mechanics, coding skills permitting) to make the game more pleasing to the eye and to reinforce the theme of fighting against computer viruses, bugs in code, whathaveyous.

So far I only implemented the basic brick. I didn't go any further because: 1. I didn't make a final list of enemy/brick types, and 2. Adding more types will require re-writing of the code for creating those sprites, and I don't even have an algorithm for that yet. Nevertheless, I am happy with this style so far. It is simple enough not to be distracting to the player, but representative enough to carry the theme. For what it's worth, the "computer noise" inside the bricks is the thing that makes the sprite truly stand out. Both the idea and the code for this effect are blatantly stolen from the Ryukyu Circuit cart. Because why should you take precious sprite space for an animation that you can procedurally generate? This is another example that reinforces me that choosing Pico-8 was the right fit for me. Being able to lookup the source code to of existing carts to see how others have solved similar problems or implemented a cool feature is an amazing learning tool for someone like me. Before I dug into that source code, I was ready to make the exact same effect with sprites. It would take much more time and I am quite sure it wouldn't look as good when limited to few frames of animation. Now, I only need one sprite and few lines of code. Awesome! Also, a big shout out goes to Dan Anderson from Pico-8 Slack, who once again helped me understand code where my own brain has failed me. The code for the circuit cart doesn't have many comments, so I couldn't find the function responsible for the noise effect. But Dan could. Thanks Dan!

As for those mechanical sprites above, I might expand on them and use them in some robot inspired shooter in the future... I like their angular style, but man, do they suck as breakout bricks.

No comments:

Post a Comment