Stick Basketball Arcade - A Ludum Dare 50 Experience!

Stick Basketball Arcade - A Ludum Dare 50 Experience!

The Ludum Dare 20th anniversary was an event I did not want to miss. Perhaps there was no better way to celebrate the game jam's anniversary than making a game: Stick Basketball Arcade! 🏀

Ball is Life... but What to Do?

Playing basketball, whether in a court or in an arcade, is extra fun with friends 🏀 However, it hasn't exactly been safe to go outside (or play ball!) lately.

Ludum Dare's theme was "delaying the inevitable". For me, the game should end eventually. I remembered those basketball arcade games lined up in malls and fairs. Those machines made me realize something: If I cannot play ball physically, I could at least play ball virtually. This lead to the inspiration of my game: Stick Basketball Arcade 🎮 🏀

Development

Stick Basketball Arcade has one goal: shoot as many balls before the time inevitably runs out!

This time, I wanted to use a game engine that consumes less space (and possibly RAM) than Unity while still having a GUI as a visual aid while making the game.

While leisurely browsing the Android documentation's section on game engines, I stumbled across another game engine named Defold.

One of the features/concepts I liked in Defold was the idea of collections and game objects, which felt similar to prefabs and game objects in Unity to an extent. I also liked how I could modify scripts within the same window as the game engine itself instead of having to open a separate window or program.

Creating a UI felt a bit more intuitive in Defold for me. Concepts such as splitting the UI into "components" (or in this case, "Nodes") helped me organize buttons, texts, and the overall layout of my menu prototypes. Things just seemed to "click" for me while mentally modeling the menus.

It took a while at first for me to learn to how to script things together and the Lua language itself. Fortunately, checking the manual helped me get on board with some of Defold's concepts and the engine's API. Additionally, Defold's forum was also helpful in finding solutions to different scenarios (and pitfalls!). There were quite a lot of tips in the forum from the Defold team itself. Overall, these resources jumpstarted my coding experience with Defold 📑

Art

I used GIMP to create the game's art. I added some colored square sprites as my "palette" for prototyping the game's level.

main level setup
A setup of the main level/court

After the main gameplay was built, among the last things that I wanted to add was a "placeholder" character. It needed to be created in a pinch because time was running out for the jam itself. In this case, I went with a prototype stick figure with some quick animations. It added a bit more "feel" (or in this case, "character" 😉) to my game. Additionally, it could also be fun to customize or replace the character later on! 🎽

Sounds

Once again, sfxr, which was originally created for Ludum Dare, came in handy for generating sound effects! I got some sound effects that added extra satisfaction when scoring and getting time bonuses 🎵

I also learned about Bosca Ceoil thanks to the kind community in the first Ludum Dare I joined. I also used this tool to create some game music 🎵

Community and Final Thoughts

I had fun playing with tools that were new to me such as Defold and Bosca Ceoil. It's always nice to have more options in 2D game development.

Feedback from the community also helped me get a better picture on how to enhance my game's user experience. It even led to some post-jam tweaks for the game. Not only did I learn how to make a game with different tools, but I would like to think that Ludum Dare's community sharpened my awareness for the user experience a bit. Additionally, working with a community has had a place within and beyond game development for me.

Ludum Dare's 20th anniversary was indeed filled with fun and games 🌽 I enjoyed it and I look forward to playing more games for years to come 🎮

As always, please try out my game and Share or Tweet this post with your friends! Stay tuned for future updates (or games 😉) 🎮

PS: I also have a short blog post in the Ludum Dare website itself, feel free to check it out too! 🎮