The next major goal is adding the ability to create specific, named, characters in the world, at either random or specific locations.
This will be vital for the story, as well as random quests, missions, etc.
The game mechanics already supports persistent AI, and this system has been tested quite extensively, so hopefully the changes that I will need to make will not be to difficult.
I have completed the modelling for the large art piece that I am working on.
The next step is the unwrapping and texturing. There are several moving parts, etc, which will add to the complexity. I want to combine as many of the objects together as possible, for performance reasons.
So far, this is going reasonably well.
Once this story element is done, I will be going back to testing and debugging, and improving the core mechanics and core features.
The persistent object system improvements are now done.
The system seems to work extremely well, object positions and rotations are stored on the server and paged to all players when the game is loaded.
To reduce the load on the database, I have added a system to automatically remove objects from the world after a certain period of time.
Perishable items like food, etc, are removed after a few hours, while larger crafted items are not removed for several real-life days. This means that the actual number of objects being stored in the database will be kept low.
The next thing that I am working on is improving the long-distance object support for the project.
I want to be able to, first of all, see distant objects at extreme ranges, and second of all, I want to be able to scale stellar objects, like stars, to realistic values.
I have worked on a concept for this, and it seems that with my current setup, it should be quite possible to represent objects at sizes up to 6.957e+9, which should be enough for gameplay purposes.
The character selector and multiplayer code is now basically done.
I am going to spend a little time improving the character models themselves, but I will be replacing or upgrading the character model system in the near future too, so I won’t be spending much time on this.
The next goal is to add the ability for players to communicate, and I want to add some new character model choices.
I had some issues gettiing the character system to work over the internet, although most of these are now fixed.
I am now storing the users character in the database, and paging this over the network, so that the correct character model for each player is chosen and rendered.
I also have correct object models for the players shuttle and their main ship stored, and I am correctly sending animation data as well.
The main issue now is that this system is quite slow, and the movement of multiplayer characters is quite choppy, but I should be able to fix this by adding linear interpolation later.
There are some issues with the server that I will need to fix at some point, but since UNET is due to be replaced in the near future I will likely wait until I am ready to transition to a UNET replacement before I spend any more time on the server.
The core mechanics of the AI system is basically done.
There are some issues with it, which will need to be fixed before I can move on, but it works ok in concept.
The next goal, after refactoring the code, is to add randomly appearing enemies into the world, and add combat, damage, and other features to these random interactions.
The next major goal is to add a more complex paging system to the project that handles loading and unloading of complex scenes in real time, and also handles instantiation and destruction of objects, etc.
This is basically working now, and it seems that there are no major bugs.
From next week on, I will be thourougly testing the Server/Client Persistence system, and the core mechanics, before moving on to the next stage of the project.
I am now in the process of integrating the new random ground cover with the main system.
There are some issues here, and I have uncovered some bugs in the existing ground cover system too. I am working on fixing these, and adding the ground cover and lighting.