Games from Nothing: Group Game #2 — Streamer

When I first started Streamer, I made 2 related observations about the base code.

  1. It was (at first) difficult to grasp, and therefore would be difficult to change.
  2. It was also interesting on its own, meaning it needn’t be changed too much to provide an interesting application.

From those ideas, I thought about what I could do to make the application my own without heavily modifying the seeker code itself.  The two ideas that presented themselves (and stuck) were changes in graphical representation, and the idea of scrolling or otherwise moving all of the objects along some path.

The graphical representation quickly became a grid, both out of love for old, 8-bit graphics and out of my new infatuation with pixellation in general.  The only question remaining on that front was how big the rectangles should be… but that question was answered later.  For the time being I kept my program flexible.

og 3x3 bigger biggest

After this, it became a matter of what one might want to do in this new, grid-style area.

Being able to “paint” squares was probably the first thing to come to mind:love_og

Soon after that, the idea of randomly changing colors:love_ugly

(While the above doesn’t look all that great, in general the effect seemed pretty cool.)

A little more color play would eventually occur, but after messing around within the same basic application for so long, I felt that the seeking mechanic needed to be changed at least slightly.

This is where a few new features came in all at once.  First, the idea of scrolling was pretty natural, as the blocky and colorful graphics reminded me of old 2D shooters like Galaga.  I had a few types of scrolling to choose from, but the one implemented seemed the easiest.  With scrolling came a bug that colored the background with scrolling bars of color.  It ended up being a very cool thing, and after fixing the bug I immediately reimplemented the color bars as a feature.

line_2 line_3 line_4 line_5

Finally, I toyed around with various mechanics for spawning and killing semi-randomized seekers, and came up with the finished product.

While in dire need of some sound, overall I’m proud of this project.  The program was a great lesson on how minor tweaks and offshoots of ideas can lead to very cool applications.

Author: Cameron Basham