Post Launch - UE Chess Game


Hey everyone, I wanted to write a Post Mortem on my personal project of my UE Chess Game project.

I started working on this project during Christmas Break of 2022, I had this idea of trying to recreate Chess, a game that is simple in nature, but once you started to dive deep into the mechanics of it, allow for some very interesting (and tough) challenges. I set two goals for myself for what I wanted this project to be 1) a challenge for myself, trying to recreate something from the ground up by myself and 2) a reason to further learn some of the new tools that Unreal Engine 5.1 has to offer.

Things that went right:

Honestly, there were a lot of things that kind of just fit in place for this project, my previous project that i was working on (and put on hiatus) was dealing with a grid system and cells, i decided to rewrite and retool all of it for Unreal Engine and make it way more basic for Chess, so getting the cells and board up and running really didn't take much time at all get set up, and even things like setting colours was only a simple modulus equation

While there'll be some bugs and reports in my Things that went wrong section going over this stuff, however, getting the pieces up and running and being moveable honestly went a lot better then i was assuming it would. I started this project with almost all the chess pieces algorithms figured out in my head, but i always try to leave room for error when trying to preplan code, as in, even if it makes sense in my head, i keep it in the back of my mind that there could be an issue and i'd have to sit down and figure out a new tactic, which never really happened for these pieces, things honestly went rather smoothly when implementing and I had things like Rook, Pawn, Bishop and Queen movements done all within the first few weeks 

Things that went wrong

No matter how much you preplan a project, there are always going to be things that go wrong, and my project is no exception, 

For starters, I think it took me the longest to figure out the Knight movement, on paper it was quite simple, the piece has to move in an L shape across the board, and even having it figured it out, in hindsight is quite simple, however, I kept trying to develop it in an incremental way (like I was with the Rook and Bishop) i spent days trial and erroring potential ways of doing the Knight's movement before i finally looked to external ideas and the internet for what others might have done for this same problem, that's where I found the idea of doing a List of moveable cells that are pre loaded into the piece that increment off the current cell the Knight is on, once I got this idea, it took less than an hour to implement and went without a hitch 

As projects grow and the codes bases get bigger, things often break due to the nature of so many intertwined systems, and this is definitely where my biggest issues have come from, the bug fixing phase of this project while predictable, was still longer than i probably would've liked,  I've spent close to a month mostly bug fixing (with little polish and UI additions along the way as well) The biggest bug issues I've had has definitely come from just how deep and layered the whole Checking and Checkmating system really is, once i'd think i had a bug fixed with putting a king in check, i'd find something like the King being able to keep himself in check by going backwards, or another piece being able to move itself out of the way and purposely put their own king in the check, I'm pretty sure I've had multiple nights of checkmating bugs reappearing.

So Whats Next...

I've definitely learnt a lot from this project, both from a technical standpoint and game management standpoint, I learnt many things about Unreal Engine and its new tools such as the improved Input Systems and i finally got to dive a little deep into the material and shader sides of the engine . I also learnt what it takes to manage and develop a project from start to finish all under my own deadlines and responsibility

If I were to start this whole project again, i'd definitely make sure i REALLY dive deep into the preplanning phase , make sure every core system I want to implement, is thoroughly planned and understood before any int main()'s are written, spending so much time with systems like the Checking and Checkmating being so complex was entirely an avoidable issue, yet due to my lack of preplanning and excitement to start developing this project along with trying to get the piece logic down in code, lead to the whole situation of what felt like endless issue when came to quite an important part of the project

In Conclusion

I really learnt a lot more then I honestly thought I would on this project, if you've made it to this part of this post, thank you for sitting through my ramblings and thank you for even checking out this project in the first place, it really does mean a lot knowing that people are seeing the work that I've spent many months sweating over. 

This project has taken up so much of my time, energy, headspace and so much more for the last 3 months, I feel like overall its been definitely worth it with everything I've learnt and now that this project is pretty much over (although there are some minor bugs i do plan on fixing) i can finally start the next project that I'll over obsess and stress over 

Till next time - Christian Y

For more information on UE Chess Game, or just more information on me and my projects as a whole, head over to my portfolio at https://www.cyoungportfolio.com/

Files

ChessGame
Mar 10, 2023

Get UE Chess Game

Leave a comment

Log in with itch.io to leave a comment.