This is the first update I've posted about this project in 2 months, and some may have thought that it had been abandoned. Nonsense! This project has been in active development the entire time. But, I believe that if you have nothing to say you shouldn't say anything at all, and I just didn't feel I had enough tangible work to show. Until now.
Space games typically have 2D HUD elements that are overlayed over ships in your field of vision, as well as lead indicators. Support has been added in the engine for these elements, and they perform pretty well.
In the lower right corner of that image you will see a yellow circle. The circle is overlayed on top of the ship in space just like in High Albedo. Like in High Albedo, the circle's color indicates the status of the ship (green for friendly, red for hostile, white for neutral, purple for your property, and yellow for targeted by you).
Above the circle you'll see the health bars. Just like in High Albedo, this is two health bars on top of each other. The green bar indicates shield strength, and the red bar indicates hull strength. Finally, you may notice a blue rectangle near the ship. This is a relative velocity indicator that shows the relative velocity between you and your target. If it is a blue square, you are in firing range. Yellow indicates you are out of range.
Multithreaded HUD Rendering
The HUD uses Java2D because it is almost the same HUD system as High Albedo which was in Java2D. Unfortunately, Java2D is a bit slower than OpenGL which caused some performance issues such as frame rate fluctuations.
These fluctuations have been corrected using a multithreaded rendering scheme in which the HUD is drawn asynchronous to the rest of the frame, and when the HUD says it is done then the changes are included. This means that the HUD can render across multiple frames! The performance improvements are massive, the game now stays at a smooth 60fps with no fluctuations, and the HUD draws and updates just fine. And people claim Java2D is too slow for games!
AI Behaviors Migration
In High Albedo, I developed complex and powerful behaviors for NPCs to trade and fight. These combined various autopilot functions and maneuvers in order to get the job done and do it well. It has to be done well, because I made it a goal that the same behaviors that govern AI ships should govern remotely operated player ships.
I am pleased to announce that the 3 main behaviors from High Albedo are working in Outlier!
- Local Trader - Finds the best trade routes in its current solar system and automatically buys and sells in order to make a profit. These are the backbone of the economy and most factions have lots of them.
- Wide Trader - Finds the best trade routes in the entire universe and automatically performs them for a profit. Will automatically filter out routes that are not possible to complete and will use its jump drive to quickly move between solar systems. Although more expensive to setup, they are far more profitable and don't easily become idle. NPC factions have some of these but not as many as they have local traders.
- Patrol - This behavior instructs a ship to fly through the system between planets and stations looking for bad guys and automatically engaging them when found. Patrol ships will automatically dock when low on fuel and, unless destroyed, will operate quietly and effectively. NPC factions have literally hundreds of these ships throughout the universe making raids and protecting the homeland.
These 3 behaviors form the backbone of the dynamic universe I am building and they associate faction ships and loadouts with logical actions and goals. And, of course, all those behaviors are available to the player's ships and can be activated from the property window.
Dynamic Universe At 100%
In High Albedo, the procedural universe was able to evolve over time through in-game events. This is because the universe isn't static, and evolves as ships and stations are destroyed and replacements built elsewhere, and as trading occurs affecting the market.
This dynamic universe system is now fully integrated into Outlier! This means that Outlier's universe is just as elastic and adaptive as High Albedo's. You can clearly see this from watching a little command line output.
Commonwealth Supply Sparrow F86KW bought 63 Standard Energy Unit from Sunfarm OLGV6
SC Trade Sparrow H7GVS bought 123 Standard Energy Unit from Sunfarm YUBB8
SC Supply Sparrow 0BLWE sold 63 Standard Energy Unit to Industrial Kitchen 9
SC Supply Sparrow SCS91 bought 63 Standard Energy Unit from Sunfarm 3
Commonwealth Supply Sparrow G0MXK aborted trading operation.
SC Trade Sparrow H7GVS sold 123 Standard Energy Unit to Industrial Kitchen 09EG8
NC Supply Sparrow W7MDY aborted trading operation.
Commonwealth Supply Sparrow 74Z7C bought 63 Standard Energy Unit from Sunfarm 1
Commonwealth Supply Sparrow 508OX bought 63 Standard Energy Unit from Sunfarm OLGV6
NC Fleet Sparrow J5BK0 was destroyed in Eta LZM-F by Rogers Sparrow HJ67Z
Rogers Sparrow HJ67Z was destroyed in Eta LZM-F by NC Fleet Sparrow J5BK0
NC Supply Sparrow YWM4P bought 63 Box Meals from Industrial Kitchen 5
Wares produced, sold, consumed and ships destroyed. All part of the day in the dynamic universe.
New Station Models
Although they are still placeholders, I have made some new models for stations that are closer to what I'm looking for in the final product. Anything is better than looking at that old box-shaped test station though.
As I've said before, I eventually plan to find someone to make models and textures, since my own ability to do so is rather lackluster. But my primitive models will suffice for now.
The future of Outlier is promising and I've almost completed the core game features. Outlier will, at release, have a similar feature set to High Albedo: Twisted Skies. And, like High Albedo, it is heavily inspired by crossing Freelancer with the X Series. If you haven't played High Albedo, it is available for download on ModDB and is basically my 2D prototype for this game.
There will be additional development time needed to add the new features Outlier will have that High Albedo did not. For example, Outlier is going to have a more complex, multi-axis standing system and an improved conversation system. I'd also like to write a smarter missile guidance routine.
Once these features are complete, world building will begin. This will be where all the finalized factions and their unique ships, weapons, economies, and stations will be produced. This is where I am going to need a 3D modeler. Sound effects also need to be done, but I know from experience that adding the sound system and effects is going to be pretty easy.
And then we are going to open alpha!
I believe in an open development process, so if you have anything you want to say, or suggest, I am always listening. You can message me here or email me at firstname.lastname@example.org . I am always open to comments and suggestions.