Moon and asteroid carriers and how to implement them.

Discussion in 'Planetary Annihilation General Discussion' started by garatgh, October 18, 2012.

  1. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    As you may have allredy seen in the http://forums.uberent.com/forums/viewtopic.php?f=61&t=39486 thread, Uber dont have a final answer to how they are going to implement the "moving a moon into orbit around a planet and use it as a carrier" feature mentioned in the pc gamer interview (page 2). http://www.pcgamer.com/2012/08/15/plane ... interview/

    So i created this thread so that the community might discuss ideas, suggestions, find problems and solutions.

    The questions i hade in the other thread was the following:

    So, how should they implement this feature? Anyone have any ideas? (Il most likely post my opinion later when i have it fully visualised)


    Edit: Btw dont expect Uber to make some kind of homeworld interface or simular, as stated they wont be doing space battle becuse it would require something like that to be good and they dont want to go that far (Atleast thats my interpretation of their words).
    Last edited: October 18, 2012
  2. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    Lately I have been playing kerbal space program a lot.
    http://www.kerbalspaceprogram.com/

    which gives a nice insight how all that orbital operations work.

    I'd love to simply tell my moon station:

    got to planet x,
    stay in orbit y
    or stay in orbit with that orbital period
    or go into stationary orbit above that point (enemy base)
    and face that side of the moon to the planet.

    you need to control the moon's rotation because you'll have to do a breaking burn when in the desired orbit.

    maybe each main engine could have an array of little thrusters to rotate the moon?

    the math behind all that is actually not that complicated, and because PA is going for awesome and not for simulation, I think most computations could be simplified a lot, especially the transfer burns.

    a more complex problem i see, is how to find a good transfer orbit in a solar system with several planets without crashing, and also not neglecting the gravition of each planet or moon.
    and you don't want your nice new Death Star to fly by some hostile planet which nukes it like those nasty rebels right?

    But it can probably be solved with some kind of path finding algorithm, which give you one or more possible paths to take?

    I think if you send the asteroid after the moon you never catch up, because if you want to reach the same destination you need exact the same speed to reach the desired orbit.
    the only chance is to go for some kind of intercept orbit (maybe on a different route?).


    all in all, the most complex part will be the path finding, when all planets move around and you use the actual mathematics.


    sorry for this structureless post, but that topic is so huge I don't even know where to start ^^
    Last edited: October 18, 2012
  3. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    Dont sell yourself short, its a great first post. I was afraid none would reply becuse its such a complicated and huge feature.

    go to planet x should be easy, just use a interface simular to the one in the trailer. Im assuming "stay in orbit y" refears to if it should enter low or high orbit (or something in between) shouldent be that hard to add a option or slider or simular.

    Whats a orbital period?

    Stationary orbit shouldent be hard to do either, just need to figure out were to include the option.

    How would you make a face that side of the moon to planet meny/ui/option? (The coding wont be a problem, the look and functionally of the ui might be)

    The technical part shouldent be that hard to figure out (the devs can mostly likely do everything you suggested), how the UI will look and function however is kinda hard to visualise atm (gotta be easy to use offcourse).

    So the astroid should do what ingame? Stop if the target is moving? (Would make anything with a engine completely protected against astroid strikes since you can just move it if your targeted).

    Automatically plot a new intercept course? (Might work best in my opinion).

    Move to the locked location and then slow down? (Same problem as the first option).

    Or do you get a popup saying something like "Warning, target strike location is moving." with two options "Terminate missions" or "Intercept course". (Might be a problem if you have 5 astroids out at once and all the targets start moving = 5 popups?).
  4. Teod

    Teod Well-Known Member

    Messages:
    483
    Likes Received:
    268
    When you order an asteroid to hit something you are actually order it to orbit Sun or planet on intersecting trajectory with its target (timing is automatic - it should hit at first lap, as soon as possible). If target moves away, asteroid sends signal to its master and, if not re-ordered, continues to orbit. And it's not always be re-ordered, because engines work will require significant amount of energy or fuel.
    When you order something to change orbit, there are three orbits involved: initial orbit, where you start, the orbit, that link the two and the resulting orbit. (Well it's theoretically possible to include something more complex, but I think that's enough) Trying to catch someones moon or asteroid on the way will be possible, but not always effective due to inability to predict where and when the second orbit will be replaced by thrird.
  5. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    thx for the compliment ;)

    orbital period is the time needed for one full rotation around the orbiting body.

    about the face aligning...
    I would do it like in company of heroes with the heavy mgs.

    click and hold -> transperent moon pops up showing the new orientation.

    this way you wont need any extra buttons.


    I think it should not be a simple one click thing to intercept one controlled body with another...
    and it's no problem to hit a moving target the only problem is an accelerating target.

    I would restrict interception to bodies which orbit the same body.
    so for example if you send your moon to another planet, it's untouchable, but when arriving there 3 astroid could already be waiting for it.
    your moon could still fire of some troops or rockets at the enemy, which is way better than being destroyed somewhere in mid transfer without any use!

    teod sums it up pretty well :)
  6. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    Edit: I dont get it. Can you simplify it?

    My view:
    Since its a video game we can slighty break the rules of nature, if it was real the current trajectory of the astroid might very well take it out of the solar system if it misses its target, if im not mistaken it just orbits around the sun to use the gravity (orbit) too increase its speed but then breaks that orbit in a point were a minimum amount of energy will be wasted to reach and impact the target, if the targets starts to move after it has breaked orbit around the sun course corrections would be difficult.
    Last edited: October 18, 2012
  7. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    you target the moon and move you astroid in the intercept orbit at A

    http://www.braeunig.us/space/pics/fig4-12.gif

    point B is where you would hit the moon, but if the moon accelerates while your in the transfer ellipse (intercept orbit), you'll miss him if you don't give new orders.
    I assume keeping the main engines on all the time will cost you a lot of energy...

    so if you don't give any new order your asteroid will keep going along the path of the transfer ellipse.


    as for gui ideas.

    how about you select the moon, than click a transfer button.
    the view zooms out and asks you to select your target.
    after you selected your target body, a ghost of your moon/astroid pops up and lets you place it where you want.
    if you click the planets surface, you'll get an stationary orbit.
    and after selecting where you want it to be you can rotate the ghost to choos which face the moon should show.
  8. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    Damn, edited my post to late.

    If i understand it correctly (And i might not) that might take the astroid a awefull long way from the sun and even if the game will be huge i doubt the maps will allow for such a thing (Or it might result in the astroid hitting something its not supposed to hit).
    Last edited: October 18, 2012
  9. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    yes, if you don't give any new orders you can end up in some escape orbit, but i doubt anyone would leave his astroid to drift of into the void ^^

    and like I said i would leave those interception only if both moons astroids whatever orbit the same planet.

    since i edited my last post I add this here again:

    as for gui ideas.

    how about you select the moon, than click a transfer button.
    the view zooms out and asks you to select your target.
    after you selected your target body, a ghost of your moon/astroid pops up and lets you place it where you want.
    if you click the planets surface, you'll get an stationary orbit.
    and after selecting where you want it to be you can rotate the ghost to choos which face the moon should show.
  10. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    I can guarantee you that aloot of people me included would atleast try it to see what happens.

    I wonder how the maps will be made, if every map is one sun and a number of planets i figure that those maps will have limits, what would happen to our astroid if it reaches it?

    (I belive that the galactic war will be more of a real time version risk board kinda thing since the space between stars would be a difficult thing otherwise).

    The gui might work fine, but i wonder if someone art intressted could make some concept art pictures. (I feel that i kinda need to see those or sit down with a block myself to realy get a ui).
  11. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    I don't think the maps will be anything like in a conventionel rts, so it's probably no problem to have them expand infinitely.
    you only need the current coordinates of the astroid to display him.

    I am engineer, and not an artist, but i may try to make some sketches of my gui plans...
  12. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    If they make infinitive maps (Basicly just create the world around the objects, and all suns in the same map/world) the travel between suns will take quite som time unless they are realy close. If you abuse the system and (for example) set your commander on one of the astroids thats going out into the void (and just continues) how will the enemy ever find or reach him?
  13. terrormortis

    terrormortis Member

    Messages:
    68
    Likes Received:
    1
    okay that would be an issue :lol:
    and i didn't mean that the whole galactic war should be one map ^^

    anyway i think uber will find a solution.
    what if the astroid detects that he is on an escape course and stabilizes into an circular orbit to prevent being cast out in the void.
  14. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    That would work (If its done automatically and outside of the players control if its close to a border Uber made for the purpose).

    Im sure that Uber will find a solution too, but the whole point of the discussion in the thread is to give them ideas and find problems with said ideas (and solutions to the problems).

  15. thorneel

    thorneel Member

    Messages:
    367
    Likes Received:
    1
    How would putting an asteroid around a planet work? This would probably depend on how the orbital layer works.

    If there is only a stationary layer, at a fixed altitude, then the asteroid should at best be put into stationary orbit as well, not closer. The problem is that :
    Either it can be stationary only above the equator, like IRL, but then poles are protected from it for no good reason.
    Or it can be stationary above any point of the globe, but then it has to stop using normal orbital mechanics and somehow hover in place. The other artificial satellites would also have to hover, obviously, but there is a difference between a satellite built with its engines (not different from a gunship, only flying higher) and an asteroid with an arbitrary number of engines. And if it's the engines that allows it to hover, what happens when they are destroyed? The asteroid crashes onto the planet because it was not in a stable stationary orbit above the equator?
    Neither solution sounds good, IMHO.

    Which means that we can't just have them stay stationary. They have to be able to follow other orbits, that won't keep it stationary above one point.
    If we do want to keep the satellites stationary, then asteroids will have to be always further than the orbital layer from the ground. And 'orbital' won't be a proper name for this layer, as it won't be actually in orbit.
    If we allow satellites from the orbital layer to actually orbit, then it could simply be commanded like any other satellite, just bigger and with stuff on it. There may be some pathfinding issues as we don't want satellites to crash on it (and if we do, say with some sort of kamikaze satellite, we want them to crash on a precise point), but I doubt this would be that hard with satellites routinely changing their orbits with ease. It would set the minimal ease at which they can change orbits, though.
    OTOH, UI issues to command the orbital layer would be quite bigger. I do believe that a powerful UI can be done for that, but I may be wrong and it may be impossible due to this reason. If that's the case, then the whole planetary moving would have to be simplified at much as possible, to not run into the same issues.

    Then, we can ask similar questions for asteroids and planets around the star itself : do we want them to always be on the same plane, or do we allow them to have any inclination we want?
    The latter would give far more freedom to the players, and wouldn't feel arbitrarily restricted as in 'why can't I just avoid it by -above-?). But the former would make everything simpler, particularly the UI and the visualisation for the player : the whole system would always be on the same plane. It's the way most 4X I heard of use.

    Most 4X go further and even forget orbits at all simply having immobile planets. This would probably be a bad idea there. We will move planets around. Having them stay immobile would feel very wrong, even more if there are actually moons orbiting planets as there would be two arbitrarily different systems.
    And anyone having played KSP will tell you that orbital mechanics are awesome.
    They don't cost much to calculate either, as the same simplified system that KSP use can be used there for great effect.


    (tl;dr) So the two solutions I see are :

    - We put everything on the same plane. Planets orbiting stars, moons orbiting planets. Moons and asteroids always stay far higher than the orbital layer, unless for KEW purposes. Satellites or more exactly statites are always stationary, above any point of the planet.
    This gives great readability, the UI is easier to make, the interplanetary action is simple to understand, read and plan.

    - We put everything on (simplified) realistic orbits. Satellites, moving asteroids, moons, planets around stars. Orbits can be of any inclination, even perpendicular to the ecliptic. Moving asteroids use the same kind of UI than any satellite.
    This gives great freedom to the player, the orbital layer really orbits with all the possibilities this is opening for gameplay, there is only one UI needed to be built (and learnt) for satellites and moving asteroids. This also feels more believable.

    I'd say, go for the awesomness of the second one if you can, unless building the UI is impossible.
    But if KSP taught me anything, it's that people are smart. If it is possible to make the right tools (and maybe a few guides), then players will master orbital gameplay.



    Side note : if you go for orbits, then interplanetary launch sites will be better placed on the planet's equator, as the slingshot effect will shorten the duration of the travel. Depending on which orbit you want to use, it will also put satellites faster (or in some cases, slower) in orbit.
  16. theavatarofwar

    theavatarofwar New Member

    Messages:
    84
    Likes Received:
    0
    I'm a big fan of physics emulation in gaming, but this is one area I think where it would be downright detrimental. Not only is it an extremely complicated mess of micromanagement (controlled burns? stable orbits? damaged engines?), it requires space combat... that thing we're not supposed to have. If an asteroid can target a moon and a moon can move, thats space combat. And what about asteroids targeting asteroids? Artillery on asteroids firing at nearby moon while both fly around? Thats ship combat in space, without calling them ships.

    Its extremely complicated, and a severe violation of KISS principles. A simpler solution? Moons can only move to specific locations, or attack specific targets. If an asteroid is told to move to a planet, it takes up a stationary position above the planet; no orbiting, because that would be needlessly complicated. But if the asteroid is given an attack order to a planet, then it would collide. No need to worry about orbiting properly, and accidentally wiping out all life on a planet when all you wanted to do was bring an asteroid closer to your base to mine.

    And a mobile asteroid given an attack order for a mobile moon? Simple enough... asteroids should be more mobile, so a moon CAN'T avoid it. It would have to rely on defenses designed for that sort of thing. If you tell a moon to move from planet A to planet B in hopes of avoiding the asteroid at the last second, the asteroid can just course-correct at the last moment, on its own, to still deliver its payload (itself).

    Keep It Simple, Stupid. Provide simple means for simple control... let complicated dynamics evolve later when players learn tips and tricks on how to use them to full effect.

    I propose Rule 13: A 13 year old should understand the basic controls, even if the game itself is not designed for them. And a 13 year old won't understand orbital mechanics. :p
  17. garatgh

    garatgh Active Member

    Messages:
    805
    Likes Received:
    34
    Im thinking that the devs will most likely choose this solution, considering that they dont want space combat since it would require them to make another game within the game for it too be any good. It may not be realistic or deep, but it would still be aloot of fun if done right.
  18. zachb

    zachb Member

    Messages:
    256
    Likes Received:
    3
    Looking at the kickstarter video I got the impression that a lot of this will be simplified: Build engines anywhere on an asteroid. Select the asteroid with your mouse, click a launch button. Click on the spot on the planet you want it to smash into. Then the game handles all the rest.

    You can still have all your complicated orbital mechanics, and being able to predict what orbital body will be in what place at what time, you could cut down on your asteroid flight time. But smashing asteroids into planets still only takes about three mouse clicks and about ten seconds of aiming.

    I imagine getting something into a new orbit could also be just as simple. Build some engines on a planet or moon or whatever. Select the engines and click a "change orbit" button or something. Then zoom all the way out and then click out a circle or ellipse around the sun or another planet or something.

    And as far as all the layering stuff goes, I assume that each celestial body will be it's own map with it's own set of layers. So you'd have a planet that's just an 8 km map wrapped around a sphere. The moon in orbit is a 2 km map wrapped around a sphere. And there are some asteroids that are 1/2 km maps. Then the "cost" (in materials, time, etc.) of getting your units from one map to another map would depend on how far away your planets are in space, what direction everything is facing, their momentum, and how big they are.
  19. doctorzuber

    doctorzuber New Member

    Messages:
    252
    Likes Received:
    0
    . . . AWESOME!

    This is one of those ideas I was hoping would make it into the game, and I'm very much glad to hear that it's on the list. This just makes a lot of sense to me. As for how that would work, I am assuming we will be able to build, well whatever we want really on the moon, as well as the required rockets and whatnot necessary to move the thing around.

    I am hoping the system handles orbits and such so that there will be a bit of this. It would be nice to see a bit of detail in the orbital mechanics.

    This is actually the cop out. In our real world, we have the capability to place things in fixed orbits wherever we want really. We may not have to power to shove entire moons around, but if we did, we'd know how to put them in Geo Stationary positions, or allow them to orbit freely, adjust the spin, or whatever.

    Unfortunately that kind of leaves the door wide open for going with the simplest user dumb position of all moons naturally move into geo stationary positions. I am very much hoping this will not be the final decision. I see some potential for some pretty interesting game play here using orbits and planetary spin and perhaps most importantly adjustable planetary spin giving you the option to build "on the dark side of the moon" and then do a surprise reveal of your endeavor by suddenly flipping the planet around.

    Didn't they do this in "Invader Zim"? Hilarious as I might find this scenario (once) I'm not sure it's worth spending the developers precious time on. It could get pretty complicated for a feature that is not likely to happen all that often anyhow.
  20. kalibr

    kalibr New Member

    Messages:
    4
    Likes Received:
    0
    For deciding how far from orbit you wanna be...

    If you've played Eufloria, it was a simple case of click on the planet and drag a bit. We could make it highlight and stick a little on geosynchronous orbit. Then it's simply a case of moving it around either once it gets there, or queuing that up too.

    Also, I couldn't see any posts going "That's no moon..", why not >.>

Share This Page