I'm back. I decided to start on Prototype #3 which will be the final alpha prototype for this project. Hopefully, I will have all of the big pieces in place to create a fully functional game. What are the major goals?
First, I want to standardize and streamline the data structures in the game. Instead of relying on Unity for data structures, I plan on creating the major "variable types" in Visual C#. For example, I will move the data structure "PlayerData" from Unity to C#. FlightControl will define the C# version of the old PlayerData, renamed as an Entity type.
Second, I shrinking the game. The current models are pretty big. I plan on reducing the scale of all models by 95%. This will require me to rework alot of numbers; however, there will be benefits. With small objects, I can reduce the actual speed of every object while maintaining a fast paced game. Slower objects will translate to more reliable collision detection. It will reduce the distance between collision error detection and should reduce the game's processing overhead. It will also allow for better depiction of larger objects, like planets or really big asteroids.
Third, I plan on reworking the trigger manager to follow a relatively standardized process. I identified the major triggers in Prototype #2; now, I just need to figure out the best way of implementing those triggers in Prototype #3. I plan on adding a couple of features to help with this like a decision, if-else, trigger.
Fourth, I want to standardize each object to make the game easier to manage from a programming standpoint. Each destructible object in the game will possess a FlightControl script. FlightControl will possess the old PlayerData and VehicleData scripts as C# user-defined types. These types will be renamed Entity and Vehicle. This will allow for easier implementation of various different game objects into the game. Unfortunately, I will have to rewrite missiles and turrets, with a possible rewrite of bullets and countermeasures, to implement this. However, this should allow me to better maninpulate significant game object as a programmer.
Fifth, I want to implement the concept of pre-loading as much as possible. I got Prototype #2 to work in a manner. However, there were hitches in the screen due to excess loading of objects from the database. When possible, every object will be loaded early with all values from the database. When it comes to actually loading the object into the game, it should just be a matter of instantiating the object instead of looking for the data associated with object after loading it.
These are my major points. I just got bit by a dog, big old boxer. I'll finish this up later...