I have begun working on the implementation of the third main story for Spiritus Astrum.
The first two missions of the new story are now basically done. The artwork is not done yet, I am just using placeholder art, but the triggers and code for the first two missions are done.
I have added multiple enemy types, objectives, mission types, zone changes, and placeholders for story scenes, etc.
In addition, I have improved and extended the AI and space combat features in the game (Although I haven’t done any balancing yet).
My plan is to try to get the entire story done at some point next month, and then I can spend some time testing and retesting it before working on the artwork.
So far, it seems to be going well, and it seems quite promising.
There is, however, a LOT of work needed with this, from adding more missions, to bug fixes, balancing/tweaking, and adding story sections, and of course, the artwork.
I have spent most of this week working on video generation with Hunyuan video.
This has been a fascinating exploration into a new and rapidly developing sub-field of the AI industry.
AI video generation looks set to take the world by storm in the coming years!
Hunyuan Video allows for the generation of short clips (Usually less than 10 seconds) from a plain text prompt.
From my testing, longer clips are possible, but the quality drops massively. I have tested generation of clips up to 60 seconds (At 320×240).
My current setup is posted HERE, but in short, I have 2 3090 GPU’s installed.
Hunyuan Video at bf16 is 25.6 GB’s.
Unlike with LLM’s (Large Lanuage Models), Video and Image generation does not have the same ability to split the Model across GPUs, so it is not possible to run Hunyuan at bf 16 on a 24 gb card, so I have been using is at FP8.
What is possible, as I discovered, it to offload the CLIP and VAE data from the first GPU to either the CPU or another GPU, this saves some VRAM, allowing for higher resolutions and/or more frames, but it is not “splitting” the model, just offloading some data.
It is also possible to use GGUF format instead of .safetensors. GGUF files for Hunyuan are available HERE.
Running Hunyuan at BF16 would require 45 GB’s RAM on one card.
I am using ComfyUI to run Hunyuan, and having tried many workflows, my current workflow uses GGUFDisTorchMultiGPU nodes as well as DualCLIPLoaderGGUFMultiGPU and VAELoaderMultiGPU to offload as much data as possible to other cards.
The quality I am getting is quite good.
With my setup, it seems that I can generate 201 frames video at 928×640. At 24 Frames per seconds, that’s about 8 seconds of video. This takes about 22 minutes to generate, with Sage attention 1 and TEACache optimisation enabled.
An example of the quality of content (A short, 3 second video) that I can produce is here:
The prompt for the above was:
“A male warrior with long hair and a battle-scarred face wearing a bulletproof vest, holding a large rifle, stands in a war-torn futuristic city. The camera pans around him, as explosions and gunfire rage. Masterpiece, best quality, dynamic scene.”
What is worthy of note, other than the good quality, is that Hunyuan video seems to have no issue creating realistic looking firearms. I have not used any other video-based AI models before, but I have used Stable Diffusion to generate images, and many of them are unable to create firearms, likely due to censorship, etc. Without getting too far into the realms of politics, it is interesting that a model created by Tencent, A Chinese company, is actually less censored than many models available in the west.
Here is another example, another 3 second Video:
Another example, this one an 8 second video, using the same prompt, is:
It seems that the longer clip has a slightly lower quality. It is hard to tell, but it seems that the background, especially, on larger clips seems to become less clear and more blurry and indistinct.
If I again take the same prompt, but this time increase the length to 60 seconds (Reducing the quality to 320×240 to allow it to fit in Memory), I get this:
Clearly, the quality here is incredibly low, but I don’t think the reason is just because of the lower resolution, I think the main reason is the clip length. For example, if I generate a 3-second clip (using the same prompt as above) at 320×640, I get this:
Which, despite it’s low resolution, is a much better looking video. It seems then, that regardless of resolution, the length is limited to about 8-10 seconds.
While I have tried various quantisations and workflows, in addition to experimenting with different options, there is still a lot of experimentation to do.
In particular, I would like to experiment with the guidance and steps, in addition to the various VAE Decode settings (Tile size, etc).
From what I have read, running the model at Q8 does not substantially impair the quality.
I have now added support for friendly fighters within the space combat sim. Friendly fighters will launch with the player and follow them until enemy fighters are discovered, then break and attack the enemy.
Enemy fighters will also randomly target both the player and allied fighters.
This should be one of the last core mechanics to add to the space combat sim.
There were some issues getting these changes to work, but preliminary testing has gone well.
There are still a few bugs to fix, but one of these is intermittent, and difficult to pin down.
I have also added quite a few new features to the story mission itself, as well as bug fixes, improvements, etc.
The next goal is to continue testing and improving the space combat sim, and then begin assembling the new story quest, then work on the artwork, etc.
I have mostly completed the core mechanics changes for the new story that I am working on.
I am adding a new capital ship, which, while not directly controllable by the player, will need to move over long distances and high speeds. It will also need to change zones (Star Systems).
The player will also need to be able to leave and reenter this ship in various types of vehicles over the course of the story.
There is a lot of testing to be done on this, but I think that I got most of the core mechanics to work this week.
I had some major issues with storing the correct location on the server, since the game is currently not properly setup for multiple capital ship control objects (This is a feature I intend to add later).
However, I believe I have fixed these issues now, and the system seems to work very well.
It is now possible for capital ships to change star systems and fly to planets, and it is possible for the playe to enter and leave the capital ship in a vehicle. This is all saved persistently on the server.
I have also made some improvements to the code to make it easier to add and manage new storylines in the future.
I am currently working on adding another control object for the new story.
The player won’t be able to control this directly (Like the existing capital ship), however it will serve as the main capital ship for the player for the duration of the new story.
It is possible to launch and retrieve small fighter craft from the new control object, and I am now working on extensive testing of the new mechanics that I have added here.
This new control object has involved extensive changes to the existing system, which will require a lot of debugging.
Most of the initial setup and story code is working, but the problem now is the floating origin system. There are some issues with the positions of the player objects not being set correctly, etc, due to the changes to the core mechanics.
I also had some issues with server paging, as well as the physics system, etc.
I have an extensive set of tests that I want to run, which I hope to finish next week. I can then continue with the new story elements.
Most of the code for the new space combat mechanics is done. I had some issues with projectiles, not working properly with the floating origin system, but I have finally solved these issues.
I have added new features and UI improvements to the space combat system, as well as guided missiles (For both players and enemies) and other projectile types.
In addition, I have improved and extended the existing decoy and electronic countermeasures systems to work with the new mechanics.
I am now working on adding the new player-controlled fighter craft. The artwork is not yet finished, but I am adding the code for it, and so far, it is working well.
Players should be able to customise their weapon loadout, etc, with the new vessel.
So far, this is all progressing well.
The next step is to add a new capital ship to the game, this will be difficult, because so far, the game only contains one capital ship, so adding a second will require changes to the core mechanics.
I have added a shield effect to enemy star fighters, and I have added them to the existing tracking/nav map screen.
I have also made improvements to the nav map screen to allow the player to filter in/out enemy fighters.
The players shuttle also has shields too, and a “hull strength” value that will cause the shuttle to be damaged or destroyed if the hull fails.
Instead of adding aim prediction for the enemies, I have added “homing projectiles” instead, this was much easier, and seems to work just as well.
It was a challenge to add the enemies to the floating origin system, I ran into some issues that occurred at high speeds and high impulses, but this seems to work on now too.
The space combat system is now basically working, and I am quite pleased with it. There is still quite a bit of work to do, however.
In addition to some user interface improvements, the main area that I still need to work on is balancing the values for all of the different variables, such as weapon damage, shield strength, and the turn rate and thrust force of the enemies, etc.
There are also still some issues with projectiles experiencing unusual behaviour during floating origin shift events.
I am continuing to work on the art and art concepts, as well as the story, for the early access release of the project.
In addition, I have started added more gameplay features to the game.
I have started work on improving the space combat section of the game.
I am adding in the ability for the player to engage in dogfighting with other craft (In addition to combat involving capital ships). I am also working on designs for new starfighters and transport ships, which will hopefully feature in the story.
I have already added basic combat-related code to the players main shuttle, and this seems to work well. I still need to add more gui support to indicate where the player should be aiming, etc, but so far, the new changes are going well.
I am now working on the enemy AI for space combat. This will be kept fairly simple for the moment, but I will be incorporating things like guided missiles, shields, countermeasures/decoys, and possibly cloaking/stealth, etc.
I am still working on the concept art for the next story campaign in Spiritus Astrum.
So far, it is going reasonably well, although there will be quite a lot of art to add, in addition to support logic, etc, etc.
I am working on adding new vehicles (Although not all will be driveable) in addition to new enemies, etc. Some of the new art will be animated, and it is taking some time to figure out the best method of rigging and animating the models.
One of the largest and most complex pieces of concept art that I am working on is a new capital ship. This will not be directly controllable by the player (Unlike the current capital ship). The player will simply be a crew member in the new campaign.
This piece of concept art is going well, and the general layout (Exterior and interior) is mostly done.