Inspiration
Our main inspiration was to make the type of game that would have helped us on our journey in learning how to program. Learning Python as a beginner can often feel intimidating. Most tutorials begin with abstract concepts such as syntax, loops, or conditional statements before learners fully understand why they need them.
While exploring different ways people learn programming, we came across the game “The Farmer Was Replaced.” It inspired us to think differently about teaching Python.
This led us to a simple question: What if programming felt like controlling a game character? Instead of passively reading tutorials, users could learn Python by actively playing. Every line of code would directly control a character in the game world. With this idea, Python becomes less of a boring academic subject and more of an interactive experience. At the same time, players begin to understand how valuable programming is in today’s digital era.
What it does
Knighthon is a game-based learning platform where players learn Python by solving challenges in a platform adventure world. Each command typed by the player directly controls the knight in the game. For example:
move_right() moves the knight to the right
jump() helps the knight reach higher platforms
hit() defeats monsters blocking the path
The game is structured into multiple levels. In the early levels, players are guided through basic Python syntax and commands. As they progress, the challenges become more complex and require players to apply concepts they learned earlier, such as loops and conditional logic.
How we built it
We started with the idea of combining game mechanics with Python commands.
For the visual style, we drew inspiration from dungeon crawler and roguelike games. These genres often feature grid-based movement, clear environmental obstacles, and simple but engaging mechanics, which fit perfectly with our goal of teaching programming logic. The dungeon environment also helps create a sense of exploration, where each room or path represents a new programming challenge.
We built the game in Godot using GDScript. We had the help of AI models such as Gemini, ChatGPT and CoPilot.
Challenges we ran into
At the beginning, we did not have a clear idea of how the game should work. Designing a system that is both educational and fun was challenging. To overcome this, we watched many game design examples on YouTube and explored different ideas for level mechanics. We also used brainstorming sessions and discussions to refine the concept. Another challenge was designing levels that teach programming concepts naturally through gameplay, rather than simply presenting instructions. Balancing learning and entertainment required multiple revisions and testing. We also sadly had to cut a sandbox mode portion of our game, where players could create their own challenging levels for others!
Accomplishments that we're proud of
One achievement we are particularly proud of is designing the movement and interaction system of the knight, where Python commands directly control the character’s actions.
We also successfully created a learning experience where programming concepts are embedded into the game environment, allowing players to understand logic through gameplay rather than memorization.
Most importantly, this project represents one more step toward our vision of making programming education more accessible and engaging.
What we learned
Throughout this project, we learned how important teamwork and communication are when building something under a tight timeline.
We also learned how to solve problems quickly, adapt to new ideas, and turn a simple concept into a working prototype.
This experience showed us how combining creativity, programming, and game design can lead to innovative ways of learning.
What's next for Knighthon
Our next goal is to continue improving the game by expanding its learning system and gameplay mechanics. Future updates may include:
More advanced Python concepts such as functions and variables
Additional levels with more complex puzzles
A customizable difficulty system
More interactive environments and enemy mechanics
Sandbox mode
Ultimately, we hope Knighthon can grow into a platform that helps beginners learn programming in a fun, intuitive, and engaging way.
Built With
- chatgpt
- copilot
- gdscript
- gemini
- githubdesktop
- godot
Log in or sign up for Devpost to join the conversation.