
A few months ago I took part in a speed-game contest for the Christian Developers Network. The game ended up having exploration style gameplay with power ups much like Metroid. You can actually play Currentif you want to check it out. There isn't a preloader so give it a minute or two to load up. Or read on for my post-mortem...
I was working together with an artist, Brenton, and we found that it was best to prototype how the gameplay would work at the beginning of the contest. We went through a couple of iterations and finally ended up with a game where you play as a bubble and can collect other bubbles. Believe it or not the first prototype involved men taking baths in clouds... don't ask.
Since we were doing complex levels involving rocks and underwater flora/fauna we needed something to define collision areas easily. I used an ogmo project to draw small squares over the main collision image. While we could have used pixel perfect collision it would have slowed down the game due to the size of each area.
The first 10 rooms are hand drawn levels which look very beautiful but we knew that it was going to take too long to finish the game if we kept going down that route. So we switched to using tiles and creating levels that still look decent but were a lot faster to create. Meanwhile I was adding things like enemy fish and power ups.
The first thing I had to figure out was how the small bubbles would float around the main bubble. I tried it with the bubbles free floating around the main one but it felt loose and fish could easily pop the followers. So after several attempts I finally got it right. The small bubbles would spin around the main one and quickly catch up if they got behind. If bubbles were popped the others would file into place to fill the gaps.
Once accumulation was working we decided it made sense to have some way to consume bubbles. Since your followers protected you from other fish you had to decide whether to use your bubbles for armor or skills. The first skill we added was a grab mechanic because we planned to throw rocks around.
After that we decided to put in gems that unlock doors. It added a puzzle element to the game instead of just exploring. Gems couldn't be dragged to different rooms though so later we decided to add in keys. It's cliche but we were running out of time at the point.
Save points were another thing that went in early in the game. I had been playing VVVVVV and loved that save points were in almost every room so we decided to go with that concept. All you have to do is hover over them and they activate. It allowed us to be less forgiving because you didn't lose much progress when you died.
Finally I decided to put shooting in the game. In the beginning of development we didn't want to put shooting in. There wasn't a purpose to do so and we felt it made the game like any other shooter. Halfway through the contest we figured out a reason to fire bubbles, sea urchins. There are several areas in the game that you have to shoot stationary fish to continue. It also gives the player something to do as they are floating through the game.
What went right
Adding save points in the game early was extremely important. Since our game was based on exploration we wanted the player to be able to come back and play some more. It also forced us to come up with features that could be saved. This proved to be a bit of a challenge later because certain powerups could be picked up several times in different rooms, ie. bubble layers.
I made the enemies relatively simple so the levels were designed to their movements. Brenton can take all the credit on this because he made some really clever levels. There is one room that I still have trouble with today and it's simply because the enemies were designed to work a single way and do it well.
Another thing we did right was the way bubbles moved around the screen. It took many attempts to get the proper feel but it paid off in the end. The game was a lot of fun just moving around the levels and watching bubbles follow. The other part of this is the bubble spawners. Many areas have vents spawning bubbles and we ended up increasing the flow so the player didn't have to sit there all day waiting to refill.
Scene transitions are a big deal. I added a fade between levels and it created a whole new depth to the game. Not only does the screen fade but the music as well (which is a pain with xm music...). It's one of those things a lot of games forget about because it's such a tiny detail.
Lessons learned
With every project there are things that could have been done better. The biggest one is probably the boss. Literally one hour before the end of the contest I hacked together the boss. Not to say we hadn't focused on it before then but the plans we had for the final battle didn't come to fruition. However, the game needed an ending and so I quickly threw together a blob that spawns fish at random locations.
The second issue was that we had to keep the game under 10MB. This wasn't an issue for graphics and code but we wanted music to play in the background. I'd been doing some chiptunes with MilkyTracker and so I decided to write the music in that style. We were able to get over 7 minutes of music in the game in under 1MB. However this caused some glitches where sound would stutter and it didn't exactly match the art style.
There were also scene transition issues where the player would get stuck in walls if they bounced around a lot. In fact there is one room where the exits don't completely match up and we didn't catch it before the competition end date. Thankfully the game could still be finished even with the exit bug.
The flow of the game could have been improved. We had actually planned on having underwater currents that moved the bubble around which is why it's named Current. Unfortunately that was one of the many features we ended up cutting out. We wanted to do something different than doors/keys but ended up putting them in because they were a simple way to lock off areas of the game.
Overall the game was a lot of fun to make and is a surprisingly long and fun game to play. It still takes me about 20-25 minutes to play the game to completion and that is after knowing where all of the items are. I'm really happy with the way it came out and hope you give Current a try.