100 comments

[ 4.2 ms ] story [ 89.1 ms ] thread
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!

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!

Oh, and it’s completely different on mobile. Game is slower and much easier to score well.

My feedback above was on desktop.

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.
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.
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!

> 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.

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
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.

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.
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.
Nice work! Really low frame rate on Firefox on Android (pixel 10), might be something worth checking.
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
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!!!

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?
Love it! Thanks for sharing!
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.

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.

Love this. Hit me up if you want a chill soundtrack for it, I can make something for free.
Lush, perfect to take my mind off existing for a few minutes. Always a strong sign of a winning concept. Kudos :)
This game is so fun, great job.
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?
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
I have never been worse at a game than I am at this one
This thing is so fun. My best was 17, better than 94% :)
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 :)

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.

Brilliant game. Thank you so much for this.
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.

I don't see the "orbital" part. Ship flies in straight lines

Doesn't seem that hard, just a boredom endurance

(comment deleted)
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.

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.

Scoring 0, 1, 2, 3, or 4 all say better than 32% of players. Something isn't right.
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.

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.

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)

Super fun! But the text does get in the way mid-combo.
hmm, it isn't strictly gravitational projectile movement isn't it?