-
Notifications
You must be signed in to change notification settings - Fork 0
AI usage
Sanda Marian-Tiberiu edited this page Jun 10, 2024
·
2 revisions
In our game development process, we harnessed the power of various AI tools to enhance efficiency, creativity, and overall game quality. Let's explore the key AI tools we utilized:
- Unit Tests: GitHub Copilot assisted us in creating unit tests for our game code. Whether it was testing specific functions or entire modules, Copilot generated relevant test cases, helping us ensure robustness and correctness.
-
Code Comments: Copilot also played a crucial role in documenting our code. It automatically generated comments, explaining complex logic, function purposes, and design choices. This streamlined our documentation process and improved code readability.
- "Create me unit tests for this file"
- "Comment the whole code of this file"
- Artificial Creativity: Adobe Firefly, an AI-powered tool, inspired our game's visual aesthetics. By generating concept art, character designs, and environment sketches, Firefly sparked our creativity and influenced our artistic direction.
- Iterative Design: We iterated on Firefly-generated images, refining them to fit our game's narrative and style. The tool's ability to produce diverse and imaginative visuals accelerated our design process.
-
Custom Soundtracks: Leveraging AI-driven sound generation tools, we composed custom soundtracks for our game. For instance:
- "A calm, heroic, medieval song signaling the start of an amazing journey": We used AI to create uplifting, adventure-themed music that set the tone for exploration.
- "Somber, medieval, dark song about the death of the heroine": AI-generated melancholic melodies enhanced emotional moments in our narrative.
-
General Development: Whether we were implementing game mechanics, optimizing performance, or debugging, Copilot’s intelligent assistance significantly accelerated our coding tasks. For Instance:
- "Hey I'm in godot and I'm using inheritance. I have an abstract class called Abstract enemy, which has a default AnimatedSprite2D node, I have a class PatrolEnemy which inherits from the abstract enemy and I want it to have a different sprite. How would I do that?"
-
Documentation Creation: Copilot wasn’t just about code; it also helped us generate clear and concise documentation. For instance:
- "I'm creating a game for uni and I'm doing the wiki page for the project. Create me a wiki page for the unit tests. We use GUT (standard for godot) to test the code. We put all the tests in the Tests folder and we split the tests into multiple files such as TestPlayerSingleton.gd or TestAuroraCharacter.gd and we made mocks for classes for easy testing."
-
Image generation: While Copilot doesn’t directly create images, it inspired our visual design. For instance:
- "No this is not good. generate me a tileset (only the blocks and a prison-fence is enough) for a game that happens in a red dungeon (like nether in minecraft), I want the file to be .png and the dimension of each building block 16x16"
By integrating AI tools into our development pipeline, we achieved greater productivity, creativity, and efficiency. These tools democratize game development, allowing creators to focus on innovation and storytelling. Our game owes much of its success to the collaborative efforts of both human developers and AI companions.
Feel free to expand on these tools or share your experiences with other AI tools you've explored. Happy game development! 🚀🎮