Power Laser, a
game for the 'SDL' assignment by Dmitry Portnoy, with
some code help for drawing circles from http://steinsoft.net.
I wanted to create a small and
addictive game that was easy for someone to learn.
I came up with the idea of a laser absorbing
energy and thought it would be pretty simple and addictive. I initially wanted
to add obstacles for the laser such that if some energy was behind an obstacle,
the laser could not absorb it until the energy came out into the open. After
making a prototype, I decided that obstacles would not add much to the gameplay and that nearby energy that the laser could not
yet absorb already added enough difficulty.
I also experimented with changing
the speed and spawn rate of the energy until I found a combination I liked and
one that wasn’t too hard. I also had to make the colors of the energy different
enough that the player could tell them apart. Initially, the two greenest balls
of energy were nearly identical and I had to try out a few different color
combinations before I could easily tell them apart.
While the idea of “growing” by
consuming something is not new to games (for example Spore), this game adds an
arcade element and the new need for a twitch finger. It also adds some strategy
since the player has to determine the best time to use the laser.
I think the game is addictive and
fairly easy to pick up. However, it has a very bad difficulty curve. The game
is fairly challenging when the player can only consume bright green energy, but
once he can consume more types of energy, he can very quickly get to the point
where he can consume everything. I would increase the energy gap required to
consume the yellowish and red energy. It would also be interesting to add some
form of energy that the player can never consume,
thereby always keeping some element of risk to using the laser.
I would also like to add levels
to the game and have a set amount of energy per level. On higher levels, the
ratio of red to green energy could be higher and energy could move faster on
average. The player could then measure his success based on how many levels he
beat.