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.
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
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, 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.
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.
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)
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 neat, but the tap to release controls are unintuitive for me. I much prefer the variant of this game that uses hold, drag and point 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.
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!
https://pod.sekor.eu.org/@modinfo/statuses/01KNXT3ZQDTHZBDYF...
[0] https://sourceforge.net/projects/slingshot-game/
Looks at imports
>Google Tag Manager
-_-
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.
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.
- 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)
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.
Very fun.
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.
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
Doesn't seem that hard, just a boredom endurance
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.
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.
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 :)
(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...