Wednesday, 16 October 2013

Blog Quest 1: Emotional Contagion

For the purposes of this blog, I have been asked to talk about a game that has impacted me emotionally and influenced me creatively. While hundreds of games have had these effects on me, few have had as significant an impact as Chrono Trigger and it's sequel Chrono Cross (let's forget about "Radical Dreamers"). Thanks to the series' strong character design, non-linear storytelling, and charming soundtrack it has become one of the most adored JRPGs of all time among fans of the genre.

If you haven't played the game and wish to do so, I suggest you tread lightly. There may be SPOILERS ahead.

So... what makes this game so great?

Let's start with the characters, designed by none other than Akira Toriyama of Dragon Ball Z fame.

The main characters of these games are always silent, giving the player the freedom to impose their own personality. The game's many other protagonists/party members are colorful and extremely varied, each with their own instantly recognizable silhouette. Every one of these heroes has a comprehensive back-story that is revealed in a timely and dramatic fashion. In some cases these back stories can be gut wrenching, and often playable. Check out the video below to see exactly what I'm talking about.

In this particular scene, the player is confronted with a situation where they can save a character's mother from a tragic accident that occurred in the past. Not only does this scene serve as a powerful flashback to tell the story of the mother's injury, but it gives the player a chance to remedy the situation (thanks to the magic of time travel). These types of scenarios occur quite often of the course of the game, and give the player's own actions a tangible effect on the outcome of the story. 

The game's plot contains multiple subplots and side-quests, the outcomes of which will dictate the game's ending. Not bad for a game originally released in 1995! This was certainly the first game I played that offered multiple endings, especially ones influenced by decisions made throughout the game as opposed to right at the end (I'm looking at you Deus Ex).

When it comes to non-linear narrative, Chrono Trigger holds up better than many new games in my opinion. For starters, the game takes place in multiple different time periods, which can be traversed at will. It also boasts 13 different endings. Far too often in my experience, games will force an ending defining decision just before the end of the game. In the case of the aforementioned Deus Ex (a game I love equally as much as this one), the decision was as simple as choosing between 3 buttons to press (corresponding to each ending), 5 minutes before then game's conclusion. In Chrono Trigger this is not the case. The game can be ended in multiple ways at different points in the game, with different positive and negative outcomes. The minor decisions made throughout the game also have effects on minor aspects of the ending, providing resolutions to each of the characters' own personal struggles. The story is generally filled with emotion, giving rich character development to even the game's Robot character (simply named Robo).

Chrono Cross is a little different. The plot follows a young man named Serge, who is unknowingly sent to an alternate dimension in which he (yes Serge) drowned as a child. When he encounters his loved ones in this dimension, none of them seem to know him although they acknowledge his resemblance to the boy they once knew. Worst of all, when Serge attempts to claim his identity, no one will believe him since they all saw him die. The game does a great job making the player feel lost and alone in this strange alternate universe. 

For me, these games are far more emotional than modern titles like Heavy Rain. One of the most important reasons for this is the masterful soundtrack composed by Yasunori Mitsuda and Nobuo Uematsu. Each piece is filled with emotion and perfectly describes the character or situation it is bound to. Just listen to this number and try not to shed a tear. 

Okay, so maybe it didn't make you cry but it's hard not to hear beauty in this piece. Chrono Trigger had arguably some of the greatest music ever composed for the SNES. Likewise, Chrono Cross raised the musical bar with the increase in horsepower given by the Sony Playstation. The console's CD quality audio capabilities gave the composers the freedom to create an even more dynamic, organic sounding mix (thanks to the presence of real instruments). The difference is pretty drastic, as can be heard in the following clip.

The soundtracks for both of these games contain some of the most beautiful songs composed in video games.

Overall the Chrono series is one that is very near to my heart. It has provided me with countless hours of enjoyment, but also inspired me in more ways than one. Akira Toriyama's unique and intricate character design is something I admire greatly and would love to learn to replicate one day. I can also say with confidence that the music from these games has had a very real impact on my musical taste and myself as a musician. Aside from this, the game's story and the overall experience is one I will cherish for years to come.

Sunday, 6 October 2013

Phyre Starter

For the past few weeks, I've been working extensively with Sony Computer Entertainment's Phyre Engine. This is the same engine that powers Namco Bandai's Dark Souls, as well as thatgamecompany's Journey among many others.

So far, I can't complain. The engine is free to use, gives the developer source level access and supports multiple platforms (PS3,  PS4, Vita, PC). To top it all off, it sports a very powerful editor tool with full scripting functionality. The editor is completely optional, and if you so choose you can ignore all additional features and use Phyre as a simple rendering engine.

The editor is very easy to use, with the standard array of property sheets, script editors, and object hierarchies you would come to expect from a tool like Unity or UDK. Game logic can be written in scripts through the editor, or implemented through C++ code at the source level.

The code above is the heart of your typical Phyre application header. The virtual functions marked "Phyre Framework overrides" encapsulate all of the top level functions of your game application (namely things like initialization, input handling, updating and drawing). The functions below the "PIEditEventHandler Implementation" comment can be called directly by the scripts attached to game components constructed in the Phyre Level Editor.

Speaking of which, Phyre follows a component-based model. This means that the game entities you construct in the editor are built up of multiple components. These components could be anything from your art assets (animations, textures etc) to character controllers, triggers etc. Below is a list of the components that make up the little girl shown in the screen shot above.

Not only is this an elegant way to organize data in our editor (good for us humans), but this is also very efficient for our game at run-time. By storing our data components in common sets, as opposed to an object oriented approach, we can reduce cache latency and thus lose fewer CPU cycles. That way we can use valuable time for things that matter (gameplay, graphics, gibs).

With it's wide variety of features and tools, as well as easy portability to multiple platforms it's a wonder that more people are not using this engine. My team and I are very excited to make our next game using this tool, and are looking forward to seeing what we can produce.