SquareMath

I will write a little bit about my second android app, which is also my second game.

promo_big

My first game was a 2D OpenGL “action” game.

For my second game I wanted first to stay in 2D, much less work programming or preparing game assets (graphics and so on). There are tons of game mechanics left to explore and invent in 2D, and frankly I find that especially on mobile, 3D is often (not always) a gimmick here for cosmetic reasons…In a way it is easier to round up some good programmers, some competent people for graphics and sound, have a big marketing budget…Than really make an effort on game design and try to innovate on game mechanics.

I also wanted to make something in the “puzzle” category, because in a way it emphasizes what I exposed above, development cost is reasonable (if you do not go for a big marketing and user retention strategy…) and what is most important is game design. Almost all successful games in this genre have elegant, beautiful game mechanics. How to have entertaining play emerge from simple rules is the challenge, and it is a very interesting problem of course.

Once I knew it was going to be a 2D “puzzle” game, I decided to use the standard android UI elements (buttons…) as much as possible, in order to learn, since my first app was OpenGL-only.

To find the idea for the game mechanics I had some recollection of a game I once had on my calculator, similar to “Lights Out” but on a much larger grid and very entertaining in my opinion. I also had an idea involving some sort of tetrominoes,  but prototyping on paper and “in the head” refined and changed this idea to something that can be seen as Lights Out “evolved”.

You have an 8×8 grid. On each cell is a number. The goal is to have each cell set to “zero”. Touching a cell changes its value, and the value of its four neighbors. You can change the value by adding or substracting 1, and in more advanced levels adding or substracting other values such as -2 or 3 (depends on the level.) But you always have the “-1” and “+1” options so there is for sure no possibility to “get stuck” with an unwinnable position.

 Screenshot_2014-10-04-22-48-48

Of course it is best to win with the least moves possible, and each level has a “par” to beat. Once you have “solved” enough levels of a given difficulty, you have access to levels of a slightly higher difficulty.

The levels were designed automatically by having the computer play the game “in reverse”, starting from a “zero” grid and touching cells, the more moves the more difficult the level is supposed to be. Then  human testing mostly to assess the difficulty curve.

Screenshot_2014-10-04-22-49-22

There is also a “level generator” on the same principle, it “plays the game in reverse”.

And that’s it! A simple game but more polished than my first one! Zero work on graphics, sound, music, but still quite a few hours of programming and learning, and the satisfaction to design game mechanics!

https://play.google.com/store/apps/details?id=com.aasfet.squaremath

 

To finish a few books on game design for those interested:

A theory of fun for game design (Ralph Koster) — If you only get one book get this one. Even if you’re no into game design you can still read it. Very insightful and a page turner.

The art of game design (Jesse Schell) — More classical in its presentation, but covers a very wide range of issues and often very down-to-earth, so good.

Rules of play (Katie Salen) — The book is big and tedious at times (first book I read from MIT so I don’t know if it’s a requirement there 😉 ) Very philosophical and big parts are difficult to apply directly to “the problem at hand” but really builds up a base that can inspire and help reassess what’s taken for granted…Often a good way to innovate.