Jan 08, 2016
Battletech
• Goal
– To recreate the table top game environment in Java
– Practice and develop my skill set with both Java and NetBeans
• Why
– This is a game I have always enjoyed
– To see put my knowledge to the test
Data
• All components in the battlemech were built as separate objects.
• Game rules are coded into the objects where necessary.
• Game engine actions are based on the current game phase.
• Game play is with two six-sided dice, and this is represented with a random generator.
Data
• Record keeping is accomplished within the instantiated objects.
• This abstracts the game record sheet into a different form, minimizing the level of player overhead for details such as, heat level, movement and firing modifiers.
• Access is through get and set methods.
Accomplishments
• As of today, I have a rough GUI that will display data about a given battlemech.
• I have implemented a canvas that draws the hex game board, and one battlemech.
• The parts that build up a battlemech have all been built, and have appropriate accessor methods.
• At this point I consider this an Alpha implementation of the program.
Current System Design
Game Window
Mouse Events
Player'sBattlemech
MechBody
MechComponent
s
Dice RollGenerator
Game PhaseEngine
UIUpdate
Challenges
• In getting to this point, I had determined that I wanted to implement all the pieces and parts of the game as objects.
• This allowed me to define a few generic objects that I could extend into the remaining parts.
• By building generic parts, I could define the methods for all the parts, and hopefully minimize the type checking later.
Part Definition
• Part object extends into
– Engine, Gyro, Cockpit, Arm and Leg Actuators, Heat Sinks, and Weapons
• Weapons object extends into
– Lasers (Large, Medium, Small)
– Missiles (Long Range and Short Range)
– Ballistics (Autocannons and Machine guns)
Battlemech
• The MechBody object itself is made up of more objects. I have an inner structure object that maintains overall access to all the parts objects.
• The MechBody is also where we maintain armor and heat levels.
• In essence I am recreating the physical record as a collection of objects.
UI Prototyping
Conclusions
• I feel like I am going the right direction to represent the game as a computer program.
• I neglected to keep track of my time, so I can't give an accurate count of the hours spent.
• For the program to be useable, I need to make progress on the game engine. Up to this point I have been more focused on the battlemech itself, setting up the objects and their methods.
• I had some personal challenges that ate up time that I needed to dedicate to this project.
Conclusions
• I have found that my knowledge with the GUI construction is very limited, and this has been an excellent project to push that knowledge forward.
• This is a project that I plan on working with for quite a while, and now I have a reasonable start on it.