The journey from taxie driver to NGO superpower begins with a single step. You are a disgruntled employee of Skybus Interstellar, the world's premier taxie service, who has stolen their company issued ship and has big plans for the universe.

Post news Report RSS The Dark Frontier

It's been years since I updated this game, and I have some exciting news to share! A sequel to 'High Albedo: Twisted Skies' is in development! 'High Albedo: Dark Frontier' will greatly expand not just the universe, but the gameplay options available.

Posted by on

Intro
It's been years since I updated this game, and I have some exciting news to share! A sequel to 'High Albedo: Twisted Skies' is in development! 'High Albedo: Dark Frontier' will greatly expand not just the universe, but the gameplay options available.


Although the game is far from complete, it is built atop the existing code base which means that I can polish what I have so far and share it with you! See the files section for a very early development build.

Disclaimer
I want to begin by saying that this is early in development. There are lots of plans, but most of them haven't been implemented yet. It's going to take a long time before I have anything that can be called a finished product.

Why?
So you're probably thinking, "Why is he releasing this if it isn't done yet?". The answer is simple: it offers massive engine and UI improvements over the existing downloads! The build being made available to you fixes many annoying issues from Twisted Skies, and offers a few exciting new features. Lets take a look!

Frontier Space
Although it isn't feature complete, you can begin exploring the frontier today. Frontier systems don't have any permanent jumpholes. Transient jumpholes appear and disappear between frontier space and settled space. Also, the frontier systems are randomly generated when you start a new game, so they'll be different every time!


Frontier systems are accessed via transient jumpholes which are visually distinct from normal ones. These jumpholes have a mass limit and become less stable as things pass though them. Eventually they collapse and reappear somewhere else.

The frontier may provide temporary shortcuts between distant parts of the world, or access to unclaimed resources. However, a dangerous new faction lives there and there is a risk of getting trapped.


I have a lot of plans to make frontier space unique and worth exploring that aren't implemented yet. After all, it has to be worth the risk. You'll hear about these ideas sometime soon.

Note that these are NOT like the random unknown sectors in X3TC accessed via an unfocused jump. Those were garbage collected when you left and ceased to exist. This is more like wormhole space in EVE Online. It's persistent but you can't always find a connection where you want to go.

Demons
The frontier systems are the home of a new faction called "Demons". They are hostile to everyone except the Entities and fly heavily modified Orin ships. They use a mix of human and alien weaponry. Their ships are extremely dangerous and often make incursions into settled space that is connected to the frontier.


However, unlike the Entities, they drop weapons that you can actually use making it worthwhile to hunt them. Their ships may even bail, albeit rarely!

The Demons (and Entities) will end up being an important part of the currently unwritten campaign in Dark Frontier. Note that the Twisted Skies campaign is still in the game at this time.

UI Improvements
It's no secret that the UI in High Albedo has been somewhat rough to use. I suppose it fits in a way since the UI in the X series was pretty bad too, but I wanted to at least be bad in a Terran Conflict way instead of a Reunion way.


  • UI is now hover to focus instead of click to focus. This makes it a lot easier to move in and out of a window's context in a tense situation.
  • Planet rendering is now deferred. This means that procedural texture generation is now non-blocking! The days of getting a freeze for a few seconds when a planet comes into view are over.
  • No longer exit saving if you die. You probably don't want your autosave overwritten when you die.
  • Various bug fixes found by playing with the cargo window.
  • New debug button F9 which shows debug rendering such as bounds and pathfinding.
  • New blue and white color scheme.

The roadmap for Dark Frontier of course includes a much larger UI overhaul, but that isn't done yet and certainly not in this build. However I feel these changes will make playing High Albedo much more pleasant.

Deferred Planet Rendering
This is a cool feature! Remember how you'd get a freeze when a planet first came into view? That was because the procedural texture was being generated on the same thread as the game loop. It was annoying and made exploring tedious.

Now planet texture generation is done on its own worker thread. When the thread finishes, the results are collected by the game loop. This means that you don't get any freezes! Textures are generated based on distance to the player with the closest planets first. This is to make the most easily seen textures available for rendering first.

You may encounter a solid pink planet if you beat the system. This pink planet is having its texture prepared and if you wait around it will appear.

New Collision Testing Algorithm
Twisted Skies used a very simple bounding box test for ships. This worked, but the illusion broke down when you had ships that were large and not square shaped. Now, the engine will automatically compute tightly fitting bounds for ships based on their texture and orientation!

//calculate dynamic bounds
            int w = tex.getWidth();
            int h = tex.getHeight();
            int s = Math.max(6, w / 20);
            for (int _y = 0; _y < h; _y += s) {
                for (int _x = 0; _x < w; _x += s) {
                    //skip alpha pixels
                    if ((tex.getRGB(_x, _y) & 0xFF000000) != 0xFF000000) {
                        continue;
                    } else {
                        //convert to a rectangle
                        int ax = (int) (x + _x);
                        int ay = (int) (y + _y);
                        bound.add(new Rectangle(ax - s, ay - s, s * 2, s * 2));
                    }
                }
            }

This is very exciting since it allows ships to have irregular shapes without having to manually create bounds for complex hulls. Although it isn't pixel perfect (it can't be due to performance reasons) it's close enough that you're unlikely to be able to tell the difference.


Note that stations still use manually specified bounds that can be found in "STATIONS.txt". This is because there's less incentive for me to convert that logic since stations at present never rotate and the more complex bounds do have a performance impact.

The gameplay improvement is amazing. For a minor performance penalty (most ships are small and need only a few squares to represent) I get accurate bounds for capital ships where the 1-rectangle approximation was obvious. This means you collide how you expect to collide!

Roadmap
You can see a list of target features here. Development is happening in this branch, so if you're interested you can watch the progress. As you can see, there's a lot to do! But I wanted to get some of these awesome improvements into your hands sooner.

I'm always open to suggestions. If you have any questions, comments, or concerns you can post them here or email me at "masternerdguy@yahoo.com". I value community feedback and want you to be involved in the creation of Dark Frontier.

Unlike Twisted Skies, which was developed in secret until the first release, Dark Frontier will be developed in a more early access sense where you'll get the ability to try new features as they become available and give feedback.

Fly safe!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: