Memory Stage – A little more beautiful

I spent time this week mostly making improvements to the memory stage. I also creating a “background noise” component that can add some light background noise (similar to a particle effect generator), but the main work was in getting the Memory Stage improvements pushed through. There are some simple animations for which tile is correct and which isn’t. It still needs a lot more touch up to be truly ready, but it’s just a little nicer now. I’ve gotta get that Speed Stage up and running!

Memory Game – Mostly finished

I wrapped up my work on the memory game – I’ll more likely call it matching, and I have some fluff I’d like to add, but all the primary game mechanics are there.

You start with a small number of “question tiles” and a larger number of answer tiles – and you have to find your matches in that small group. When you first start out and only have a few characters unlocked, the game doesn’t scale in difficulty because I don’t allow repeat questions – there just aren’t enough tiles to put in the mix. I may change this as the stage isn’t all the compelling with just a few characters unlocked…or maybe you will unlock more stages as you progress through the game.

The game looks something like this (although here, all our characters are in English).

memory

Next, I think that once I get the Speed stage working, I’m actually going to revisit the Memory Stage – I may try to make it “great” by adding some animations and fluff.

Memory Game

The memory game idea started out as a clone of the children’s game, “Memory”. This version evolved to be a bit more practical for training – first into I show you the tiles that will be flipped upside down, then ask you which tile has character “X” on it.

I’m planning to take the game another direction…I don’t like the way it plays now (it is relatively difficult in only English, which is my bar for “too difficult”. I’m undecided between two options:

#1) Show the player a few tiles to search for (maybe start with 3)…then hide them and flip over all the board tiles so you have to find them. It works on short-term memorization of the characters, sort of like remembering a phone number. I like it because I can scale it up fairly easily.

#2) Show the player a very large board with all the tiles and have them try to memorize all the positions of the tiles (maybe allow repeats). Then ask a series of questions where they try to find tiles – every time they get one right, it’s eliminated from the board and they play until they clear the whole board. When you miss a question, you get to see which character was underneath the tile you flipped. I like this because it’s a bit more of a game and because it works on different skills, but I don’t like that it requires a skill not all that useful for learning the language (large-scale memorization). I also think I personally would enjoy game mode 1 more.

I’m going to start with game mode 1…mainly because of that final reason. I think I’d enjoy it more, and I was my target audience when I started development. First I’m working on a pesky bug where the game errors out after a few rounds so…priorities!

On Vacation

I was out of town for more than a week on vacation so I didn’t get any time to work on things…but my current goal is to run through each of the games and make a small improvement. In Identify (the flashcard variation) I didn’t see any easy immediate improvements so I decided to improve the post-game score screen. I’ve already finished the “Introduction” screen improvements as well, where new tiles are introduced.

Design Refactoring – Villages

Today’s post isn’t about new content – it’s about going back to redesign something that just doesn’t work – or at least, that could work better.  Refactoring while in progress can be a trap – often, unless it’s a core feature, you’re much better served to continue working and then fix it when you have more of the game complete and a better big picture understanding. In this case, it was a core organizational design choice, so the redesign should make things easier going forward. It might also guide some of future design choices.

Initially, my idea for general game organization revolved around

  1. Choosing a path (what do I want to learn)
  2. Being presented with a number of villages (levels) that each focus on certain symbols that you learn. Inside each village are a number of exercises (mini-games) that you can do to practice.
  3. You start a village, and that village lets you practice symbols from previous villages and the current village.
  4. There is a “Proficiency Challenge” mini-game that, completed successfully, unlocks the next village.

You could think of it similarly to early super mario games – each village was a world and each mini-game was inside that village, Ie 2-1 would be world 2 mini game 1.

The problem with this, as I worked through the problem, is that mini-games are always the same. Villages were just adding an artificial layer of complexity with very limited benefit. The Village selection screen was really just selecting settings for the mini-game screen.

So, the solution seems rather obvious now – get rid of the idea of villages. You now,

  1. Choose a path
  2. Select from a series of mini-games designed to help you learn the symbols in that path.
  3. Take a Profiency Challenge to unlock your next set of tiles.

You still unlock symbols sequentially (I even kept all my old data so I can re-use my old unlock pattern) and you still have to complete a proficiency challenge to unlock the next set. Somehow, I’ll need to indicate on the mini-game screen which symbols have been unlocked.

Having gone through the dev work, this is not a difficult design choice. Villages were an annoyance and kind of confusing. I am taking away a small amount of agency from the user by changing the design in this way, but I’m vastly improving clarity and usability. It’s fewer clicks to get started, and that will always be a big deal. Unfortunately, sometimes the only way to find the best fitting design is to do the wrong one first, figure out what’s wrong with it, and iterate on that.

Speed Game

It’s still in progress, but my latest work has been on the “Speed” minigame. Of the minigames currently available, this is the most like a traditional game – you dodge tiles, get powerups, and lose the game by losing all your lives.

The design for this game has changed fairly drastically from it’s first vision. Originally, the tiles fell from the ceiling, and then raised back up if you were in a safe space. The number of columns was fixed, and there were never more tiles than the number of columns, so there was a fixed number of game tiles as well. There was also no reason for the question tile to follow the game tiles down as only one question was visible at a time.

There were a few issues with this design:

  • Difficult to measure progress
    Because the tiles are moving and the player is stationary, the only progression value was how many rounds the player had survived (or time survived).
  • Player can’t prepare for other tiles
    Only one set of tiles was visible on the screen.
  • Fixed columns limits flexibility
    This is obvious, but having a fixed number of columns makes it more difficult to adjust the game difficulty.
  • How do you collect powerups?
    Because there’s only a single instant where you need to be in the correct place and the rest of the time everything is stationary, I couldn’t find an intuitive way to collect a powerup.

To solve these problems, I ended up making one fundamental change – the tiles are slowly moving toward you, rather than dropping in an instant.

Due to this change, I was able to:

  • Show progress as “distance traveled”, since the moving tiles create the feeling that the player is moving through space
  • Show multiple set of tiles at once
  • Place powerups between sets of tiles as a challenge for the player to collect
  • More clearly express the “moment of impact” – move before the tiles hit you!

I also removed the fixed number of columns and added the idea that you have a fixed number of lives. I rotated the screen by 90 degrees as most viewing devices are wider than they are tall.

Design and coding for the speed game are still in progress, but it’s currently the most fun you’ll have in Kanapuro! It’s also still a very effective way to study; more effective than traditional flashcards since you still get a guided experience.

speedstage1

Introduction to Kanapuro

Kanapuro is focused on assisting Japanese students in mastering the alphabet through fun, focused learning activities. Try out the alpha version now at www.twinsparks.com/kanapuro/index.html.

Memorizing the Japanese “alphabets” is one of the first steps in most paths to becoming a Japanese language speaker. It takes many, many hours of repetition to drill each character into your mind so that you can read and write it with ease.

For years, students have generally used flashcards to practice recognition, and repeated drawing to master writing. Kanapuro attempts to improve on this process in two ways:

  1. Targeted Learning: Flashcards tend to be random, and so you will often repeat characters you have already mastered. Kanapuro uses a complex algorithm to determine which characters will be the most useful for you to work on – whether it’s reinforcing the newest characters or reviewing characters we’ve looked at in the past.
  2. Enjoyable mini-games instead of rote repetition: Rather than hours of just repeating flashcards, Kanapuro offers a multitude of options to keep learning more fresh and interesting. Each game offers a unique challenge that encourages learning but forces your brain to work in a new way – similar to cross training. This will actually speed up the learning process – so you’ll learn faster and have fun while learning.

For the writing mini-games, Kanapuro is just a simple whiteboard to practice on – but you can still take advantage of the targeted learning system so you are directed towards characters you need the most practice on.

Over the next few posts, I’ll introduce a few of the mini-games and activities in Kanapuro to assist the learning process. Until then, ganbatte mina!Archery Screenshot