Hacker News new | past | comments | ask | show | jobs | submit login
Keep Out – WebGL Game Experiment (littleworkshop.fr)
127 points by mariuz on Sept 16, 2015 | hide | past | favorite | 52 comments



Author here. In case it's not obvious from the article, the game URL is: http://www.playkeepout.com

Happy to answer any questions!


Nice piece of game! Any chance you could write a couple blog posts about the technical challenges you had to face, if any? I'm especially interested in the way you generate levels. Thanks.


We should post an article relatively soon including the level generator for people to play with.


The shop doesn't work on a monitor (or browser window) with height > width. It appears when I resize the browser window. Otherwise the game works quite well on a rotated screen. Independent from screen rotation, some textures are badly compressed. Such as the pattern on the vase.


Thanks for mentionning this, we'll take a look at this issue. About the textures, I agree some of them need a rework.


What's a good way to get started developing similar apps? Do you recommend coding from scratch right in WebGL, or do you recommend starting with some framework or another? Do you have any thoughts on using Unity or Unreal Engine for WebGL deployments?


You might want to take a look at playcanvas [https://playcanvas.com] if you are looking for something a little more game specific than threejs. We've designed it specifically for WebGL and hence it works a lot better than Unity or Unreal.


I recommend using Three.js which is the library that our game is using. Starting with WebGL from scratch might be too difficult if you have no experience.

Unity is not quite ready for the web yet, they have a WebGL exporter but it doesn't support mobile.


Very well done and polished, had some fun !

Small bug I've found : If you stand in a 'cell' with 3 walls and the only exit is occupied by an enemy, you can't rotate to hit and get killed eventually.

A drawing explains it better http://pastebin.com/6uZS67VJ


Thanks for the nice words and bug report, I will investigate. Never had this happen to me yet.


Is there anyway to change the keyboard setting? I accidentally selected the wrong one, and had to relaunch the game in an incognito tab to be given the chance to re-select the right one.


Yes, you can change the keyboard setting at any time by opening the menu (ESC) and selecting "How to play".


Kudos to getting it to run very well on mobile and for having the thoughtfulness to put in touch screen controls.

Any plans on adding gamepad support? (It looks like Chrome for Android has it now.)


Yes we are probably going to add gamepad support soon.


I like it. Unfortunately after running nicely for the first 6 levels, the framerate dropped to unplayable on level 7 :(

I'm on the open source (Nouveau) drivers with a "NVIDIA Corporation GF119M [Quadro NVS 4200M]" which I believe is pretty shite, so don't worry too much I guess!


Found a bug... Level 12.

Was being attacked and I froze a troll like object, but the flying red thing killed me (the fire breathing one you can kill with a sword). I threw a bomb right as I died, now the game scene is stuck at the the moment I died.

The game engine restarted and I can move around using the map. I'm taking no damage, but I get stuck in hallways by creatures that obviously aren't taking any damage either.

Console is filling with "Uncaught TypeError: Cannot read property 'distanceToPlayer' of null"

I was able to "restart game" - but there wasn't an option to restart the level.

Edit: Browser is OSX Mavericks 10.9.5 / Chromium Version 46.0.2456.0 (64-bit)


Thanks for the detailed bug report. I guess throwing the bomb as you died produced some kind of unexpected side-effect. I will make sure it's fixed! Congrats on getting to lvl 12 :)


Thanks for a great game!!


I was impressed with browserquest and I am impressed with this also. Buttery smooth on FF40.

What I also liked was how quick everything was (both loading, introduction gameplay), and relatively well drawn/animated.


Be sure to try it with your phone or tablet. It works just as well with touch controls.


I enjoyed it. I would love if it was tougher though. Most enemies are vulnerable when you strafe away and attack them from the side. I found that out pretty quickly and for that reason didn't like the power sword, because the knockback distance makes their movements less predictable. I did the first couple of levels without buying anything and was dissapointed that I had to buy the L1 bow first.

I actually like the game for its simplicity. However, I got a little annoyed by the baby steps in the first level. I guess I can handle walking, slashing and bowing things if its not fed to me with a ridiculously tiny spoon.

The game reminds me a little of Wolfenstein. In relation to that I felt that collecting money ("loot") was cumbersome and boring. In Wolfenstein, a lot of weapons were just laying around and posed an incentive for curageous explorers. I would rather find them and be surprised, or receive them as a reward, instead of having to buy them in the same boring store behind each level.

Well done, anyway :)


Thanks for your comment!

Finding the right difficulty level was challenging. People have given us different feedback depending on their skill: some keep dying around level 6, some find the game too easy. We tried to keep it difficult enough for it to be still being joyable by everyone. I agree personally that it should be tougher (and with more levels)!

Same thing for the "tutorial" aspect of the first levels. We wanted to make sure that casual players would not get overwhelmed too quickly.

About the tier 1 bow, you don't have to buy it first. Apart from the sword, you can buy weapons in the order you choose.

The shop was put as a incentive for people to keep playing in the context of a Web game which you don't know anything about. We feared players would not understand the scope of the game without it. I tend to agree with you though, as a gamer I prefer exploring and finding hidden items.


Should definitely skip the first 2 levels are least for repeat players. Maybe give then a level choice based on the highest completed level.


I guess maybe chrome for Ubuntu doesn't have webGL? It doesn't work. The console says:

GET http://www.playkeepout.com/js/backbone-min.map 404 (Not Found) (index):1

GET http://www.playkeepout.com/js/underscore-min.map 404 (Not Found)

three.min.js:9 THREE.WebGLRenderer 71

three.min.js:1 THREE.WebGLRenderer: Error creating WebGL context.

three.min.js:9 Uncaught TypeError: Cannot read property 'getShaderPrecisionFormat' of null

BTW, I played in Firefox and got to level 7. Fun!


It worked fine for me in Chrome in Ubuntu.

You can go to chrome://gpu/ to see more information as to why it's not working on your machine.


I saw this on Twitter yesterday and played for 30 mins while on a break. This is a really nice game. Good controls, well polished, challenging, and fun! Thanks for making it and sharing it with the world.


Thanks! We're glad people are enjoying it. We had a lot of fun creating this.


Wow kudos. I think i just fell in love with both little workshop and BitGem.


Thank you SO much for supporting non-qwerty layouts!!!


My pleasure :) AZERTY is the standard here in France. We are always frustrated by demos only supporting QWERTY layouts! It was one of the first things we put in the game.


Very well done. I love the art design. Great job!


I hate the controls, free movement with wasd for straffe an mouse for navigation (like in FPS) would be better.


It's a genre thing. There is a whole class of these grid-based dungeon crawling games out there and even in the recent ones they stay true to the restriction.


Exactly. It was a design decision that we took from the start. Legend of Grimrock 1 & 2 are a good example of a recent indie game with "old school" controls on purpose. It was a big inspiration for our game.


It seems odd not to consider a control scheme that is so familiar to so many people. Would adding mouse-look break a lot of things?

BTW - this vid seems to show Legend of Grimrock playing with mouse-look: https://youtu.be/xALsxZv0pwg?t=8m53s

BTW 2 - just discovered that cursor keys can rotate. WASD for motion and L/R cursor keys to rotate is waaay better for me.


We could definitely add a mouse-look like in your first video of LoG. It doesn't break the grid-based gameplay. Thanks for the suggestion!


In the genre the world only moves when you do.


I like them. Reminds me of old times (lands of lore) and makes it possible to play this on my phone.


Or go even simpler, back to the days of Wizardry. Up to go forward, left/right to turn.


arrow keys seem to work for movement also


Love the graphics and the fact that the game is fully playable with the keyboard. I also like the fact that there's not too much hand holding.

Only problem is that the sudden movements makes me physically sick. Other FPS don't do that.


I played this for half an hour earlier today. Great fun and superbly executed.

Just tried again on my tablet and unfortunately I just got the spinning loading bar. Not sure if it's just a bandwidth thing?


Very nice and polished game! Small problem I encountered: whenever I died in the game, the dungeon I respawned at was much easier than the initial one.


Fantastic! Helping kill time between support calls :D

There always seems to be a little "L" shaped room by the exit, has anyone else noticed this?


The levels are procedurally generated from a pool of chunks. We currently have too few different "exit" chunks, so that's why it seems a bit repetitive.


Oh ok. I enjoyed the game. It would be nice to be able to swap the turn and strafe controls over as I am used to Q and E being strafe.


Thanks for the feedback. We also plan on adding Gamepad API support.


With a wide browser window, I can see walls that should not be visible. I think the walls on my sides have become transparent.


Nifty game.

I'm especially interested in how it works under the hood. Any plans to release source code?


I really like the sound effects, and like others have said, really great polish.


How many levels does this game have I assume Unlimited?


Amazing game ! Good job LittleWorkShop :D




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: