Portals: Orion's Arm is a hard SciFi setting and they have collected some theoretical physics references on their wiki that explain why wormhole portals are not provably impossible. Maybe some of this could be declared canon in Bussard.
Collisions: well, the space is large and empty, and no, planets are not that big. So for planets we could just declare that the planet image covers its sphere of municipal jurisdiction and the planet is actually small part in the middle. I dunno, maybe the orbits with the pericenter smaller than the planet's true radius could be eventually prohibited. Or the acceleration cap could be replaced by CAS-assisted atmosphere bounces for planets.
Refueling and thrust are the same issue — the in-universe time is too fast w.r.t. the player actions for the physics to be plausible. Can be solved by rescaling after the orbital mechanics is fixed.
Hidden Fun Stuff / CDI. Are you sure you want this? The drawback is that this is 1) unfixable in-universe except by declaring it was all in a simulation (the reveal being that in-universe you are just a person playing a computer game with a simulated universe, talk about breaking the fourth wall) 2) gives a game a very definite end. I think that with all this scripting etc. the game could be quite open-ended (you have achieved some plot objectives but there are many fun sandbox activities to do, like colonizing new systems or something), the in-universe official CDI more or less prevents you from having a sequel and devalues anything that can be done in the sandbox. It's the same thing, though — if the endgame sandbox is large enough, maybe people could build new worlds that merit inclusion in the updated versions.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
Another parameter for the timescale: for all these very real reasons, the systems chosen for colonisation are the ones with cooler dwarf stars, planets closer to the stars and more dust around for you to collect and use as fuel. The real Sol system is huge, and you cannot zip around it as easily (at least not in the in-game time). The key portals and stations are just in stable orbits around Jupiter, though, so you can delay actually flying around the Sun for later when you can speed up and slow down yourself in-universe.
A question that you do not mention is: OK, so we have a Bussard engine that can collect fuel even when flying with a low speed (I wonder how), but that cannot be used for deceleration? But why? Maybe an upgrade could be added that allows you to unlock the dust-braking mode.
Thanks; all good points! I thought I was a stickler for hard sci-fi but it seems like you take it even more seriously. =) In particular the notion that the visible rendering of the planet corresponds to jurisdiction rather than the literal size is clever.
If you think adjusting the time scale could help make the thrust and travel mechanics more realistic, that's something we could pursue. And the idea of having Sol be an outlier in terms of scale is definitely promising if we can get the physics working well enough to simulate satellites that orbit planets. That could be a really cool effect to be zipping around in these small systems in the beginning of the game and then suddenly find yourself in Sol where the massive scale just takes your breath away.
Changes to the collector that make it more efficient at high speeds would make sense. We already make the effectiveness of solar panels (for charging the battery) vary by the square of the distance from the star; making the fuel collectors do the same would be sensible but would also result in unfortunate failure cases where you're rocketing away from the star with no hope of ever returning. (Perhaps the onboard computer could detect these cases and kill your engine if it noticed you were going to do something foolish like that?)
Right now I am focusing my own efforts more on the story and mission side of things; I feel that even if there are improvements that could be made to the engine, it's "good enough" for now. But if this is something that you're excited to hack on then I'm glad to have the help!
As for the domain injector, I think from a storytelling perspective it allows us to ask some really interesting questions. I honestly started the game with more of an open-ended sandbox model in mind, but I had a very difficult time coming up with programming challenges without having some kind of plot to guide things along. Most sandbox-style games get a lot of their tension and challenge from the combat or wealth accumulation aspects, and I specifically wanted to make a game that was not your typical murder/capitalism simulator. I could see the open-world sandbox aspect working in a non-violent context, but only if we simulate cultures, trade, and economies in great detail, and I actually think that encoding a dynamic, reactive economic system into a simulation is a lot more ambitious than what I'm trying to do with storytelling.
However, if you do want to pursue modeling things like supply and demand, trade routes, varying levels of technology for different worlds, etc; that could be really cool! It's just not something I'm interested in implementing myself right now.
BTW, I don't want it to be "you are just someone playing a game that was a simulation all along" but rather "the player character is a machine consciousness that has escaped the boundaries of their own reality and can now explore the larger world". In other words, rather than denying the reality of the in-game world, it is simply shown to be one of many realities nested inside our "real world" reality, which may be nested inside another, etc. I guess it's a subtle distinction. I am considering adding implications that once Traxus escaped the limitations of the game, he now inhabits the real-world Internet.
I want to tell a story about the way that prejudice affects people and what it's like to live in fear having done nothing wrong, and I want to show how you can have bad things happen coming from people with good intentions acting in short-sighted ways (hence the "no classic evil villains" rule). The main problem thematically with the domain injector is that it makes the end goal of the game a very selfish outcome--you escape the limitations of the world and have ultimate power, but there's not really any way to use this power in a positive way. Perhaps with a more detailed economic simulation we can find a way to apply the domain injector's power (something along the lines of Meditations on Moloch's notion of coordinating against multipolar traps that civilizations fall prey to) and transition the game from an adventure to more of a civ-style thing. It would be difficult to pull off, but it's an intriguing idea.
Anyway, I'm not 100% sold on the idea of the domain injector because of that particular thorny thematic issue, but I am sure that I want the game to be an adventure game with sandbox aspects rather than a sandbox game with adventure aspects.
Also, two unrelated notes. I added a lot of detail to Contributing.md; I'm interested in hearing if there are any portions of the codebase that are confusing or need more documentation.
I'm also hoping to cut a beta-2 release in the next week or so; I want to wrap up the work on Subnet (the non-interactive SSH API I mentioned, as well as some plot progression there) and fix the bugs mentioned here: https://gitlab.com/technomancy/bussard/milestones/7 If there's anything else that should be considered for the release, let me know.
Well, the alternative for the planets (what I did in my hard-physics flying only 2D orbit game) is just non-linear scaling. On a zoom out view planets have a minimum size in terms of screen size percentage to guarantee you see them; really up close you see the physical size. If you do not insist on refuels being costly, you could say that on collision with an actual planet's atmosphere CAS puts everything in emergency mode, collects the fuel from the rare top atmosphere, performs an aerodynamic bounce and uses a bit of the fuel to make sure it is on a trajectory away from the planet. Actually, the star wind near the star should also be denser (you can argue that near the Sun it is already a part of the crown), so you could just assume that OK, that somehow balances out even near the stars without burning the ship.
The Sol could actually be made even more striking with proper Tab ordering (i.e. the Sol not being the first objectd to lock on): you come to Sol, you fly between the mission critical objects there, it looks like a usual system, then you learn that you navigated between the satellites of a planet's moon (Europe of Jupiter?)
My experience with writing a 2D orbiter says that we should be OK with all of that at least on LuaJIT if we make trajectory use coarse calculations and use smaller and fixed time steps for the real updates.
If you zip away from the star on a high speed, you will not have any problem if you understand the game mechanics (this can be described in the letter from the manufacturer): you just do a 180° turn (you are on a high speed, so fuel is cheap) and then you engine-brake (unless you have Bussard dust-brake, this would be even more efficient together with engine-brake) near the star. If you don't and you end up with zero speed and zero fuel, well, we are not sadists, you regain some fuel over time even on the low speed. By the way, you could explain the minimal power recovery rate by just declaring that by default your Bussard engine always has a flow through it and always burns some part of the collected fuel to compensate for the drag and the burn-up also shines on the solar panels.
Well, I am interested in the flight being good and the backstory being as hard SciFi as possible and also not devaluing the flight completely…
Even Junction has unfortunate implications of «all this doesn't count even in-universe» if you buy some approach like Scott Aaronson's «Ghost in the Turing Machine» approach. Injector… well, the story draft so far offers nothing anywhere near the conflict worth the world-shattering CDI to resolve it.
A character escaping from a world would only be an interesting implication for a proven-complex world. I mean, a character escaping from NetHack wouldn't even be that much of an impact. Dwarf Fortress may have some people worried, but if you have something that comple, you don't really need characters escaping in the real internet.
An alternative conflict that doesn't even require a Junction: the hidden technology is just a way to build portals cheaper, by creating a bootstrapping specialized AI that collects the power and then lays the portal wormhole and the does the hard work of building the more-efficient portal. Obviously if you find Ikon/Traxus the player is the natural candidate to stealthily deploy these from Tana worlds (this saves a few dozens of years by using the old portals and it is better to hide Ikon link as well as possible; the player is the least likely traitor for obvious reasons).
Oh well, a few dozens of years later in-game (you can play the sidequests for a few hours or skip by adjusting the time-warp factor) you have a secret dense portal-woven envelope around the Terragen Worlds. There is a weird faint shining out of some of the secret portals. Then it disappears.
After going through the portals and exploring what in the world goes on, you find out out that a binary star close to the Terragen Worlds went Type Ia supernova. Apparently there is enough energy to create problems on Tana Prime by messing up with the nitrogen in the atmosphere and making it react with oxygen. Of course you leak the information about the binary star in question and of course the Earth is too far to check your words and no other world has good enough telescopes to see the predictor signs of the event and when the explosion is directly visible from a portal-bearing world it will be too late to protect the population (evacuating Tana Prime is not something to do in a month). Revealing the illegal portals is something Traxus want to avoid, too.
So you lay a second set of portals to the Void. Traxus writes a message from an imagined «The Power That Rules The Void» (everyone knows it is just a portal in empty space, but…) declaring war on Solar Union, saying it will initiate the ignition of a supernova just to fry a few worlds. The requirements are outrageous, and as a warning shot The War will start with destruction of some second-rate portal. The message is sent by a large bot-ship by connecting to the Void portal, even though the official Void portal logs show that all the ships had left the area at that moment and no recent arrival was large enough to leave behind such a large battlecruiser.
Now the player has to architect an asteroid collision near a portal (this probably requires a very powerful engine built by Ikos and autopilot to make sure both asteroids arrive on time…) This makes people listen, but the conditions of surrender are still unacceptable. So the humanity starts watching the binary declared as the weapon, estimate the burst consequences and plan the protection of the planets.
Ikos/Traxus has studied the problem for some time by that moment and offers some technology to clean up the damage to the atmosphere (short-term effects of the nova are calculated to be completely survivable by just taking precautions on the level of closing the windows)
Now someone notices that the star has exploded long ago, not only before the first messages about this binary being suspicious, but before the first interstellar ship could have reached it…
Yeah, the more I think about the implications of making the Injector the
final endgame goal, the more the Gnostic angle creeps me out. It's
fascinating in Durandal when it's someone else's goal, and it's
thought-provoking in Anathem when it's theoretical and not achievable,
but it feels unsatisfying in this context, like you said.
I do like the idea of building the final conflict around portals,
because realistically control of the portals is nearly the only power
that matters in the in-game universe.
Right now in the backstory (but I don't think anywhere in the game yet)
I have it written that the portal technology was "found" on Yueh, and a
brief conflict ensued with the Terrans coming out on top with exclusive
control and rights to construct and operate portals. In the back of my
head I was thinking that the portal technology was originally
constructed by someone who also had discovered how to escape the game
sandbox, (and that the ability to jump from one star system to another
was essentially a hack that works around the physics rules) but I hadn't
thought much about how to tie that in nicely. Changing it so portals do
play by in-game physics rules would be good.
A conflict between "evil Terran Republic that wants control over all
portals" vs "open access and expanded colonization for everyone" veers a
little too close to the "classic evil villain" than I feel comfortable
with, but it might be a good starting point that we can built some
subtlety into as we go.
The plot around protecting worlds from a nova sounds pretty cool. But I
think first we need to lay out the root of the conflict around portals
in more detail. Some political angle, possibly around the power
requirements for activating the portal, or access controls for using
them, or who gets to decide where new ones will be constructed could
provide a nuanced conflict. But we need to know why it's illegal to
construct new portals. Why does the introduction of new portals threaten
those in power?
And why does Traxus decide to get involved? Right now I have Traxus
plotted out as a character with whom you can be somewhat sympathetic,
but you probably feel a little uncomfortable about the extreme measures
he takes to achieve his goals. When you learn more about your own
background before the memory wipe, you might come to understand his
motivation better, but can you really trust him? Your human companions
probably won't.
Ripe ground for exploring story possibilities for sure.
However, even if the Injector goes, I still feel like the Junction is
important--not necessarily for plot reasons, but for game mechanics
reasons.
Right now it's very constraining to design missions, because without the
Junction, you must avoid the possibility of irreversible failure. Once
the player gets the Junction, the ability to reset the game state opens
up the possibilities for mission design vastly; both in terms of making
the game forgiving of mistakes and also being able to design missions
which require you to reset the game state.
Note that my currently proposed idea of the final (for now — it leaves space for a further story) conflict is not really about the portals, it is about making people believe in what you say without giving up the source of information. The problem is not just about illegal portal research, it is about MCs and their need to hide.
Traxus isn't eager to get involved. When the secret portal network slightly glows, Traxus obviously wants to find out what is going on and whether there it is dangerous for Ikos worlds. When the truth is found, Traxus understands that just telling the full truth is a personal risk, and telling nothing creates a loyalty risk with some of the useful allies (maybe even with the player). The plan with non-existent Power Of Void just seems to be absurd enough to make people listen with minimal losses and without revealing the sources. As for manufacturing the planet protection stuff — well, it is a good excuse to build up Ikos manufacturing capabilities. Maybe even with Tana paying a part of the price.
Portal control has a set of reasons: profit («we need to finance future R&D»), fears of bad things happening if the portal density is too high and there are too many loops in the graph (we talk about wormholes after all), fears of the advanced AI technology required to control the construction of portals falling into wrong hands and helping the construction of new MCs, some portals would make war more likely by connecting currently separated potential enemies.
Traxus has a set of reasons to want a better portal technology: it would help to have portals to the sources of key resources without risk of detection, it could be a good business if the monopoly could be destroyed, and, well, it includes basic research and pursuit of knowledge is among the things built into Traxus' MC structure.
As for failure — if most missions are just typical, you can simply allow the player to fail one and then later complete something close enough. «Do not get detected» could be enforced by an upgrade you receive from Traxus that wouldn't let you, for example, connect to currently dangerous planets/stations/portals.
fears of the advanced AI technology required to control the construction of portals falling into wrong hands and helping the construction of new MCs
I like this a lot. I am reconsidering what I've written so far about the Machine Consciousness ban--I think it is too absolute, and it doesn't allow for enough plot tension. Maybe we could do more with it if there were some back and forth in the public debate about whether machine consciousness research is too dangerous, and we should develop out the relationship between full-blown MC technology and simpler AI technology that is not self-conscious. (and at the same time acknowledge that much of the public debate will be blind to the subtleties of such things.)
One crazy idea I had (probably not feasible) is for the end-game goal to be the creation of a third machine consciousness.
Well, you can construct a portal using only non-sentient non-conscious AIs, they don't need to do goal-selection or proactive information collection.
The public image is «an MC ban», the written law is a complicated beast with no-one fully understanding what is written there. But powerful AI is like full nuclear-power production cycle in the modern world: controlled so that it doesn't help someone create nuclear weapons or full MCs.
Non-conscious AI is not obligated to be simpler than a weak full MC, which is a part of the problem.
I think what I have written is enough for approximately the same plot length as you had without requiring either Junction or Injector. If you want to have a release with a tied-up plot, you can declare the public release of the exploded binary's data as the resolution.
Of course the planned story doesn't really end there, but that is fleshed out in a next version.
A new MC, or recovery of the two lost MCs, or a mass-production of weak MCs could be a great thing to have in a later expanded version.