Inspiration
Among the many ideas that our group brainstormed, our group was most excited to build a game. We have a lot of varying experiences, from web development, to quantitative finance and data science development, neuroscience research, and even a developing beginner! For this reason, we were excited to take a break from our usual studies and use this opportunity to learn new tools and create something truly unique.
Lately, all of us have been obsessed with rogue-like games. We drew a lot of our inspiration from the games The Binding of Isaac and Ballatro, which seem to capture their player's attention for hours on end with relatively simple mechanics and gameplay loop, yet loads of unique abilities and items that make each play through different and engaging.
To keep with the space theme, we decided to binge episodes 4, 5, and 6 of Star Wars in the week leading up this hackathon. One of our group members had never seen the series, and quickly fell in love with the "gangster" characters Jabba the Hutt and Boba Fett. We decided to make a game that would follow the lifestyle of being a Space Bounty Hunter, but also allowed the player to visit nostalgic points of interest, just like the Cantina from the movies.
What it does
Our game randomly generates locations for planets, a Space Bar, and an HQ. Player can speed around the galaxy map, enter and exit POIs as they please, and combat with enemies. Enjoy the pixel-art and 8-bit synths as you traverse our galaxy!
How we built it
We built our game using the Godot studio. We chose this because it offered a lot of features and customizability out-of-the-box, and used the language GDScript for gameplay logic, which reminded us a lot of Python. We also considered using PyGame and Unity studio, but the former lacked a lot of basic functionality that we didn't want to build from scratch (e.g. collision detection) and the latter had a steep learning curve not fit for a weekend hackathon.
After we decided the tools we were going to use, we drafted the core gameplay loop and sorted all of ideas into various "checkpoints" that kept us on track to build a minimum viable product, while also leaving time to add features that really make the game feel complete, such as art, sound, and character interactions!
Challenges we ran into
By far the biggest hurdle we faced was the learning curve of building with Godot. Though the scripting language felt very familiar, Godot requires the use of its own editor, which we had to learn to navigate. Additionally, it took us a while to figure out best practices when connecting the worlds we created, the actions of the player, and our NPCs. All of these, though very different, are considered "Scenes" and behaviors are dictated by their sub-types, associated .gd scripts, and child-nodes (e.g. a collision boundary). Until we figured out how all of these worked together, it was a slow process to turn our ideas into reality.
Another issue that plagued us was... shudder... merge conflicts. Unfortunately Godot uses a lot of caching similar to Python's pycache, so for our first few commits, we had hour-long merges. Thankfully we figured out everything we needed to include in our .gitignore to solve this issue. However, issues still persisted as many of the .tscn files that Godot uses to track child nodes were thousands of lines long, and looked horrible in any other text editor other than the native Godot editor.
Accomplishments that we're proud of
The fact that we were able to find and learn a completely new game engine that none of us had ever heard of before brought us a lot of pride. We had many setbacks, especially involving movements, but the fact that we kept persevering and working together through the challenges gave us the confidence to complete this game.
Another notable point of satisfaction was our teamwork throughout the construction of this project. There were multiple instances where we would stop and explain to each other an important fact about the code that would need to be remembered for the future. For example, we realized while building different scenes that the template movement we were given was not meeting our demands. To fix this, we worked together to build a simpler movement system that worked for the scenes we were trying to build along with our attacking system.
What we learned
Making a game is hard. Drafting an idea for the game, defining objectives, adding features, and overall the entire game design process was super fun. However, when it came to actually implementing it, we were lost. It took a lot of effort just to get a sprite moving within a defined environment, and even more to get these things to work together if they were built by separate teammates. Overall, using a game engine is a steep learning curve and requires a lot of practice, patience, and willingness to learn more than just a new coding language or IDE, but rather an entire ecosystem of complex, integrated building blocks. In other words, you can get a lot of results with a tool if you know how to use it, but if you don't... good luck!
We also learned that making games can be fun! As stated, none of us have had any game dev experience, but that didn't deter us from staying up til 6 am both nights in attempt to get as much of our game completed as possible. Overall, it was a very enjoyable experience because we all learned so much, and were able to be teachers to each other when we got stuck. Even if we never make another game in the future, we can at least say that we all gained a lot more Git experience.
What's next for Spacebar
We would like to bring items and an entire bounty system to Spacebar in the future. Our entire plan with Spacebar was a space bounty hunter game so we think that a full-fledged bounty hunting system with multiple "solar systems" and different bounty characters is a must. We would also like to bring an item system with a shop where you can purchase items like health and speed boosts with the money you earn from turning in bounties. Finally, we would like to make this game into a rogue-like where each solar system you go to gets progressively harder to complete the bounty for. We can make it harder by adding a timer and making the bounty be able to move from planet to planet after a certain amount of time.
Built With
- chatgpt
- claude
- copilot
- gemini
- godot
- sora

Log in or sign up for Devpost to join the conversation.