16 ms·
Show HN: Looptap – A minimal game to waste your time
- jason_slack 5y agoThis was really stimulating for my ADHD. Hyperfocusing my high score was 1300. Make this an iOS game! Does anyone have any interesting iOS recommendations for ADHD stmming?
- jordiburgos 5y agoThis game is hooking!
- bap 5y agoFantastic. Feature Request: I'd love to see the ratio of successful points to number of times the ball traverses the circle. I think others have already said things about scoring mechanisms for faster taps, I wonder if there could be one around a sweet spot on the line (earlier is better? Later?!) Well done, you've made me late for a meeting!
- 1-6 5y agoThanks, you've just wasted valuable engineering time of multiple people. The actual cost of this game is much more than what we realize.
- dumpHero2 5y agoOr not! They will completed the tasks in the last hour anyway. What's the cost of HN?
- quickthrower2 5y agoBut can they capture that lost value? I suspect not.
- franze 5y agojust repaired http://lalo.li/ddd/ http://lalo.li/ddd/ as prevent default changed behaviour on event listeners some time ago (from default active to passive, needed to set them to passive)
- DaveSapien 5y agoThis is brilliant!! I made a game quite similar that took me years to complete. And I feel this is much more immediately engaging, could just be me being hyper critical of my own work...but its always amazing to see how other designers approach similar ideas. Either way I love it!!!!
- ericblues 5y agoCool! Reminds me of defusing mines in a game I used to play. Can't remember the name.
- throwawayHN378 5y agoCool. I haven’t read the comments but I did find a possible bug. If I successfully click in the painted area the generation of the next painted area may land on top of my current “cursor”. I wasn’t quick enough to click it and the game didn’t fail me ( it let the cursor go around the perimeter again at which time I clicked when the cursor was over the painted area and was awarded a point ). Might not necessarily be a bug but it adds unnecessary ambiguity to the game.
- avierax 5y agoGreat, free dopamine for my ADHD!
- jugg1es 5y agoA cool variation would be to show the bar that's up next in a faint outline.
- edoceo 5y agoSometimes it increases the hit counter by one, others by two - why?
- phaer 5y agoSeems to be correlated with how much time passed between two hits.
- almostarockstar 5y agoPretty sure you get two points if you hit it quicker. So if you let the dot rotate around to get the segment the next time you miss out.
- bentcorner 5y agoYou can get more than 2 if you hit two in quick succession. I think the max is 5 (tested with blind double-clicks until I hit two in a row).
- kmm 5y agoYou get 5 points if you tap twice within 0.5 seconds, and 2 if the interval is within 1 second. The source code is very readable. this.score = this.score + (tapInterval < 500 ? 5 : tapInterval < 1000 ? 2 : 1);
- johnmorrison 5y agoI love it, accurate description
- bentcorner 5y agoLove the mechanic where the more quickly you click the next one the more points you get. There should be a timed mode to encourage rapid clicking (i.e., score the most points within 30s or 1min).
- charleshan 5y agoThis is well made! Easy to understand, challenging, and a hint of variable reward.
- thom 5y agoIt seems possible to click when the circle intersects the shape, but still lose. I guess it's based on the centre of the circle, but feels a little frustrating to me.
- awb 5y agoI’m of the opposite opinion. The entire circle should be in for it to count. Basing it off the center feels generous. Great little fun game though!
- deleted 5y ago[deleted]
- leetrout 5y agoFeature request: Start the game by pressing "space" as well.
- vasanthv 5y agoAdded this :)
- leetrout 5y agoThank you
- deleted 5y ago[deleted]
- heinrich5991 5y ago> Added this :) Doesn't work for the first game yet.
- ericskiff 5y agoFun! 171 on my second round.
- deleted 5y ago[deleted]
- marxdev3 5y agoCool game, but the collision detection needs to work better. Currently can lose if partially touching, does not seem intuitive.
- slingnow 5y agoDisagree, should be within the bounds. Git gud.
- MrOrelliOReilly 5y agoIt'd be more fun if you somehow got "bonus points" for reducing the time between clicks. I kept playing it safe trying to time the ball but it kind of felt like cheating!
- quag 5y agoIt does give you more points if you click fast.
- quickthrower2 5y agoA half point lost per revolution would spice it up.
- Aachen 5y agoIt took me way too many loops to figure this out. I was thinking the same as GP, someone next to me already proposed a penalty for letting it slip a loop and wanted to fork it, but this whole time the game has been ahead of us!
- albrewer 5y agoThis is in the event handler for the tap: this.score = this.score + (tapInterval < 500 ? 5 : tapInterval < 1000 ? 2 : 1);
- MrOrelliOReilly 5y agoSo funny I missed this behavior. Maybe the feedback then is there could be more gradations/tweaking for us slowpokes out there (especially since it appears other folks missed it as well) Also I should have lead my original comment with kudos to the maker, didn’t mean to only leave (apparently inaccurate) critical feedback!
- tgarv 5y agoI think it would be neat if you could get bonus points for multiple clicks within the same arc. So like if you click right when the ball enters the arc, and there's sufficient distance left before the end of the arc, you could click again (multiple times, quickly) and get bonus points until the ball reaches the end of the arc, at which point a new arc would be generated as usual. I just think it would be fun to line up a long arc and mash the space bar for a bit.
- kpmcc 5y agoGood game, clever concept, appreciate the simplicity.
- butz 5y agoFeature request: show where the ball was on game over screen, because now it quickly resets to start position. Maybe show its "ghost" in different color or just outline.
- Aachen 5y agoNice! My grandma enjoys mobile games but is, uh, let's say she's not a pro just yet. This is something she can do! Let's see if she'll enjoy it :)
- andy_ppp 5y agoShould get marginally faster every 10 clicks...
- mattfrommars 5y agoReminds me a hamster game from back in the gay - the hamster would go in a loop.
- deeviant 5y agoSome sort of measurement or score for more hits per unit time would be cool. Overall, fun little game, nice job.
- y4mi 5y agoYou already get more points of you click correctly before a full rotation. https://github.com/vasanthv/looptap/blob/4953700d0e8b58dd57dca974274e06dc43ed636c/script.js#L113 https://github.com/vasanthv/looptap/blob/4953700d0e8b58dd57d...
- djfdat 5y agoThis is a great little time waster! Couple of recommendations, in no particular order: 1. Keep the ball moving even after you die. Instead of pressing start, the user will just click when the ball is back inside the colored area. 2. You can click anywhere to restart, but you have to click the play button to restart. You should allow the user to just click anywhere to restart. 3. When you fail, show where the ball was. 4. As for collision detection, I think you should err on being lenient and count success if the bounds of the circle overlap, rather than the center or entirely. I think this is also due to the rounded linecaps for the arc potentially not counting as part of the valid area. 5. Show where the next arc will be. This is more of a game design thing. If you do this, quick fade out of the old and fade in on the new would look nice. I understand that this was probably a small little one off project, and that there's always more you can iterate on, so I just want to say nice job in putting out a fun little time waster!
- dagurp 5y ago6. Delay showing the share button. I kept clicking it accidentally after failing
- slightknack 5y agoYes, but this almost seems intentionally genius at the same time.
- dagurp 5y agoDark pattern though
- IAmNotAFix 5y agoThe ryhtm should accelerate each N clicks so that the game eventually ends. Otherwise no matter how many points you get by clicking fast it's possible to accumulate the same amount by playing it safe.
- colejohnson66 5y agoIt does. If you use the "autoplay" code elsewhere, it definitely starts speeding up.
- murtio 5y agoNice minimal game!
- jckahn 5y agoAwesome work! I strongly recommend monetizing this. If this was a native iOS/Android app, you could show an interstitial ad after each Game Over and offer a small in-app purchase to remove all ads. It worked for 2048, and I believe it would work here as well! Addictive drop-dead simplicity is repeatable recipe for success in games. I'm working towards this same strategy in my own projects, but I think you've really nailed it here! EDIT: Whoops, I just noticed that this was based off such an app. Still, great work on the implementation!
- umvi 5y agoYou have to get a lucky/viral head start though, because the moment you monetize it and it proves successful you'll immediately have a bunch of clones competing from Zynga, Ketchapp, etc. That's what happened with 2048 as well as Flappy Bird.
- schleck8 5y agolooking forward to the trashy ripoff ads on youtube
- _zzaw 5y agoNothing gets a one-star/delete from me faster than grubby monetization efforts like interstitial ads. Banners below the game, removable via a one-time IAP, are one thing, but an ad that takes over the entire screen for half a minute just makes the whole game seem shabbier. Especially considering that the ads displayed are invariably horrible.
- xavhan 5y agoit remind me of Super Hexagon :D You could change the dot rotation direction on each success ...
- marcos100 5y agoPlayed twice. Immediately knew that I should stop. Great game!
- GrifMD 5y agoThis was delightful, and now I will get no work done today.
- scrozier 5y ago"Thanks."
- michaelhoffman 5y agoWithout a "share" button that creates an emoji summary of your results, this will never get as viral as Wordle
- tasha0663 5y agoWow, I never noticed that
- deleted 5y ago[deleted]
- papa2034 5y agoNice game!
- tyingq 5y agoFor autoplay, paste this into the console and click the play button. setInterval(function() {loopTapApp.arc=[0,359];loopTapApp.tap(document.createEvent('Event'))},5);
- nacs 5y agoThere's a pastebin from another user that actually "autoplays" the game. This version is more of a hack/cheat as it doesn't obey the rules of the game and just fires the tap event all the time.
- nathas 5y agoOne of my favorite things to do with these neat little games is to build something that plays them for me by just pasting stuff into the browser JS console. https://pastebin.com/aTYuaNVS https://pastebin.com/aTYuaNVS At a score of 1,619 the ball is moving so fast it no longer works! I switched to a new tab (hoping that the event loop would be sent to the background/context switch/whatever) and ta-da - it misclicked. High score of 1,637.
- fisherjeff 5y agoLate to the party, but I prefer the more manual version: loopTapApp.setArc=function(){this.arc=[0,359];}
- eatbitseveryday 5y agoPasting here in case the pastebin disappears: function autoPlay() { const fakeClick = { preventDefault: function() {}, stopPropagation: function() {} } const ballAngle = loopTapApp.getBallAngle(); if (ballAngle + 6 > loopTapApp.arc[0] && ballAngle - 6 < loopTapApp.arc[1]) { loopTapApp.tap(fakeClick) } } const autoPlayer = setInterval(autoPlay, 10)
- shelbyKiraM 5y agoI got 1,683 in Firefox on a new M1 Pro MacBook Pro with your code… I'm gonna try the next guy's in Safari now. How optimal can I get haha!
- vthallam 5y agothat works. If there was a leaderboard, this thing will win for sure :)
- only4here 5y agothis is the reason that most FOSS games (especially browser games in JS) don't really do well with a leaderboard. Still a neat trick to mess around with!
- alfon 5y ago
- deleted 5y ago[deleted]
- nashashmi 5y agoKeep this one advancing. Great job with maintaining simplicity. Lots of forks will come your way
- hnburnsy 5y agoGreat game! Suggestion, penalize each rotation that does not have a click.
- alex_smart 5y agoBecause it had to be done: let robot = function () { const ballAngle = loopTapApp.getBallAngle(); const arc = loopTapApp.arc; if (ballAngle + 6 > arc[0] && ballAngle - 6 < arc[1]) { window.dispatchEvent(new Event('mousedown')); } } var timer = setInterval(robot, 10);
- y4mi 5y agoat ~1600 the ball started to spin too quickly for an intersection with that 10ms timer and there were 6 balls visible at the same time with my 144hz display. fun stuff.
- fullstop 5y ago3 visible at ~1600 here. I then set the timer to 1ms and it got a few more points and then put the ball in the very center of the circle. When I clicked, the game ended.
- thrdbndndn 5y agoWhy does this autoplay cause the ball to seemingly "jump/skip"?
- deleted 5y ago[deleted]
- mxmilkiib 5y agohttps://i.imgur.com/liFqyj3.png https://i.imgur.com/liFqyj3.png felt like i might have clicked too early, but it's showing in on game over
- AtNightWeCode 5y agoWhen you come to the white beans it becomes sooo difficult.
- deleted 5y ago[deleted]
- cousin_it 5y agoGreat stuff, got 315 on third try. I made a game in the same vein sometime ago: https://vladimirslepnev.itch.io/zigzag https://vladimirslepnev.itch.io/zigzag One thing to note about this kind of endless runner games is the scoring system. Everyone uses the system "get as much points as possible in one run, each run starts from zero". But that forces people to slog through the early parts each time, and also makes them more likely to stop playing after an especially good run. I thought about this for a while, and came up with the idea that a better system would dock points for mistakes. The run would continue, a misclick would just give you a short breather and set you back fifty points or so. I made some prototypes like that and the effect was striking: you stick with one run for a long time, falling into a kind of meditative state, never wanting to stop. Eventually you find an equilibrium where wins and losses balance out, and keep playing there, at the best of your ability. If I ever release an endless runner again, it will use that system.
- exikyut 5y agoWell this is infuriatingly awesome :D Really sad the Android build appears to have fallen off the Play store :/
- scythmic_waves 5y agoIt took me a while to understand what was going on with your game. Once I got it it was fun, though! For anyone else confused: the goal is to keep the light colored "snake" moving through the dark colored "tunnel". When the snake stops moving, it's because it's at a junction in the tunnel. You're goal is to tell the snake which direction to go (either left or right) _from its perspective_.
- y4mi 5y agoso nauseating though. got a headache within seconds of playing from the constant and completely random camera movement
- tgarv 5y agoWow, that's a great test of spatial reasoning (or something akin to spatial reasoning). You kind of have to rotate the shape in your brain to figure out which direction to turn from the line's perspective. I've driven with people who can't follow GPS directions unless it's in "first person" mode, e.g. if the line is moving "down" but then heads to the "right", you actually need to turn left, but they think you need to turn right or are just confused in general because the orientation is different - and I wonder if they could train their brain to work that way by playing something like this.
- menkar 5y ago
- wnolens 5y agoI love this. Added to my home screen.
- catskul2 5y agoMissed opportunity to name it "ball tap".
- MerelyMortal 5y ago"tappy ball" A play on "flappy bird".
- misterbwong 5y agoCool game! I know you're trying to keep it simple but a couple suggestions that might help and won't increase game complexity too much: 1. Add a share button to share your score 2. Add a timer component (can be hidden). It will add urgency. 3. Speed up the ball as time goes on (maybe i haven't gotten far enough for this to happen...?) 4. If you're adding more points for "same rotation hit", make it clear that it's doing that and don't just add more points to the score (shake the number, throw some fireworks, or something). Your focus is on the ball not the score so you won't even notice the number went up a little bit more than usual until you lose.
- Aachen 5y agoYou use share buttons in games / on websites? I've never even clicked one, what even should that do, give a copyable text or a URL to a picture to share or so?
- misterbwong 5y agoI personally don't but one look at wordle and you'll see that there are a lot of people that actually do :D
- usmannk 5y agoWordle has the most fantastic share button I've seen. It copies a spoiler-free version of your game board into your clipboard so you can share as you wish, no links or growth spam. Normally I avoid the buttons because they just try to paste a link to my twitter profile.
- ask_b123 5y agoJust tried it out!: Wordle 209 6/6 ⬛⬛⬛⬛ ⬛⬛⬛⬛ ⬛⬛⬛ ⬛⬛⬛ ⬛⬛ EDIT: the formatting doesn't seem to work here, green and yellow squares disappear after posting the comment.
- TheSalarian 5y ago
- snihalani 5y agoso good
- typon 5y agoThis is very similar to the popular game "Pop the lock"
- RankingMember 5y agoSimple addictive games like this always remind me of that ball-in-a-cup game that everyone got addicted to in that "The Game" episode of "Star Trek: The Next Generation".
- laumars 5y agoEvery time I rewatch that episode it reminds me about when smart phones and social media first swept through, turning people into zombies staring at their phone screens and barely interacting with people physically around them.
- skurtcastle 5y agoNot a bad time waster. Simple. Could be used for office fun as well. "Martha. If you beat my score on 1st attempt, I'll do those TPS reports." lol.
- danbolt 5y agoI feel like the variation in placement and length helps. Or, it pushes towards the "randomness" that makes some skinner boxes more sticky than others.
- mesozoic 5y agoI think the score should go down when the ball makes a full revolution. Encourage more same revolution taping
- redsummer 5y ago
- codevandal 5y agoNice! Reminds me of the Cyclone / "stop the light" arcade games. If anyone wants to play a similar game on iOS, I made one about 7 years ago called hyper•loop https://apps.apple.com/us/app/hyper-loop/id944029806 https://apps.apple.com/us/app/hyper-loop/id944029806
- atum47 5y agoSimple yet addictive
- dheera 5y ago``` loopTapApp.startPlay(); setInterval(() => { if(loopTapApp.getBallAngle() > loopTapApp.arc[0] && loopTapApp.getBallAngle() < loopTapApp.arc[1]) { loopTapApp.tap({preventDefault: ()=>{}, stopPropagation: ()=>{}}); } }, 50); ```
- laumars 5y agoGood game though there seems to be a bug where if you tap twice quickly, not even a doubt tap but just relatively quickly, it doesn’t register the second tap. Safari, iOS (whatever the latest update is)
- VishwaGauravIn 5y agoNice one
- ChemiSpan 5y agoWOW FANTASTIC GAME HOW DID YOU MAKE IT
- deleted 5y ago[deleted]
- robbiejs 5y agoCool game, works nicely on my android phone. One thing that you could improve is add user-select:none to the page. Quickly tapping the document did select the counter text and opened a google mini popup, distracting from the game. Well done!
- johncs 5y agoOh hey, it’s one of Fable’s mini games! Very cool to see
- TomGullen 5y agoRight click resets it, otherwise good game!
- dcow 5y agoThere might be a bug. I “died” but the ball appears in the live zone https://i.imgur.com/XJdKgDL.png https://i.imgur.com/XJdKgDL.png. Happened to my partner too.
- mcintyre1994 5y agoThe ball resets to that 3 o'clock position when you lose, so this doesn't show where it was when you clicked.
- philosopher1234 5y agoHypnotic
- nope96 5y agoThis reminds me of this cat toy - the circle with a ball in it (or at least it made me feel like a cat for a minute) https://m.media-amazon.com/images/I/617M1m5N-aL._AC_SS450_.jpg https://m.media-amazon.com/images/I/617M1m5N-aL._AC_SS450_.j...
- Shadonototra 5y agoit's basically a clone of what is already playable in the link they provide literally the same what is the point other than pure 100% identical copy no shame? https://coogyloop.com/ https://coogyloop.com/
- hombre_fatal 5y agoWell, I don’t need to download an iOS app to play OP’s game.
- Shadonototra 5y agoyou don't need to download anything, the game is playable on that page click and test by yourself: https://coogyloop.com/ https://coogyloop.com/
- hombre_fatal 5y agoI see, it only has that demo on desktop. On mobile, it just presents a link to the app store.
- tinyprojects 5y agoThis is great! You've got something here
- rayrag 5y agoRequest: add info about how many loops game had. less loops should add bonus points or more loops should have penalty points. Otherwise fun game :)
- xbar 5y agoBest: 1
- everyone 5y agoThere should be a score multiplier that builds up by getting points in quick succession. That would add a risk/reward element to it.
- zanethomas 5y agoCouldn't add my score because twitter doesn't like what I have to say.
- hamasho 5y agoFantastic! I feel really superior when I succeed in clicking immediately after the previous click. I clicked on the target arc and was relieved. But I immediately realize the next arc is right there, or I'm even on the arc now! Then adrenaline kicks in, and I click again immediately! Don't think, feel! And it continues because I haven't missed it. Like I was a top F1 driver...
- _57jb 5y agoSo well done. I love these styles of development where it can be thrown together quickly but complete the full spectrum of ux, creativity, and hitting that sweet spot that felt satisfying to play. Seriously well done!
- analog31 5y agoOuch, eyestrain. Not really a complaint, but a limitation of my own physiology.
- unobatbayar 5y agoHow do you come up with this stuff? I need answers.
- popfastful 5y agoyou can also try the minimal game to waste your time https://www.snapfeel.com/share/post/?id=116 https://www.snapfeel.com/share/post/?id=116
- ms123 5y agoHere's another one: https://netspeed.ichi.city/ https://netspeed.ichi.city/
- ZeroOne_010101 5y agomaybe rotate the colors?
- ZeroOne_010101 5y agoGreat lil game! The color is just gray after 550 taps, maybe rotate the colors?