Progress Update: Usagi on Android

Posted on Wed 24 May 2017 in Gamedev

Just a quick post to show what I've been working on. I finally managed to get Happy Usagi to run inside an android emulator:

This is a huge step! So far I've only made games for Windows and Linux. Getting them to run on Android has been a major goal when I started this journey. Unfortunately, it is not trivial to get C++ code to run on Android. That's why I'm happy to show you this progress update even though it's far from complete.

Wouldn't you like to see the game on the Android App Store? I know I would :) You have to be patient though. There is still a lot of work to do. Besides bugfixing, I also have to rework the game to a touch-based interface.

But when all that's done, you can keep virtual bunnies in your pocket!


What makes a good educational game?

Posted on Sun 07 May 2017 in Gamedev

As I mentioned at the start of this blog, in the future I want to focus on creating educational games. The term 'educational game' means different things to different people, and it's also somewhat of a buzzword nowadays.  Here I want to explain what 'educational'  means to me. What type of educational game would I like to make? I'll try to answer that by comparing with a few examples.

Is Pacman a good educational game?

As a counter-example, let's start with  a well-known game that is not usually considered very educational. Pacman. If you think about it, there are many skills to be learned from playing Pacman. Timing and reaction speed. Hand-eye coordination. Basic spatial thinking. Pattern recognition. Each of the four ghosts moves according to predefined patterns, and recognizing those patterns is the key to mastering this old classic.

According to the book 'a theory of fun for game design', humans play games to learn. Playing behavior arose during evolution so that we could practice life skills in a safe setting. Each time you escape a ghost or eat a power pill, you are preparing for an encounter with a lion on the prehistoric savannah. You learn, and your brain rewards you with a puff of endorphins. We call this fun, but really, biologically speaking it's indistinguishable from learning.

So all games are educational in some way. The only problem is that many action games teach paleolithic skills. Reaction speed. Battle tactics. Aiming a weapon. Territorial dominance. We still get the fun from learning, but what we learn does not prepare us much better for life in the 21st century.  Gaming is a waste of time, not because we don't learn from it, but because we learn mostly outdated skills.

Is Portal a good educational game?

Yesterday at the Amsterdam game developer meetup, we discussed educational games. Portal, the 3D puzzle game with mind-bending physics, came up as an example of an educational game. One of the puzzle-mechanics in this game is conservation of momentum. Apparently Portal has been used in a classroom setting, to teach this physics principle to students.

I don't think Portal is the kind of educational game I would like to make. To me, there are two problems with it:

First, conservation of momentum is only a small part of the game. Yes, there are a few puzzles that are incredibly hard to solve if you don't apply this concept properly. But if you want to teach, then the other 90% of the game gets in the way a lot. Portal was never designed as an educational game. It was designed as a fun puzzle game that coincidentally happens to use a few classroom physics concepts.

Secondly, it's  a very  limited use of the endless possibilities of games. Conservation of momentum means: an object in motion stays in motion until a force is applied to it. This is a concept close to daily experience,  almost intuitively understandable. There is no need for expensive optical equipment to study it. There is no need to take the class on a field trip to a distant museum. Just a soccer ball is enough to demonstrate it.  All the tools needed to make the concept insightful are already at the teachers disposal.

And we can do so much more than that! Games allow us to open up entirely new virtual worlds where we can shrink to microscopic size and move through the human body (biology), walk around in ancient Rome (history), simulate entire cities (geography).

That is not to say that teaching through games isn't a great way  to liven up a boring classroom. But then you're reducing the gaming aspect to just a gimmick, a psychological trick to maintain attention. When I was in high school, in English class we were rewarded with five minutes of watching Mr. Bean at the end if we paid attention the rest of the time (I suppose the intention was to convey English culture, because Mr. Bean doesn't convey much of the English language). There is nothing wrong with this approach per se, but it's a relatively poor use of the possibilities of games, and not the type of educational game I want to aim for.

Niche

Let's get to one of my favorite educational games of this moment: Niche.

In Niche you control a group of fictional mammals, and by properly selecting pairs of animals to breed, you can slowly improve the fitness of the population: stronger claws, better hearing and eyesight, better resistance to heat or cold. You make your group more resistant to predators and the environment. The more you play, the more you learn about genetics. The more you learn about genetics, the better you get at the game.

Niche teaches concepts from population genetics without being explicit, without being too teach-y. The students are just playing a fun game where you have to protect your tribe of cute furry animals. Slowly, as you get better at playing the game, you start to recognize the game mechanics. These happen to work by simulating real-life biological concepts. By getting good at the game, you slowly develop intuition for genetic principles, such as phenotype and genotype, recessive and dominant alleles, mutations, disease resistance, incest and inbreeding,  natural and artificial selection, survival of the fittest.

Not only that, but it is plain fun to play! Don't take my opinion for it, just take a look at the reception on Youtube. Both fun and educational, what more could you want?

Future work

In short, my "sekrit project", my future educational game should have these features:

  1. It is fun to play and not overly pedagogic.
  2. It teaches advanced modern concepts that go beyond the reaction speed, the fighting and territorial dominance of action games.
  3. And it makes use of the possibility of virtual worlds to visualize hard concepts, to take something that is not intuitive, that is remote from everyday experience and find a way to experience it.

By the way, I'm always looking for interesting examples of educational games. Know another good one? Leave a comment!


B.U.N. - a game from a classic genre

Posted on Tue 25 April 2017 in Gamedev

This Easter holiday I took a break from working on a game about bunnies, so that I could.... work on another game about bunnies. Apart from the bunny aspect though, it's actually a very different kind of game. It's a text adventure.

The game is called B.U.N. (Bunny's unbelievable narrative), and it's like a choose-your-own-adventure book. At every step, you're presented with a situation and you have to choose where to go next. Here is a video demo (kindly created by Gideon Weems from the allegro community):

I expanded the storyline significantly since the initial release in 2015. The game is ready to be played now, and should prove a fairly challenging puzzle.

Download and try B.U.N. for yourself by clicking here. It's hard for me to judge these things, so please let me know in the comments if you found it easy / difficult / funny / silly / interesting / challenging!

Text adventures are the oldest genre, the 'silent picture' of video game history. It's a classic genre that is nowadays overtaken by much more flashy and glammy genres, such as the kill-everything-in-sight genre and the wage-war-against-the-whole-world-genre (I'm just kidding here, I love playing DOOM). Text adventures stem from the mini- and microcomputer age. It's no wonder. A picture is worth a 1000 words, but 1000 pages of text use the same memory as 1 picture. This mattered very much in the days when it took about two noisy minutes to load a single picture from a cassette tape (notice how the colors are loaded separately from the b&w image in that video. It's soooo slow!)

To spice things up, I did add some (very simple) graphics and graphics effects to B.U.N. The way text is mixed with graphics is directly inspired by the classic Hobbit adventure from my old ZX Spectrum.

If you're interested in text adventures, another great one is the Hitchikers Guide to the Galaxy, created by Douglas Adams himself, and it looks like you can play it online here.

And no, not every game I ever make is about bunnies. Some of them are also about cats and monkeys.


A usable 3D world for a casual game

Posted on Sat 25 March 2017 in Gamedev

"Hallway usability testing" means doing a quick usability test with somebody you found in the hallway, or in this context, my little nephews during a family visit. Let them play and observe how they cope with your software. Can they figure out the game without instructions? Do they get stuck somewhere? Are they struggling to make the user interface do what they want?

I did a whole bunch of informal testing like that with Happy Usagi, and one of the problems I observed most frequently was that players were struggling to place blocks in a 3D environment.

For example, you can place a block on top of another block, or behind one. The block cursor indicates where it is going to be placed after you click. This block cursor is always shown on top. After all, if it was drawn behind, you can't see it and it's not much of a cursor, is it? Behind or on top, the cursor looks exactly the same, and this caused a lot of confusion. I did add green guidelines to indicate the position of the block relative to the floor, but these indicators were almost universally misunderstood. So: big usability problem.

Hallway usability testing is a great way to check your assumptions. You may think that the green guidelines are obvious and that people will figure them out soon enough. Well no luck, after observing the same issue over and over again, it was time to stop blaming the user and think of a different solution

Lets take a step back. Why do we have a 3D environment in the first place? Maybe it's an odd choice for a casual game. Happy Usagi was inspired by Neko Atsume. In that game you have to collect cats, and the user interface is simple and easy.  You'll have no difficulty at all controlling it on a tiny phone screen. But no wonder, the cats never move around and can only appear in certain predefined locations on the screen. The Neko Atsume world is a static image with cats stuck on them in fixed locations, a bit like an advent calendar for cats.

For Happy Usagi, I wanted the bunnies not just to sit there like lazy cats, but to do something; to hop, run, slide, and generally move about. And that means the game world should be an actual three dimensional model. This is a challenge.

I came up with the following solution for the block placement problem. I radically altered the block cursor. Instead of just a block, the cursor now has a bright beam that extends upwards. This way you can still (kind of) see the cursor even when the block itself is occluded. The video above should make the difference clear.

Does this actually help usability? First tests (done on Olivia) are hopeful. But again, you should check your assumptions. I really won't be  sure about this until my nephews have played it.