My 11th Ludum Dare was once again filled with ups and downs, but I did manage to put out a game. This is the story my LD47 Jam entry, The Pongs. This blog contains an overview of my development weekend and some technical details.
There’s not much to talk about for this day. Once the theme was announced (“Stuck In A Loop”), I do what I always do… come up with no ideas. Usually, I like to review the themes before they are announced and come up with some basic ideas, but I did not get that opportunity this time. After a few hours coming up with nothing, it was now early Saturday morning (EST) and I decided to call it a night.
Saturday morning, and still no good idea. I had a couple of ideas, but nothing I wanted to really work on. It was at this point I decided that LD47 may not be for me, and I shut it down… discouraged as always.
Not one to totally give up, I decided to give it another try and put out something rather simple. I played around a bit, and got a pong-like game working where you try to shoot the squares out of the loop they are stuck in. Progress was slow, and the game was not all that interesting to me.
I used some basic Photoshop skills to create the loop. Using Unity, I rotated the loop, and added basic square and triangle shapes to create the pongs and the center firing mechanism. I was going for a retro look, so the white shapes seem to fit well. Physics added to everything.
By the end of the day, I had pongs bouncing around inside a rotating loop, and I can fire bullets at the pongs. I’m still not loving this concept, and considered giving up so many times, but I kept going.
It wasn’t until I decided to add faces to the Pongs that the game started to interest me. Back to Photoshop to add eyes and several mouth styles. The face script is pretty basic, but here is where the pong’s character is created. The eyes will blink randomly every 4 to 6 seconds. The mouth will change shape depending on what happens. The default is a smile, and will change to a frown if it hits a wall. It will change to a surprised look when a bullet collides with it.
Keeping with the retro look, I added some blips and a chiptune soundtrack. At this point, I found myself laughing at the reactions of the pongs while I was play testing and I began to think I may have a game here after all.
I added some additional sounds for when a pong finally escapes. I recorded myself doing some “Yay!” sounds, loaded them up in Audacity and raised the pitch. I think it came out well, and really adds to the game.
Since I didn’t really get a good pace on development until Day 3, I of course missed submitting for the Compo, but there’s still time for the Jam, and now I’m “all in”. I no longer had time to put together a way to increase level difficulty as the game progresses, so I decided to create the options screen where you can choose the number of pongs, the speed of the loop rotation, and (if you are daring), the option for a second loop.
- I used the following tools to create The Pongs: Unity, Photoshop, Paint.Net, Audacity.
- I originally started using Unity’s new Input System, and it worked well while playing the game, but I just could not control the UI correctly… maybe it’s because I am new to it or it is still a work in progress, but I just could not get it to work. I finally decided to scrap it and try Rewired (I used it before and I like it a lot), and I had a similar issue when trying to navigate UI. I guess that problem was me indeed! Finally, I pulled out all controller libraries and used the old-fashioned KeyDown commands since there is basically only 3 keys used in the game anyway.
- I used my open sourced pooling library to pool the pongs and bullets… you can use it too!
- I created different eyes and mouths for the pongs. Eyes blink at random intervals. Mouths change based on what the pongs hit.
What Went Well
- Again, I submitted a game! Always a good thing.
- My motivation increased once I made some simple changes like changing the sprites and adding some basic sound effects.
- I think adding the options menu worked better than trying to figure out a way to add levels to increase the difficulty of the game, and some of the people who played/rated the game agreed.
What Could Have Gone Better
- Maybe I should learn how to use a controller library before using it in a game jam? Figuring out the complexity, failing, and then removing everything took a lot of time.
- Lack of motivation was strong in this LD. It wasn’t until the end of Day 3 that I really felt that I had a workable game and that did have an affect on the overall submission.
- I decided on a “lower the score, the better” scoring system, but I think perhaps a “fastest time to clear” may have been a better system to implement (or maybe some combination). It is possible to wait around to see if some of the pongs leave the loop on their own which definitely impacts the current scoring system.
It was a difficult Ludum Dare for me, but I have a submitted game that I liked playing and developing. I am happy with the way my game turned out, and I am considering enhancing the game and doing a full release… there are a lot of features I would like to add.