[LD40] Orbits

LD link: https://ldjam.com/events/ludum-dare/40/$65148

Orbits is a game about gravitational planetary juggling and forming stable orbits.

image

You move around with your mouse so you're not hit by planets.

image

You can get hit 3 times before blowing up.

image

Click to add more planets and really push your planetary juggling limits.

image

As many as you... can handle :P

image

Pressing S will save out the last 10 seconds as a gif. My gods this is a game changer and I'm going to use this in EVERYTHING EVER now. It's based on a snippet of code by one Chman (https://github.com/Chman/Moments), it works SO WELL.

Please give it a play and leave a rating! :D
https://ldjam.com/events/ludum-dare/40/orbits

Comments

  • edited
    The shadows are a really nice touch. I really struggled to get beyond 10 orbits, the strategy was to keep everything spinning in the same direction and sort of hulahooping the planets. It was cool to get a bunch of planets, it felt impossible to recover from a knock (or even a planet going the wrong clockwise) once there were a lot of planets already spinning.

    The delay on dying is a little frustrating.

    I can't really imagine where to take this game. The game early on feels a bit unlearnable, it just looks like chaos. Once you've got the trick of spinning them the right way round then there isn't much more to learn. The size of the earth feels a bit unwieldy, but maybe it's not meant to be about dodging?

    Though, full disclosure, I'm not a fan of super-hexagon and dodging games, so maybe there's part of this that is missing for me. I do prefer this to super-hexagon style games as I do feel like I've got at least a little bit of agency.

    Not sure if that's useful feedback :/ Don't know whether this could feel more masterable with more mechanics, or whether it could have more moments of satisfying dexterity.

    Or maybe I'm missing something, @Tuism, what's your highscore?

    Thanks for sharing the gif capturer!!

    Thanked by 1Tuism
  • So I ended up really enjoying it - way to make me look bad -_-
    I agree on adding another mechanic to add some more control - like something to let me push planets away maybe when I am sure I am going to get killed maybe? Or even trying to make planets explode when they crash into each other so you can draw out the gameplay for a bit.

    Other than that though I think this was a really solid entry - well done @Tuism!
    Thanked by 1Tuism
  • edited
    @EvanGreenwood thanks so much for your input! :D

    The shadows were inspired by Spaceplan, thanks Devolver for publishing a cool tiny thing :D

    Great point about restart time. Will change that up.

    My own high score is currently 12. It got crazy. Yeah the collisions can really mess things up, recovering from them feels really chaotic. And that goes to one of the design choices that made that the case - collision between planets.

    At first I had them pass through each other, but then the beginning felt unchallenging. The random element of collisions kept the player on their toes a bit to deal with contingencies. But it seems like when the count gets bigger, the collisions really limit the scope of score expansion.

    So I'm going to experiment with the design of removing collisions and try something else to break up the initial predictability a bit. It's true that because of the nature of gravity, it'll be pretty hard to juggle everything even without collisions.

    And that's interesting that you feel like the beginning was unlearnable - I think I worked out a good and formulaic way to start: guiding each new planet along the same direction, then hula hooping as you said. It's the later game that feels too chaotic for me.

    The "where to take this game" thing is something I've been thinking about too:

    A thing I wanted to experiment with was having all the bodies affect each other - so like, "true" gravity. It might just be because I suck at implementation, the literally exponential calculations that was needed as new bodies get added seemed to be really heavy on the load, and I couldn't see any differences to the gameplay, so I hitched that back to the single-centre system that it is now.

    I also had another interesting system: OTHER bodies of gravity. Initially I put in other static suns that would also pull planets, but I didn't get there fast enough to work out a progression for that so that got cut for time.

    Other things I thought of to extend the game:
    - Targets to hit
    - Zooming out and expanding the scope - this is really tricky as the size of orbits are directly proportional to many variables in the physics. Will have to tweak this one big time. Also this messes with the players' movement area - either the player's movement area expands too or it becomes harder to see what's going on there.
    - Different types of planets with different behaviours (dunno what yet)

    I really like that this thing satisfies the bullet-hell sort of dodging thing and also feels like I have agency in the whole thing :) But it needs to walk a finer line between chaos and agency too...
  • So I ended up really enjoying it - way to make me look bad -_-
    I agree on adding another mechanic to add some more control - like something to let me push planets away maybe when I am sure I am going to get killed maybe? Or even trying to make planets explode when they crash into each other so you can draw out the gameplay for a bit.

    Other than that though I think this was a really solid entry - well done @Tuism!
    So, interestingly, if you know how the game works well (I mean I did make it :P ), the one thing that works kinda like the saving your ass button idea is that when you get hit, you're temporarily invincible while you're flashing, so you can move around and push planets out the way while in that state. Technically you have three bombs :P

    AND an advanced strategy: if you maximise the heals you get from forming orbits, you can recharge your "bombs"
    Now I'm not sure entirely if this "better" than just having actual bombs, because I also believe that decipher mechanics aren't as good as straight-forward ones, but it does work and it does introduce a skill element...
  • One thing I really noticed so far is that the life of the game is really limited by TINY PLANETS. Those are attracted to you more (because mass and physics) and therefore really limit your movement. I think I'll make a way for smaller planets to grow bigger so they're not just clumped up by you. I still like that there are zippier bodies rather than just all big lumbering ones, but having a glut of tiny planets really hurt the later game...
  • edited
    @Tuism I phrased part of my feedback badly. What I meant was that in my early plays it felt unlearnable. If the planets are spinning in opposite directions it just seems like chaos, with no real way to improve or progress. Spinning in the same direction is the first puzzle piece, AFTER which it's possible to feel like you're making progress because you can exercise some control. Until you know that the game is basically unplayable without spinning the planets in the same direction the game is pure frustration.

    At the same time, figuring out that I should spin the planets in the same direction was the big "Aha" moment of the game. Not saying that should be spoon-fed.
  • Erm, I haven't read the replies so apologies in advance if this has been covered already (I'm supposed to be crunching, ha). In terms of collisions being punishing, maybe the starting planets could be quite small (lower chance of collision), and when there is a collision, their masses are combined and a larger sphere spawns with the resulting momentum, so that you've got one larger object with a different mass (and larger size so easier to collide with in future) to worry about. I think that's easier to manage than a collision throwing two masses off and having to split focus trying to fix two problems instead of one.
  • @evangreenwood so, Interestingly, I've been messing around with a build that removes the collision between planets, and funny enough I still can't get much further than 12. I think the collisions add a bit of early game challenge and late game it becomes madness, but the base game of just managing the big swirl isn't hard enough on its own that the collisions doesn't really add that much difficulty. Which is counter-intuitive but that's what I'm feeling at the moment.

    Also I've completely remodelled the controls and they feel *much* better now (the old controls were based on XY coordinates and feels very sticky near the edges.

    @Elyaradine so I've also thought about combining planets on collision, and I'm kinda torn on that because it just seems they would balloon pretty much infinitely very quickly and it would be very difficult to get the numbers up because they'd just eat each other forever. Especially once one/more big enough orb emerges, it would just get in the way of all the orbs and inevitably they'd all eat each other :/ Not sure how to deal with that... Will have to give it more think :)

    Actually, let me share the newer build here :)
  • edited
    Uploaded a new v3 to the itchio page marked as POST COMPO VERSION, so please grab that :)
    https://twoplusgames.itch.io/orbits
    (note that post-compo version is not for LD rating purpose)
    (I don't think I can link directly to the file cos itchio won't allow it)

    Changes:
    - Removed collisions between planets
    - Better controls
    - Shortened explode animation
    - Trails fade out quicker after blowing up
    - Mouse sensitivity option (up/down arrows)
  • I played a few minutes, haven't read the discussion so far, wanted to give some raw feedback, some thoughts are below.

    [-]Game comes across as already having nice polish, sounds effects and graphics are nice.
    [-]The orbits comes across as realistic, Newtonian, it's a nice touch as it gives the game some depth by default.
    [-]Playing area feels too small, especially with more than two or three objects orbiting.
    [-]Progression is staggered by the play area restriction and the chaos it creates.
    [-]Not sure where I stand on the 2d vs 3d orbits, it certainly looks like orbits are 3d, yet the gameplay behaves as 2d, causing some conflicting thoughts to come across.

    Progression seems to be the major point that needs to be addressed. You can achieve progression in a few ways, for instance once stable orbits are achieved those objects can be taken out of the collision simulation, by pulling them out on the z-axis. You can also increase the play area as more objects are locked in. I also feel that allowing objects to destroy each other is another mechanic that can be exploited, the play area is so restrictive that removing some pressure from the player by objects destroying each other will be perceived as a reward.
    Thanked by 1Tuism
  • edited
    @critic thanks for playing and giving feedback! :D

    The play area feeling small... I think you've brought up a cross-section of two issues here: One is that the smallest planets orbit quite tightly around you at speed, and that's due to physics and mass. And two is that the camera is in quite close to everything - that's mostly because at the heart of it, this is a dodge game - I had experimented with pulling the camera out, but that almost inevitably results in the game being much more difficult to play because you can't see and dodge incoming projectiles as well, even with the exact same ratio of controls as when zoomed in.

    So the pros of zooming out is that it looks prettier, but the cons are that it's harder to control, and not in a "challenging" sort of way, but in a frustrating sort of way. When you successfully weave between incoming planets, it feels really good, but that becomes much harder when the view pulls further.

    I'm working on a mechanic of combining planets when the collide which would solve the smallest planets problems. And it'll need some other tweaks as straight up ballooning planets is probably not a great idea as one will end up swallowing everything.

    I actually experimented now with a zoom out as you go over 4 planets, but I immediately felt it was much harder to play than before... (so each planet that crashes into you zooms back in a bit, and the play area isn't enlarged - changing that pretty much changes the fundamental gameplay too so I decided not to. Maybe in future iterations it could zoom out in stages/levels)

    image

    As for 2d vs 3d orbits.... It's strictly 2D! If you *think* it's 3D it's possible it's because of the ellipse shapes rather than perfect circles, and orbits pretty much really do go into ellipses and not circles :) I would LOVE to make this in 3D but working out newtonian gravity in 3D would totally hurt your head even if you played it in VR :) And it would need a vive for 6dof controls, and I don't have a Vive :)
    GifCapture-201712052242156358.gif
    320 x 200 - 2M
    Thanked by 1critic
  • Now that I think about it, I think a mechanic like the one in flOw would actually work well with your zooming:
    https://jayisgames.com/review/flow.php

    So when you are small, the small planets crash into you but you can gobble up asteroids to grow larger. Then when you reach a critical size, you zoom out and are then able to "eat" smaller planets as well?
  • edited
    You could start zoomed out and zoom in as orbits are stabilized and locked in, this should result in a gradual increasing difficulty. Also you could disable gravity interaction with objects that have achieved stable orbits, you already have detection of a stable orbit, it should be easy to lock the object into that orbit and disable any further interaction with it.
  • critic said:
    You could start zoomed out and zoom in as orbits are stabilized and locked in, this should result in a gradual increasing difficulty. Also you could disable gravity interaction with objects that have achieved stable orbits, you already have detection of a stable orbit, it should be easy to lock the object into that orbit and disable any further interaction with it.
    The locking thing is interesting and I'll look into it, but that's intrinsically "unrealistic" :P and you end up with a bunch of orbits that you can't affect at all, if you happen to lock them far away then great, if you didn't then you've screwed yourself... I can make it never lock when it's in your play area but that feels like a big cop-out and also makes it way easy. I like the way that there's an escalating system of complexity, locking planets faraway takes away from that.

    But I haven't thought about the locking thing before and I must give it more thought :)
  • Now that I think about it, I think a mechanic like the one in flOw would actually work well with your zooming:
    https://jayisgames.com/review/flow.php

    So when you are small, the small planets crash into you but you can gobble up asteroids to grow larger. Then when you reach a critical size, you zoom out and are then able to "eat" smaller planets as well?
    Hmmm flow... Yeah so I actually thought about a system like that, what I thought was to achieve X stable orbits before "upgrading" by absorbing those orbits into you, and them keep growing like that. I would have to make each "level" harder somehow than the previous, by changing some things about the physics, otherwise they would be pretty much the same as the previous "level".

    I hadn't thought about something to collect. I'd have to explore that :)
  • You are not really in a realistic camp here anyway, you are moving the planet/star at your whim and it has eyes/mouth. The current way of acknowledging that orbits function make it impossible for a player to do 10, 20, 30 stable orbits, as soon as the player gives any input the orbit will change a bit and all stable orbits are invalidated. The thing with locked orbits influencing you on a different zoom level means that you are adding future planning, so your success later on depends on the orbits you locked earlier on, somehow this comes across to me as a positive, rather than a negative mechanic.
  • critic said:
    You are not really in a realistic camp here anyway, you are moving the planet/star at your whim and it has eyes/mouth. The current way of acknowledging that orbits function make it impossible for a player to do 10, 20, 30 stable orbits, as soon as the player gives any input the orbit will change a bit and all stable orbits are invalidated. The thing with locked orbits influencing you on a different zoom level means that you are adding future planning, so your success later on depends on the orbits you locked earlier on, somehow this comes across to me as a positive, rather than a negative mechanic.
    My bad, realistic isn't the right word. It's more about gelling with the expectations set by the existing game mechanics. Locking orbits means that the thing still moves like it used to, but it doesn't react to my input as it used to. Having mechanics that make sense easily without having to explain is important, each additional "oh but" is additional cognitive load.

    I do want player to do more stable orbits, but I also want the escalation to add meaningful challenge.

    And as for locked orbits influencing at different levels of zoom:
    - The player has comparatively little control over how they lock. When you're swirling 10 things it's basically random no matter how good you are.
    - If the player expands in size when they "level up", basically they will simply grow *into* the orbits. If the player doesn't expand in size then they eventually will get so tiny against the rest of the game that it would be really difficult and weird to control.

    I'm not writing the suggestion off, I'm offering the problems I see with it. If those can be solved in an elegant way that makes sense, yahtzee! Otherwise I'm still looking for solutions :)
  • edited
    Tuism said:
    - The player has comparatively little control over how they lock. When you're swirling 10 things it's basically random no matter how good you are.
    That's the beauty of the Newtonian system, you have control of the orbits and with a little practice can lock a single rock into any orbit you want. The thing is once that one is locked the player is given a new rock to control, he is never juggling 10 uncontrolled rocks, but rather locking one by one.
    Tuism said:

    - If the player expands in size when they "level up", basically they will simply grow *into* the orbits. If the player doesn't expand in size then they eventually will get so tiny against the rest of the game that it would be really difficult and weird to control.
    That's why I'm suggesting starting at the edge of the 'solar system' and moving the gameplay inwards. This progresses the gameplay from loose and relaxed into a very chaotic and near proximity.

    Anyway, great prototype.



  • edited
    critic said:
    Tuism said:
    - The player has comparatively little control over how they lock. When you're swirling 10 things it's basically random no matter how good you are.
    That's the beauty of the Newtonian system, you have control of the orbits and with a little practice can lock a single rock into any orbit you want. The thing is once that one is locked the player is given a new rock to control, he is never juggling 10 uncontrolled rocks, but rather locking one by one.

    Anyway, great prototype.

    Really, give it a try and let me know - if the "best play" is to lock one of them at a time, that's also pretty tedious - I want to encourage risky, big plays rather than "lock one, get one more, lock one, get one more" :)

    Thanks for your idea, it's much appreciated :)
    Thanked by 1critic
  • Out of interest, how do you detect whether it's stable or not? I ask because when I was playing, I couldn't really tell aside from just waiting it out. If there was some indication of something completing an orbit, it might provide an interesting interaction where you're juggling a bunch of stuff that might fall apart, but you're just eking out that one... more... second... because you can see how close you are.
  • edited
    @elyaradine it's really really rudimentary :P It's based on the assumption that you're not moving... As soon as you move the check resets. And the check is just that it moves from left of your position to the right of your position.... And back again/vice versa :P I want to make it a more sophisticated, at least divide it into four quadrants so that each planet can start its check on the X or Y axis. If we might get even more sophisticated... I can't make it check a return to a position because of ellipses... I dunno yet. So visualising the check might be a bit too complicated, and it might be visually really messy too.

    In the latest post-compo version (also on the itch page, below the original LD version), I've removed the collisions between planets - I've been playing that a fair bit and must say it feels a lot better not having to dodge random collisions. And I got to like 17 orbits and that felt AMAZING. There's definitely a skill involved :D

    And the removal of collisions make it impossible for orbits to be disrupted if they're set - that means you won't have to worry about "hanging on" before you might get hit - but the challenge is when you score all your orbits, you'll have to deal with an incoming new planet :D
    Thanked by 1Elyaradine
  • edited
    A definitive new post-compo version! The mac and windows version are on itchio...

    Changes:

    - The first planet to spawn will always be a big one, that should give you enough time to react.
    - Press P to pause! Pausing zooms the view out so you can see where faraway planets are :D
    image
    - Android Version! (apk attached!)

    image

  • edited
    Minor bug fix... re-uploaded apk (above link is fixed)
    zip
    zip
    Orbits_Android.apk.zip
    33M
  • edited
    Showed the game to some non-devs and a couple of problems was immediately obvious. I tried not to tell them anything before they played, and these came up:

    1. How do I teach people the concept of a forming stable orbits? (preferably without having to use so many words)

    2. Leading into that - how do I teach/show that you want to stay still to form stable orbits? To show that when you're not moving, they start counting, or can count? So many people instinctively want to move around, and continue dodging, which is a fair instinct to have.

    3. Once a planet IS in a stable orbit, how do I show that state change? (right now there are ticks but they don't see them, and I don't exactly blame them). One idea is to turn stable orbits' trails to green, so reserving green for only that purpose. If you move at all they'll lose their stability and return to their original colour, until they count as stable again. How does this sound?

    4. The concept of healing when you beat your previous "top score of this session" is also difficult to convey. How do you see that?

    Basically, I'm going to have to build a proper tutorial. But I also want the game itself to be as readable as possible.
  • Or maybe I should experiment with a different criteria of scoring... Standing still to "check for stable orbits" may be something I can improve on. Maybe just not getting hit in x seconds with y number of planets will score y. Stable orbits would be like an optional bonus points thing. Hmmmmm...
  • Tuism said:
    Showed the game to some non-devs and a couple of problems was immediately obvious. I tried not to tell them anything before they played, and these came up:

    1. How do I teach people the concept of a forming stable orbits? (preferably without having to use so many words)

    2. Leading into that - how do I teach/show that you want to stay still to form stable orbits? To show that when you're not moving, they start counting, or can count? So many people instinctively want to move around, and continue dodging, which is a fair instinct to have.

    3. Once a planet IS in a stable orbit, how do I show that state change? (right now there are ticks but they don't see them, and I don't exactly blame them). One idea is to turn stable orbits' trails to green, so reserving green for only that purpose. If you move at all they'll lose their stability and return to their original colour, until they count as stable again. How does this sound?

    4. The concept of healing when you beat your previous "top score of this session" is also difficult to convey. How do you see that?

    Basically, I'm going to have to build a proper tutorial. But I also want the game itself to be as readable as possible.
    You should be able to do all that with flashy effects, really blunt stuff, make it sparkle, make it flash, make it scale, make it make noise.
  • critic said:
    Tuism said:
    Showed the game to some non-devs and a couple of problems was immediately obvious. I tried not to tell them anything before they played, and these came up:

    1. How do I teach people the concept of a forming stable orbits? (preferably without having to use so many words)

    2. Leading into that - how do I teach/show that you want to stay still to form stable orbits? To show that when you're not moving, they start counting, or can count? So many people instinctively want to move around, and continue dodging, which is a fair instinct to have.

    3. Once a planet IS in a stable orbit, how do I show that state change? (right now there are ticks but they don't see them, and I don't exactly blame them). One idea is to turn stable orbits' trails to green, so reserving green for only that purpose. If you move at all they'll lose their stability and return to their original colour, until they count as stable again. How does this sound?

    4. The concept of healing when you beat your previous "top score of this session" is also difficult to convey. How do you see that?

    Basically, I'm going to have to build a proper tutorial. But I also want the game itself to be as readable as possible.
    You should be able to do all that with flashy effects, really blunt stuff, make it sparkle, make it flash, make it scale, make it make noise.
    Yeah at the basis of it that'll be what it is, but I'd like a bit more discussion than "use effects" :)

    Right now though I'm veering towards removing the need to form stable orbits to "don't get hit for x time to score as many points as there are planets and get one more planet." - the principle here remains the same, while it's much easier to communicate.
  • I really like the visuals and how you incorporated the GUI and logo into the game. Very classy.
    As far as the game play goes I think you nailed everything I experienced with your observation with the 'non-devs'.

    What if you start off with one planet already in a stable orbit. And indicate that by having a long trail. The planets that aren't in a stable orbit could have a short trail. The closer they get to becoming stable the longer the trail becomes. Just a thought but maybe something to consider.
Sign In or Register to comment.