Alliance Space Guard (a 3D spacesim with orbits and ship avionics!)
This topic is about Alliance Space Guard a game trying to combine a regular semi-sandbox space sim with orbital mechanics and detailed ship systems and avionics. With all the experienced gamers here I'll go straight to the main features with references to existing inspirational games for comparison! 🙂
ASG takes place in a small galaxy with 1:1 scale procedurally generated celestial bodies. The flight physics is fully Newtonian i.e. along orbits in gravity wells. In that it is comparable to KSP but with realistic distances and masses like in Orbiter.
Interplanetary and interstellar trips are made possible by an "Hyperspace Field" that let ships travel instantaneously between pairs of connected jump-points. However in practice this mechanism does not brake the dependency to regular space flight and maneuvering. Jump-points only exist where the proper conditions are met and wherever available they have a precise motion relative to their parent bodies. Also momentum is conserved at all time and as a result ships have to actually fly to jump entry points and on an approach path that won't result on a certain collision on exit!
A few screenshots:
More information: ASG galaxy
In ASG all interstellar spaceships are technically single stage fusion powered rockets using some hydrogen plasma as propellant. The player's "CSN F9" frigate is fitted with a 50 GW reactor: this is objectively huge (~ half the US total nuclear power for electricity generation) but applied to a ~ 200 metric tons ship with endurance in mind this only enables "changes of orbital velocity" (= "Delta Vee"), not dogfighting ignoring gravity! As a matter of fact with full tanks the most powerful vessels accelerate like a not-so-hot sedan, and multi-hour long burns are common especially in deep gravity wells. Of course as you progress in your career you'll learn how to push your power plant beyond its factory settings and be able to make some fancy upgrades 😉
Under the hood the ship is modeled using a multiphysics (electrical / thermal / fluidic) circuit simulator and made of an assembly of low-level components, all of them with a specific persistent wear and tear model. The inspiration for this are the A2A "accu-sim" add-on planes for flight simulator X: a panel gauge is meaningful only if something might actually fail! In space there is also "Rogue System" of course but I'm more a space*ship* than space*craft* believer. Also unless I'm mistaken the power plant in ASG is comparatively low-tech (bulkier, less powerful, requiring large tanks and radiators etc).
The obvious issue with the detailed systems and orbital mechanics is that they are making things plain unmanageable. To compensate for this I've been working to fit the ship with the necessary avionics:
- the power plant is highly automated and with protections versus wrongdoings (WIP). Also the panels probably look a little daunting but there won't be any need to learn procedures by heart. For instance the maneuvering thrusters need electrical power and hydrogen to operate but which comes first does not really matter. Also I'll add in-game interactive checklists of course.
Reactor start-up video
- no need to train as an astronaut / fighter pilot and be able to instantaneously locate any point in space after 10 high-speed turns on your desktop chair 😉 The ship comes with multiple layered auto-pilots: attitude and thrust control + at the top a full flight guidance system that will keep you on your planned path. You can try in manual mode if you want but good luck with that!:D In these matters I tried to implement an "Airbus-style" interface with all due respect for the actual thing _(._.)_
Video of a deep space maneuver
More information: ASG flight controls
- finally the nav station features a flight planner in the "real" sense. Similar to KSP you can feed it a sequence of maneuvers and it will predict the resulting flight path (though with much more precision because burns are numerically integrated and not considered as impulsive. Incidentally I started to work on flight planning for an Orbiter add-on in the early 2000's).
However it also works the other way around: you give it a destination and it can design the necessary list of burns and jumps to get there. This feature is actually critical: of course it means that players won't need a degree in astrodynamics and hours of computation to play! 😀 But also it will be used to generate the surrounding NPC traffic without cheating on the physics. That's actually what I was waiting for before coming here. To be honest I was not sure I could design a working algorithm! I'm not claiming that what I've come to is optimal but I'm now relieved the thing will "do the job".
A jump approach (burns in brighter blue)
automatic flight planning video
More information: ASG flight planning
As a captain in the "Space Guard" the player will pick missions (among a dynamically generated list) at his/her convenience. The main types will be training, maintenance, patrol, support, customs, surveillance, law-enforcement... Given the cost of ships and crews combat will probably be "last resort" and against a few powerful criminal organizations (think drug cartels). However it will be available for safe practice as training if the player so chooses.
Also the player will have full management of his/her ship (operations, maintenance, upgrades) all along his/her career (although the ship is technically government property).
You surely have noticed the simple graphics. They are deliberate as I just don't have the resources nor the talent for the usual rendering techniques. Personally I prefer no textures to ugly ones 🙁 I'm thinking of the display as a kind of lo-fi (neural?) tactical one.
Incidentally the game engine is custom and runs on SharpDX / .NET framework (Windows 7+) + DirectX 11. I started it as a way to learn but stayed with it for the above reason and the fact that I could tweak it to the specific needs of a space game (ultra-large-scale rendering and with no adverse cross-coupling between the graphics and the physics).
At the moment the ship is operational, although some parts are still missing like life-support, the centralized warning systems and protections, or the detailed individual part interaction on the 3D schematic view (detailed inspection / maintenance / upgrade).
The main goal for 2019 is to populate the galaxy so that there are places to depart from and go to, with surrounding traffic and space controllers. I'll update the ASG web site and post here as things go of course.
Thanks for reading and don't hesitate if you have any question or remark! 🙂
Not seen any mention of weapons in less I missed it, so the question would be what type and as the game is more a sim how do you intend to show combat between ships.
My other question is related to stations in the game, will the player dock with the station.
You're right I skipped the sensors and weapons because they are only at the planning stage right now. Here's what I have in mind at the moment:
- ships radiate massive amounts of heat and EM power in general, especially with their reactor running. So unless the line of sight is blocked by a celestial body they will be detected very easily across a stellar system. On the other hand determining an accurate trajectory for contacts will require more time and depend on the distance, angular aspects, sensors performance etc. Another issue will be target classification, probably to be obtained through a "demodulation" process similar to what can be seen in submarine simulation games.
There will be a dedicated ship station for communications and sensors, and contacts will be reported on the navigation map.
- I'm thinking of two main categories of weapons: main spinal mounted lasers and "catapults".
Due to diffraction the laser should have a limited range of ?? thousands km, and be effective mainly on soft targets. Except for the radiators military ships will be coated with a highly reflexive and reactive foam (also for protection against meteoroids). That is if attacked from one side on a good angle it might be possible to cripple an opponent (damaged radiators => limited reactor power) but whenever facing you its frontal shield(s) should mitigate much of the damage.
By "catapults" I mean launchers able to propel "shells" at an angle from the ship and with a relative velocity < 1 km/s. Typically these munitions could be missiles coasting passively on their initial trajectory and activating for the kill when close enough to the target. Another type could be drones extending the ship's sensor coverage or helping to resist some direct jamming.
Also contrary to ships these "shells" would be much more quiet and thus difficult to detect, especially if launched in advance and out of the opponent's sight.
- all in all engagements should occur at a "medium" distance (in thousands of km) with all participants orbiting the same parent body, and in the "hit and run" mode. So the main concern will probably be the DeltaV budget to intercept a target, especially far from the base with a return trip to fly later on. Also there will be orbital tactical considerations: flying on a low orbit will offer more protection (easier to be out of sight) but getting higher in the gravity well should provide much more maneuvering capability, especially around massive giants.
The visualization will be provided by the ship's sensors: so no contact, no data. However I may add an "event camera" to cheat/help with the situational awareness!
Regarding your second question yes the ship will dock to space stations. Then an interface will let the player manage the refueling and other tasks. Heavy maintenance and large equipment upgrades will require to dock to shipyards (possibly just another docking port on a larger station). An important point is that for safety the reactor will have to be shut down around stations, so departures and approaches will be flown with very limited maneuvering thrust and on stored energy energy. Typically the player will navigate on its own up to a parking orbit at a safe distance and then he/she will interact with "space controllers" to get to an approach route to an assigned docking port. The ship's flight controls will provide the necessary modes of course.
Here's what I could answer, you see why I mentioned "2021" about the release date! 😀
Lots of text without images ^^ so here is a screenshot of the "helm station" I forgot in the initial post, and featuring only flight controls and instruments at the moment. It will be reorganized as new panels are added.
Wow, looks awesome...
The interface style is superb, very shuttle like.
I messed with orbiter back around 2002-2004? but abandoned windows all together right around that same time frame, but I have spent some hours in the shuttle cockpit with flightgear since giving up on getting orbiter to run through wine.
Needing any testers?
I was playing with Orbiter exactly during the same period! Actually it was the reason why I started looking into orbital mechanics and I'm still using some code I wrote at that time 🙂
About the UI you're right I'm trying to replicate and adapt some typical layouts. I'll have to innovate more with the sensors I guess but one problem at a time.
If you're brave enough to volunteer I'll happily send you the latest exe 🙂 However I'm afraid it's running on Windows only. I'm not trying to make any point, it's just that [C# + SharpDX] was an obvious choice given my limited resources and initial skill-set. Anyway if this is OK just pm me and I'll send you a download link.
These past months I've been working on a procedural generator for the space stations. Besides variability the main goal was to easily build structures of various sizes, and so be able to have large stations along the main shipping lanes and smaller ones in more remote areas.
There will be different types but I wanted to create refueling facilities first to continue working on the ship's avionics. Incidentally in the game the propulsion systems require large quantities of hydrogen, and such a mass must be coming from somewhere. And so I came to place the stations onto the planetary rings themselves, where plenty of water ice is readily available on orbit at zero DeltaV cost.
The station extends on both sides of the ring and must be balanced for its center of mass to be located precisely by the scoop from which the ice is harvested.
Here is a short video of a test station in game and some output results from the generator:
The next work item is to implement the docking logic and add the necessary instruments and flight controls for relative flight...
Fly safe! 🙂
Oh this was a nice short video of your work on the stations and the utility they will be providing to the player. Really liked the resource/material processing right in the rings of the planet.
Yes, nice vid!
A squid eating dough in a polyethylene bag is fast and bulbous! Got me?
Thanks for watching, and also D1 for releasing the post! 🙂
NP, still trying to figure out why the system flags certain posts.... I think its certain url types. But as soon as I see a post that needs approval I approve it. Sorry for the delay 🙂
Any plans at a later date to add other ships at the stations unloading cargo, refueling. being repaired ect.
It's got nothing to do with any gameplay but just adds a bit life around the stations.
Yes I will add NPC ships, hopefully at the end of this year. Actually it was the main drive for the automatic flight planning capability: to be able to generate AI traffic strictly abiding by the game physics rules (orbital mechanics + jump) and all along a full trip from one departure to one arrival docking port. Also those ships will be unique and persistent.
But back to the stations you're right I need to make them as lively as possible and the general traffic might not suffice. That's also the reason for the "shuttle hangars" as it should be much easier and less CPU hungry to generate local shuttle or drone flights.
Nice one always like to see this, always feel it gives game more atmosphere if you can see other activity going on around the stations.
Background Coms chatter is another one but some player don't like it, but I would say that why we have options in games.
About radio chatter "space traffic control" is on my must have list. The dialogues will be text-based but there will be audio cues for sure 🙂
IMO it won't be for show only: the ship's main engine is first and foremost a giant plasma torch and using it to match velocity with a station (= blowing at it) would just be criminal. So the last 200 km will be run on the maneuvering thrusters, with a thrust to weight ratio around 0.05 only. That is 200 km/h to 0 in 2 minutes and 3 km (~120 mph to 0 over 2 mi).
So when multiple big trucks equipped with bicycle brakes are all converging at 120 mph towards a gas station at the center of a frozen lake, it's probably good if there's a helicopter above to monitor the action! 😀
Just a little screenshot of a space elevator:
The idea is that nuclear fusion engines don't seem to be well adapted to ground-to-orbit ascents at earth-like planets (low thrust to weight ratio + safety issues). So it makes sense for an interstellar civilization to invest into costly space structures if they provide a more performant transportation systems : in that case taking a lift to orbit!
Similarly I'll now work on orbital rings = taking the train to orbit 🙂
Will you be incorporating any planetary defence grid around the planets.
Hi Pinback thanks for the interesting question. I think the answer is yes because these superstructures are inherently too fragile to be left exposed without protection, even in peace time.
IMO a constellation of unmanned missile platforms on chosen orbits would provide the best coverage to engage most threats early enough: in space even a dead object may remain dangerous because of its kinetic energy alone, and destroying an active nuclear vessel at close range (< 100 km tbc) is a bad idea.
However such systems should be considered a last resort, the volume to defend is huge and central worlds will obviously be better protected than remote ones. So mobile forces will be needed and as such one key role of the Space Guard (= the player when on related missions) will be to detect, investigate and possibly intercept potential threats as soon as possible. In essence this should be similar to air defense here on Earth, with constant air traffic monitoring and scrambling of fighters as required.
On the subject of planetary or system defence,the role playing game Traveller come up with what they called a system defence boat.
Which was a heavily armed and armoured ship with no FTL which would cruise around a solar system doing anti piracy/revenue jobs.
If you have anything like this type of ship in the game, it could make for a good mission where one is taken over by rebels or pirates .
Yes bad guys taking control over a vessel for various reasons would definitely be a very interesting situation indeed! That's part of the possibilities to generate hostile ships while remaining consistent with the universe I think.
That is all ships require a significant infrastructure to operate (massive hydrogen refueling capabilities, rare fusion fuels, maintenance facilities...) so they cannot just popup out of nowhere. I'll certainly introduce rogue planets and organizations at the edge of the "Alliance Space". Those will serve as main operating bases for the villains and provide locations to fence the stolen cargo etc... Incidentally the closer from the rim, the further away the player will be from their own base so this should be a good way to set a gradual difficulty.
Also on these matters the jump mechanic is tuned to be able to reach asteroids groups and moonlets from inside a system. Due to their low mass they allow tactical movement at a fraction of the DeltaV cost needed around planets. Hopefully this should provide opportunities to play interesting hide-and-seek games 🙂
Ah the Sheridan manoeuvre from Babylon 5 🙂
I'm afraid I don't remember the move, I'll have to check my classics again then! 🙂
It's from theTV series Babylon5 and concerns Sheridan during the Earth/ Minbari war.
"During the war Sheridan served as first officer aboard the "Hyperion-Class" warship EAS Lexington. When the ship's captain was killed in an ambush by the Minbari flagship Black Star, Sheridan took command of the Lexington. With the Lexington crippled and unable to fight, Sheridan mined several nearby asteroids with nuclear weapons and lured the Black Star back towards his ship with a distress signal. He then detonated the nuclear mines, destroying the Black Star and giving Earth its only real victory in the war."
Oh yes that would definitely work, added to the task list thanks! 🙂
Here's a video about orbital rings as depicted in the game. These provide an advanced (and theoretically feasible!) rocketless planet-to-orbit transportation system.
I learned about such structures when checking the maths to model space elevators a few weeks ago and instantly decided I had to implement them! 🙂 IMO what makes orbital rings particularly interesting is how they connect the ground and orbital domains. I mean that in most games and simulators we're used to limited relative motions in the spaceship's vicinity. On the contrary with a stationary structure literally hanging in space the huge velocity of orbital objects can be easily visualized.
From now on I'll be working on making all those stations truly operational and fit the ship's avionics with the necessary updates (relative flight management and transitions to and from deep-space legs).
I'll come back to space structures at a later stage to add satellites, small outspots (stations) and also asteroid bases. But those will probably be mission related so they're still a long time away...
Fly safe 🙂
Nice update David and great work on your game so far, I can't even image the math that goes into what your working on 🙂 I really like the video and your explanations on how it all works nice.