
Keep Out – WebGL Game Experiment - mariuz
http://www.littleworkshop.fr/keepout.html
======
franck
Author here. In case it's not obvious from the article, the game URL is:
[http://www.playkeepout.com](http://www.playkeepout.com)

Happy to answer any questions!

~~~
unoti
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?

~~~
daredevildave
You might want to take a look at playcanvas
[[https://playcanvas.com](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.

------
bjackman
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!

------
convivialdingo
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)

~~~
franck
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 :)

~~~
convivialdingo
Thanks for a great game!!

------
hardwaresofton
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.

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

------
cessor
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 :)

~~~
franck
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.

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

------
timinman
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](http://www.playkeepout.com/js/backbone-min.map) 404 (Not Found)
(index):1

GET [http://www.playkeepout.com/js/underscore-
min.map](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!

~~~
benjaminjackman
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.

------
binarymax
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.

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

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

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

~~~
franck
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.

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

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

~~~
bemmu
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.

~~~
franck
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.

~~~
felixturner
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](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.

~~~
franck
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!

------
Jyaif
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.

------
daredevildave
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?

------
zubirus
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.

------
m1k3r420
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?

~~~
franck
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.

~~~
m1k3r420
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.

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

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

------
apo
Nifty game.

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

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

------
Maggzyy
How many levels does this game have I assume Unlimited?

------
natkiny
Amazing game ! Good job LittleWorkShop :D

