Tuesday, January 22, 2013

Functional Turrets

Turrets are now functional! I finished creating the dummy load script to bypass the trigger manager. The dummy script loads all of the data necessary to give a battlestar (or basestar) minimal functionality in the game. With this data loaded, I created quick workaround to manual set a battlestar's main target. With a main target set, the turrets turn and fire on the new target. Here's a picture of the Aries Battlestar and the Cylon frigate:

 
 
Turrets still need alot of work.  I need to add a system to target secondary targets.  This portion of the code that I developed did not function properly.  Turrets also need a method to check for a clear firing path.  Turrets should never attempt to fire through it's own ship.  Those are the next two features that I'll need create to complete turrets. 
 
After the completion of turrets, I will create the AI routines for capital ships.  Due to the inherent differences in the methodology of propulsion, I might have to break this feature in a battlestar and basestar AI routine.  If I make sure that both routines utilize the same parameters, I might be able to keep both scripts accessing one table, instead of two separate tables.  I'll have to flesh out AI in a future blog.

Overview of Vehicle Data


After loading player data into the game, the trigger manager loads vehicle data into each game object.  The vehicle data holds data essential to the definition for vehicle game object.  This includes the vehicles' name, structure, ammo type, ammo capacity and other important fields.  Like the player data script, this script just stores data and provides the programmer with a method of retrieving the data. 
Here’s the script:


 
The next script that I will cover will be more complicated than a simple data storage structure.  The flight control script actually manipulates stored data to allow the player or computer to maneuver individual vehicles.

Update

The data entry for the new Aries class cruiser and the Cylon frigate are in the database.  This includes the turret data.  At this point, I will create a dummy load script to load the database information into each ship.  This should load enough data to test the turret control routines.  I will have to create a "mission", which I will call asset building, to establish some basic mission parameters.  The game doesn't function properly without a defined faction control script.  This script needs to be defined in the database and loaded into the game. 

After testing the Aries and Cylon frigate, I will complete both ships by adding gravity zones to the landing bays, launch tube spawn points and other small features to each model.  Before I define more ships, I will complete the artificial intelligence routines for capital ships.  This routine will have to be more elaborate than the fighters' AI scripts.  The biggest concern is that a battlestar doesn't meet enemy ships "head to head".  It engages at angles to maximize weapon coverage, and weapon coverages will vary from class to class.  This means that I will have to figure out an "optimal" attack angle for each ship and implement it.  Preferability, this will be "soft-coded" into the AI routine.  The routine should be able to calculate a ship's optimal vector.  This will allow a single script to be attached to different models.  A "hard-coded" routine will require a specific routine to be attached to a specific model. 

With a solid AI routine, I will finish up the major ships listed in the previous post.  Here some pics of the current ship models under construction.  Here's the colonial destroyer:


Here's the Cylon frigate:


These models include the placement of turrets.  The Colonial ship relies on large guns, and the Cylon ship relies on missile launchers.  Neither model is textured at this point; I do plan on purchasing a good 3D paint program to make decent texture maps in the near future.

Sunday, January 20, 2013

Battlestars, Database and New Models

I got the basic template for battlestars incorporated into the database manager.  Currently, the feature is extremely limited in the manager.  The current feature includes a methology to save the battlestar's player data, vehicle data and turret data.  It does not include any methodology to save artificial intelligence parameters at this time.  In addition, there is no feature to actually place a battlestar into the actual trigger manager section.  However, this is a relatively significant step in the overall process.  The current features will allow me to quickly build the basic battlestar data and, more importantly, turret data. 

The current goal is to build some battlestars and basestars for the game.  I will be working on creating the basic parameters for two Colonial destroyers (the Aries and Hercules as shown in a previous post), a Colonial cruiser (the Venus, a Berzerk type, shown later in this post), a Cylon destroyer (shown later in this post) and a Cylon cruiser (shown in a previous post).  Once each of these templates are done, I will test the previously created routines.  Once these routines work as intended, I will create the artifical intelligence routine to control each battlestar. 

Here are some pictures of the a new battlestar and basestar.  The battlestar is actually based on a ship, the Battlestar Berzerk, shown during the Battlestar Galactica movie, Razor.  I have designated this vessel as Venus class cruiser originally built by the Leonis colony. 

Here are the pics of the game model:




Here is a picture of the actual movie model (actually the development sheet used for the movie):


The Cylon cruiser was created and used in a previous prototype; however, I never posted it in my blog.  It has also gone through some changes from it's initial presentation.  I made the missile turrets smaller and less pronounced in this iteration.  These pictures do not include the turrets. 

Here are the pictures for the Cylon cruiser:






Sunday, January 13, 2013

What is a Battlestar?

I'm back after a long vacation.  I'm still looking at completing the capital ships for the game.  In order to get a clearer picture of the role of capital ships, I'm going to post a series of blogs that will help me define them better.  This blog will cover the general overview of capital ships.

First, what is a battlestar?  Prior to the Cylon War, the term battlestar was used to define any space going warship.  In many ways, it is a similar term to warship in American society.  It did not define a class of ship, like a destroyer; it defined an entire concept of ship.  Prior to the war, colonial battlestars were very much like modern carriers.  They were designed to carry various fighter and support craft.  These smaller crafts are used to project power around the capital ships.  Just prior to the war, Caprica, a leading colony in the development of new technologies, conceptualized the first true battlestar.  These newer ships, that would take over the term of battlestar from a generic term to specific class of warship, were designed to operate as a naval station, not just a carrier.  The new battlestars would be capable of maintanence of a massive fleet of fighter and support craft, the fabrication of equipment and arms, the storage of an unprecedencted number of fighters and an extended operational "up" time.  They were designed to, not only conduct war, but supply an entire fleet of smaller battlestars with fighters, water, ammo and fuel. 

Second, what are the current classifications of battlestars?  The game currently uses a simplified size variable to track ship sizes.  Size one is anything less than 50 meters.  Each size category beyond one respresents a multiple of 50 meters.  For example, a size of five represents 250 meters.  A size of 10 represents 500 meters.  Battletars are categorized by size.  The categories are:

Escorts are small capital ships with limited support craft.  These ships usually have a small hanger bay; however, they are generally incapable of launching and landing fighter craft.  Their primary mission is to act as a mobile jump platform and are used in scouting missions.  The maximum size for this class of ship is two (100 meters).

Frigates are slighly larger than escorts and are capable of launching fighters.  Usually, a frigate is limited to two flights (approximately 10) of fighters.  Like escorts, these ships are primarily used in scouting missions.  In addition, these ships are often selected for small scale infiltration missions.  The maximum size of a frigate is four (200 meters).

Destroyers are, at least at the start of the Cylon War, the most numerous class of capital ships.  The usually have a full squadron (approximately 20) of fighters.  Some destroyers are armed with capital ship sized guns.  The mission profile for these ships vary depending on individual class; however, they are primarily a fleet ship.  They tend to operate better in groups.  The maximum size for a destroyer is a size of 12 (600 meters). 

Cruisers are, at least at the start of the Cylon War, the largest warships in any of the Colonial fleets.  They can support multiple fighter squadrons.  They are armed with capital ship sized gun turrets in addition to smaller flak turrets.  Before the inclusion of the newer battlestars, these vessels were the primary capital ships of the fleet.  The maximum size for a cruiser is 20 (1000 meters). 

Battlestars are a relatively new edition to the war effort.  After the first year of the war, the only class of battlestar was the Columbia Class Battlestar (built by the Leonis Colony; the Caprican ship was delayed due to a Cylon attack).  The Columbia measured at 1440 meters and is capable of maintaining twenty squadrons; however, most squadrons are assigned to smaller ships in the fleet.  After the eighth year of the war, a new class of battlestar is introduced to the war.  I'm still working on the design of the newer battlestar.  However, a battlestar is classified as anything larger than a size of 20 (1000 meters+).  It has large capital ship guns and represents a devastating power on the battlefield.  In addition, it houses factories that can keep a fleet supplied for extended operations. 

The game will feature each of these five classes of ships.  Since the start of the game is two years after the start of the war, there will be four Battlestars (Columbia, Galactica, Acheron and Athena) operational in the game.  This number will ballon up to nine as the progresses.  The final three Battlestars will be of a different class built within the final two years of the war.  The player will be assigned to a Battlestar at all times during the game.  However, players will be assigned a smaller battlestar (frigate, destroyer or cruiser) for temporary duty (TDY).  TDY assignment can be selected by the player based on a "prestige" cost.