
Learning VIM while playing a game - yogsototh
http://vim-adventures.com/
======
vog
Congratulations to that very nice and useful game! I loved to play around with
the first 2 levels.

It's a pity that the project's state is totally unclear (at least to me, a
casual visitor). Is it meant to become a community project? Is it a demo of
something that will be sold in the future? The explaining text behind the
"Unlock Levels" button adds even more confusion:

 _> Additional levels are currently being developed for you to play and enjoy.
The 3rd level will be available for FREE only for players who sign up for my
email list. Sign up now! You'll be notified as soon as the level is up. The
level won't be available for unregistered users._

On the one hand, it sounds as if it is free, with some "forcing" to make more
users join the project mailing list. On the other hand, this is totally
discouraging contributions (because you aren't allowed to see the work-in-
progress version), so maybe it's meant to become for-sale in the future.

I'd love to see it developing either way (although I think the community way
is the more appropriate for this project). But as of now, it seems to _unify
the disadvantages_ of both worlds: Advertising the mailing list in a way that
appeals neither to people who are willing to pay (as there's no clear pricing
plan), nor to people interested in contributing (as it seems to more about
announcements/"newsletters" than about how to improve and to help).

~~~
pervycreeper
Not to mention that this all goes against free software values, in a game that
touts "the power of open source".

~~~
Sumaso
Open Source != Free Software

~~~
vog
Although I agree that both terms are not exactly equal as they emphasize
different aspects, those differences are totally irrelevant to the argument at
hand:

If you advertise your project by stating you are convinced of the "power of
Open Source", but don't make use of that "power", how much credible is that?

No matter if you find this argument convincing or not, it has nothing to do
with the difference between Open Source and Free Software. It's just about
adverticing a proprietary project with "power of Open Source" versus
advertising it with, say, "power of Vim".

------
brown9-2
Very interesting idea, but something seems to be off with the email signup -
it reports "Error: SMTP Error: Data not accepted. Mail could not be sent." for
two addresses I tried, one of them @gmail.com.

However when I try to sign up a second time a minute later with the same
address, it reports "Email address is already on the list".

~~~
doronlinder
Thank you very much for mentioning my site here! The problem with the email
signup is that I exceeded the maximum 500 mails that google outgoing mail
server allows per day (500). All emails are entered to the list first, even if
the confirmation mail isn't sent. I'm working on setting up an outgoing smtp
server so I'll be able to send more mails. At this point gmail won't even
allow me to email from my account. As soon as I have an outgoing mail server
I'll send the mail again for anyone who subscribed. So if you get a message
that your email is already on the list, everything is ok and I'll send you the
thank you email in the next couple of days. The third level, once it's up,
will be open to you. Thanks for everyone who pointed that up and sent me
emails about that.

------
JoshTriplett
Cute, but the inability to use keys before "collecting" them makes it painful
to use as an experienced vim user. I'd love to have a mode that just unlocks
all the navigation keys immediately. That would allow users to fly through the
early levels, and then get slowed down by the first thing they _don't_ know.

I found it particularly clever how the game forces you to use better
navigation, by allowing you to skip over rocks that way.

Also, teaching capital HJKL early on seems like a good way to make it through
the maze more easily; hitting the same key repeatedly (or rather, leaning on
it until hitting a wall) seems like a bad habit to teach.

------
steve8918
I learned how to use the controls of VI decades before I actually learned that
VIM existed, through Hack/Nethack. I thought the controls were ridiculous, but
I was a kid, so I just accepted it and learned them, little did I know how
useful they would become later on in life.

~~~
tibbon
How close are the controls? I never noticed they were similar... maybe I
should try to ascend again, as I'm terrible in VI

~~~
agscala
Movement in a lot of roguelikes is HJKL. Also it's very common for YUBN to
make your character move diagonally.

~~~
Natsu
You could almost make (d)ropping items into a similarity, too.

------
pyriku
They could do something like this one for Emacs. Wait, it already exists: it's
called Guitar Hero.

~~~
DEinspanjer
I fear you might have just caused that thing to spring into life.. I only hope
that it wasn't actually rule 34 that triggered it.

------
tomkin
Wow. This is absolutely genius. You want to be more productive with vim, but
this is generally due to the fact that you have little time as it is. Learning
vim hasn't always been in the best interests of my current task. Then there is
this game. Brilliant.

~~~
doronlinder
Thanks! I'm at a loss for words. It's very kind of you.

~~~
tomkin
You deserve it. You put a lot of work and effort into essentially helping
people learn, which makes people's life easier.

------
philluminati
I've gotten to the end of the level. Then I remembered that in the top corner
of the Maze is another treasure chest. I go back there to the !! marks and
type b but cannot enter that area.

The message reads "Remember: these are not words"... so how do I get in there?
Can that part of the game not be solved?

I've tried Shift-B, ^ etc. Is anyone else able to get into there?

~~~
doronlinder
Nice catch! Actually, that's one of the places where a B would come in handy,
but it's only collected in level 3 so the chest can't be accessed yet :)

~~~
eridius
Nope, that doesn't work. I already tried going back to the maze after getting
B, and it still wouldn't let me in to the chest.

~~~
darklajid
'B'. You got a 'b' (unless I'm very much mistaken).

------
jlongster
This is great! I've been meaning to learn the basic VIM keybindings so I can
start using evil-mode in Emacs:

<https://gitorious.org/evil/pages/Home>

------
s00pcan
Couldn't move at first, then I realized I had to disable the vimperator
plugin. Cool game though!

~~~
ZeroGravitas
Ctrl-Z (passthrough keys to website) worked for me in Pentadactyl (and I
assume Vimperator).

~~~
m0tive
I think `Insert` does the same thing in Vimperator

------
lell
Nice! I got bored before I finished the first level, but not before I was
trying to use stuff like ^,$ and ctrl+f, ctrl+b, 5l to get to the end of the
tunnels faster and those didn't work. Is more advanced editing unlocked in
later levels? or is this just for getting off the arrow keys? I can imagine
some cool things in a more advanced vim game like * for teleporting between
words, mm to drop a bookmark, :badd to get to a new level ...

~~~
doronlinder
The target of the first level was to cover hjkl. I know it's a pain and when
you're proficient enough you usually don't use them but use tf*#/ and such,
but it's the basics... The motions are working only on text areas (There are
some on the 2nd level). Bookmarks are indeed planned for teleporting back to
places, and I have plans for /Hello if you look at the first screen ;)

------
com2kid
It keeps crashing Firefox. I am sort of wondering what in the world it is
doing to manage to kill both Firefox and Chrome!

Aside from that, it was not immediately obvious what W and B did, though a few
seconds of playing around and it made sense. (That is about how far I got
before it died the second time)

~~~
doronlinder
I managed to crash chrome once, but couldn't reproduce it. I'm an indie
developer so I don't have enough people QAing the product yet :/ My first gut
feeling is the audio, but didn't have a chance to prove it yet. It would be
great if you'll be able to send me more info on when exactly it crashed to my
mail doron ( at ) vim - adventures . com . Other than audio, I really don't do
anything out of the ordinary - all javascript and canvas. Regarding the w and
b (and e), I left out the exact explanation since I believe that the self
exploring and understanding contributes to the learning process. That part was
intentional. Thanks for your feedback! I'll make another effort to reproduce
the crashes.

~~~
solarmist
It consistently kills chrome for me.

~~~
danmofo
^ - Does it on the first level, when navigating the maze. Using latest version
of Chrome and OS X.

------
ominous
Thank you for this. I have been putting off learning vim for way too long.
Nano does its job fine :P

However, I can't input my email.. it has more than 30 chars. As per source:

<li><input id="email" name="email" maxlength="30" type="text"
placeholder="Email Address" /></li>

~~~
DEinspanjer
Same here, but then even when I tried a shorter name, it gave me an SMTP
error. :(

~~~
doronlinder
I fixed the 30 characters issue to allow up to 70 characters. And you may also
use + signs in emails. The SMTP error doesn't occur anymore, and even when
there was an error the email was still subscribed so no need to resubscribe
again.

------
Produce
Incredibly slow here. Ubuntu 11.04, FireFox 11, intel graphics, 4GB RAM, Core
2 Duo E7300.

~~~
shock
Works very well here: Ubuntu 11.10 64 bit, FF Aurora 13.0a2 (2012-04-23),
nVidia 295.20, 4GB RAM, Core2Duo E6600

~~~
Produce
Must be the graphics card then.

------
ehsanu1
I've had this idea forever, but wanted to make it work in the as a terminal-
based application. Being a noob a systems programming, I got stuck at getting
a PTY working in C that would properly forward the escape sequences from vim
to the player's terminal.

I wanted to just create a program that was simply a layer between the terminal
and vim, so all the power of vim was automatically available. The game was
going to involve manipulating the environment (made of text) to different
goals. I had all sorts of minigames in my head. Unfortunately, way too
ambitious, and I never even properly started it. This makes me really want to
though, if only I had more time..

------
jentulman
I really like this, and if the price isn't too bad I'll pay to keep going as
I've learn't more from this than when I've sat down to try to 'learn to do
VIM'. I guess there's only so much you can cover in this sort of game format
(I'm doubting there will be a .vimrc level), but if it goes far enough to
teach me to take all the lag out of navigating and editing, I'll be a happy
bunny.

~~~
doronlinder
Thanks. I agree that a .vimrc level will be a stretch. I had some ideas on how
to incorporate that to, but I think I'll leave it out. Once you get modal
editing and know all necessary commands, motions, and operators to use,
tweaking your .vimrc is a walk in the park (with a left turn on google street
:) )

------
heydonovan
Just wanted to express my gratitude for creating such a game. It was a little
saddening when I completed it though, as I really wanted to play more of it.
Good job! I'm _really_ looking forward to playing more levels. Do you have any
plans for allowing others to contribute to level design or game mechanics?

------
PedroDiogo_
Great little game! I never imagined a game would be so effective to get you to
learn hjkl, but makes sense, most people learn wasd by playing games too.

I'm using a Macbook Air with Mac OS X Lion and Google Chrome and the gameplay
is very smooth.

------
54mf
Wow. I've been aching to learn Vim for years, struggling through the rare
occasions I have to use it while SSHing in to a machine. I've picked up more
in 5 minutes with this game then I have in all that time. Very impressive!

------
readme
After finishing the maze there is a roadblock at the bottom of the screen
after talking to the girl who tells me about what happens if I step into water
and there is no column above me... Is there a game beyond there?

~~~
henrikgs
No it's not over, use what you learned from her to advance in the game

~~~
readme
Just made it past that. Thanks.

------
overshard
I already know VIM/use it on a daily basis and I found this fun and
interseting.

------
dan_b
Very cool - got an SMTP error when I tried to sign up though. :(

------
mikek
<http://strategywiki.org/wiki/NetHack/Beginning#vi_keys>

------
connor
Pretty cool, just that sad smtp error at the end.

------
tibbon
Chrome 19.0.1084.30 beta on OS X Lion is seeing nothing past the first screen
for me. I hear sounds, but its a black box otherwise.

~~~
doronlinder
The only reason I can think of is that the browser didn't download the images
from the server due to extream load on the server. I'm experiencing some
server problems and opened a support ticket with my hosting company. If the
problem persists, please contact me at doron ( at ) vim - adventures. com and
I'd try to get to the bottom of it. Thanks.

------
lucian1900
Very slow on my Firefox 11, Ubuntu 11.10, fglrx

------
awef
I thought of this a few months back, glad to see it being done in such a
polished manner! Looking forward to play more levels.

------
jMyles
Are the two NPC's at the very beginning supposed to say nothing? I see a blank
speech bubble when I walk to them.

------
Jimbotron
Was silky smooth for me on a Mac Core 2 Duo & Chrome. Nice game and looking
forward to more levels!

------
farico
has a bug with option "start searching when I start" enabled on firefox,
clicking cursor keys makes firefox open up quick search and the game becomes
unplayable unless you keep clicking escape after every other button click.

The game looks fine! I already see how my kids will learn vim :)

------
GGNH
This is exactly what I need as a beginning front end developer. Thanks so much
guys, this rocks.

------
beastman82
My only recommendation to learn vim is vim tutor. Slightly tedious, but fast
and effective.

~~~
Sumaso
"...Slightly tedious..."

This is core problem with learning VIM, many people are off-put by VIMs
complexity.

I think this game does a great job of letting the player explore vim commands,
while complete objectives that are common to many video games.

What makes this game great isn't the fact that it's a video game that lets you
learn VIM as you play. It's that it simply incorporates VIM commands into a
game that could appear on any popular flash game site.

Very well done, keep up the good work.

------
donniezazen
I am learning VIM. Do you exclusively use VIM for both simple text editing and
programming?

~~~
aliukani
I use it for grading assignments (reading a .lisp file and writing a grade.txt
file), as well as taking class notes. I also use it for editing config files
(like for nginx) and dotfiles.

~~~
donniezazen
Taking class notes sound interesting. I want to move some of my stuff over to
command-line like TODO and simple writing for distraction free environment. I
am using Google Docs and Evernote at the moment but a combination of
vim/terminal and Dropbox would be great.

------
talos
crashed ("oh snap") in maze just a few seconds in, chrome 18.0.1025.163, mac
os x 10.7.3

~~~
talos
no crash on safari, but SMTP error on email form.

------
daniel_sim
This is excellent! I really feel some of this sticking in my memory for once.
Thanks.

------
altryne
Awesome game! @doronlinder you should really put a "retweet" button there
asap!

------
lotusblues
great! i can move around with h, j, k, l ..... so what now? nothing happens
then i time out and get sent back to little person blocking the bridge. is it
my browser, ie firefox?

------
ColinWright
Nothing works for me - what's the minimum browser/OS requirement?

~~~
SquareWheel
Ran fine for me on Chrome Stable/Windows 7, running 2.4GHz Core 2 Quad, 3GB
ram, on-board video.

------
gshakir
It crashed chrome!!..:)

------
fnaticshank
Congratulations ! it was a very cool game.. hope we see the next levels soon
and I also hope you'd open all the game levels even to unregistered users
later. :D

------
orta
works great for me! Safari 5 Mountain Lion

The email address box however didn't show my email as I typed it in

------
veyron
I wish this worked on iPad ...

------
ing33k
awesome, I am learning vim since a week and this is definitely very useful.

------
jachwe
had a lot of fun until it crashes the chrome tab. (like everytime)

------
mgogov
This is soooooo cool (:

------
toomanysecrets
I don't use hjkl to move around in vim. At this point it's counter intuitive.
Lame

~~~
darklajid
The last word of your comment made me respond..

That'd be considered 'wrong' or missing out. Which the game tries to correct.
Supposedly later levels will teach you about vim 'words' and you'll combine
hjkl with lots of other commands. You cannot do that the way you use the
software. How's that 'lame'?

And what kind of an attitude is this if you click on a game that is supposed
to teach you about vim and complain that it's forcing you to learn something
right afterwards?

~~~
toomanysecrets
"Cursor keys are not the way to move around in VIM"

That's why it's lame. You most certainly CAN. I don't care that other
functions combine with hjkl in vim. They're useful but using hjkl for
left/right/up/down is annoying and the restriction in this "tutorial" makes it
that much worse.

~~~
elliottcarlson
Yes, you can, but there is a benefit to maintaining your fingers on the home
row and not requiring a shift elsewhere. So while it might be an annoyance to
you, other people disagree.

------
nitinmartolia
works very slow in firefox .. had to play in chrome.

~~~
DEinspanjer
Works wonderfully in later versions of Firefox, sounds like there might be a
canvas bug causing poor performance in Fx 11

------
randall
This is awesome!

------
meglory
why the site isn't responding?

------
abbyroad9191
doesnt work on my iphone 4. is this the future of cross browser compatibility?

it's an interesting project none the less.

~~~
doronlinder
It wasn't meant to work on mobile devices. It can and everything work as
expected besides the fact that you must have a fully functional keyboard to
use it and learn VIM.

------
bejar37
Aa

------
giis
cool :P I really liked it.

------
stoolpigeon
very cool

------
lwm
Fantastic! This game had me laughing instantly...gaining a proficiency in
'hjkl' via a crazy web browser game is a great idea!

~~~
drostie
On a side note, several times when playing through the game I noticed that my
motions weren't working, and traced it back to this: that for me, the home row
is jkl; and not hjkl. I don't know very much about vim -- is there a reason
that you have to put your hand in the "wrong place" on the keyboard?

~~~
tverlinden
vi, which vim is based on, was programmed on the ADM-3A terminal, where the
arrow keys are on the H, J, K, and L keys.

[http://www.catonmat.net/images/why-vim-uses-hjkl/lsi-
adm-3a....](http://www.catonmat.net/images/why-vim-uses-hjkl/lsi-adm-3a.jpg)

[http://www.catonmat.net/images/why-vim-uses-
hjkl/adm-3a-hjkl...](http://www.catonmat.net/images/why-vim-uses-
hjkl/adm-3a-hjkl-keyboard.jpg)

~~~
drostie
Ah. So it's a sort of Big Software Syndrome type thing -- "we could do it in a
more intuitive way for new people, but it would break all of these existing
programmers who learned it the less intuitive way, so let's leave it the
original way" -- or am I missing something?

~~~
alphabethos
That may have something to do with it, but in practice, I find myself moving
up/down (j/k) files far more often than I need to backtrack by a single
character, and when I do, as often as not my pinky flies up to backspace (note
this works by default only in Vim). It ends up being the most natural to keep
your hands on the home row anyway.

------
tubbo
i wanna use vim less now :D

