I have finished modelling and texturing, as well as importing into unity, over 40 new objects.
There are some decorative objects, and some new structures, and some new crafting ingredients too.
The art style I am going for is quite basic, which allows me to create a large number of objects quickly.
I still haven’t fully set these items up in the game itself, I need to add scripts, etc, etc, but this will be done next week.
This should add a lot more visual variety to the game, as well as allow for new crafting options, etc, when I set all of this up.
The art objects are not properly optimised yet, and I should be able to remove some channels (Such as metallic smoothness) from some objects, as well as combine some art objects together.
I also want to add some new items that make use of double-sided materials, which can’t be done with the unity standard shader.
I have been mostly working on creating some new art objects for the game. I will have these done relatively quickly. I then intend to improve the exploration and story elements of the game.
I have also been working on improving how prefabs are stored and organised in the game, which should make it easier to reuse them later with other art objects.
I have also been working on integrating KoboldCPP support into the UDream LLM asset.
I believe I have solved the problem, it was really just a minor formatting issue caused by the data coming from KoboldCPP not being in the same format as what UDream was expecting.
I have also added a chat-style interface to SpiritusAstrum that will be used for the LLM system when it is integrated. It is very basic at the moment, but it allows for scrolling, and multiple messages to be viewed at once, as well as basic colour coding.
I have also integrated it into the existing dialog systems.
I will probably finish the modelling next week. I still have a few objects to go, and I need to adjust the scale, etc, to make sure everything is consistent.
I have created a number of new weapons for the game.
These are mainly simple firearms that are designed to be used for the lower-tech enemies and characters in the game.
Some of these weapons may be craftable at some point in the future (Some of them use simple blackpowder shells, etc, which could conceivable be made in the field with the right tools and knowledge).
I have also added the ability for weapons to have an “automatic” fire mode, in addition to other firing modes.
I have also added these weapons to the AI’s inventory, so that the AI can equip and carry them, as well as drop them as “loot” when the AI is killed or surrenders.
I do need to improve the combat mechanics though, since not only is the code quite basic, but the AI will fight in the same way regardless of the weapon that they are carrying. The amount of damage inflicted for each weapon will change, but the AI should, for example, close the distance to the player when using a shotgun, and increase the distance when using a rifle, etc. I can add these features later.
I have also added an “Armour” feature to the game. The player can now absorb several shots of damage before being injured. This armour automatically refills over time, but very slowly. I am not sure if I want to keep this in the game or not, it might make the combat system too easy? But I am planning to experiment more with it.
In addition, I fixed some bugs with the AI’s movement logic that was causing their rotation to be incorrect.
Finally, I have improved the random generation algorithm slightly, and I have added a simple new feature that allows randomly placed objects to be automatically aligned to the terrain. This should prevent them from appearing underneath the terrain in hilly or rough areas, which is a problem that I was seeing.
The next goal is to create some new environmental artwork for the game, and improve the AI code and random generation code even further.
I also want to take another look at combining Large Language Models with the game.
I have been mostly focusing on the combat system this week.
I have added several improvements to the Target Gui, such as more information, and background highlighting.
I have also improved the players scanning tool to make it easier for them to find important objects in the world, and I fixed some bugs related to the persistence system.
I have also been working on adding quite a few new weapons to the game. These are quite simple visually, but should add more variety and depth to the gameplay.
The enemy AI has also been slightly improved, and I have more improvements to work on later, when I have finished adding the rest of the weapons.
The weapon scripts have not got support for both “spread” fire (Shotguns, etc) and “automatic” fire. These options can be turned on and off easily for each weapon.
In future, I could allow for fire selection and alternate fire modes, etc. The problem with doing this now is that the right click button is already being used for interacting with the environment, so I would need to break convention and use a different key for fire mode selection.
I have added some new features to the story generator and dialog system for SpiritusAstrum.
It is not possible to have certain “locked” dialog branches that can then be unlocked as a result of the players actions. These dialog branches can also trigger in-game events, other dialog options, etc.
I have also added a simple text GUI to the game to allow the player to determine the stats of enemies that they are pointing at.
Currently, this GUI is only displayed when the user right-clicks on a target. This was done for immersion purposes, I want to keep the main screen as clean as possible. In future, I may add the option to always display the GUI.
In addition I have improved the combat system and random NPC spawning system in the game to allow enemies to spawn in more places. This means that random objects that previously could only contain friendly NPCs, can now also contain enemies too.
I have also tested and fixed some other minor issues with the AI system.
There is still quite a bit of work to do with improving the combat system, it still feels quite clunky. I may add more randomness to the AI’s stats, and possibly add different damage types, etc, etc, in the future.
Finally, I have discovered an asset HERE that allows LLM’s to be loaded into unity.
This functionality could open up powerful new possibilities for my project, particularly for NPC dialog, and random quests, etc, etc.
This is something that I intend to experiment with in the future.
This week, I conducted a full retest of the new story for Spiritus Astrum.
There were some issues found, but these were all minor.
I made some minor improvements to the story system, including better support for saving and loading, and persistence, etc.
There were also other minor issues that I had that were also fixed.
One of the more serious issues that I found was a problem with the code that generated a unique ID for each objective. This was not storing it’s values persistently, so id’s were being duplicated between runs (Ie, starting at 0 every time the game would resume), which caused issues with logging and viewing the quests. This has now been fixed.
I also finalised the changes and improvements to the PGD website.
Finally, I made several improvements to the story sequences in the game.
The main problem now is that the story may be too short. I may need to add more gameplay elements to it.
I also need to add more story elements, and possibly more interactive features to aid in storytelling?
This week, the main goal was to finish working on adding the new features to the story. This has now been done.
I have added the ability for multiple vehicles to appear during the story events, however, even though Spiritus Astrum has support for multiple vehicles at this point, but this support has not been properly tested. It does work, but it is not quite ready for release, and so I will probably stick to just one controllable shuttle, rover, ship, etc, for the moment.
I have also added improvements to the navigations and beacons/markers systems in the game. It is now easier to track and find items and objectives, etc.
It is also possible for the player to convert harvested minerals into energy (In addition to items, etc), which they can then use to craft advanced items.
I have also made some changes to the ending of the most recent story, to allow the player to continue on playing if they choose to. In the future, it may be possible for the player to play multiple stories in a row, effectively choosing their own endings, etc.
Finally, I have updated and improved my website. This is not 100% done yet, there may still be some slight issues, but I am quite happy with the results.
I have added support for more advanced scanning, and improved the navigation beacons, etc, in the game.
I have also been working on improving procedural objects, etc, to allow for easier and more powerful integration into the story system.
I am relatively close to finishing the improvements to the new story. At that point, I want to test it much more extensively, and then add AI dialog, etc.
It is now possible for the player to craft more advanced objects and buildings by converting harvested items and minerals directly into energy.
This basically unlocks a new “advanced” tier of constructable objects.
The next goal is to improve the scanning system so that I can not only detect cities that have not paged in yet but actually place beacons, etc, at their location to guide players.