Inspiration
- Our inspiration was to merge the use of user controlled game development, similar to tycoon games, with a greater ability for endless visual and gameplay customization.
- We wanted to make an app where users can create games with their own wild artistic ideas... apps that are truly theirs.
- To do this, we combined customization, AI Image Generation, and sandbox game generation to make the ultimate user friendly and art focused 2D Game Engine.
What it does
- SwampMaker is created with art and customization in mind. The base concept is to allow users to create their own worlds with AI generated art. The SwampMaker interface allows the user to query Gemini's Image Generation to create a variety of different sprites including characters, collectibles, opponents, obstacles, and more!
- The interface also provides a user-friendly sandbox to create levels, place opponents and obstacles, and create the finish line! The robust sandbox allows personalization, allowing users to create side scrolling, up scrolling, autoscroller, and wide variety of 2D games.
- The sandbox also allows for non-AI customization. You can change the gravity, friction, jump height, speed, world size, health, and so much more. This allows for every level you create to have it's own feel and personalization.
- We build with imagination in mind! The csutomization and sandbox allows for so many types of games. Take Albert the Gator across the swamps of GNV, or maybe travel with an astronaut across the Cosmos, or my favorite... travel with Vernon the Programmer across the perils of C++ land!
- Wanna share your level with your friends? Now you can! With the copy configuration, you can copy the original configuration of your levels and give them to your friends to load directly into their SwampMaker. Bring communities together through art and gaming!
How we built it
- Our frontend is made through a combination of React.js, Phaser.js, and TailwindCSS. Phaser is our way to render our game and game mechanics through Javascript. Meanwhile, our backend is an express server that runs python scripts to query Gemini API through Google Cloud. Gemini then generates images for the user that is sent to the frontend.
Challenges we ran into
- Our biggest challenge was creating a effective way to generate images. Unlike text, image generation is far more difficult, but through a combination of Gemini, a cropping tool, and rigorously testing prompts, we found a way to make beautiful artistic images! (We love our pixelated images).
- Another significant challenge was scope. In order to make a truly personalized app, we needed enough personalization to make the user be able to realize their dreams, but not too much that it becomes difficult to build or use by users. Our balance of personalization and rigidness created a platform that allows users to genuinely create their own worlds... without having to learn Unity or Unreal.
- The large scope and personalizations of the project, and the use of images rather than JSON, made it a complex project. We needed a lot of time in order to make sure images were being passed correctly, resizing, and conflicts wouldn't arise. Through careful development and error handling, we created a fluid interface that works well! We're absolutely proud of the engineering that went into this project.
Accomplishments that we're proud of
- We're most proud of our ability to integrate a 2D game creator, a simple yet fluid UI with AI Image Generation, and enough unmade aspects for the user to fill in. We believe we've made an amazing interface that truly allows the user to branch out.
- Additionally, we're incredibly proud of our ability to make highly accurate AI image generation that we can use for sprites. Through thorough testing with a variety of technologies, we were truly able to harness the experimental nature of image generation to our advantage.
- On a technical note, we're proud of our API build. To build our api, we were able to make it possible for the API to directly receive prompts so prompts are sent quickly and through only one API path. The simplification and fluidity of such a complex API build was the product of a continuous 24 hours of work! We might be tired... but it was worth it.
What we learned
- We learned a lot about image generation, API builds, frontend development through React, Phaser development, game development, and so much more. Most of our hackers are first time hackers, so it was difficult to traverse all the complex aspects of building a full stack applications. Yet our ability to push through and create a technically difficult project has taught us so much.
What's next for SwampMaker
- We'd love to implement a community feature where users (instead of just copying their levels and games) can post them on a public community. A robust customized game engine focused on art would create an array of beautiful games for users to participate in!
- Creating even more accurate AI image generation would be something we'd love to do. It would allow users to make even better art.
- We'd love to add custom features for those more artistically inclined. For those who want to make their own pixel art and make animations, we'd love to open those features to make it more artistic!
THANK YOU FOR READING!!
Log in or sign up for Devpost to join the conversation.