Post news Report RSS Campaigns Coming in v1.4

It has been a few weeks since High Albedo v1.3 was released, and I haven't been wasting time. I have begun work on the framework for adding custom campaigns, and storylines, to the game. When this work is completed, it will be possible to embark on optional storylines that will have a dramatic impact on the game.

Posted by on

Intro
It has been a few weeks since High Albedo v1.3 was released, and I haven't been wasting time. I have begun work on the framework for adding custom campaigns, and storylines, to the game. When this work is completed, it will be possible to embark on optional storylines that will have a dramatic impact on the game.


Storyline Missions
As of 1.3, the only missions you could get were random missions from the NPCs of various factions. You got these missions by hailing an NPC that is either neutral or friendly to you, and asking for a mission. These missions would involve blowing up a specific ship or space station, escorting the NPC for a little bit, or delivering a bulk shipment of a supply to a station. These missions were interesting in that they never spawned anything, so they had an impact on the dynamic universe.

As of 1.4, there will be optional storyline missions, called campaigns. These campaigns will only be doable once, and failing them will be permanent. This means that, once you accept a campaign, if something goes wrong and you fail the story ends but you can keep playing in the sandbox like before. Campaigns will be offered by specific NPCs that have names that are different than the normal population of their faction. These NPCs will be hailed to start the campaign. Once the campaign is over, whether you succeed or fail they will not offer it again.


Campaigns will be plot arcs that make big changes to the game, and will have a massive impact on your faction standings. I intend for the stories I write to have branches, so you can choose how you want to proceed and affect the outcome. Also, unlike certain other games, High Albedo will not deactivate the dynamic universe during the campaign. This means that the dynamic universe could affect the outcome!

In 1.4, there will only be one campaign so that the technical details of the system can be tested. Once the bugs are identified and fixed, the will be a 1.5 version that adds some more stories to do. If you were confused as to what to do in the sandbox, these stories will help you focus on a goal.

Scripting
To be extendable, the campaign system needs to be able to load plain text scripts and parse them into missions. This is what I am currently working on. The scripts are node based, with an entry point node that is called at the start of the story. The node can then proceed to another node when a condition is met, and it is possible to specify a "success" and "failure" branch, allowing a story to fork based on the outcome of a stage of the mission. Campaign scripts can spawn ships and space stations, and make things temporarily immortal if needed. I am currently implementing the last of the triggers needed to make good missions, but I have already made significant progress.

[Node]
name=Station Defense
chapter=Pirates!
objective=Defend Ageiran Shipyard 1
body=Pirates! Press D to undock and go defend the station!
call0=CURRENT_STATION::makeMortal()
call1=SPAWNSHIP::PirateAmbush::The Archers,Native Land,-4439.0,11587.0,Pirate Raider,Archer Pirate,PATROL
call2=SPAWNSHIP::PirateAmbush::The Archers,Native Land,-4439.0,11700.0,Pirate Raider,Archer Pirate,PATROL
advance=NONEALIVE::PirateAmbush
next=Friendly Face
[/Node]

[Node]
name=Friendly Face
chapter=Run Away
objective=Fly to 'Friendly Face'
body=Ok, that was a little more dangerous than expected. Lets get out of here!
advance=ENTERSYSTEM::Friendly Face
next=CAMPAIGN_END
[/Node]

You can see here the test script called "Flight School" which is where I am developing these nodes. I have already implemented enough types to do a simple story, but I need more nodes so I can make a more complex mission. Specifically, I need to be able to do escort missions.

Other Fixes

A system for campaigns will be the major addition in 1.4, however there will also be some performance improvements. While doing some refactoring I discovered a loop that was being called too often, creating an accidental N-squared algorithm when it only needed to be linear. I have fixed this loop and there is a performance improvement. Frame rates are unchanged, but the real performance of the application, as measured by time per physics tick, is 10% faster!

I have also made tweaks to the jumpdrive, it now uses half as much fuel, and added new code to the fly to and follow autopilot functions so that, if the ship has a jumpdrive, it will jump to follow the target to another system. Finally, jumpholes find their partner at universe creation instead of when a ship uses it for the first time. This isn't really a noticeable fix, but it does make the code prettier.

Comments
I am always open to feedback, you are a pretty silent bunch but I know for a fact there are people playing this game. You can leave feedback here or email me at masternerdguy@yahoo.com .

Post comment Comments
dirtbag007
dirtbag007 - - 521 comments

Ooh! Sounds awesome!

N-squared algorithm. Haven't heard those terms since I was in university. Awesome!

Also, sometimes the UI is fairly unresponsive (IE: takes time to close or not).I noticed it has to do with the GUI window having focus at that moment. It can be annoying at times when you get into a tense combat situation. Any hints on how to lessen the problems around that without minimizing all screens through F5/6?

Reply Good karma Bad karma+1 vote
masternerdguy Author
masternerdguy - - 528 comments

When I get into combat I hit F5 to defocus then use hit P twice to close the middle windows (since they hide each other automatically). But you bring up a good point I will look into this for v1.4 .

EDIT: Are you having issues managing a fleet?

Reply Good karma+1 vote
dirtbag007
dirtbag007 - - 521 comments

Just having 3 ships total currently. The taxi cab is doing small trading runs. Got 2 banshees next to that.

Not had much issues so far. Main thing I'm still trying to figure out is how to let one of the banshees escort the cab.

For the rest, in my one other banshee im doing escort runs on AI's, making money with that. I want to acquire a jumpdrive soon.

Reply Good karma Bad karma+1 vote
Post a comment

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