That depends entirely on whether you opt to do the compare by code or key. E.g. in JS KeyboardEvent.code == "KeyW" may resolve true even though KeyboardEvent.key == "W" may resolve false because the user is on AZERTY or what have you.
I'm a QMK user with a custom no -standard layout myself. I think you're referring to mapping keys to a given keycode as part of the firmware config. That's not inherently a problem, do it properly and it still lines up with whatever OS layout you load. If you're purposefully changing the keycodes to avoid letting the OS know the layout is different... well, you got what you explicitly configured you wanted it to behave like? Leave a layer if you expressly don't want said behavior, it's not up to the app developer to assume you meant to do otherwise.
reading the chat with v0 was interesting. the last time i tried v0 it generated really basic tailwind templates but the first image generation was actually really good for an LLM.
Yea looks like most people are missing the fact it was built by the CEO of Vercel with v0, an AI site builder. Doom in a browser has been done to death. Link to chat log:
I was ready to good-naturedly complain that it didn’t work on mobile, but the onscreen controls worked just fine, and I didn’t have any trouble killing 3 guys right away.
I guess I have been playing a fair amount of classic doom lately though so
I tried to do it the intended way, but found it too difficult. I was able to cheese it by staying in the starting area and killing the enemies that spawned to the right.
> Was it working in the original DOOM though? I don't remember any more.
By default it was the arrow keys for movement and <> for turning with CTRL as fire. But you could re-map the keys and after a few years quite a lot of people did.
Oddly enough, IDCLIP and IDCLEV work. You can't activate any doors or switches, but you can beat E1M8 with No Clipping Mode. Then you're stuck at the "Ordering Info" screen with no way to activate the menu.
You don't even need to cheese it when everything is client side, so there's no way for the server to verify you actually killed the required amount of enemies.
yes - i refuse to use captchas for basically any reason - if a site blocks me with a captcha where i have to label traffic lights or whatever, i close the tab and move on
i would probably choose to use doom captcha even if it takes 5 times longer. it is proven that at least people will interact with this if they wouldnt with traditional ones
> All the hard stuff is missing. It's half an idea.
Nah, it's all the idea but half (or less) the implementation.
Still counts as a PoC by many definitions. I've been handed less complete proofs to continue ("we fleshed this out in Excel in the client meeting, said we could have it done for real by Tuesday, can we?").
Perhaps this implementation works that way, but in principle if the game is strictly determined based on a random seed and player input, then the server can verify that the player's inputs do in fact result in the correct outcome.
Doom doesn't even have a (variable) random seed, it's deterministic like an NES game and has built-in record/playback that's just a frame by frame list of player moves.
So have the client record and send the demo recording.
…hang on, this is starting to feel like Elliptic Curve cryptography: it’s trivial to prove a demo file is a “solution” to a random-seeded Doom map, but nontrivial to work-backwards to generate a demo-recording.
Well, this is not the first level, but this is the level entry weapon.
Plus, left and right arrows rotate the characters since it's keyboard only, but in modern FPS you are used to having them laterally move you and you rotate with the mouse, so your reflexes are off.
Probably because firefox has alt+(left|right)arrow as global navigation bindings, and is capturing them before the captcha can get them. requesting a fullscreen gaming mode avoids more key binding issues, but probably ruins the "captcha" feel.
nice, that was the first thing that I noticed that I kept trying to do. It makes it a lot easier. I forgot about how clunky controls can be for older games without retroarch rebinds and stuff. I was playing Perfect Dark last night on my Steamdeck and I was able to bind the controls to a modern layout (left-stick walk, right-stick look, etc...) and it makes the game a ton easier.
In Windows the issue is that alt+space will by default open the window's control menu (for minimize/maximize/move/etc.). Pressing space down and then alt will work though.
That isn't cheesing it, given those start conditions. That is a standard tactic when you only have the pistol (or are too low in ammo for other weapons).
The pistol is crazy accurate in these games so you can pick enemies of from afar with a few shots each, and in this case they are firing shotguns which are very ineffective at long range (the game stimulates them as having unrealistically wide pellet spread, so even if a far-off enemy gets a pin-point shot you will only take minimal damage).
I remember playing over the collage NetWare LAN and winning people who had better but less accurate weapons (usually the shotgun, or the double in later versions, as we found that the most cathartic) simply by keeping my distance. Works until someone gets close from behind, at which point if you respawn somewhere convenient you can find the bugger PDQ, and pick him off with the pistol for revenge. Even works against the rocket launcher, just make sure you don't get hit directly (d'oh) or hang around where it is easy for splash damage from misses to ruin your plans.
It is a valid method for many DOOM-style games (as they were called in my day) and their offspring. Works well in HL2 where you can spam the trigger button as fast as you like and the basic pistol will fire at that rate without a limit (other weapons have a minimum shot latency).
I've played combat games where you can chirp in order to lure enemies towards you.
Then you're incentivized to find a defensible spot and keep mashing the "chirp" button so you get a steady stream of enemies.
You could remove the chirp button -- but then you're left sprinting out juust far enough that the enemy detects you, then run back somewhere defensible. Not very satisfying.
Or you can make it so enemies stream towards the player continuously, regardless of how close they are, without any trigger -- which is sort of equivalent to having the chirp button get mashed automatically. Again, find somewhere defensible and mash the attack key.
None of these approaches feel very satisfying. There must be some clever approach to this issue which doesn't run into any of these problems. A simple set of rules which leads to a large variety of combat challenges instead of a degenerate winning strategy.
Often (though definitely not always) you can mitigate these problems with good level design and adversary programming (or in some cases, resorting to more direct scripting for specific situations).
The situation here is one of level design and player load-out – this Doom level is not intended to be encountered with only a pistol, so the only way to make progress is a way most wouldn't find fun. Though this sort of situation can be interesting if it occurs naturally though, such as a player not managing their ammo correctly for what is coming up, because here it is part of the challenge or getting yourself out of a pickle of your own mix. It can also be good if it is plot relevant. And running at the combine pistol equipped was often fun. It isn't always a situation that needs to be “solved”.
Do you remember the early "bug" in HL2 where you could bind shoot to mouse wheel up, then flick the wheel to magdump the pistol and blast anything? Good times :)
On one hand, it’s a clever and fun way to show off what we can do with the web these days. The way it is presented hits just right... the demo is dead center of the page, with debug tools and more info within reach. I particularly enjoyed reading the "how it's made" page to understand how it was put together. I like how all of this extra stuff was not front and center when the page loads. Even the design language of the CAPTCHA box itself felt just right.
On the other hand, it's a satire of what we have done to the web. The bad guys (like the monsters in the game) have won. I'm a flesh and blood human, but here I am having to click on fuzzy pictures of random objects before I can do the task I actually wanted to accomplish. Behind the scenes, my human insight gets licensed and used for whatever purpose (nefarious or not). Just like the DOOM demo here, it's hard and cumbersome, but for whatever reason we all accept it as the way it has to be. We all shake our heads and say "what a shame, what a shame."
> Just like the DOOM demo here, it's hard and cumbersome, but for whatever reason we all accept it as the way it has to be.
Because most if not all of us have lost all hope that eventually our governments will be either willing or able to do something about the bad actors on the 'net.
That's a low bar. Google's reCAPTCHA sometimes feels like it was created in a lab to be as infuriating to humans as possible.
If you're not logged in and are using a shared IP (CG-NAT in my case), you get all sorts of fun behaviors. It loves to fail correct responses -- sometimes multiple consecutive ones. Occasionally, it will deliberately slow down new image fade-in to a snail's pace to test reaction time. Spot those stairs too fast? You must be a bot.
I've rolled my eyes for years over when this sort of thing would happen for real: "score 3000 points at Pac Man and maybe we'll let you view our web site". +1 for the technical achievement, but I turn and run at Cloudflare tick boxes.
Failed on 1st attempt, then beat it on 2nd attempt (I'm on Macbook Air).
Very amusing idea. Perhaps I'll implement this for my personal project... well because why not? :p
291 comments
[ 3.8 ms ] story [ 322 ms ] threadAwesome captcha though :)
Taping shows the instructions for keyboard use.
https://v0.dev/chat/4X85A52Dzde
2. It feels like "-fast" has been used.
3. The task is much, much more difficult because you can't strafe.
Very cute though :-)
But I always redefined A and D as strafe-left and strafe-right.
I literally did not know the keyboard shortcut to strafe, because I have probably literally never used it.
You can strafe with the old-school chording of Alt.
The sound was fucked up for me, high pitched, no idea why (fits the ridiculousness of this experience though, so NBD).
Damn I completely forgot it was a thing even, wow. And yet it was for like 7 years of my gaming experience
I was ready to good-naturedly complain that it didn’t work on mobile, but the onscreen controls worked just fine, and I didn’t have any trouble killing 3 guys right away.
I guess I have been playing a fair amount of classic doom lately though so
1. press the back arrow to move back
2. press spacebar every second
and that's it, 30 or so seconds later the captcha is solved :-)
By default it was the arrow keys for movement and <> for turning with CTRL as fire. But you could re-map the keys and after a few years quite a lot of people did.
Also use something like IDCLEV15 and you can go to other stages.
What does this mean? I was able to "solve the captcha" using IDDQD.
i would probably choose to use doom captcha even if it takes 5 times longer. it is proven that at least people will interact with this if they wouldnt with traditional ones
jk robots can do this now
Anyone can think of something humans do and just playing DOOM in a browser falls well short of anything new.
All the hard stuff is missing. It's half an idea.
Nah, it's all the idea but half (or less) the implementation.
Still counts as a PoC by many definitions. I've been handed less complete proofs to continue ("we fleshed this out in Excel in the client meeting, said we could have it done for real by Tuesday, can we?").
The concept here is the UX of what it would be like if it were properly hooked up.
Just like what you would do with any captcha proposal. You’d want to mock up the UX to evaluate whether it something people can do.
Though here’s it’s just for fun.
…hang on, this is starting to feel like Elliptic Curve cryptography: it’s trivial to prove a demo file is a “solution” to a random-seeded Doom map, but nontrivial to work-backwards to generate a demo-recording.
The heart of Bitcoin is just "Find me a number between 0xf80000 and 0xff0000 whose SHA-1 hash starts with eight zeroes..."
Plus, left and right arrows rotate the characters since it's keyboard only, but in modern FPS you are used to having them laterally move you and you rotate with the mouse, so your reflexes are off.
But very platform dependant, so maybe OP is on a browser or OS that doesn't let you do that.
I know it works on Chrome for me, but not on FF.
The pistol is crazy accurate in these games so you can pick enemies of from afar with a few shots each, and in this case they are firing shotguns which are very ineffective at long range (the game stimulates them as having unrealistically wide pellet spread, so even if a far-off enemy gets a pin-point shot you will only take minimal damage).
I remember playing over the collage NetWare LAN and winning people who had better but less accurate weapons (usually the shotgun, or the double in later versions, as we found that the most cathartic) simply by keeping my distance. Works until someone gets close from behind, at which point if you respawn somewhere convenient you can find the bugger PDQ, and pick him off with the pistol for revenge. Even works against the rocket launcher, just make sure you don't get hit directly (d'oh) or hang around where it is easy for splash damage from misses to ruin your plans.
It is a valid method for many DOOM-style games (as they were called in my day) and their offspring. Works well in HL2 where you can spam the trigger button as fast as you like and the basic pistol will fire at that rate without a limit (other weapons have a minimum shot latency).
Then you're incentivized to find a defensible spot and keep mashing the "chirp" button so you get a steady stream of enemies.
You could remove the chirp button -- but then you're left sprinting out juust far enough that the enemy detects you, then run back somewhere defensible. Not very satisfying.
Or you can make it so enemies stream towards the player continuously, regardless of how close they are, without any trigger -- which is sort of equivalent to having the chirp button get mashed automatically. Again, find somewhere defensible and mash the attack key.
None of these approaches feel very satisfying. There must be some clever approach to this issue which doesn't run into any of these problems. A simple set of rules which leads to a large variety of combat challenges instead of a degenerate winning strategy.
The situation here is one of level design and player load-out – this Doom level is not intended to be encountered with only a pistol, so the only way to make progress is a way most wouldn't find fun. Though this sort of situation can be interesting if it occurs naturally though, such as a player not managing their ammo correctly for what is coming up, because here it is part of the challenge or getting yourself out of a pickle of your own mix. It can also be good if it is plot relevant. And running at the combine pistol equipped was often fun. It isn't always a situation that needs to be “solved”.
On one hand, it’s a clever and fun way to show off what we can do with the web these days. The way it is presented hits just right... the demo is dead center of the page, with debug tools and more info within reach. I particularly enjoyed reading the "how it's made" page to understand how it was put together. I like how all of this extra stuff was not front and center when the page loads. Even the design language of the CAPTCHA box itself felt just right.
On the other hand, it's a satire of what we have done to the web. The bad guys (like the monsters in the game) have won. I'm a flesh and blood human, but here I am having to click on fuzzy pictures of random objects before I can do the task I actually wanted to accomplish. Behind the scenes, my human insight gets licensed and used for whatever purpose (nefarious or not). Just like the DOOM demo here, it's hard and cumbersome, but for whatever reason we all accept it as the way it has to be. We all shake our heads and say "what a shame, what a shame."
Because most if not all of us have lost all hope that eventually our governments will be either willing or able to do something about the bad actors on the 'net.
If you're not logged in and are using a shared IP (CG-NAT in my case), you get all sorts of fun behaviors. It loves to fail correct responses -- sometimes multiple consecutive ones. Occasionally, it will deliberately slow down new image fade-in to a snail's pace to test reaction time. Spot those stairs too fast? You must be a bot.
which is a free as in freedom replacement for DOOM I/II and deathmatch iWADs (totally compatible with community PWADS).
It's horrible. 99% of people will give up.