The majority of work last week was of the kind where you hope nothing appears to change when it's all done. That was successful and the build/testing at the end of the week was good. Old style space ships still seem to work just like they did the week before.
There is not much point in building an update, except to discover any mistakes made along the way. Building and posting all platforms takes most of a day so skipping the build gives more time for the final push to the end.
I don't mean the final complete every polished detail end. I mean the first pass through the process of implementing these new ships, the first arrival at the destination. From there, it is a refining process to tie up all the loose ends and fix coding errors.
I am personally looking forward to that phase because I will be able to be more present in the game on line. I have missed it, being mostly isolated for the past few months. Like now; the current version I am working on is no longer compatible with the servers. Until the servers are updated with these changes, I cannot login while testing my work in progress; I have to use the debug servers. I could use the posted SoH client but that does not help me get any work done.
For those curious C++ programmers who would like a little more technical information about last weeks changes, here is what happened.
- A new Vessel base class was inserted between the current space ship object and its previous base class.
All references to the old space ship object were changed to the new Vessel class throughout the code. This of course caused a large number of build errors.
To resolve those build errors, space ship functions were moved into the Vessel class whenever the code was generic enough to allow it. Remaining errors were resolved by adding pure virtual functions to the Vessel class definition.
At this point all code builds and executes without errors. Space ships still work the way they did before. All code that deals with space ships does so using the Vessel class.
A new space ship class object was then created, derived from the Vessel class. Code stubs were created to override all necessary virtual functions and to satisfy the pure virtual function declarations of the Vessel class.
That produced a list of about 130 code stubs. Work began on implementing those code stubs. Many are just a few lines of code; others take considerable work. In all cases so far, the code in the new space ship object is less than the code in the old space ship.
Once those code stubs are finished, the new space ships will be as functional in the game as the old ships. That includes the ability of the AI to move around inside them. New features likely won't be implemented yet, like retractable landing gear and turbo lifts.