102 comments

[ 2.1 ms ] story [ 176 ms ] thread
I'm curious as to why more WebGL games aren't popular? Is it due to the infancy of the WebGL scene or is WebGL just not capable of creating great games yet?
I suppose it's mainly due to the infancy of WebGL. The technology itself is well capable of creating good games, which I hope Keep Out! helps to demonstrate.
While this is certainly an impressive demonstration of the WebGL platform, I find the game itself to be not much more than that. Lots of potential, though!
Hi, I'm one of the developers of the game. Feel free to post questions.

Also, be sure to try the mobile version with your phone or tablet.

More info on the project here: http://littleworkshop.fr/keepout.html

Is there any particular reason you decided to go with q-e for turning instead of mouselook?
It's a decision we took in order to stay true to the genre of classic dungeon crawlers. We're planning to add mouse-look control because many people are asking for it.
Please do. The nostalgia factor of this game was limited to, "oh right, I remember when controls used to be shit" for me.

Otherwise pretty fun. You could get more out of it by having higher upgrade paths, and using standard controls would make the top-tier upgrades less necessary.

The game is cool, the tech is impressive, but the controls are shite.

rotation by only 90 degrees left/right is cumbersome for me... :/ I feel like I'm steering some weird stupid robot instead of dungeon warrior.

but I like overall feel and GUI, the way you give hints to user about keyshortcuts via dialog windows etc.

(comment deleted)
I couldn't play the game because of hardcoded movement keys. I'm using Colemak layout, and I'm sure Dvorak people would feel the same.
Dvorak user here, though I'm used to temporarily switching layouts for hardcoded games.

My hopes were raised when I saw the keyboard type dialog, but dashed when I looked at the options.

Same here.

Would recommend a text change: 'keyboard type' to 'keyboard layout'.

I wonder it's possible to make a browser extension that grabs incoming keystrokes and maps them from one keyboard layout to another? I know I've seen extensions add new keyboards shortcuts to webpages, but I'm not sure about sending custom key input to a page or blocking the original presses from going through.

And it's also possible that a game like this directly grabs input in a way that an extension couldn't intercept. Web dev is really not my thing.

I'm using Neo, and though I'm also used to keyboard switching, I'm very much accustomed to leave my fingers on the default position (i.e. my left index finger on qwertz [f], where the little marking is). Because of this I haven't gotten the hang of strafing for the ten levels I played and then it got very difficult to avoid.
Congrats for this great game, really nice implementation!

I'd be interested in some development facts: - How long did it take you to create the game to it's current state?

- What was your budget? If you don't want to answer precisely: How high do you reckon must the budget be to realize a game like this?

- how big is your team and which roles did you have in that team?

- which frameworks/engines did you use? Did you create your own?

Thanks, and Keep it up!

Thanks! Nice pun. :)

It took us about 3 months to create this game as a two-person team. Budget was actually pretty low since we only had to buy several 3D assets (they were not created specifically for our game), a few textures and some sound effects. We used the three.js library.

What means "pretty low budget"? 20k? More? Less? :)
Much less than that. I'd say under $1k in this case, but that doesn't mean anything because a huge part of your budget would be development cost, which was done in-house on this project.
Wow, stupid question, but why did you do that, if there's no margin? :) As a showcase to promote your other products or your company?

I'm interested in this because game developers obviously tend to be satisfied with little budgets, which is, in my opinion, harmful to the industry, if you do it for a living.

Like you said, as a way to promote our web agency.
Controls/movements are horrible... it makes the game unplayable. Why not Wolfenstein 3D like movements?
Sorry you felt that way. Keep Out! takes inspiration from dungeon crawlers (like Legend of Grimrock) which have similar old school controls.
Game is practically unplayable in Firefox Developer Edition on OSX. The first key I press works but then triggers 'Find' and focus shifts away from the game screen to the 'Find' input field. Any workaround?
same here on Firefox ESR 38.2.0 on Windows
Thanks for the bug report. This has not happened to me last time I tested it on Firefox. I will investigate the issue.
Go to Preferences -> Advanced -> General

Uncheck "Search for text when I start typing"

Oh wow - thanks so much for this!! I just got a huge nostalgia hit back to the days of The Shadow of Yserbius/Fates of Twinion, which were some of the earliest games I played. I think both your game engine and art style have somehow captured the core of this type of game, even being realtime, and without the multiplayer or RPG elements.

I'm a big fan of web first development and I'll be sure to use this as an example of what's possible.

Congrats! You've done a very good job, the game is really visually appealing.

I've noticed a slight delay between inputs and execution (<300ms). It might be the animations length, or just the fact that I've racked up the key repeat frequency of my keyboard, or simply that I usually play faster paced games :)

>Also, be sure to try the mobile version with your phone or tablet.

This. On desktop is nothing impressive, but on a phone it really amazed me - works very well, looks nice. And it's running in Safari. Good job. Will play it on my next bus ride, cheers.

Really great job. Is there something I need to enable in chrome to use hardware for graphics? The macbook with iris sounds like it's about to take off. Thank you
It's already using your GPU. Iris is just not a very powerful one, so we can't do much about it. We've actually noticed a better graphical performance on an iPhone 6 or iPad Air 2 than on a 13-inch Macbook Pro with Iris.
I got really, really excited when I saw the 'select your keyboard' option! I got sad again when there wasn't a Dvorak keyboard option. Is there any chance you'll be adding a Dvorak option?
Yes, several people have requested this so we'll add it soon.
Found a bug (I think): it seems like the cooldown on the attack of the red guy who shoots fireballs resets when he moves. If you strafe to dodge a fireball at close range, he strafes and fires instantly again.
The keyboard handling seems a bit off. If you hold S and then press C, you'll stop moving backwards even though you're still holding S. I often thought I was running into a wall or some other obstacle while in fact my input was simply being ignored.
This is a really fun. Been playing around with this on Firefox on Android an Chrome on Android. Great to see a game that transitions smoothly from desktop to mobile.

Noticed that on mobile once you exit fullscreen by pressing the Android back button there is not a way to get back into fullscreen using both Firefox and Chrome on Android.

Great game, thanks!

One thing I noticed was after level 8 or so the sound started to stutter really badly.

FYI I'm using Firefox 40.0.2 on Arch Linux

Neat game. Point of view seems to snap to 90 degree angles, which is a little... unnatural?
Thanks! The locked point of view is part of the classic dungeon crawler genre.
3d view is though is not. it works on a 2d grid but it gets weird when you move in 90 degrees in a 3d game
>3d view is though is not. it works on a 2d grid but it gets weird when you move in 90 degrees in a 3d game

From 1980-ish to the mid 1990s this was how "3D" dungeon crawlers worked; anyone who played Wizardry, or the Bard's Tale, or Might and Magic, or the SSI Gold Box RPGs, etc., will feel right at home.

Thanks a lot for letting me choose my keyboard layout! I'm using azerty and using qwerty-based commands is getting really old...
You're welcome! As French, we're also often frustrated at qwerty being the only option in most demos/games.
Why aren't you frustrated at the continued existence of azerty? I lived for a few years in France and I always had to ask for a US keyboard or my brain would just get too confused keeping azerty and qwerty separate.

Now I'm back in Italy and I still prefer the US layout for the convenient position of brackets and braces, but at least the 26 letters are in the same place as the US keyboard.

Slight variations of qwerty are IMHO much worse than completely different standards like imperial vs. metric units because they are too close to keep separate in my brain.

azerty is a cultural thing. You learn to use them as a kid, and so most french are used to them. How can someone feels frustrated by something that feels completely natural?

Pro tip: alt+shift switchs the layout between azerty and qwerty

I would appreciate a Colemak option (I saw someone else in this discussion also requesting it)!
What I would really prefer is to be able to set your own keys, probably with some defaults for common layouts. That way you serve any layout and any key usage habits.
This is pretty sweet, great job!
Nobody has said it yet: It's incredibly fun to play. It's not just a good demo, it's simply a good game. The enemies are so smart. Like the nearly invisible ghost. The animations are also great. You want to do something all the time. And it looks just incredible!
Thank you! We did try to give each enemy a unique behavior/attack pattern to create some gameplay diversity.
Having to deal with different types of enemy at the same time gets interesting, things start to get tricky around level 7-8.
I only played 3 levels (gotta work), but that's some awesome work.

Quick question: is it possible to use multitouch to have movement controls on one side and direction controls on the other? Or, is that not doable, and that's why you guys decided to put all the controls on the left?

Yes, it's probably possible to do as you suggest. However, we're already using the right portion of the screen for player actions (use weapons and potions).
It looks nice, I like that I can select my keyboard.

But I feel a bit dizzy after 2 minutes of playing, because of the weird 90° turns. So, this is not for me.

Great game ! Thanks for sharing
very nice game!
Makes me want to create my own game now. Impressive job with Three.js. Would be cool if this was multiplayer.
Great game.

There's a weird bug in the shop screen when you click left or right more than two times the 2nd+ time it seems to scroll multiple times (it actually only moves you one across, but the animation looks like it scrolls multiple times).

Thanks for reporting this, will look into it.
There they go... Thousands of working hours of Hacker News readers... ;)
Thank you, thank you, thank you for the keyboard selection. So many cool web game demos assume querty which makes it really inconvenient or even impossible to play them without changing the keyboard layout in the OS, but that's asking a bit much for trying out some game demo.
100% agree. Unfortunately there's no way to detect the keyboard layout with JS, so we had to ask the user to choose their keyboard.
Yeah. I know. You could try heuristics and trick the user into pressing y or z early. Then you'll know what they probably have.

But yeah - just asking is better and I'm really happy that you did

There's this keyboard selection thing in the Ubuntu installation that asks you to type in a few keys, like "Type any of AZ123...". Perhaps this could be useful here?
The most awesome part is that it works super smooth on my android, feels absolutely like a native app from store.
It's a very good game, fun, easy and addictive. Keep working on it as a side project and this might turn into something really great. A really nice showcase for your agency!

Although i will echo what other people said, once you go mouse look you never go back.

Awesome game! Congratulations to the developers!
This is one of the best WebGL user experiences i have seen. Any thoughts about a followup on the used software, tools, libraries, gotchas, ... ?

I don't know much about 3D modeling, but i would sure believe you if you gave references to some type of tooling, workflow :p

Thanks! We definitely plan to write more details about the development process. About the 3D models, just to clear up any confusion, we did not make them. They were bought from bitgem3d.com which offers amazing assets for 3D games.
Ah, feels like Eye Of The Beholder all over again, nice work! Very polished and I love the graphical style :-) Minor bug report regarding the audio which started off fine but got progressively more and more stuttery until I couldn't hear anything at all, around level 5 or 6 - it was breaking up like a bad phone line. I'm using Firefox 40.0.3 on Windows 7 x64.
We'll look into the issue, thanks for reporting this.
Turning with Q and E felt very weird. It got much easier when I realized you could use the arrow keys for turning.
Well done! What about the 3d characters and their animations, did you use Blender, Unity or something like that? Cheers
We didn't create the 3D models. We bought them from the amazing bitgem3d.com store.
Fun game. Works really well. However, after playing 4 or 5 levels with Firefox 40 the sound got really stuttery and it never recovered.
Reminds me of Legend of Grimrock-- Nice work, something to be proud of for sure.
Looks good. One bug I found though: I have my Firefox window on OSX positioned on the left half of my 2560x1440 screen, and I could complete the first level fine, but when I got in the shop, the screen turned totally black after getting a message about having to buy a sword.

When I made the window only a little wider, I could see the shop interface perfectly fine and continue with the game.

This works really great on Android Chrome, it is pretty close to an app experience (not being 60fps is the biggest giveaway). Speaking of Android, FYI the Orientation API is available, so you can lock to landscape and avoid that Portrait interstitial. `screen.orientation.lock('landscape')` at the time of this writing :)
Oh, didn't know about this one. Thanks for the heads up!
Authors of Mozilla's BrowserQuest still keeping it up!