Cory Johns

Hex Chess

Hex Chess image

Hex Chess Project Summary

I made this game during the 2025 Spring term for CS 507 final project. I wanted to make a chess game, since I had previously attempted to make one in Java in 2015 when I just started to learn programming. I quickly learned the realities of a large scale programming project with this attempt and the project was eventually abandoned. I wanted to re-visit the idea utilizing the lessons I had learned as well as adding a twist, the board would be hexagonal.

I also took this opportunity to teach myself C++. I had no prior experience with it, so I decided to audit a C++ programming course that term. I originally intended to make a 3D “user interface” using the Unity Game Engine, but halfway through the term I began to have issues with Unity. This was the motivating reason for me to start learning Godot. I’d heard that Godot supports C++ code and I was interested in it since it is a free-and-open-source project that is more in line with my values.

The chess project went together in two stages. First, I built a pure C++ command-line application for running the chess game. Second, I built a Godot game that acted as a user interface for the C++ application. This was accomplished using the Godot GDExtension system. The command-line application was debugged using gdb, which allowed me to check every line of execution and catch most of the bugs. This is probably the most bug-free project I have done. I did experience some difficulties compiling the GDExtension with SCons, this is the main reason why the game is only available as a Linux executable.

Project Take-Aways

  • I really like C++
  • Pointers are incredible
  • Slow methodical coding saves more time then it takes and leads to better results
  • It would likely have been faster to build the whole game in GDScript rather then the C++/GDScript hybrid I ended up making
Download on Itch.io

Tags: