72 comentários

  • iceberger2001
    5 dias atrás
    Hey HN, I built STARFLING, a simple hyper-casual space game you can play right in your browser.

    You orbit a star with a ball. Tap anywhere to release and sling it through space. Catch the next star to lock in orbit and keep going. Miss and it's game over.

    The whole thing is just one HTML file with vanilla JS, Canvas, and Web Audio. No frameworks, no build step. Loads in under 2 seconds on phone or desktop.

    There's a combo system if you release quick, a skip bonus for jumping over stars, and it gets harder the longer you last. When you die you get a cool trail art picture of your whole run that you can share.

    Audio is all generated on the fly and it has haptics too. Pretty satisfying once you get the timing down.

    Play it here: https://playstarfling.com?utm_source=hn&utm_medium=showhn

    Would love your thoughts on the feel, difficulty, and whether the trail art is fun or not.

    Thanks!

    • Cort3z
      3 dias atrás
      I really like it. Here is my 2 cent:

      - the gravity is weird in my opinion. There is basically a gravity going down the screen. I would have expected there to be some "pull" towards the planets. I get why though, you try to prevent mega-long straight shots upward. Perhaps experiment with some drag, where the ball slows down over time. Or perhaps have the walls be gravity points, pulling the ball towards them.

      - i would add a long- press to restart immediately, so restarting is faster.

      • hdjrudni
        3 dias atrás
        Maybe add blackholes to prevent cheesing too hard. I found the downwards gravity unexpected too.
        • rustyhancock
          2 dias atrás
          Weird and unexpected doesn't mean bad for a game.

          The gravity mechanic works in the game.

          If anything the surprise makes people play a few times to understand it which is a really important thing for onboarding gamers (not user sin general of course).

    • hn_throwaway_99
      3 dias atrás
      I liked this game a lot!

      One thing I noticed is that I found the game to be pretty hard if I just tried to tap based on where I thought was a good "launching point". But then I realized I could use the dashed lines in the orbit circle as basically "arrows" pointing to where the ship would go if launched at that point in the orbit, and I instantly got much better if my strategy was (a) pick the dash in the orbit circle that points to the next planet, and (b) just then only focus on tapping when the ship hits that dash in the circle.

      I think a "hard mode" would be to get rid of the dashes in the orbit circle and just make it a solid line.

      • ryandrake
        3 dias atrás
        I still can't figure it out. It just seems to randomly curve away from where I want it to go. It gets boring to lose every time, so I just gave up. Could use a difficulty setting.
      • hapidjus
        3 dias atrás
        I did something similar, tried to click when the ship was at an 90 degree angle to the line connecting the planet to the next.
      • porterde
        3 dias atrás
        This comment instantly made me 10x better player
    • bhollan
      3 dias atrás
      I cannot express to you how much fun this simple little game is! I'm really enjoying it!

      If I got to work on this game for 90 seconds, I would move the "bonus text" down to the bottom. It gets in the way of tviewing the literal most important thing SO MUCH!!!

    • jonwinstanley
      3 dias atrás
      Really like this game. A few bits of feedback:

      - Can you add a keyboard key that also launches, rather than always have to be a click - Can you make it so it restarts without having to click the play again button? Maybe use the same keyboard button as above? - When fail, why does the ship fall to the floor? Maybe a gentle curve away would be more "realistic" - Why is the bg squares? Maybe it should be more of a subtle space bg

      Thanks for making it!

      • gregsadetsky
        3 dias atrás
        +1 on keyboard to launch and restart!!
    • metalrain
      3 dias atrás
      I noticed that gameplay speed depends on the window size. I'm assuming that larger canvas takes longer to render. It seems too fast at small window sizes and maybe too slow at 4K, not sure what is the intended speed.
    • bspammer
      3 dias atrás
      This is a really nice little game. My feedback is that on mobile at least, the text that pops up often blocks vision of the ball, which is quite frustrating. I would move it down a bit
    • cheschire
      3 dias atrás
      The "better than X%" of players seems way off. If I get zero, somehow still better than 32% of players? and 25 planets is >99% of players?

      The dotted line starting wide and slowly shrinking to the real orbit is a great touch. It makes the quick/fast/blazing/insane moves harder and more satisfying when they work. The angles encourage skips frequently enough to feel good.

      I think the only improvement I would make to the look is perhaps the background. I still think the cyberwave aesthetic works and isn't played out quite yet, especially on mobile. But maybe instead of a boring flat grid, some very faint parallax points moving across the background might work better to give the game a bit more depth.

      The pause->restart flow is way faster than clicking the restart button at the bottom of the screen. If your intent is to capture the end of every game to advertise the upcoming mobile game, then you might want to capture that method of restart as well.

      Great game, thanks!

      • Sharlin
        3 dias atrás
        > and 25 planets is >99% of players?

        That doesn't sound so strange because the presumably the majority of visitors are going to try once or twice and then carry on, and it's actually pretty difficult to get even 25 points in this game.

    • tuyiown
      3 dias atrás
      It’s great but the animations when catching a new orbit (sparks and combo announcements) is making hard to follow the ball, I realized I missed many shots due to this after some games.
    • bjackman
      3 dias atrás
      Nice work! Really low frame rate on Firefox on Android (pixel 10), might be something worth checking.
      • nmstoker
        3 dias atrás
        On a Pixel 10 Pro with Firefox it's not too bad but it's definitely a touch less responsive than on Chrome also on that same phone
    • adito
      3 dias atrás
      Thanks for making this, fun game, but the contrast is too low for my old eyes. I can't see the orbit most of the time. Maybe add options to make the orbit more visible?
    • circadian
      3 dias atrás
      Lush, perfect to take my mind off existing for a few minutes. Always a strong sign of a winning concept. Kudos :)
    • olelele
      3 dias atrás
      Love this. Hit me up if you want a chill soundtrack for it, I can make something for free.
    • jonwinstanley
      3 dias atrás
      Oh, and it’s completely different on mobile. Game is slower and much easier to score well.

      My feedback above was on desktop.

    • lossyrob
      3 dias atrás
      This game is so fun, great job.
    • cush
      3 dias atrás
      Love it! Thanks for sharing!
    • flkiwi
      3 dias atrás
      There was an old flash game called, I think, curveball that was kind of like 3d perspective, 2d plane Pong. I could play that gave for so, so long and not get tired of it. This might end up being a replacement.

      EDIT: Uh oh. I found it again. I'm screwed.

  • 0x3f
    3 dias atrás
    I would make restarting much much faster than it is now. That's the most annoying part and it breaks the satisfying chain completely for me. I miss and then have to watch it slowly fall, or struggle to find the reset button. And even if I hit the reset, I have to go through the menu.

    At the very least, put the reset and play again buttons in the same spot, so I can just keep tapping/clicking there.

    Super Meat Boy is how all games like this should be.

    • igravious
      3 dias atrás
      Tampermokey userscript -- <space> to launch and restart <esc> to give up

      ```javascript

         // ==UserScript==
         // @name         StarFling Spacebar
         // @namespace    https://playstarfling.com/
         // @version      2026-04-11
         // @description  Spacebar to launch and restart StarFling
         // @author       Claude Code
         // @match        https://playstarfling.com/*
         // @icon         https://www.google.com/s2/favicons?sz=64&domain=playstarfling.com
         // @grant        none
         // @run-at       document-idle
         // ==/UserScript==
      
         (function () {
           'use strict';
      
           document.addEventListener('keydown', function (e) {
             if (e.code === 'Escape') {
               e.preventDefault();
               // During play, click give-up to trigger the death/restart screen
               const giveup = document.getElementById('giveup-btn');
               if (giveup) giveup.click();
               return;
             }
      
             if (e.code !== 'Space') return;
             e.preventDefault();
      
             // If the game-over screen is visible, click retry
             const gameOver = document.getElementById('game-over');
             if (gameOver && !gameOver.classList.contains('hidden')) {
               const retry = document.getElementById('retry-btn');
               if (retry) retry.click();
               return;
             }
      
             // Otherwise simulate a tap on the canvas (start from menu / release orb)
             const canvas = document.getElementById('c');
             if (canvas) {
               canvas.dispatchEvent(new PointerEvent('pointerdown', {
                 bubbles: true,
                 clientX: window.innerWidth / 2,
                 clientY: window.innerHeight / 2,
               }));
             }
           });
         })();
      
      ```
      • hirako2000
        3 dias atrás
        I got so annoyed I fixed the annoyances.

        https://orbitup.surge.sh/

        - FPS tweak to fix variable speed - Can bounce - Life points instead of sudden death - Levels - A few effects - Better adjusted difficulty

        • beAbU
          3 dias atrás
          No attribution to the original game?
          • hirako2000
            3 dias atrás
            yes, I should. In case someone outside this thread comes across that 'fork'.

            Edit: I added due credit. thanks for pointing that out.

            • grimgrin
              2 dias atrás
              Publish yours un-minified like OP, so we can easily riff w/ or w/o an LLM ;)
              • hirako2000
                2 dias atrás
                The author hasn't complained (yet). I will open source it if he wouldn't mind.

                Regarding moat, I doubt the logic behind a server would prevent anyone to copycat game concept and graphics. Games have always been cloned as community remakes, with little recourse to take them down.

                • grimgrin
                  2 dias atrás
                  I wasn’t suggesting you open source it, for what it’s worth
        • arcza
          3 dias atrás
          Nice! Some ideas: Please can you remove the text that hides the main game view. This is the biggest annoyance on both games and slows you down a lot. Also the gravity / physics feels off. Orbit is too slow.
        • rustyhancock
          3 dias atrás
          This thread is a perfect showcase of "You NEED a moat".
          • 0x3f
            3 dias atrás
            Also, put your business logic on the backend
        • CyanLite2
          3 dias atrás
          you removed the "spacebar" functionality
    • cachius
      3 dias atrás
      I nearly stopped playing because of this, before reaching 11. Just leave out the interstitial when clicking restart at the bottom.
    • akaBruce
      2 dias atrás
      I'm not sure if it was added after your comment, but there's a restart button at the bottom center of the screen that you can hit while the ball is falling.
    • Cort3z
      3 dias atrás
      I would add long-press to restart
  • cpcallen
    3 dias atrás
    I am completely confused about the orbital mechanics in this game. They seem completely broken; at any rate they do not work remotely like any other simulation I've played with (e.g. Gravitation or Kerbal Space Program). The bodies other than the first body appear to actively deflect the spacecraft away!
    • andai
      3 dias atrás
      You have elucidated a real gap in the marketplace: physically accurate mindless tapping orbital mechanics sandbox.
      • oezi
        3 dias atrás
        19:50 Put codex and claude (thinking high) to work in parallel to see who could come up with the better physically accurate mindless tapping orbital mechanics sandbox.

        20:10 Both codex and claude finish pretty much at the same time, but my kids say claude's version is more fun.

        20:50 Claude runs out of its 5h session limit while finetuning some things, while Codex has 80% left (!).

        https://coezbek.github.io/orbital-tap/

        • progval
          3 dias atrás
          It's still pretty far physically accurate because there is infinite acceleration the moment a ship reaches the target orbit.
          • pigpop
            3 dias atrás
            That sounds like it would be a completely different game and probably not as fun since you'd have to use some very fiddly controls to manually get into orbit. If you eliminate orbit entirely then it's just a slalom race. "Hitting" each star/planet is the immediate feedback that makes it fun.
          • robryan
            2 dias atrás
            Yeah, I want to enter weird orbits around the planets.
            • elevation
              2 dias atrás
              Yes, give me weird orbits! I want a shot which is just outside the target area to get sucked in by the gravity of the planet, but potentially letting me slingshot around an intermediate planet towards a more distant one. The tap command should still mean “gravity disengaged, momentum still active“ to allow shifts from one orbit to another.
          • oezi
            3 dias atrás
            True. Hard to square it being a game, fast-spaced and accurate.
        • RobotToaster
          3 dias atrás
          Unfortunately it doesn't let you skip planets.
          • oezi
            3 dias atrás
            I tried it, but it doesn't make for good gameplay, it just gets too easy. Could maybe subtract points, but that also feels strange. I updated gravity to do things, but orbiting isn't permitted.
            • em-bee
              3 dias atrás
              i love the gravity. but sometimes the orbital speed is to fast to be able to make the next jump. that's frustrating.

              a slow mode, or an option to hit the brakes might be nice. or going slower as the orbit decreases. smaller orbit is harder but slower speed is easier. you just have to find the right moment

              the quick bonus should not be more than one point. maybe an extra point for hitting 5 quick jumps in a row.

            • brynnbee
              2 dias atrás
              If the physics were accurate enough, I don't think it'd be easy - you'd get constant elliptical orbits in most cases, right? making the timing much harder going forward
        • throwthrowuknow
          3 dias atrás
          I like this version of the game more, keep at it!
        • 47282847
          3 dias atrás
          Nice! For my taste you could remove the TAP OR PRESS bar after some time, maybe after score 3 or so including restarts.
        • love2read
          3 dias atrás
          This version is better than OP’s
      • TeMPOraL
        3 dias atrás
        It's a gap, but not due to lack of trying.

        I made https://github.com/TeMPOraL/cloze-call a little over 16 years ago, and this itself was inspired by something then at least that much old.

        Screenshot: https://jacek.zlydach.pl/old-blog/download/projects/ClozeCal...

        Wonder if I can turn this into browser-playable version with just LLMs.

        EDIT: Put Claude Code on the task (reason for choice: Claude Desktop lets me just throw it at a folder with unzipped bundle of sources and assets I found laying around my blog archive).

        EDIT2: Holy shit it worked. Will upload it somewhere soon.

        EDIT3: Here it is, in its full 800x600, 30 FPS cap glory: https://temporal.github.io/ClozeCall-Web/

        The process I used was, have CC run over the original sources and create this document:

        https://github.com/TeMPOraL/ClozeCall-Web/blob/main/design.m...

        Then after verifying it matches what I remembered and clarifying some decisions (section 4 and 5), just told it to make a static client-side no-build-step no-webshit-frameworks game deployable to github.io, and it did it in a single shot (+ a second small request to add a fix to transparency of some assets). Personally, I'm impressed at how well it went, what a nice highlight of the weekend for me.

        • TeMPOraL
          3 dias atrás
          Past my edit window, so - a modernized port true to the spirit, but with some QoL updates, more performant and works half-decently on mobile:

          https://temporal.github.io/ClozeCall-Web/index-ng.html

          • em-bee
            2 dias atrás
            the main problem is that the projectile can continue flying outside of the visible area and sometimes get stuck there without ending the level. some option to abort the level without restarting would be nice.

            or a way to zoom out so that one can try a trajectory that circles around the planets instead of through them. some levels can't be solved because i can't move the mouse outside of the playing area in order to get the trajectory that's needed.

            i'd also like an option to replay a specific level. since levels are randomly generated i'd like to be able to replay a level until i can solve it, even if that breaks my streak.

            • TeMPOraL
              2 dias atrás
              Thanks for the feedback!

              Given how easy the port is, I'm now inclined to fix a few things to make it properly playable, so I'll address it :).

              I agree, the moment I launched the ported version I remembered the core annoyance in playtesting was always the ball spending most of its time off-screen, with player waiting for it to maybe come back. I was thinking to solve it more by scaling - zooming out, like in the original game that inspired this - Warheads SE[0].

              On the levels, looking at the code I _think_ I originally wanted fixed levels loaded from data files, the randomized order and lack of replay/progression was a way to cut scope for what was a contest entry.

              --

              [0] - https://www.myabandonware.com/game/warheads-se-in5

              • em-bee
                2 dias atrás
                i love the improvements. thank you. the way zoom out works is really nice. retry and abort, all there. being able to retry after failing adds so much satisfaction to figuring out a level.

                the only thing missing is a manual zoom or pan so that i an get more freedom to control the starting direction. some level are not solvable because the starting vector needs to go further up than the space allows.

      • FranchuFranchu
        3 dias atrás
        There's a 2014 game that is just that. Lim Rocket: slingshot around planets while also avoiding crashing.

        https://dan-ball.jp/en/m/pc_lim/

      • ddejohn
        3 dias atrás
        when I first read "orbital slingshot" in the title I thought it was a game about doing gravity assists, which I think would be much more interesting and fun
      • wafflemaker
        3 dias atrás
        Not really. Flight of Nova fills that gap, and I think I know how I'm going to spend this afternoon now.
    • Applejinx
      3 dias atrás
      Yup. I figured it out and went from zero to five immediately when I figured out it wasn't in the least orbital, but rather it was Undertale: you had to click when it was exactly tangent to the target, and then hitting anywhere within the target area was a win.

      That's also when I lost all interest, which isn't quite fair in that it's still a slingshot game, just not in the least orbital. It's just a slingshot. No stars required.

    • wolframhempel
      3 dias atrás
      I don't think it has any expectation of being an astrophysics simulation. I mean, if the "spaceship" misses, it falls towards the "floor"...
  • onion2k
    3 dias atrás
    I gave Codex 5.4 Playwright MCP access to the site and a prompt of "Use Playwright CLI Skill to open https://playstarfling.com/ and load the game. Work out how to play it, and devise a strategy to win." After a about half a dozen attempts it had figured the game out. Then I prompted it to "Score as much as you can." It wrote itself an auto-play script that just keeps going.

    I stopped it running at 10866. That's currently the high score. I appreciate that this is pointless and proves nothing, but I've been experimenting with automating testing games (I work at a gaming company at the moment) so it felt like an opportunity to try an experiment.

    • jstummbillig
      3 dias atrás
      Do tell? How did it play the game, did you watch? Just took forever with every shot, or how did that play out with the LLM induced latency?
      • onion2k
        3 dias atrás
        It didn't exactly play it using the LLM, but it used Playwright to execute code in the browser to work out how it works and then wrote a script to inject into the page to play it. It was basically perfect AI getting skip * 2 on every shot even after a hundred planets. I didn't expect it to do quite so well with only 2 prompts.
    • dalmo3
      3 dias atrás
      Are you sure the script is actually testing the gameplay? Given it can see the entire source code of the game.
      • onion2k
        3 dias atrás
        It started out using browser.click events and then switched to using browser.evaluate script injection. That's entirely valid for my use case.
  • muti
    3 dias atrás
    Fun. Not sure if this applies on desktop, but on mobile the quick/fast/blazing/skip text often blocks vision of the ball making it harder than it should be to make combos
    • tux3
      3 dias atrás
      Very much applies on desktop. The restart button is also strange on desktop, it plays animations instead of restarting. I recommend pressing pause and restarting from the pause menu, which is instant.
    • disillusioned
      3 dias atrás
      This precisely.
    • high_priest
      3 dias atrás
      Major problem
  • yuppiepuppie
    3 dias atrás
    This is good fun! I’ve added it to the HN Arcade :) https://hnarcade.com/games/games/starfling
  • Twirrim
    3 dias atrás
    Fun, but dark grey text on a dark background? Bit hard to read a bunch of the text.

    It also seems like there's gravity coming from off screen assets (or maybe it's the bottom of the screen?) causing the projectile to curve in unexpected ways, and not be captured as strongly by the gravity of the visible objects as I'd expect.

  • ericskiff
    3 dias atrás
    Fun, but the way they fly doesn't quite match my intuition. Why would an object curve when I send it out on the tangent? Wouldn't that be a straight line unless it's affected by a different gravity well?
    • lemagedurage
      3 dias atrás
      Yes, you have to imagine a much bigger star beneath the viewport.
    • kaffekaka
      3 dias atrás
      I imagine it as slingshotting my way up a tree.
  • hdjrudni
    3 dias atrás
    It's cool but the marketing is deceptive and through me off at first.

    You're describing this as "orbital" and "starfling" but there seems to be constant downwards gravity. That's not at all how space works. I was expecting every 'star' to have its own gravity that would suck it in.

  • haarlemist
    3 dias atrás
    Looks and plays quite nicely. I don't know how well it represents the real slingshot physics, but it's quite fun.

    I've made a similar little web game based on Lunar Lander, check it out!

    https://landed.theelderscripts.com/

    • robryan
      2 dias atrás
      Nice, too much stability though compare to Lunar Lander.
  • russellbeattie
    3 dias atrás
    The use of the Web Vibration API Navigator.vibrate() is well done! I haven't seen it used much, but it really adds to the game.

    (Apparently iOS still doesn't support it [1]? It's been in Chrome for the past 12 years. Maybe someday.)

    1. https://developer.mozilla.org/en-US/docs/Web/API/Vibration_A...

  • NooneAtAll3
    3 dias atrás
    I don't see the "orbital" part. Ship flies in straight lines

    Doesn't seem that hard, just a boredom endurance

  • rkagerer
    3 dias atrás
    Neat, and nice audio, but I wish it were a little more forgiving. Eg. Combos or surviving several jumps might collect "lives" that recover your last orbit if you screw up.

    Might also be fun if you encountered powerups as you explore deeper into the map (eg. gravity attraction, project path, etc), or even got to pick between forks in the route. The trail art reminds me of Out There.

  • foresterre
    3 dias atrás
    Fun :)

    Small idea for improvement: the "fast" text is often over the same space as the ball, which makes it harder to see where the ball would be going.

  • OneMorePerson
    3 dias atrás
    I like it! One complaint is that if you are going fast it starts to display a "Quick!" (or something like that) message on top of the middle of the screen. This makes me want to continue going quickly, but the message is blocking me from properly seeing the orbit, so I end up trying to keep the streak going and most often launch and miss cause I can't see. Maybe display it off to the side in empty space?
  • b3orn
    3 dias atrás
    Reminds me a little of an old game called Slingshot[0], I think it implemented the idea much better as you actually had to slingshot and consider gravity. Someone should turn it into a browser game, would be much more fun than this.

    [0] https://sourceforge.net/projects/slingshot-game/

    • b3orn
      3 dias atrás
      I implemented a very rudimentary copy of it at https://fac3.org/slingshot.html

      Drag on the red circle to set angle and velocity, let go to launch it, try to hit the green circle, avoid the blue circles (planets with gravity). To try again hit "r" or reload the page to create a new random set of planets. Doubt it works at all on mobile, only tested it in desktop firefox.

    • Jaxan
      3 dias atrás
      I played that too!
  • RobotToaster
    3 dias atrás
    >single html file

    Looks at imports

    >Google Tag Manager

    -_-

    • autoexec
      2 dias atrás
      lots of outgoing requests, including

      <link rel="preconnect" href="https://fonts.googleapis.com">

      <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

      <script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-app-compat.js"></script>

      <script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-auth-compat.js"></script>

      <script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-database-compat.js"></script>

      <script src="capacitor.js"></script>

      <script src="capacitor-cordova.js"></script>

      <script src="https://static.cloudflareinsights.com/beacon.min.js/

    • hirako2000
      3 dias atrás
      Firebase. Likely needed to keep scores.
  • florbo
    3 dias atrás
    Game is fun, sure the mechanics aren't like real transfers but this appears to be a quick reflex challenge, not a lesson in astrophysics. The only gripe I have is all the flashes and distractions if I go to fast. I don't want ANY extra visuals when I'm concentrating on rapid shots.
    • arcza
      3 dias atrás
      Agreed. This totally ruins it for me and by the sound of it many other commenters. Nice game otherwise.
  • systemsweird
    3 dias atrás
    Seriously fun! A first it felt frustrating but it was interesting that at a certain point (after about 10 minutes) I suddenly got an intuitive feel for the ball’s trajectory and it became addictive at that point.

    My only gripe is you render the bonus notification too near the ball and it distracts me and makes it harder to keep a combo going.

  • vunderba
    5 dias atrás
    Nice job. Consider allowing the use of a key (Z, spacebar, etc) in addition to the mouse.

    Related but I played a similar orbital minigame a while back on Itch.io which has a bit of a 2D Mario Galaxy feel to it as well.

    https://danceswithpixels.itch.io/orbital-slingshot

  • Uncorrelated
    3 dias atrás
    I got 54, allegedly better than 99% of players. But I also note that a score of zero is apparently better than 32% of players.

    Very fun.

    • falcor84
      3 dias atrás
      I actually love the idea of opening the game and then not playing resulting in a negative score. To quote Garfunkel & Oates, "It's better to be a loser than a spectator."
  • hamandcheese
    3 dias atrás
    Scoring 0, 1, 2, 3, or 4 all say better than 32% of players. Something isn't right.
    • swiftcoder
      3 dias atrás
      You have to get up to about 8 or 10 before you really start climbing the ranks
  • client4
    3 dias atrás
    If I miss but land back in the old gravitational field, I'd like a retry
    • em-bee
      3 dias atrás
      or even if i land in any gravitational field i'd like to continue from there
  • imiric
    3 dias atrás
    This is neat, but the tap to release controls are unintuitive for me. I much prefer the variant of this game that uses hold, drag and aim as input. This allows much greater control, is more engaging, and thus feels more rewarding and fun. Plus, there's no waiting period for the ball to circle back to where you want it to be.

    Tangentially, this is also why I dislike the modern trend of auto-shooters and idlers. The twin-stick shooter is by far the superior control scheme for this type of game, yet for some reason people enjoy having less control and engagement. I never got the appeal.

  • bhollan
    3 dias atrás
    I've been looking for a game from the "flash era" that's incredibly similar to this one! It was "fling-this-wad-of-duct-tape-to-clog-the-black-hole" as a metaphor, but I forget the name. It had similar "orbit" dynamics, but the entire game was setting the initial angle/velocity and then the orbits just 'did their thing' from there. This looks really cool! I'm already up to 11 as my best!

    If you like this, you will for sure love the game "12 Orbits"!

  • mark124mj
    3 dias atrás
    Fun game! One thing I'd love to see is difficulty modes. An easy mode with some kind of aim guide (maybe a trajectory preview on tap-and-hold?) could help new players get the feel for it, and a hard mode where you control launch speed or angle would add a nice skill ceiling for people chasing high scores.
  • ewatch
    3 dias atrás
    Really nice and very fast becoming addicted :D. Feedback from my side:

    - on desktop (tested in Brave Browser) the speed is faster than on mobile (is this supposed to be ?)

    - on desktop would be nice to have a short cut to instantly start a new game (may be on mobile you could calculate early on if the balls curve would have a collision and show a button to directly restart)

  • hirako2000
    3 dias atrás
    I don't get the gameplay.

    Ok on touch gravity of the orbiting takes off. And if I don't land the next I start again and get prompted for my email each time.

    It reminds me of certain games on NES which could be played for hours, once you lose your 3rd life you start all the way from the beginning.

    Here it's the same. With one life.

  • WhereIsTheTruth
    3 dias atrás
    When you go fast, the text in the center ruins visibility, hurts gameplay

    Good art style, terrible UX

    You didn't play the game you created

  • modinfo
    3 dias atrás
    Cool game! I scored 7581 (120 stars) on STARFLING :P

    https://pod.sekor.eu.org/@modinfo/statuses/01KNXT3ZQDTHZBDYF...

  • oh_fiddlesticks
    3 dias atrás
    Its a nice start, but there is a certain irritation in that the popup text is directly over the puck. I felt like I was losing more because I couldn't see the puck under the combo counter than anything in the game.
  • rikschennink
    3 dias atrás
    Nice, enjoyable.

    I did however expect the stars to attract my ship, that combined with the top down gravity vector made it less intuitive.

    It also makes it feel like a game happening in earths atmosphere instead of space, it impacts the possible sense of scale.

    Still fun :)

  • nrawe
    3 dias atrás
    This is an excellent and distinctly frustrating game Echo comments on restart being faster; maybe having the % stats in the main ui somewhere. Will be recommending this to some friends.
  • alfiedotwtf
    3 dias atrás
    Love this! Only request is don't display Godlike etc where you are because I've found when it comes up, you can't see where you are and so miss the next first-chance
    • alfiedotwtf
      3 dias atrás
      Ideas for hard mode:

          - when you land, the ring starts shrinking, and you die when the ring gets to r=0
          - stars move
  • fathermarz
    3 dias atrás
    I love this and it’s very clean. Only piece of feedback, put the play again button where the scores are as that is where the thumb sits on the phone to do the tapping. Mind numbingly groovy
  • throwthrowuknow
    3 dias atrás
    The text that pops up in the middle obscures the current position making it hard to immediately launch again. Maybe it should be closer to the bottom of the screen?
  • pea
    3 dias atrás
    Good fun! Spacebar should launch, r should reset, maybe I'm imagining it, but it's a lot slower and thus easier on my phone than my MBP.
  • pryelluw
    2 dias atrás
    Fun game. Well done. The controls are nice.
  • gverrilla
    3 dias atrás
    I don't like the game. The sounds. The way movement flows. Also the game loop is slow after I lose or realize I'll lose.
  • airstrike
    2 dias atrás
    This is both pretty cool and pretty frustrating as the physics don't really match reasonable expectations.
  • JohnnyLarue
    3 dias atrás
    I have never been worse at a game than I am at this one
    • thenthenthen
      3 dias atrás
      Same! I suck at this! I noticed that clockwise slingshots seem harder to time for me than anti-clockwise ones… weird
  • indigodaddy
    2 dias atrás
    Really slow on an iPhone 7. Should that be expected? I wouldn’t have thought so.
  • fifilura
    3 dias atrás
    Took a little bit of figuring out why I always exploded. The restart button was right where I tapped to launch.

    I loved the simplicity, it was fun!

  • abcde666777
    3 dias atrás
    Fun game, though a difficulty of playing it on a phone is your primed finger gets in the way of seeing the ball!
  • Kim_Bruning
    3 dias atrás
    Hmm, you can't fall back to a previous orbit. Those don't detect your presence
  • thomasfuller
    3 dias atrás
    Reminds me of One More Line, an older mobile game with very similar mechanics.
  • panstromek
    3 dias atrás
    The game is pretty fun. Page height is a bit wrong on mobile, you probably need some dvh height?
    • panstromek
      3 dias atrás
      Also, the game is much faster on desktop, looks like it's maybe not framerate independent?
  • niklasd
    3 dias atrás
    Very fun! If you play it on a big monitor, the games slows down for some reason.
  • noisy_boy
    3 dias atrás
    Spacebar should launch. I should be able to use arrow keys to speed it up.
  • aidenn0
    3 dias atrás
    My most planets is 14, but my highest score is 25 with 8 planets.
  • rustyhancock
    3 dias atrás
    Love it, but bro you got to make the process of staying playing in the first 2 minutes simpler.

    Right now the first 5 or so times you miss. Probably the first 5 times you try.

    You get an annoying process of having to shift you hand to press the play again button.

    The solution is easy as checking what the game score and high score is, if it's 0 just restart.

    I don't need or want to hear about how to sign up to your mailing list if I've just fallen flat on my face!

    There's a reset button but it seems to do nothing and you end up at the play again screen.

  • est
    3 dias atrás
    hmm, it isn't strictly gravitational projectile movement isn't it?
  • imglorp
    3 dias atrás
    I love it.

    But why make apps for it? The web page is perfect as is

  • weezing
    3 dias atrás
    Lack of proper physics really bothers me in such game.
  • lagniappe
    3 dias atrás
    This thing is so fun. My best was 17, better than 94% :)
  • kortex
    3 dias atrás
    Super fun! But the text does get in the way mid-combo.
  • potatoproduct
    3 dias atrás
    Good fun, my highest was 30, it took a while!
  • karim79
    3 dias atrás
    Brilliant game. Thank you so much for this.
  • ofjcihen
    3 dias atrás
    56 Stars Better than 100% of players

    Git rekd nerds

  • zerobitflip
    3 dias atrás
    This is pretty cool, Great stuff!
  • dawie
    3 dias atrás
    Super cool, super addictive :-)
  • AFF87
    3 dias atrás
    Maybe having some saves?
  • kokopelli
    5 dias atrás
    This is great. Very addicting.
  • oliver236
    3 dias atrás
    allow me to use space and not click!!!!
  • deviation
    3 dias atrás
    Paste this bad-boy into your console and watch the real expert play:

    (function () { "use strict";

      // ── CONFIG ──────────────────────────────────────────────────
      const AUTO_RESTART = true;
      const RESTART_DELAY = 800;   // ms before auto-restart after death
      const MUTE_SOUND = true;     // silence during autoplay
      const SIM_FRAMES = 350;      // max frames to simulate per check
      // ────────────────────────────────────────────────────────────
    
      let running = true;
      let totalGames = 0;
      let botBest = 0;
      let scores = [];
    
      if (MUTE_SOUND && typeof snd !== "undefined") snd = false;
    
      function wouldHitTarget() {
        if (st !== 1 || !bl || !bl.orb) return false;
    
        var targets = [];
        for (var i = cWI + 1; i < Math.min(wl.length, cWI + 3); i++) {
          if (wl[i] && !wl[i].caught) targets.push(wl[i]);
        }
        if (targets.length === 0) return false;
    
        var ta = bl.angle + bl.dir * Math.PI / 2;
        var nw = wl[cWI + 1];
        var spd;
        if (nw) {
          var ddx = nw.x - bl.x, ddy = nw.y - bl.y;
          spd = Math.max(4.5, Math.min(7.5, Math.sqrt(ddx * ddx + ddy * ddy) * 0.038));
        } else {
          spd = 5.5;
        }
    
        var x = bl.x, y = bl.y;
        var vx = Math.cos(ta) * spd;
        var vy = Math.sin(ta) * spd;
    
        for (var f = 0; f < SIM_FRAMES; f++) {
          vy += 0.06;
          vx *= 0.995;
          vy *= 0.995;
          x += vx;
          y += vy;
    
          for (var t = 0; t < targets.length; t++) {
            var dx = x - targets[t].x, dy = y - targets[t].y;
            if (Math.sqrt(dx * dx + dy * dy) < targets[t].radius + 20) {
              return true;
            }
          }
    
          if (y > 2500 || x < -400 || x > W + 400) return false;
        }
        return false;
      }
    
      function autoRestart() {
        if (st !== 2) return;
        var go = document.getElementById("game-over");
        var rp = document.getElementById("revive-popup");
        if (go) go.classList.add("hidden");
        if (rp) rp.classList.add("hidden");
        document.getElementById("pause-btn").style.display = "flex";
        document.getElementById("sound-btn").style.display = "flex";
        st = 1;
        init();
      }
    
      function tick() {
        if (!running) return;
    
        if (st === 0) {
          handleTap();
        } else if (st === 2 && AUTO_RESTART) {
          totalGames++;
          scores.push(sc);
          if (sc > botBest) botBest = sc;
          console.log(
            "Game #" + totalGames +
            " | Score: " + sc +
            " | Jumps: " + jmp +
            " | Combo peak: " + cc +
            " | Bot best: " + botBest
          );
          setTimeout(autoRestart, RESTART_DELAY);
          setTimeout(function () { requestAnimationFrame(tick); }, RESTART_DELAY + 50);
          return;
        } else if (st === 1 && bl && bl.orb) {
          if (wouldHitTarget()) {
            release();
          }
        }
    
        requestAnimationFrame(tick);
      }
    
      window.stopBot = function () {
        running = false;
        console.log("Bot paused. Call startBot() to resume.");
      };
    
      window.startBot = function () {
        if (running) return;
        running = true;
        console.log("Bot resumed.");
        requestAnimationFrame(tick);
      };
    
      window.botStatus = function () {
        var avg = scores.length
          ? (scores.reduce(function (a, b) { return a + b; }, 0) / scores.length).toFixed(1)
          : 0;
        console.log(
          "Games: " + totalGames +
          " | Best: " + botBest +
          " | Avg: " + avg +
          " | Running: " + running
        );
      };
    
      console.log("=== STARFLING AUTO-PLAYER ===");
      console.log("Controls: stopBot() | startBot() | botStatus()");
      requestAnimationFrame(tick);
    })();
  • iceberger2001
    3 dias atrás
    [dead]
  • dybeta
    2 dias atrás
    [dead]
  • usefulpatch
    2 dias atrás
    [dead]
  • neuzhou
    3 dias atrás
    [dead]
  • tuo-lei
    3 dias atrás
    The single HTML file as a distribution format is really underrated. No server, no CORS issues, no CDN — just open the file. It works offline, you can email it, and it'll still work in 10 years.

    I ship self-contained HTML files for a different project and the sneakiest gotcha is </ sequences inside inline <script> tags — the browser sees </ and tries to close the script tag prematurely. You have to escape them as <\/. Curious if the author ran into that one.

    Fun concept for the format too — games are the perfect use case.

    • cubefox
      3 dias atrás
      That's the silliest LLM comment I saw in a while.