HOGJam Game Releases
Posted by
Doug Haber
on 2013-12-16
Introduction
My wife and I attended the HOGJam #1 and HOGJam #2 events in
Seattle. At these events, known as game jams, a theme is announced,
teams are formed, and then people work together to create games in a
short period of time. This article will discuss the two games that
we made in these events.
We formed a 2 person team where
Judy
Haber did the art, and I did the programming. I have spent a
lot of time over the last few years developing my own game engine
and tool chain, and I took these events as opportunities to test out
the effectiveness of the tools. All sound effects are procedurally
generated from
Leshy SFMaker. Sprite
sheets, sprite maps, and build scripts were made
with
Leshy SpriteSheet Tool. Levels
were designed with the integrated editor in the game engine.
Due to the time constraints of the game jams, neither of these games
have been optimized for mobile devices. They were developed with
Google Chrome, and for optimal performance and behavior should be
run with the desktop version of Chrome.
Freedom Frog
The first HOGJam was a 32 hour event. The announced theme was
"perseverance."
We decided on a game involving a prince that intentionally gets
himself turned into a frog so that he can escape the castle and live
a peaceful life at the pond. Along the way he encounters many
obstacles, but he must persevere. In the first level the prince-frog
navigates his way through the kitchen, avoiding chefs who want to
cook him. In the second, he works his way through the castle
courtyard, steering clear of princesses who want to kiss him, and in
doing so return him to his prince-form. The third level was going
to involve a forest and end with the pond, but we ran out of time
and never worked on that level.
We knew going in that 3 levels probably wouldn't be completed in the
schedule. It is very nice when at the end of a game jam you have a
complete game. In retrospect, I think that we would have been
better off scoping down the game instead of ending up with something
incomplete.
We used
Box2D for physics. The song
Nin10Day by
Stratkat
is used as background music. This was part of
the
Open Bundle, which is a
great collection of public domain assets for game developers. For
the web release I lowered the quality of the audio a lot. Go to the
Open Bundle to hear the original in its higher quality.
Since the jam a few minor changes and fixes were made. Some artwork
was simplified to reduce file size for the web release.
The game turned out well, but it ends too quickly. The look and
feel does work, and the music brings it together nicely. If the
third level is added in at some point, this could be a nice small
game.
Chicken Attack!
The second HOGJam event was shorter. There were less than 24 hours
of time from the announcement of the theme to the end. The theme
was "Free Chicken, Weird Chicken."
After trying to figure out what to do with the theme, we chose to
make a tower defense game where you have to stop increasingly weird
chickens that have escaped from a farm from crossing the road.
The game uses Box2D out of convenience, even though it isn't really
necessary. By using Box2D I didn't have to write a whole lot of
other code for handling the world simulation and collision
detection. The game jam was short, so anything that could save time
made sense.
Learning from our mistake at the prior jam, we considered what parts
would be necessary for the game to be complete and focused only on
those. We had other ideas (such as cars that run the chickens
over,) but they were not considered necessary. The plan was to work
on them only if we had extra time, which we did not. Animations
were also considered unnecessary for a playable game, and so we
never got around to making them.
My game engine didn't have many of the needed dynamics for tower
defense games built-in, and so a lot of code had to be written. It
was a late night, but by around 5am I had all the necessary features
in place. I got a few hours of sleep and the next day all that
remained was demoing the game.
The original plan was to implement paths for the chickens to follow
to make this more like a traditional tower defense. As it
progressed, I didn't like how that was coming out and how long it
was taking, so instead I gave the chickens a jumpy random AI with a
poor-mans flocking algorithm. Since the chickens were now able to
go anywhere, including into the towers, I decided to try allowing
them to damage the towers. This wasn't part of the original plan,
but the dynamic seemed to work, so I continued building off
that.
After the game jam a few updates were made, mostly to balance the
gameplay and adjust the difficulty. The cannons were made stronger,
the dollar rewards were adjusted, and the waves were made more
interesting. I kept tweaking the difficulty of the waves until it
was clearly possible to win, though hopefully still challenging.
Adjustments were also made to the art in order to reduce the file
sizes.
I am very happy with how this game turned out. In less than 24
hours a fully playable game was made. The game is somewhat fun,
though it really needs more types of chickens and towers to keep it
interesting.
Conclusion
The game jams have been a great way to test and work on my game
engine and tools. Throughout the events many fixes and improvements
were made. The downside is that by going this route and using my
proprietary engine I have been ignoring the social part of game
jams, and so in the future I may attempt to join a bigger team.
I've made the same mistake in a couple game jams now, but I think an
important rule is to make something that can be finished within the
time-frame of the jam. Finding time afterwards is often difficult,
and it is much nicer to have a simpler game be fully playable then
to just have an unplayable tech demo.
Tomorrow's Gamer has an article about the first HOGJam. It contains
descriptions of each of the various games produced, and it may be
found
here.For anyone in the Seattle area, HOGJam has been put on
by
HouseOGames
and
the
Reactor. Future events could be found on
the
HouseOGames
calendar as well as
the
Seattle
Game Developers meetup group.