I have made some improvements to the planet generation system, as well as fixed some GUI issues, and improved readability when the background highlight effect is turned on.
I have also added a very simple concept test of a third person camera to the game. It is now possible to view the players character from a third person view.
This actually works quite well, although if I implemented it fully I would need to change a lot of UI elements, aiming, selecting weapons, etc. I doubt that I will add it as a standard feature, but it may be useful for screenshots, or for during conversations, etc.
I have spent this week working on more improvements and bug fixes.
I have modified the sky shader on earthlike and alien worlds to show more subtle and realistic cloud effects, and I have fixed several long-standing issues with the sky and weather systems.
I have also fixed an issue with the sky colour not being correct in some cases.
I have completely retested the second campaign in the game, and discovered quite a number of bugs. All of these have now been fixed, including one very difficult to track down framerate issues which was actually in the game for some time, but it only triggered in rare cases.
I have also added asychronous loading for persistent objects in the game, to address framerate stuttering issues when these objects are loaded.
Finally, I have made improvements to the startup gui to allow the player to more easily choose the campaign that they want to play, as well as choose the free roaming mode.
I am now working on testing the free roaming mode and fixing some additional long-standing bugs, as well as adding some essential new features.
I have made several improvements to the third campaign, as well as fixed several bugs.
In particular, I fixed a bug with the terrain scanning system that was preventing objects from being optimally placed on flat ground.
I have also added new clothing types for the AI, and a way for some NPC types to dynamically change outfits.
There were also other minor issues, some of them longstanding issues, that were fixed.
Finally, I completely retested the first campaign. This has already been extensively tested, and so no new bugs were found, but I did make a note of some improvements that need to be made.
The next step is to make some of these improvements to the first campaign, and then test the second campaign.
I have extensively tested the entire third campaign.
I discovered quite a large number of bugs, almost all of which have now been fixed. I also made some mainly minor improvements to the game.
The testing overall went quite well. The bugs were mostly minor, and almost all are now fixed. Most of the issues were with story triggers not firing, and other minor things, etc.
The next goal is to fix some of the remaining bugs that I discovered, and make some more improvements. There is still a lot of placeholder art and code in the game, this needs to be gradually replaced, and I need to do more extensive testing, including build testing.
I think that I have reached the point that there shouldn’t be any major issues left in the game.
I have been working on the artwork for the third campaign. Most of the necessary artwork has now been added. It is quite basic at the moment, but I intend to make improvements to it later.
I have also made extensive changes to the structure of the missions, adding enemies, more triggers, etc, etc.
Improvements and bug fixes were also made to the AI, and the mission triggers.
The next goal is to do a complete retest of the third campaign, and fix and bugs or issues that I find. I should have this finished next week. I can then move on to the next step of the project.
I have added a new weapon, the “Mining Laser” to the game. This is actually one of my favourite weapons. It is the only weapon with unlimited ammo (Althoug it does have a overheating mechanic, to stop it from firing continuously), and it does a large amount of damage per second.
This is the first laser based personal weapon that I have added to the game, so it took a little longer than most weapons.
There is a video of the weapon working on youtube here:
I have also been working on more artwork for campaign 3. I am hoping the the majority of the artwork will be done this year, in addition to some more testing, etc.
I am hoping to release Spiritus Astrum into early access at some point next year.
I have also uploaded another video here, showing off the explosion effect that I made a week or so ago:
It has been over a year since the Spiritus Astrum Demo has been released on steam.
In that time, the project has advanced massively, with two new campaigns being added as well as a whole host of new content, dialog, characters, weapons, ships, and other improvements.
In the initial release of Spiritus Astrum, there will be three campaigns, with an estimated 10 hours of content, with additional free roaming capabilities as well. I am hoping to add basic multiplayer support in the initial release as well.
Although there is a lot more to be done, Spiritus Astrum is moving closer and closer to release every day.
I have recently improved the LLM integration with Spiritus Astrum, and I have decided to try DeepSeek V3-0324-UD-Q3-K-XL with it in a game setting.
I am sending data about the gameworld to the LLM in a format similar to this:
You are Aleia. The user is zer0sum210. You are engaged in a chat with zer0sum210. Aleia is located within the amaranthine nebula, a distant region of space far from earth.
The users name is zer0sum210
Your name is Aleia
Aleia is soaking wet.
Aleia is on a planet called Lyran-8355, which is a/an earthlike planet
The current time of day is: Afternoon
It is daytime
You are in a plains region
You are in a region containing vegetation and scrub.
The current weather is: MediumRain
zer0sum210 has the following attributes: Low Gravity Worlder: Decreases jump height, run speed, and strength.
Negotiator: Increases the chances of a favourable outcome when negotiating
Ace: Increase turn speed, max velocity, and main engine min burn altitude of shuttle
Commander: Increases stats of AI Companions
zer0sum210's reputation is: Neutral
zer0sum210 is currently experiencing the following states: HighSpirits
zer0sum210 is carrying the following items: 10mmpistol
Aleia is carrying the following items: mre waterpacket medkit
The following structures are nearby: logcabin hanger1 hanger1 shelter5 bunker . There could be something useful inside!
The following items are nearby: wooden fence planter wooden fence planter wooden fence wooden fence well wooden fence wooden fence planter planter wooden fence Pickaxe burnedoutfire flintaxe flintarrow candle wooden fence wooden fence candle wooden fence . They could be useful!
Aleia's reputation is: Neutral
Aleia's relationship to zer0sum210 is: Friends
<START>Aleia: Where are you from? zer0sum210: I am starborn, I grew up on the sprawling space colony of Alexandrias Redoubt (Low Gravity Worlder)
Aleia: Tell me about yourself? zer0sum210: There is far more to my past than I would ever care to reveal. (Mysterious)
Aleia: What did you do before the Fall? zer0sum210: I was a NorthStar Fighter (Pilot).
Aleia: How would you describe yourself? zer0sum210: I try to take a (Diplomatic) approach to life, and look at both sides of a conflict.
Aleia: Tell me something about your life? zer0sum210: I once saved the life of a friend.
Aleia: Tell me something you are good at? zer0sum210: I can see both sides of a conflict, and can usually resolve issues without force. (Diplomacy)
<START>zer0sum210: Where are you from? Aleia: I was born far from the war, on Earth (Temperate)
zer0sum210: Tell me about yourself? Aleia: There is far more to my past than I would ever care to reveal. (Mysterious)
zer0sum210: What did you do before the Fall? Aleia: I joined the ranks of the (Aeonian Companions)
zer0sum210: How would you describe yourself? Aleia: I follow a strict routine, and never deviate from it. (Disciplined)
zer0sum210: Tell me something about your life? Aleia: I was Wounded in battle before the fall. I almost died.
zer0sum210: Tell me something you are good at? Aleia: I like keeping fit. Mental and physical health are crucial in these hard times. (Fitness)
The LLM is producing output similar to the following:
It is clear that the AI is able to take the input from the game world and produce intelligent outputs.
I have tested this same frontend with smaller models (LLama 3.1 8b) and the results were not bad, but the AI seemed to produce responses that made sense, but conflicted with the state of the world.
With deepseek, the AI was able to respond to the player as if they were an NPC living in that world.
Ie, when the player asked about useful gear nearby, the AI was able to mention a pickaxe near a burned out fire, as well as candles, etc, etc.
These items were all present in world at the locations where the AI described them.
The same is true about the AI’s response when the user asked if they were carrying any food.
The AI was able to recognise what an MRE was, and respond that they had one in their pack (Which the user can trade for).
The AI also mentioned edible mushrooms being nearby, which was also correct.
From this, I can determine that, firstly, current gen LLM’s are good enough to interpret data sent from a game and produce responses that make sense within the game world, however a model of sufficient complexity would be needed.
This was a concern of mine when I first started experimenting with adding LLM support to Spiritus Astrum.
I knew that LLM’s can produce realistic-sounding output, but that output may not match the state of the world. The AI may make reference to weapons, enemies, etc, that don’t exist.
It seems that with a sufficiently powerful model this is less of a concern, but for an average user, running that model locally could be difficult.
I will continue experimenting with different models in the future. I will also look into connecting to web-based API’s from Spiritus Astrum. LAN support works, so external API access should be possible too.