Friday, 28 August 2009

Puerto Rico Review (board game)

Board games can be simple and straight forward, like Snake and Ladder. It can also be long-winding and wasting time like Monopoly. Or it can have so many rules and exceptions like Munchkin.

This board game called Puerto Rico won International Gamers Award in 2002 and was ranked number one on BoardGameGeek. Without overwhelming rules and uncontrollable randomness, Puerto Rico is suitable to have relaxed and fun hours.


The story is about when there is colonization of Puerto Rico. You are to ship goods produced from Puerto Rico to Spain, where you will get Victory Points (VP) for every good produced. In this game your objective is to get as many VP as possible. In order to get VP, you need to plan your steps of planting, building, trading, and shipping.

By spending money to grow plantations and creating production building you can get goods. Then you can choose what to do with the goods. If you choose to sell them, you will get more money. If you choose to ship them to Spain, you will not get money, but you get VP.

The player takes turn by taking a role. The role determines what action the player takes and the other players will follow. After all players are done, the next player will choose the role until a round is done (all players have taken a role). The action can be selling, building, etc. as has been mentioned before.

Game Elements

In Puerto Rico you have money units called doubloon, plantation blocks, building blocks, VP chips, role cards, goods, and colonists.

1. Player board


Each player will have this board placed before him. The board is used to store doubloons, plantations, buildings, goods, colonists, VPs, and role cards. Everybody else can see any player's status by looking at this board.

2. Doubloons


With the money you can build buildings. Each building have different functions. The money needed depends on whether you have previledges or discounts from quarries. Shipping goods earns you money.

3. Plantation blocks


In the player board there are 12 empty spaces for plantations. When the active role is settler, a player may choose one plantation to put on their board. The kind of plantations are corn, indigo, sugar, tobacco, and coffee. There is a special plantation called quarry, having which the cost of constructing a building is discounted. Plantations is only active when it is occupied by a colonist.

4. Building blocks


Production building produces goods - when there is colonists operating it and with the suitable plantation type. There is also other types of building to let you have advantages, for example getting a free colonist for certain role or extra goods in trading. Building costs money.

5. Role cards


Each card determines the action the player take. This is central in the game. Each player chooses the role he wants to play on his turn, and this decision affects his performance greatly. The roles are:
  • settler puts a new plantation
  • mayor calls new colonists
  • builder constructs buildings
  • craftsman produces goods
  • trader sells goods for money
  • captain ships goods for VPs
  • prospector earns 1 doubloon without doing anything
The player who chooses the role gains extra previleges, for example, for trader there is one extra doubloon when selling goods, for settler he is allowed to plant a quarry instead of normal plantations.

6. Victory Points


VP is the determinator of the outcome of the game. VP can be gained in three ways:
  1. Each shipped goods earns 1 VP
  2. Buildings owned at the end of the game have VP values
  3. Bonus VPs from "large" buildings
Conclusions

I find this game to be very well-balanced. The decision is mostly non-random, players have great control over what can be done for them. The rules seems complicated at first, but in less than an hour, players should be able to grasp the main idea and play it.

At the beginning of a game, the numbers of objects are determined based on number of players. The number of players can be only 3 to 5, having less than 3 will make it monotonic and not challenging, having more than 5 will make the players wait too long for their turn. For example, the number of available colonist is 55 for 3 players, 75 for 4 players, and 95 for 5 players. Similarly the number of VPs are 75, 100, and 122 respectively. The designer must have considered this carefully before releasing the game. The limitations also apply for the number of goods, VPs, role cards, available space for shipping, etc. This is good because it prevents the game from becoming very long. The game can be finished in about an hour for 3 players.

The freedom to choose the action to take, calculating the benefits and costs of each possible choice of roles, buildings, plantations, and goods, is the thing that makes the players really feels that their decision matters. The only random element in this game is the available plantations to choose, which are taken from shuffled piles of cards.

There is no single best strategy for winning. Players concentrate on buildings to get VP at the end of the game. Players can also ship goods to get VP soon or instead trade it for money for even larger production rate in the future. This needs a good planning without making the game dull. I really recommend this game for those who wants moderate difficulty board game suitable for general players.

Thursday, 27 August 2009

Game Engine Survey

A game engine is a software that helps game creator build games faster and easier. A game engine holds different kind of systems together to make them work in a more unified manner to ease the burden of programmers to start building games. The term itself is not clearly defined. A sophisticated game that allows the players to modify certain parts of the game (for example, character models, maps, difficulty, scenarios) can be considered as a game engine. On the other hand, some software provide only specific functionalities, such as simulating physics or outputting sounds. These software may also be called game engines.

In the past, developers made games from scratch. The number of people involved in production could be one or two persons only, and they are those who are determined to create new games with almost no help from other parties. They needed to research on interfacing with different systems of graphic displays, supporting different kinds of inputs, making sure that certain popular sound cards are supported, and so on. When all of that has been taken care of, developers of other games needed to do the same thing, again and again. Later it came onto the surface that they needed to share some code and information to prevent this redundant work.

This comes to one of the most important purposes of a game engine: abstracting the hardware so that programmers can concentrate more on the programming of the gameplay, rather than dealing with specific intrinsic difficulties that they need to keep up with the rapid progress of hardware enhancements (this means changes).

With a game engine, basic functionalities will be provided out-of-the-box. The most obvious one is the graphics output. It is expected that developers only need to call a simple function to make the game display fullscreen, to put a single pixel, or to fill the screen with certain color, without worrying about what display adapters the player uses or in some cases, whether the user runs e.g. Windows or DOS. Players control the game flow by using most commonly the mouse, keyboard, or a joystick (or a specialized controller for consoles). This will also be handled by game engines so that programmer will only need to decide what to do when a key is pressed, the mouse is moved, without knowing the connector type, keyboard model, and so on.

These game engines generally have a combination of these functionalities:
  • Graphics output (OpenGL, DirectX, SDL, etc)
  • Sound output
  • Input (mouse, joystick, etc)
  • Networking for multiplayer capabilities
  • Scene graph
  • Parsing and loading of image file formats
  • Parsing and loading of (3D) model file formats
  • User interface
  • Some kind of basic AI system (pathfinding, etc.)
  • Map editor or world editor
  • Physics engine

In modern games, developers are not limited to a few persons. Because processing capabilities has increased so many manifolds recently, graphics has virtually no limitations on colors; sounds can be interleaved and played at the same time; and graphic cards providing the huge power for 3D scenes; more and more artists are required to produce satisfying games - in the game industry that has become very competitive. Programmers too, are not only limited to a single person maintaining the code base, but they too have become much more specialized (AI, shader, graphics, tools, etc.). The works of artists and programmers are united - and limited - by the game engine, which provides the framework on which they can determine the part of the game they should work on.

In that situation, it is more noticeable that the commercial success of a game is not largely determined by the skill of the developers, but the timing and the marketing strategy. Without the use of a game engine, games may take 3~5 years to complete, after which the consumer market may have significantly change, or the technology has advanced further, making the game developed not as attractive as it had been expected before. On the other hand, the use of game engines reduced the number of innovative games, since more or less the developers are thinking in the limitations of the game engines.

Game engines can be full-featured, to be used for developing new games from the beginning (this is the most common definition). Examples of full-featured game engines are:
  • Unreal Engine - used in many mainstream games such as Unreal itself, Turok, Gears of War, Mass Effect, Mirror's Edge. This has many features for advanced developers.
  • Java Monkey Engine - provides Java developers to build games using Java. This is not used in mainstream but provides a good help for beginners.
  • Torque Game Engine - written in C++, it provides a world editor, model editor, and a scripting language called TorqueScript. One of the unique features is the networking feature which is highly optimized.
  • 3D Gamestudio - similar to Torque, this provides an IDE to help developers build the game world. The scripting language uses a modified version of C, Lite-C, which is compiled.
  • RPG Maker (RPG ツクール) - a popular 2D game engine in Japan which indie developers can easily make role playing games by defining events, switches, items, stats of enemy and players, story, graphics and sound.
  • Game Maker - also used for 2D games, has many functions common to games such as wall tracing, collision detection, high score list, and simple graphic effects. The logic are built by combining actions during events.

Some other game engines are not fully featured, instead they cater a specific part of a bigger game engine. Examples include:
  • Havoc - a physics engine. It simulates interaction between objects according to physics rules. It is used to simulate ragdolls, clothes, water, etc.
  • OGRE - a graphics engine. After constructing scene graphs, this engine will handle the culling, depth testing, painting and so on. It is multiplatform, supporting OpenGL and DirectX, and handles shaders as well.
  • FMOD - a sound engine. Audio in different file formats may be played simultaneously in precise timing. This engine is widely used in PC and consoles.

Torque Game Engine (TGE)

Torque Game Engine is a full-featured 3D game engine that lets the developer start from an empty world, add imported objects and assign IDs to them, play the created world in the seamless manner as the modeling itself. So, there is no differentiation between designing the world and "playing" the world. The editor is the game itself, the game itself has the editor to manipulate world objects (but of course it can be removed in the release version).

The concept of client-server networking is emphasized here. Single player games are still considered multiplayer games technically - only the server and the client resides on the same machine. Developers are expected to write scripts in TorqueScript which is processed and run. The functions written are divided into client functions and server functions. Client functions work without contacting the server, e.g. display the health on screen. Server functions work by sending commands to the server, e.g. move the player forward.

The engine itself is a static executable that works by executing the content produced. If advanced customization is needed, the C++ source is available to developers to rebuild the engine. Out of the box, TGE provides FMOD sound engine, IDE and script editor, terrain generator, model viewer, integration with PhysX (physics engine), level of details (LOD) and so on.

Adobe Flash Player

Flash has been a very popular platform for developing games that can be played inside a web browser. Flash is also used to build multimedia content for the web, such as advertisement banners, video player, and an easy way to play audio effects on web pages. For the users to run Flash content, they need a browser plugin called Flash Player. Fortunately this plugin is installed almost everywhere, so developing for Flash is a good decision for larger user base.

Flash content is usually contained in a single file (.swf), that is executed by the Flash Player on different platforms (Windows, Mac OS, Linux, PSP, PS3, mobile phones, etc.). The content is developed using a IDE called "Flash" (yes, it may be confusing). The IDE provides drawing tools for 2D vector-based graphics, using timelines. So, if you only wanted to make a non-interactive animation, you can draw images on the different frames, tween it (interpolate between key frames), and Flash will make a very small output file that you can put on the web.

To build programs, it provides a scripting language ActionScript. In recent releases, the language became much less like scripting language, but more similar to OOP language like Java but without enforced type system, so casual programmers can still do well.

Comparison

The following table lists the advantages and disadvantages of the engines.

FeatureTorque Game EngineAdobe Flash Player
GraphicsCross-platform 3D graphics engine for Windows, Linux, Mac, Xbox 360, Wii, iPhone.2D scene-graph based graphics with software-rendered 3D when necessary. Works on mobile phones, PS3, and PSP too.
SoundComplete control of sound using FMOD library.Limited control of sound playback (MP3, Speex, Nellymoser, AAC, ADPCM).
InputAny possible input in a platform.One-button pointing device and keyboards.
NetworkingSuitable for both single player and multiplayer games.No internal support for multiplayer games.
ScriptingSlow interpreted TorqueScript that has limited scoping.Compiled ActionScript that has more encapsulation options.
CustomizingC++ source available for unlimited customization.The Player is closed-source, only the development tools are opened.
Target mediaStand alone executable that needs to be installed.For playing in a web browser, hence features are limited.
Additional featuresShaders
Custom materials
Terrain generation
Collision detection
Advanced text layout engine
Vector based drawing

In the future, game engines will still be used, but the advancement of different technologies, for example specific advanced shader features for DirectX and OpenGL, means that developers need to write specific codes to fully utilize those. Game engines makes game development faster, but it can also limit possibilities. So, consider using game engine before starting a new game!

Tuesday, 18 August 2009

LocoRoco Review

Games use more and more buttons. When in the past you could play by using only directional buttons and 2 action buttons, now most games require at least 4 action buttons, moreover analog sticks (single or double) and shoulder buttons. Can we imagine a modern game that only uses 3 buttons without directional buttons, but still fully functional?



You don't control the player, you control the stage. Press the L or R shoulder button to tilt the stage left or right. Or press both simultaneously to make the stage shake vertically! When the stage shakes, the player character jumps and that is how you move it. You start small, just a small deformable yellow blob called LocoRoco. You can finish most of the levels only by guiding him to the finish line, but that's not fun! Get other LocoRocos and they will combine to form a bigger blob. But, when you get bigger, you cannot pass smaller passages. Here you use the ○ button: do a quick press to split them apart, and hold ○ longer to recombine them.

Graphics

The graphics are done in a cartoon-style drawing. No gradient colors, all are solid and almost no transparent elements. It seems that the developers aim for 60 fps and they really succeeded in achieving that. No pixel art used, everything is vector-based, so when you tilt the stage, you still see that everything is smooth.

Sound

One of the most exciting aspects of this game is the background music. You can hear a very, very lively song sung by a Japanese-Canadian girl Melody Chubak. The music fits nicely into the game. Some people said LocoRoco is the happiest game. The controls are simple, the characters are smiling, the songs are catchy, the graphics are easy to the eyes. When you reach certain parts, you will meet different-colored LocoRocos with different voices and songs. You can try to guess what language this song is sung in:








Progression

LocoRoco consists of about 40 levels. The levels are divided into worlds. Each world consists of several different-themed stages. For example, a level is situated in a desert. Another in a cave. Another in the stomach of a whale. And some ghost house. And so on. The levels are linear, when you finish one you always go to the next level. Will that make the game boring? I don't think so. You can finish a level quickly by not collecting bees, fruits, or any other LocoRocos. But there are secret places in a level that cannot be easily found such as hidden passages, unexpected directions, or places that need accuracy of controlling in order to reach them. Hidden MuiMuis can sometimes be found. When you collect them enough, you get more items for mini games.


Conclusions

LocoRoco is suitable for children and adults. Children will definitely be attracted to the colorful graphics and catchy sound, while still being able to play it without too much difficulties. Adults that prefer to play games in their spare times can enjoy themselves playing this game, and hardcores will be satisfied with the vast collective nature of collecting things to get perfect scores. Levels are moderately balanced, after a hard level usually comes easier level to let the player relax and enjoy the cute things. At the end of a world, a big black guy must be defeated by bursting the LocoRocos towards him. Unfortunately, it repeats and gets a little boring with time. Get LocoRoco, enjoy the music and the game without stress!

Munchkin Expansion Pack

Final Fantasy IX Cards











Friday, 7 August 2009

Chat Noir Review

Have a 5 minutes spare time and you feel like you want to play a game?
Enter Chat Noir.

This Japanese-made game is a simple puzzle with adequate animation. Any people can see what to do in this game straight away.

The objective is to trap the black cat by clicking on the light green circles. Any circle you click will turn into a wall (dark green) that the cat cannot pass. After your turn, the cat will take its turn by moving one step. When the cat escapes from the playing field, you lose. So, you must be careful in thinking about the steps to take next.

If you succeed in trapping the cat such that the cat cannot go anywhere, you win. You will see something that is both surprising and annoying.

Chat Noir is made using Flash and playable on the Web. It has no difficulty settings and there is only one stage. This is supposedly intended by the game creator, "GAME DESIGN Limited" (有限会社ゲームデザイン), as the name implies, to showcase different game ideas without putting attention to the length of the game or superfluous graphics and sound effects. Other games can be played from their site, http://gamedesign.co.jp/.