Hearts

Overview

Game Engine: N/A 

Programming: Java

   

    Heats was my first attempt at a mobile game. The project started off as a Java console app to ensure all the game mechanics and processes were running as intended. Then the project was point to be ported to a custom Android game engine. 

    The project made it to the stage of having four AI opponents that could play through the whole game. All logic and rules were implemented and the game could play start to finish. 

More Details

Features

    The featured a state driven rule set, message system, AI, and server/client design. 

  State System: The state system controlled how the game tabled checked rules and how each players turn was scheduled. The game table could be in numerous states and depending on what state it was in controlled how the player could interact with it. 

  Message system: The game was intended to be multiplayer so it was built in a way that all interaction between players, AI, and the game table were  handled via a message system. 

  AI: The game had two different AI systems. The first AI would pick cards at random and attempt to play them to test if the game table was checking rules properly. This AI was slow because it could possibly choose every card in its hand before it would get a card played successfully. The second AI that was implemented was able to play a card based off of simple rule checks and interacted with the game table more. 

  Server/Client: The game was going to be a multiplayer game and with this in mind everything was setup as if it was a client/server relationship. The Players connected to an internal server and used that servers message system to communicate with the game table. The game table was setup as a server. This was all done with the goal of separating the code out into actual servers and clients with the next version that was released. The project halted before this stage was reached.

My Role

    I was the sole developer on this game. I was responsible for all programming and design. The game was text based and had not art assets.