“Sociales Santillana” – Post-mortem

Posted by
May 1st, 2013 8:17 am


Now that the weekend is over it is Post-mortem time.

Spoiler alert!


TL;DR: I managed to create a fun game by taking a well known game mechanic and adding a twist to it. Unfortunately, the lack of proper feedback put a steep entry barrier into it.

Conception phase

On Saturday noon, when I learned about the theme, I wasn’t sure that I would participate at all. I had been brainstorming some ideas for the themes in the final voting list, but didn’t pay too much attention to Minimalism because I wasn’t particularly interested. It occurred to me that it could be an excuse to be lazy, and there was the risk of having most games resemble each other (…well, I’m happy to say that in general the compo entries I’ve checked so far have proven me wrong; it’s amazing how many different ideas can stem from a simple theme). Of course, Murphy’s law stroke back and that happened to be the final choice.

The first ideas that came to my mind consisted on just picking one of the concepts from the day before and reduce graphics to its bare minimum (yup, I’m lazy). However, after thinking that most people might follow that approach, I started thinking about what minimalism really means: to remove everything non-essential until you end up with the core of a particular piece of work. In games this can  be achieved in different areas, either by themselves or as a combination: graphics, sound, narrative and, of course, gameplay.

In many current games the main concept hides behind layers and layers of superfluous functionality: stunning visuals and excessive feedback, over the top GUIs, tutorials, meta-game features,… Sometimes they do enhance the experience, but in some cases they can also obscure a set of mechanics that already work perfectly well by themselves. So I decided that for my entry I would pick some well known gameplay mechanics, bloat it with unnecessary stuff, and then strip them from the game as the player progresses until you got to the “essence” of the game. At first I thought about the classics: Tetris, Pacman, Puyo Puyo, Match-3 games,… possibilities were infinite. However, I figured that I could at least try to add a twist to them, or imagine a new game concept that fit the theme by itself and at the same time was fun to play. This way, even though I wasn’t able to implement the “non-minimal” feature set I would have a decent entry.

I ran some searches to find some inspiration and then I ran into this image:

“Gran Cairo”, Frank Stella. 1962

When I saw it, I felt that familiar “click” of inspiration, and the match-3 with ring rotation  as one of the possible movements just came naturally. Gameplay was certainly minimalistic, and so was the art style.

For the sound I thought of Simon, so there we go…now we have minimalistic audio, too…

And you can check the final result here.

What went right

It’s fun!

I know I’m not the one to judge, but people seem to really enjoy the game from what I get from the entry’s comments (Thank you all!) and from friends who have tried it, and I think this is the most important thing, besides being really encouraging. When I was coding, sometimes I’d run the game to test some new feature or reproduce some bug and then would find myself playing it longer than necessary, which was a promising symptom. Still, I wasn’t sure if people would like it or if they’d find it too casual, or boring. It seems they do enjoy it =)

Start small and modular

This makes planning and prioritization easier. Given the Ludum Dare’s tight time constraints, this is fundamental, and it’s much easier said than done. For this edition I managed to “split” the concept into two: the basic game, and then the “start excessive, then simplify” idea, which didn’t make it. At times I resent it a bit that I had to drop the latter: I liked it as a means of criticism of certain tendencies on games today (I may sound a bit snobbish here, sorry :S), but if I had decided to go with both at the same time I probably would have failed at both.

Not too many bugs

This can be a secondary effect of the game being simple enough, but the match and possible movements calculation logic relies on lots of array checks, leaving the door open to “off by one” errors that can show up in the game with unpredictable results. I’m aware that there is at least one of such (or it may be due to the logic in charge of the blocks state transitions after a match), but it is quite infrequent. In general, people have not complained about bugs, so I’m quite happy with that (of course, those bugs have an arrest warrant on them, so I’ll try to fix them)

Language choice

This would have applied to the “What went right” of my entry for LD25, Conquer All The Castles!, if I had written the post-mortem for it (procrastination, the root of all evil), but as that was not the case, I’ll state that here. The game was coded in AS3, which despite not being my cup of tea had two advantages compared to C++, which I had previously used for It’s evolution, Baby!, my  first LD game: the first advantage was that it was easier to get things done and display them on a screen. On C++ I generally use SDL and OpenGL, but I don’t use any higher level graphics library (and I haven’t coded any of my own yet), which means I have to spend lots of time in graphics programming rather than gameplay.
The second advantage is that you may distribute it easily via web. No zip downloads, no installers, no platform issues (generally), no dependencies and no annoying external redistributable packages required (We could argue about using GCC, or maybe even developing on Windows vs Linux, I know).   This grants you a lot more visibility, as the game is more accessible and people can play it immediately.

Easy to evolve:

The idea is really simple, and there are lots of opportunities to expand on it (although this means that we’re straying from minimalism 😉 )You can always improve the  visuals, of course, and add some eye candy, but music and  sounds, and evolve the gameplay in lots of ways (for example, allowing horizontal swaps, adding a special ability to “sacrifice” a ring, further victory conditions, etc, etc)

What went wrong


People have a hard time figuring out what to do

Essentially, this:

The fact that I needed to add an external tutorial for a game with only two movement types speaks ill about the feedback the game visuals provide, or maybe even the controls. I’m against in-game tutorials as a general rule (and in this case in particular, I felt that it went against the theme), so I decided not to add one. This is OK, but if you choose to do this then you must count on the game itself teaching the player to play it, either with sound, animations, intuitive controls or any other type of means. I made the fatal mistake of assuming that it was easy enough as it was, and anyone would get  it instantly, or after a short period of trial and error. That assumption is indirectly taking for granted lots of things: that everyone is equally familiar with the “match-3” mechanics and that all those games are played the same way (for example, clicking on blocks vs dragging), that the way people perceive the game is always the same, which is not true, etcetera.

Lack of play test.

The above mentioned problem could have been solved easily if I just had some more people play the game while I was developing it. It’s actually interesting seeing people play by themselves, as you can see where and why they get lost, and you can spot pitfalls that have slipped unnoticed. After seeing some people play I discovered how much the spatial  perception of the scene differed from one person to the other. Some people would see the square as a 3D box, while others saw it as concentric plates.

This actually affects the way they think the game is played, and raises an interesting question: could people be less confused if for the starting levels I had used circles or polygons with a larger number of vertices instead of squares?
For example, compare these

Prioritization issues.

Despite I’ve already talked about this in the “What went right” section, I must also drop a few lines about it here. Following with the theme’s motto, “less is more”, so it’s better to have the main, most important features well implemented and possibly leave out some minor details, no matter how simple they are. For example, the time spent for the random tips at the top of the screen or the addition of the “timeless” mode could have been used polishing the controls, testing if the level progression made sense,…Yes, they’re simple and they may not take more than a few minutes, but if you keep adding things up you end up deviating from the main goals.

“Feature showcasing”.

This is related to the previous point. Of course you don’t want to throw down work you’ve done. At times, though, you must stop and rethink if it’s really sensible to add that here or there, or if it just detracts from the experience. Again, I must use the “Timeless mode”.

Lack of polish.

Besides the visuals, sound, etc, balancing comes into play here. I haven’t been able to move past the fifth level (a square with a larger number of rings) so far, and I’m not sure if someone’s managed to do that, or whether it’s actually possible at all. In the end it all adds up, so as I mentioned in the “Playtest” section, perhaps having a proper progression where you decide that a level with (X vertices, Y rings, Z matches to complete and T seconds) makes more sense if played before another one with, say, (X + 3 , Y, Z + 2, T – 10) could help people have less trouble to understand the mechanics.

External side effects

As a result of spending two days in front of a laptop screen, my neck has resented to the point that I still feel as if I had needles piercing through it due to muscular strain. This is a combination of my terrible postural habits and the long work hours without any kind of rest. To top it all, I lost several hours of sleep. At that moment it’s not important, but then you go to work like a zombie and have problems focusing.


Despite the obvious mistakes (Or perhaps even thanks to them, to some extent), I’m quite happy with the end result, to the point that I’m considering to keep working on it, and even maybe a mobile/tablet port.

These would be the next steps:

  • Rotation animation. This is a MUST, as it would probably make the game A LOT more intuitive.
  • Bug fixing.
  • Better match animation/visuals, specially for chains.
  • Improve overall feedback.
  • Experiment with controls. Maybe dragging might do miracles for rotations, and probably for swaps as well. In the best case, give the player the ability to choose the input scheme that works best for her.
  • Add game states, maybe game modes (for example: challenges with fixed levels, convert the “timeless toggle” into a game mode,…)
  • Better sounds, better graphics, perhaps even music.

And this is it, I think that I’ve bored you enough already. Thanks to everyone who’s bothered to read all this wall of text, and specially, thanks to everyone who has played the game and given me suggestions on how to improve it. I hope you enjoyed it and I hope that I can keep the motivation to work on it and make it much better.


Tags: , ,

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]