Kanjiroids: Space Invaders for Vocab, Kanji, Hiragana, Katakana

Finally played this game. Finally have something that creates enough panic and urgency for me to recall kanji quickly. :slight_smile: Thanks darci


Since the WaniKani API v1 is going away in a half a year or so, I’m starting to switch over the WaniKani levels to run off of the v2 API. I’ll post another update when that is live, and I’ll probably add some other game features while I’m at it.

And now for a programmer joke I just saw on Reddit!

Why do developers prefer dark mode?

Because light attracts bugs


Just switched it over to use API v2, so y’all will have to update that next time you use a Wanikani level. Enjoy, and let me know if there are any bugs!


I have found one inconvenient bug.
When I choose “Kanji Reading - Ordered by Level” or “Vocaulary Reading - Ordered by Level” modes, the words are not “shown”, or more precisely they are invisible. Only when I pause, it can be seen that something is there but not visible during play.
I’ve appended screen from paused state, where one “word” can be seen, be when I unpause the playfield is empty.

@Darcinon: Am I doing something wrong? Thanks in advance.


I see the invisible kanji on my end too, I must be using the wrong field from the V2 API. I’ll post here when I fix it. Thanks for pointing it out! Also, congratulations on your first post!

1 Like

@Jakim I updated the site, the ordered levels should work now. Please let me know if you encounter any other issues!

@Kyuuzou I also added the rare katakana from your post to Katakana levels 9+:


Any chance there can be an option to auto-commit answers, because boy is my wrist sore from moving over to the enter key all the time.


There’s some a risk involved there, for example, maybe かみ is about to reach the end, but か is also on the screen, making it auto enter early. Of course, some special logic could prevent that situation from being possible. That’s probably the way to go in the long run… the less keystrokes the better!

For a quick improvement maybe I’ll make the spacebar an alternative to the enter key, I imagine that would be less fatiguing.


Aye, spacebar would certainly do the trick.

That said, so far I’ve only tried out the kana modes, and I’m pretty sure the only ambiguous possibility there is ん jumping in before な et al.


@Darcinon Thanks for the update, I’ve tried it and now it looks fine.

I have two more points, but I don’t know how much effort it could take and if API allows that.
Currently, for kanji and also vocabulary, with Random mode, all words can be chosen between Level 1 and your current level. However, what is not taken into account is if you already learned (seen) that word. I am at level 5,still learning radicals, but when I try Random mode, I am also getting Kanji from Level 5
It would be good to limit it, if API allows that.

Second point is more-or-less suggestion for enhancement. As you wrote in some earlier post, with Ordered mode, you were able to get only until some X level. It would be good if there is mode, where you can specify, which levels should to be active (either through range X-Y; or by enumerating them X,Y,Z…; or combination of both).


Just wanted to say that it was really cool of you to add the extra ones! I really like the game itself too, it’s very helpful and runs smoothly on my machine. Thumbs up!


Just made a quick update so spacebar also works to fire the input.

I see, the v2 API has a totally different system for tracking if you’ve done the lesson for a specific item, I’ll have to work on that.

@Kyuuzou awesome, glad to hear it!

Thanks everybody! Getting comments and feedback really helps motivate me to make improvements :grin:


Aye, that definitely did the trick.


@Jakim I fixed the bug where kanji/vocab can show up before they’ve been fully unlocked on WaniKani. Please let me know if you still have issues!

I definitely agree that it would be great to allow the user to specify which levels they want to use. That will probably be the next thing I work on.


@Darcinon Thanks for update. I cannot test it fully right now, because all Kanji from current level I’ve unlocked, however when I’ve tried Vocabulary-Random, I was also getting words, which I haven’t learned yet.
I don’t know if it can be bug, because I was already trying it before your update. I should level up tomorrow, so I can try again with new level to see if I am still getting unlearned stuff.

Also side-node, in Ordered mode, should it always macht Kanji/Vocab from current level in Ordered mode? Even when you haven’t reached such level? Or should it stop at your max level and only show learned stuff?

1 Like

None of the WaniKani levels are supposed to show unlearned items - they should only have items that you’ve completed the lessons for. In ordered modes, after you reach your current level, it will switch to infinity mode and use all learned items. I currently have about 30 lessons, and when I tested the fix it seemed like it was correctly filtering those items out from both kanji and vocab, but sounds like there may still be an issue. I’ll have to test more. It’s also possible that your browser is using a cached version of the page, so I recommend refreshing just in case that’s the reason the fix didn’t work. Thanks!

I’m also seeing this behavior. I am seeing items that I have unlocked, but that I have not completed the lesson for.

I’m at level 9, but I am still working on the vocab from 8 and I keep losing pretty quickly when multiple level 9 kanji appear and I have never seen them before.

I’ll tried it also using a different browser with no pre cached version and the same result.

1 Like

I switched up the method for filtering out the items that are not unlocked and ready for review, I believe the new method has no possible way for locked items to sneak into the item pool. Hopefully that resolves the issue. Thanks for letting me know, and please let me know if you still have any issues!

1 Like

Thanks Darcinon!

Seems like it’s fixed! I got through a whole session with no unreviewed words.

1 Like

Just bumping this since kanjiroids is a great game.

Does anyone want to start a league where we share high scores/levels to motivate each other?