This week was really busy for me. Again at the moment I am working on this game alone in my free time while taking college full time so my ability to put hours into it is limited. That alone, however, would not have stopped me. I was all set to start working on the life support functionality when I realized that a whole bunch of things were broken. Fixing one thing led to another and another until it was not practical for me to attempt the life support. So enough about what I didn’t do, what DID I get done?
This week was effectively a cleanup week. I started by rebuilding the ship destruction. As of last week ships could already be destroyed, however it was a bit buggy and constrained ship designs to a linear hierarchy where one piece was parented to another and that piece was parented to another and so on. The problem with that was twofold. One if you destroyed something near the top of the chain, everything below it was also destroyed. Two even if I fixed problem one, that would allow players to cut ships in half, which would be cool, but I decided against doing because it would be a major undertaking to code but would not result in that much gameplay. What I decided to do instead was setting it up so that when you destroyed each piece of the ship, it left behind a sort of rubble that connected the ship visually so that way when you cut the ship in half, it still appeared to be connected via superstructure.
Once I decided to make this a cleanup week I set about fixing a bunch of issues that were fairly minor, but ended up being bigger tasks then I had planned. One of these was fixing the interact script. I had never finished writing in its functionality when I initially made it so players could click on open cockpits light-years away and enter them. I finished the code so that players now have to be within a certain distance from the object and have line of sight on the object. This way they cannot enter the object through walls. I also merged the interact script into the player controller script. This also saw a good deal of work.
In the player controller script I removed the chunk of code that compiles the ship. Then I created a ship controller script that applies only to space craft. This new script is what contains the ship compiler now. This is setting up infrastructure so that an AI captain can take control of a ship and hopefully plug into the same hooks that the player controller will use. At the moment however it is just a mirror of the player controller that is turned off when no one is inside it.In addition I also fixed a minor sound bug, added the Inertial Compensator module, Added an invincibility check-box to the component base (which is the script that runs on just about everything in First Command), I reshot all of my hull parts in 128x128 (I originally made them 64x64 by accident), fixed a unusual collision bug, and finally modified the doors in preparation for, wait for it…
So that’s what I spent all week doing. I am disappointed that I did not get life support in this week but I am not unhappy with the load of stuff I fixed. With all of that done I am looking forward to getting life support in next week. For reals this time.