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.
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.
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.
- 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.
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.
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!!!
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.
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
- 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
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.
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?
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.
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.
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.
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.
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!
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 (!).
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.
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.
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.
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.
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.
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.
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
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.
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.
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?
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.
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?
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.
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"!
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.
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.
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.
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."
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.
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.
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)
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?
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
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
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.
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.