Remark
Acknowledgements to Chase from the 2024-2025 CS30 IB class for his insight in this section .
Introduction
Danger (Feasibility of game dev)
Warning: If you plan to make a game for your IA, consider carefully—it’s risky. Games are usually for entertainment, and unless your project solves a real problem for a client, your score may suffer.
Key Considerations
- Client & Problem: Your IA must solve a real problem. Games rarely do, so only proceed if you have one.
- Complexity: Games need both front-end and back-end (databases, saving systems, APIs). Ensure your engine supports them.
- Time Management: Games require graphics, logic, and backend work. Plan for multiple screens and assets.
Recommended Advice
-
Plan Ahead
- Start early—preferably at the beginning of the year.
- Decide on game engine, screens, and database structure to avoid incompatibilities.
-
Organize & Protect Your Project
- Structure files into folders.
- Use GitHub to back up work: clone, commit, and push regularly.
-
Build the Game
- Begin with the main screen for navigation and global methods.
- Use object-oriented design: screens, buttons, and methods as objects.
- Implement global functions for easy database access (e.g.,
add_data(data_to_add)).
-
Database Last
- Test using files first; integrate the database at the end to ensure a working project with saving capabilities.
-
Use Existing Resources
- Watch tutorials, adapt open-source code, and credit authors.
- Avoid reinventing the wheel—focus on building your project.
Part 1: The Beginning—and the End
Making a game is one of the most exciting projects someone can take on, but is also very difficult. Due to the difficulty and time-consuming nature of this discipline, it’s recommend that your game is not complex whatsoever—especially if you are a beginner.
Game Dev is somewhat different from Web Dev in that it’s extremely flexible. There is no one way to do things. In Web Dev there are some common tools and technologies everyone must know, and that’s why I expanded on it within this guide, but if I were to write a step by step blueprint on what to do for Game Dev, then it would confuse people and make it hard for them to find what they like.
The easiest and most efficient method to learn game development is to explore. Look up game engines, projects on github, languages that interest you, and finally find things that you like and want to work with.
If you want to create a 2D game, you might want to look at the Godot or Unity engines.
If you want to create a 3D game, you can look at Unreal Engine.
To learn more about each of these, go and read the respective documentation.
The most important thing is to get an idea and to actually start researching. Once you get in the flow, everything else will come naturally.
Tip (How to speed up the learning process)
AI is a great resource to help learn where to start given what you like and want. However, even if it’s excellent at supporting, chatbots like Gemini and ChatGPT are not very proficient when developing your game for you.
Warning
Make sure that you use AI as a tool. If you have it do everything do it for you, what would be the point of making a game?
To start exploring a bit more, visit the r/gamedev Wiki.