Game Download Link:
https://drive.google.com/file/d/1vxzM5YL5Rr0cZCzw6-edVSl5MflSB0k1/view?usp=sharing
Old C++ Only Version:
https://drive.google.com/file/d/1rX3rm-x1fLCNTvQgpDcnrjJpPNGERYOw/view?usp=sharing
            This project is my dice game Farkle.  It exists for me in two states, but as presented is an Unreal Engine blueprint project that operates completely through user interface elements.  The original artifact was created for my IT-312 class Software Development with C++.  The original point of the project was to create a game while focusing on the development of classes and simple computer player responses in C++ code.  I created that program using Visual Studio and received a great grade in the class, despite only being able to pull off ASCII art at that time.  When it came time to polish this game for inclusion in my portfolio, professor feedback made it clear that there would need to be a heavy focus on improving the look of the game.

            The project presented here was started completely from scratch and completed in less than 3 weeks.  I believe I was able to pull together one of my best games in the shortest development sprint I have ever done.  Outside of having a massive improvement to the graphics, I was able to add in music and sound effects and a much better interface to interact with the dice.  Farkle is a game that has many different ways to score it, so I expanded on the basic ruleset of the first program and allowed more scorable combinations (4-5-6 of a kind, three pairs, and straights).  This project certainly deserves inclusion in this portfolio because it is a testament to my desire to work overtime to keep my standards high and produce a superior product on time.

            The biggest issue that I had when working on improving this project was that I was limited in terms of time.  As often is the case, there were many times where I said to myself that I only had one more bug to fix only to be sadly mistaken.  This rework highlighted the importance of developing internal methods and checkpoints that can be used to short circuit the program and stress test individual components more directly.  With more time to work on a program I would prefer to test each added component as it was produced, but sometimes you need to just make a lot of progress and be creative on how you can break it down to test it more efficiently.
Farkle
Published:

Farkle

Published: