Earthball

Earthball

Screenshots

 

Earthball is my submission to the mini Ludum Dare 42 event.  Use your flippers to prevent the earth from falling into the sun.  Hit the planets for a huge score!

Earthball Post Mortem

After a less than impressive finish in the LD26 competition, I decided to develop a game for the the mini LD42 called EarthBall. I now have a little more experience with Unity after writing Amish Brothers for LD26 and Genetic Disorder for #1GAM, but I’ve still got a lot to learn.

When I saw that the theme for mini LD42 was the destruction of the Earth, I thought about the ending scene in Men in Black where the entire galaxy was contained in a sphere, which turned out to be just a marble used in a game of marbles.

Instead of using the entire galaxy, I decided to just focus on Earth. Marbles isn’t a very interesting game, so I decided to create a pinball game, since I’ve never written one before. Using the Earth as the ball and having it fall into the sun if missed by the flippers seemed to fit the theme perfectly.

I found a great tutorial video by nickdingle which stepped me through the process of making a pinball game in Unity. Of course, I wrote mine from scratch using C Sharp instead of Javascript, and only used the videos and examples as a guide. Now that I had a working pinball game, I needed to make it more interesting. The bumpers were dull, so adding planets instead for bumpers seemed to be a logical choice.

There seems to be a running educational theme in many of my games, so I decided to do some voice recording so that the name of the planet is called when the Earth collides into it. I did this using my USB headset and Audacity. I gave it more of a robotic sound by using a method explained in this video by Maniac Metro C0p. First, I changed the pitch by -25, Duplicated (Ctrl + D) twice, changed the 2nd layer pitch by 10, and the third layer pitch by -10.

As far as the graphics go, I created the starfield background using this Gimp tutorial. Next, I created the title graphics in Blender using this method described by 5teven94. I also added lights that flicker when the plunger is released and when the planets are hit. On the title screen, I added the option to disable the flickering lights for those who may be sensitive to it.

Finally, there didn’t seem to be any real objective to the game so I added a score so that points are awarded when a planet is hit. To give the game a little more of an overall objective, I added a 50,000 point bonus for hitting all of the planets. I decided to add the points scored and planets hit as displays at the end of the playing field like a pinball machine.

So like most of my games, EarthBall was a learning process. The day that I don’t learn something from making a game is the day that I quit making games.

 

Released

Dual Eagles

Screenshots

This was a simple proof of concept game that I created in about four hours to test an idea that I’ve had for a while.  It is a game similar to the classic Ikari Warriors, but you can play as both characters.  The game is best played using an XBox controller, but any dual stick controller should work.  The left stick controls the red commando and the right stick controls the blue commando.  The left bumper button makes the red commando shoot and the right bumper button makes the blue commando shoot.  Since the two commandos work as a team, I felt that it fit the theme for the game jam.  The game can also be played with two players with the alternate keyboard controls.

 

  • Red Move – A,W,S,D
  • Red Shoot – Space.
  • Blue Move – Arrow keys
  • Blue Shoot – Ctrl (Right)

After doing some testing, I found that the controls work really well for one player, until the commandos cross.  Somehow my mind naturally assigns the left stick to the left guy and the right stick to the right guy, even though they are color coded.  I’m thinking this probably wouldn’t be a problem for two separate players each controlling one commando.

One of the features I planned on adding is having a vehicle that you could put both commandos in, so that one would drive and the other would shoot.  I would like to go back and add better graphics and music, as well as making the level scroll upwards as you move forward.  Plus, I could add power-ups which could be assigned to the triggers or thumbstick press.  It would also be nice to have to way to revive one of the commandos after they are hit.

 

 

 

Released

Dropping Blocks

Dropping Blocks

Dropping Blocks is a falling blocks game that I developed as a warmup for Ludum Dare 37.  Drop the blocks and complete the lines to add to your score.

Dropping Blocks

I took a different approach when developing this game, as I did not create a board structure to hold the blocks.  Each of the blocks is just a Unity GameObject, with a Block script attached which contains its row, column, and center offset for handling rotations.

Every time a piece is dropped, it checks all of the other pieces to determine if any of the blocks are directly below any of the blocks in the actively dropping piece.  If so, then the status of all of the blocks in the currently dropping piece are set to “not dropping” and a new piece is generated.  The downside to this approach is that all of the blocks must be checked every time a block lands.  It may be improved by creating a hash structure using the rows as keys, so that only the blocks in the row below the piece will be checked.

A piece is generated by generating a random number from 0 to 6 and instantiating the block in the arrangement for that piece.  An array of Materials holds all of the colors of the pieces, and is assigned to the block based on the piece types.

The line check code loops through each line index, and then determines if there are blocks at every column in the line.  This is also inefficient, since all of the blocks have to be checked to determine if a block is in each column for the row.  Again, a hash table structure may make this more efficient for checking the row and eliminate some of the unnecessary looping.  When I play the game in the Unity editor, there is a noticeable delay when a block lands.  However, in the Windows build the delay is not apparent so there may be some optimizations made for the Windows build.

 

Released