Hacker News new | past | comments | ask | show | jobs | submit login
Keep Out – WebGL Game (playkeepout.com)
442 points by memalign 7 months ago | hide | past | favorite | 129 comments



Author here, not sure why this is posted today as this project is from 2015, but feel free check out our latest WebGL project if you liked Keep Out: https://equinox.space

EDIT: thanks for all the great feedback!


I think it is because Equinox Space was posted last week and made a good splash, lot of people liked it, so someone must have explored your past stuff and found this from 2015.

I did like equinox space a lot.


Makes sense!


If this is from 2015, any plans to open source?


Not at the moment, but thanks for your interest.


Started playing equinox but constantly find myself face first against a wall and struggling to turn around and get a good view. Nav is dizzying. But I love the rendering and audio.


Sorry to hear that! There are multiple control modes so I assume you're either using the mobile version or the desktop in casual mode. We've tried our best making the experience as easy to use as possible for a variety of user profiles, but it's not perfect. FWIW, the touch and mouse-only controls are similar to Google Street View.


Really cool experience, sharing it around! Would you care to share the game's music somewhere? Really hits me, i'd like to put theses in my playlists


Thanks! Yes, we plan to release the soundtrack (which we produced in-house) in the future.


Saw the dungeon one back then, but played it "through" now (level 12, supposed it doesn't end).

Also played thru equinox. Nice. Tight packages both!


It does end at level 15.

Congrats on finishing Equinox!


I loved equinox, are there plans for more levels? btw, I couldn’t play Keep Out on iPad. I guess it assumes that a keyboard is available


Thanks, there are no such plans at the moment.

Yes, we relied on UA-based mobile detection which worked back then but a few years ago Apple stopped treating iPadOS as mobile, and we never patched this.


Are there any secrets?


Unfortunately no! We did want to add secret stuff like hidden doors or fake walls back then, but we had to keep scope under control since that was only a promotional demo for our studio.

Edit: not sure if you're talking about Equinox or Keep out. But my answer is true for both projects. ;)


For Chromium based browsers you can use getLayoutMap() instead of prompting the user and then rely on the manual fallback for Safari/Firefox/Other unsupported browsers. In either case, detecting/asking for the layout makes sense for displaying the controls graphics but you should still ultimately use the keycodes for positional keys in the actual code so someone on the misdetected or on an unlisted layout can still use the positional keys as expected.


This API doesn't know what my keyboard layout is, and there's no way it possibly could; it's in the keyboard's firmware, not software.

Better than a fallible API that didn't exist when this was made, or a way-too-limited layout choice, would be to make it work well with arrow keys and mouse (arrows already do the basic movement), or to make the 6-key instruction screen configurable.


Adding configurability is a good additional option (even outside the layout detection) but because people like different layouts not because a few HN style folks break OS detection via custom firmware. It's certainly not a reasonable cause to redesign your control scheme around the limitation either. Something of 10%+ of internet users don't use qwerty, something of 0.01% set their layout via the keyboard's firmware.

Good note on the game being released ~2015 though, the API wasn't added until ~2018.


WebGL for games is so awesome for low-friction deployment.

As a rainy weekend hack I did a quick and dirty port of a fan decompile of the original Tomb Raider to WASM/WebGL a few weeks ago:

https://eikehein.com/stuff/sabatu/ (this uses alternative fan assets inspired by TR1)

The TR community has a couple of websites hosting lots of great fan levels, I'm hoping to make this good enough to allow playing them straight from the browser at some point.


So, arrow keys, SPACE un/holsters weapons, End flip 180°, Del/PgDn for strafe left/right. How do you fire the weapons?


ESC to go to the menu and see (and change) the controls mapping actually works!


holy crap! how was this built hope to see some code


This is super cool and it's great! I enjoyed my brief try in the browser.

Couple feedback points: I really hate the health system. I wish it was clearer how much health the potion recovered. I'd almost have it more like a traditional unit-like health bar and the potions recover one unit. Also having the R key so close to the movement keys made me press it in a panic several times when trying to move away. ALso allowing you to use a potion when your health is full feels really cheap. Also what about purchasing such items in the store after each level?

I never really got used to the strict 90 degrees movement and my fingers constantly got confused between strafe and turn. But I'm sure I'd get used to it in time. I'm more used to the FPS movement when this is more of an arcade-style setup.

For the map, I'd recommend holding the TAB key to show it, so it's just for quick glances.

Would have appreciated a little more variety in the props, though I only played to level 8, so I'm sure more gets introduced. There were new enemy types all the time which was nice.


FWIW: I also enjoyed the game. I also got confused between strafe and turn, and often did things like bombs by accident.

My additional feedback:

* I got to level 13 or 14, and then got bored. There was no way to save, and it wasn't clear if it went on. Does it repeat forever? Is there an end.

* What would also be helpful is to understand the purpose. This type of game is the type of game I often see developed as a kids' project, where in a camp or similar, a senior developer sets up an API designed to make it easy, generates all the artwork, and then kids code the high-level logic. If it were open-source, perhaps it'd be that? Perhaps it's intended to be commercialized with more development (that'd be tough with a million similar apps)? Perhaps it's intended as publicity for the coding shop? That would be helpful to understand too when looking for feedback or when visiting.


Re. level, it ends after 15. There's a "the end" screen with a floating trophy.

I agree that it starts to feel repetitive around 13 or 14. For me the turning point was the wand, which feels a bit overpowered and like it needs a cooldown as has been pointed out. An improvement might be having bombs and arrows in the store so you can do something with the gold you keep amassing.


It actually saves automatically. Refresh and you'll see a continue button. It would have been nice if this was more clear.


I like the map being a toggle, because I could navigate by looking at the map while I move around (helps with that confusion). The 3d view is needed to see items, pots, and enemies, and that's fine, but ideally those would show on the map too.


If this style of game is up your alley but you're looking for a more complete experience, then the Legend Of Grimrock series is what you're looking for: https://store.steampowered.com/sub/49358/


Potato Flowers in Full Bloom is a recent indie turn-based dungeon crawler and it's really, really great.

https://store.steampowered.com/app/1601280/Potato_Flowers_in...


The genre is called "first person dangeon crawler"

https://dungeoncrawlers.org/


Actually the genre is called dungeon blobber.

Dungeon crawler is a much wider field than blobber is.


The linked game is a dungeon crawler, not a blobber. A blobber implies that you control a party that acts as a single "blob" in game space - games like Might & Magic, Wizardry, Wizards & Warriors (the 2000 game) etc. are blobbers since you control an entire party but not the individual party members (so a game like Dragon Age isn't a blobber despite controlling a party because each party member is its own individual entity in the game world).

A dungeon crawler can be a blobber but not all dungeon crawlers are blobbers: if you control a single character - like in the linked game - the game is not a blobber. Note that also not all first person games where you control a party are blobbers: for example games like the classic Gold Box games (e.g. Pool of Radiance) are not blobbers since while you have first person exploration and a party to manage, combat switches to a 3rd person isometric-ish perspective where each party member is an individual entity that is controlled separately. Though some people may say that games like Gold Box have blobber exploration and non-blobber combat.

Also FWIW (and this is something the authors of the linked site above acknowledge too), not all dungeon crawlers and blobbers use a grid-based system for movement and combat: classic examples would be Might & Magic 6 and Wizards & Warriors, both of which are blobbers (the entire party acts as a single "blob" in the game world) but use free movement.


> The linked game is a dungeon crawler, not a blobber. A blobber implies that you control a party that acts as a single "blob" in game space - games like Might & Magic, Wizardry, Wizards & Warriors (the 2000 game) etc. are blobbers

And this game is also a blobber, including by that definition. Your party happens to have one member. But the game is clearly a blobber. You can do the same thing in Wizardry, it's just a bad idea.

By your definition, though, it would appear that virtually all JRPGs are "blobbers", which seems wrong to me.


> And this game is also a blobber, including by that definition. Your party happens to have one member.

If a game does not have you control a party of multiple members it is not a blobber, there is no "it just happens to have one member". That makes as much sense as Apple claiming that a tap is a zero length swipe back in the day and it'd basically mean all games are party based (hey, Quake is a party based game because you control a party of one - and Solitaire is a party based game because you control a party of zero).

> You can do the same thing in Wizardry, it's just a bad idea.

Wizardry is a blobber because you can have multiple party members even if you decide not to. The linked game is not a blobber because you cannot have multiple party members even if you want to.

> By your definition, though, it would appear that virtually all JRPGs are "blobbers", which seems wrong to me.

Only JRPGs that treat the entire party as a single "blob". And yes, blobbers are very popular in Japan and have influenced other games made there too.


The mechanics is quite different here. I believe Grimrock is "I move, you move" movement mechanics, and in this, the enemies moved in real time. Subtle but completely different gameplay as a result.


This is mistaken, Grimrock is realtime. I just booted it up to confirm; I don't even see an option for a turn-based mode, which would be handy, because the game is quite challenging and without deft and constant repositioning you'll quickly become spider food. :)


> I believe Grimrock is "I move, you move" movement mechanics

But it isn't.

> Subtle but completely different gameplay as a result.

It's difficult to identify "results" of circumstances that aren't true.


The snark in this comment doesn't seem necessary or called for


My parent comment consists entirely of lies and "observations" that cannot possibly have been made. There is no other content.

What kind of response do you think is warranted?


One that isn't dripping with snark, but I'm beginning to suspect that's impossible.


These are commonly referred to as "turn-based" (like chess).


Reminded me of Grimrock too, but if you also like this I'd recommend a game called Barony. Great multiplayer RPG romp that has a lot of depth and secrets to discover. Also procedurally generated.


More info here: https://www.littleworkshop.fr/projects/keepout/

It uses Three.js.


Most things from that website have been linked on HN in the last few days. They clearly do great, inspiring work.


Is the source code available somewhere?


Wonderful graphics, but I rather like browser puzzle games (while half-listening to a Zoom meeting) like this one: https://slices.ovh


I'm not as huge fan of the controls. I have five fingers on my left hand, and there are six buttons there, so I'm constantly moving them around, while my right hand doesn't do much. Maybe figure out a way to use both hands?


+1, arrow keys for turning pls


They already do that.


The controls are indeed clunky, but also the reason why this game became an instant hit with my six year old! Simple to explain, simple to operate!


I don't think you're ever expected to hit all 6 keys at once?


aren't these pretty stock keys for game play? i'm not a heavy gamer by any stretch of the imagination, but these controls are very familiar to me from the few games i have played


For me, on Firefox Android, the game worked beautifully (it got stuck at a certain point - no movement/actions accepted anymore but the visuals and menu worked). I got to level 12 and had purchased everything, so I felt I had nothing else to strive for.

Great variety of enemies and attacks. Loved the different weapons and how they "evolve".

If would be fun to have the frozen ward being able to nullify the fireballs, as it seemed an obvious consequence.

I think after unlocking all the base weapons, it would be fun to move up and be able to access "epic" sets (not just money locked, so you don't see them until you buy the other ones).

Also expected to have some "hidden" treasure rooms but even trying no walls broke, even with bombs.

Might be nice to have a boss fight every 5 level, often it's done by taking the base enemies and making them huge and harder. If I had a reason (like reach level X to save the princess, or reach the center of the earth or something else), I would have kept playing but after level 10 and everything unlocked, I thought maybe the game was over.

I really enjoyed the experience! The graphics were great, just the level cleared text seemed lower quality than the rest (maybe a font rendering problem?).

Great job!


This is insanely good, as someone who hates mobile gaming outside of pixel dungeon this is probably the first 3d shooter game I've enjoyed playing on my phone where the control and game play felt good, the fact that it's in the browser is fantastic.


Interesting. I'm using Fennec from F-Droid and only got controls and a black screen.


That was a really good experience.

The "About" button in the menu leads to a webpage that 404s. As another commenter has pointed out the correct URL is https://www.littleworkshop.fr/projects/keepout/


Thank you for the bug report, I just fixed it.


Fun concept, really makes me want to play Legend of Grimrock 2 again. I don't know if the devs are here, but here's my feedback:

* The wand's cooldown is way too low. It has infinite charge so there's no consequence to stunning enemies, attacking them, moving backwards, repeating. You can effectively stunlock any enemy.

* Dragon's attack speed is almost instant. There should be an attack animation before it shoots a fireball, right now it feels like it's faster than any melee enemy. Ranged units should be manageable when they're close.

* A dungeoncrawler needs traps. Where are the floor spikes, wall axes, giant rolling stone balls? It needs it.

* The "Read more about this project" links to a 404, I guess this is an old project.


Yes this is an old project that we did back in 2015, but thank you for the broken link report, I just fixed it. Also, thanks for your feedback (which I agree with!) but we currently have no plans to update it.


and at least one mimic right around when the player is starting to get confident :)


really cool... amazing that you can get playing immediately

controls could use some work. i'd rather move with wasd, turn around with the mouse and attack with the mouse too because it's a first-person camera...

or make A and D turn-and-move in that direction with some other input for strafing which seems less useful than turning. and in any event, attacking with something like j, k or l is probably more intuitive (to me)


This worked in normal mobile safari but when I added it to Home Screen, and turned landscape it squeezed the gameplay into the left third of the screen.

The game overlays, however, displayed undistorted, in their correct positions.


A Doom tribute game. Nice.

Worked fine, cleared five levels, bored.


Ooof make me feel old why don't you... this isn't Doom, it's Dungeon Master! The grid system, everything moving on a metronome, inventory system etc. I agree this version is shallow but very easy to pick up.

Legend Of Grimrock is the modern remake I know, drags you into its complexities level by level. Really good game.


The levels are more Wolfenstein 3D than Doom.


It's neither, more like Dungeon Master or Eye of the Beholder.


You aren't missing much, the game only goes up to level 15 (yes I played the entire thing)


Same for me...


Very polished and smooth but it feels a bit shallow. So far I imagine the gameplay is limited to moving forward and strafing through progressively longer dungeons.

There is a charm to the first-person element and limiting movement to a grid, but the controls feel slow and are frustrating relative to FPS movement or a top-down action RPG Diablo style layout/controls. It was annoying waiting for each animation to finish between alternatively walking/turning/strafing.


Worth noting that this is not a new game, it came out in 2015.


Yeah, noticed the Google+ link in the menu and was like "oh, we're getting into some history here".


If the browser window is taller than it is wide, the shop is an entirely black screen.


It reminds me my WebGL First-Person-Shooter https://dinohunt2.ivank.net that I made 10 years ago :)


No enemy textures loaded for me on Brave Android though their shadows were visible. Some wall texture glitches on the 1st level but otherwise nice.


This is super fun! I'm no expert in games like this but I think everything is perfect. I wouldn't change anything. It all feels really intuitive fun and it's clear you've put a lot of thought into it.

I'd say the experience is already optimized :)

Can you tell a little bit about the creation process? Is it a team? What did you user to build this and create the textures and and characters?


It was a fun distraction. That you for share!


Yeah, I enjoyed it a lot more than I thought I would.


Thanks for posting this - it's a lot of fun to play, in a casual and fun way.

Also, this reminded me that I hadn't played my Rogule [1]for today, so I'll go do that, too :)

[1] https://rogule.com/game.html


That is very cool, played far more than I thought I would. Great job!

I always found it funny when you would leave the store it would have this fade out/shrink animation. It is the same transition I have on my desktop windows and for a moment I kept thinking it was about to crash. ;)


I love that Google+ is included in the "share this to social" functionality. Very retro


This is an amazing game. Nice work!

May be adding mouse control? Turning with arrow keys are kind of clunky.


Since it was apparently made 9 years ago (2015), it's highly unlikely.


Whenever a WebGL game is released, there's tons of browser issues across many different types of devices. It seemed to work for me (iOS) but just read the comments. It would really make me think twice about developing a web game.


PC games have as many if not more issues than web games even when running on only one platform (Windows). Every major PC release has tons of issues.


The big difference is that on PC, there are ways to work around, with the browser one is usually stuck, and that is if the system isn't blacklisted to start with.


This excellent. My 6 year old is loving it on his tablet. Compared to the crap you get in the app stores this is amazing. No ads every time you touch the screen, decent graphics, progress without being forced to watch ads or pay.

Kudos.


Neat! What’s the easiest way to make something like this?


Probably unity, this kind of game isn't too complicated. It's mainly making it feel good and look neat with graphics and VFX.

If you went for the pure browser way, Babylon.js would be your best bet. It has a bit of a learning curve, as you would need to implement base game features yourself but it wouldn't take too long for something like this.


I think both Unity and Godot have ways to compile to WebGL. I don't have direct experience with Godot, but in Unity this would be relatively simple to do.


If this was made with Unity it would load a lot slower and perform worse. Unity is not a good fit for web. Godot might be better, I'm not sure. PlayCanvas is an option.


Most fun game on HN since Infinite Craft.

Worked well on iOS Safari. Installed as PWA and everything. Managed to keep my attention for 5 levels. Nice work.


Nice game! Smooth even on slow connection. Maybe bit too easy. I was used to games that killed me at the beginning on a first try.


I have already sent this to all my buddies.

I thought about generative games, so that one game could be made, and each individual gets their own experience.

Well done!


Please, let me change my key bindings. I always use S to move forward and W to move backward. But otherwise it is super cool.


Nice game and very smooth. The graphics works very well on mobile. Wish there was a non-procedural version to memorize.


Fun! One tweak I'd make is not full healing the player on every level. It would make the potions much more useful.


Usually WebGL games aren't that great, this one however, is a great exception, and an enjoyment to play.

Great work.


Slightly OT. Why did browser gaming ended up having such low variety and no "hits" for so long?


Flash games and to a lesser extent Java applet games used to be very hot. Back in 2005 or so i paid rent with a game i made in literally an afternoon in Java.

However the largely "casual" market who played these games switched to mobile phones and any remaining "hardcore" players switched to Steam, which in meantime opened up to developers.

And from a technical side, it took years for web tech to reach what you could do with Flash when the latter was forcibly killed.


No in-app purchase for monetization. IAP whales drive the whole mobile game ecosystem.


From a business perspective I don't really agree.

The market for other types of players is there and it's far from niche. It's more like making games for them isn't as lucrative. Still pays well for sure, but you can make the same or better working in a corporate office like everyone else. Ironically, office drones are probably the ones who most want to make and play these games.


I'm on an ZenFone 10 with Firefox and I can only see the menu UI, everything else is black


Terribly boring but super polished!


This game must have been around for a while. The menu page has a button to share on Google+.


It's broken on iOS. It asks to turn to landscape but the screen doesn't expand.


You can die and respawn on level 5 kill all the monsters and be left keyless and stuck.


I loved this game! I played until level 13 and unlocked and bought every weapon


Nice rogue-lite, got to level 10 before dying multiple times and giving up


Good graphics, but it's almost impossible to fail. Not a good game.


Fun, until I reached the dragons. Those jerks seem unbeatable!


I beat them all just by spamming bombs.


This is an old game, I finished it multiple times long back.


Enemies only have shadows but no model. Chrome pixel 7.


Where's Adria the Witch. I have a wand to recharge


Wand not having charges makes it seem like the best thing to rush. Income per level went way down after buying bow

Melee knockback always a tossup, especially since freeze can be chained, goes much nicer on Windforce

Observed pacman glitch: running towards projectile can cause it to miss


Does anyone remember Pyramid of Peril (1985)?


That was fun. Thanks for making it!


let me use the mouse and turn, the 90 degree movement is getting me killed after level 5


Great game, really fun to play!


cool, but stopped working as soon as I hit the shop entrance. Just black screen.


I found the same, in my case it was fixed by resizing the window. Seems like a bug when the window aspect ratio is portrait instead of landscape.


Browser (version) and OS would be probably helpful.


For me, the same thing happens on Firefox 125.0.2 (64-bit).


Very much enjoyed the game :)


when the screen is smaller than 930px width, its all black for me


love it. the sound work great!


Simple and clean. Very nice. Loads instantly.


Super cool


[flagged]


You're going to have to do better than this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: