Sunday, April 15, 2012

Battlestar Game

I wrote this Battlestar Galactica game for one of my classes in the fall semester.  It was a fun experience but learning the Unity3D engine and C# language at the same time presented some problems.  Looking back at the project, I see a number of issues.  My scripts attached to the objects are a jumbled mess, are badly documented and have no real direction. 

I sat down and looked at all the moving parts and started to map out each function and interrelation.  I think I got a handle on what needs to be done next.  The biggest issue is making sure each script has a defined purpose and not to lose focus on that purpose (kind of like writing a focus document for a game).  For example, my ship control script controlled player movement, computer movement, computer AI functions relating movment (I also had a AI script that ultimately created conflicts with ship control that needed to be deconflicted before turning in my assignment), tracking damage (and apply penalties to movement), sound effects related to getting hit, destruction routine, the player's ability to fire weapons and the player's ability to fire countermeasures.  I renamed ship control to flight control.  Now that same routine handles the player's movement, the computer movement (without AI routines - that will be another script), tracking damage (and applying penalties to movement based on the amount of damage) and the destruction routine.  Flight control will be on every fighter craft in the game.  It's a generic script that allows access to movement and damage (since it game mechanic wise affects movement).  All of that other stuff will be going into other scripts.  The AI script will access flight control to affect movement.  Firing weapons and countermeasures will be separate scripts, and there will be a dedicated sound controller script in the game (instead of breaking it up into each game mechanic function). 

I mapped out the structure needed for the player controlled facet of the game and got four of the ten major scripts out of the way.  Sometime this week, I'll write a test script and test out what I have so far.  I should have a fully-flyable Colonial Viper...  I just won't be able to shoot any toasters...


Here is the link to my original class where I developed the project under the tutelage of Dr. Sam Joseph:

http://www.techhui.com/events/csci-3651-game-programming-at-hpu-fall-2012

The screenshot above is from the original prototype:

In addition, I did produce a web-playable version of the old prototype (here):

http://de.hpu.edu/sjoseph/CSCI3651-Fall2011/BSG/WebPlayer.html

No comments:

Post a Comment