Brian Severance's profile

Checkers - Artificial Intelligence

Game Download Link:
https://drive.google.com/file/d/1C7ro2Q1w0zpWDeDV2Gtu02uW02QizZO5/view?usp=sharing
Wing Personal IDE Download Link:
https://wingware.com/downloads/wing-personal
            This artifact is a showcase in my ability to design and implement an Artificial Intelligence within an object-oriented program.  I applied and was accepted into an elective replacement programming class (IT-476) which was an experiential class in AI.  In this class we were given a basic checkers playing program and were able to develop both logic and heuristic based solutions to handle the computer players actions.  In the end, we then were tasked to produce our best possible version which led to the program as it is today.  The program first uses logical methods to sort out the moves into different categories of importance.  It then relies on a heuristic final decision-making method to pick the best move available based on a unique scoring method that it applies to the game board based on the positioning of all the pieces before and after moves.

            This is important to include in my portfolio because I believe strong coding skills, especially with AI principles, are a crucial skill to have for a future game programmer.  While many game engines are quite powerful and can easily handle many game aspects within just their program, it is very important to also be able to implement a game with just code.  This also shows my ability to come into a project that I had not created myself and be able to produce strong results with my coding ability.  On top of that, this was also my first experience with the Python language, and I was proud to be able to create an AI that very rarely loses.

            When it came time to polish this artifact for inclusion in my portfolio, because of feedback received from my professor on striving for a high quality in the visual impact of the program, I knew that I had to tackle a redrawing issue that was prevalent.  The decision methods had used some of the games innate functions to redraw the screen in order to be able to assess what the board would look like after each of its potential moves.  This resulted in a long process on each of its moves where the screen would flash while it redrew each possible move.  I was able to put forth some corrections that stopped this issue and allowed the computer to perform move checks without the player seeing anything.  The biggest challenge that I encountered while improving this artifact was when I first imported it into the newest version of the IDE what I had been using to code Python.  The entire program broke down because the IDE automatically adjusted all of the margins and spacing throughout the entire program.  Since Python makes no use of brackets to keep order of the conditional statements, I had to go through and reposition just about every statement of the entire program.  This helped to reinforce the need to make copies of my work before I even load it into an editor. 
Checkers - Artificial Intelligence
Published:

Checkers - Artificial Intelligence

Published: