Recently, I utilized the serialization interface in Irrlicht to allow Copper to create GUIs. The code for this is part of my project “Cupric Bridge”. Also in this project are bindings that allow for callbacks from different types of GUI elements.
I’m considering including in the project some source code for wrapper buttons that would allow for direct callbacks on click events rather than requiring the identification of a button from its ID. This would be nice for simple projects, but it does add some bloat in memory.
The details for the implementation of the Copper-Irrlicht bindings will likely be exposed in a dedicated blog post on my other computer science blog, Magic Snippet.
I thought it would be best that the inaugural application created with this project be a Tic Tac Toe game because that was the very first game I ever created on the computer. Needless to say, this version isn’t on the command line like the original. In my original version, I had 3 levels of AI, and I was somewhat surprised when my roommate in college managed to easily defeat my best one at the time. This newer version has 4 levels of AI, and this time, a friend of mine and I tested out various approaches at defeating it until finally all the tweaking resulting in an impossible-to-defeat AI. (Of course, it wouldn’t win the AI games, but it does win or draw me every time.)
Overall, it only took about 2-1/2 days, primarily because there were a few bugs to fix in both Cupric Bridge and Copper itself.
Not that you can use it yet, but here’s the Copper source code for the game: