Speaking to a friend a couple of weeks ago, he told me about an interview he did where one of the challenges was to create the blackjack game.
The algorithm itself is not too complicated, but it’s a good test to practice TDD and having never tried it in AngularJs I decided to give it a shot.
If you read the introduction to angularjs, it’s stated clearly that angularjs can be not the best choice to create games.
I can imagine the reason easily: the performances can be very problematic, mostly if the game requires a complex DOM.
Moreover a lot of good frameworks exist to create amazing games in html5 (have you ever heard about impactjs?).
Nevertheless I have found very fascinating the idea to manage via directive a level design instead of a classic multidimensional array as I did in the pawn and tiles experiment.
Just for fun I have tried to recreate a Memory game in AngularJs.
As a kind of game it is not a complicated one, but it was interesting for me to evaluate the time needed in coding using the framework.
The memory game is quite famous among kids, but it is enjoyable even for the adult persons (http://en.wikipedia.org/wiki/Concentration_%28game%29). Continue reading
The skills are the last big component in the Pawns and Tiles game: a skill determinates a possible action of a pawn and in some way defines its role on the board.
Every pawn has a set of skills, two of them are common among pawns, “move” and “combat”.
Move from a logic point of view is not a skill, but for the application’s point of view is managed like any other skill.
Combat represents the possibility to attack an adjacent pawn.
Basically every pawn can move and make a standard melee attack. Continue reading
The Tiles are central in the game exactly like the Pawns. Naturally refering to Tiles I’m talking about the map in general, the board where our little pawns have their conflict.
I think that to define a map, or in general the level design, is one of the big deal projecting a game. The main Character (or units depending on the game) is important, the skills are important, but if the level design sucks all the experience sucks no matter what.
For me Super Mario Galaxy is a master piece because of its level design.
So I was sure that with designing bad maps the whole game would have been a disaster.
I decided to keep things simple and to introduce more possibilites after a gameplay test.
The idea was quite simple, here in very short:
- A player can challenge another player choosing a map.
- Every player has a roster of five pawns, and every player has to line up his pawns in a specific area that changes in every map.
- Every player has to choose the pawns (every pawn has its own skills) from a side deck following one rule: he can’t put more than two pawns of the same type in the map.
- Every player in his turn has a limited number of moves and the goal is to occupy some specific area and keep it as long as possible to gain points.
- After 30 turns (15 for player), the player with the higher score wins.