Early this past week I finally solved a crash bug that had me worried for a while. Turns out it was a simple save game bug. It had me worried because at different times I thought it was a – hard drive issue (my hard drive failing), a memory issue, and/or some random instability. For the memory issue I thought that maybe I was sending too much data from memory to the save game file, so I cleaned up a bunch of code to make save game files less verbose. This – didn’t fix the issue but made a difference in the crash, so I thought I was on the right track. I then changed the way save game files – saved – instead of buffering and then writing the data to the hard drive (when the buffer decided to do so), I had them write the data as soon as new data was in the buffer. This again had an effect on the crash, but didn’t solve it, however it crashed at the same exact point in the save game file writing process so it led me to the actual problem, and moments later it was solved – it had to do with rally points.
The rest of the week was spent on the first 5 minutes of the game. But the impact will be felt through out. First off spending time on the very early beginning of a game is very important because – that’s a guaranteed everyone will go through. Including game reviewers. The changes help flesh out the setting of the game. There is more activity and goings on. The asteroid field setting gets a show case.
The changes are these – previously there was a hangar platform that would launch drones to pick up ore rocks, when the drones returned (with the ore rocks) to the platform, the “ore” would be transferred to the base. This was “invisible” – the new change has the platform launch a cargo pod, which then gets picked up by a transport ship (which the AI base builds based on need) and the cargo pod then gets delivered to the base. Ships picking up ore rocks and cargo pods – had a glaring issue – I would cheat and create “ghost” objects (visual only objects) instead of physical objects when a cargo pod was picked up (the physical side would vanish from the game). Although this looked ok – the ghost object wouldn’t respond to collisions – so you couldn’t damage it. This was mostly ok – except when I wanted for huge rocks to be moved – after all those mining platforms need to be near rocks to mine them, and they had to have gotten there somehow right? Again adding to the setting of the game. So now ore rocks and cargo pods are physical objects. This meant a bunch of changes and struggles, but thanks to the 4 day Thanksgiving weekend, this is mostly done – and I’m very happy. It will become a major feature of the game – especially – because anything that the AI can do – so can the player. So we’ll have to create situations where the players has to drag (or command his forces) to drag ore rocks, cargo pods, and – yep even other ships