May 11, 2014

Paper Phantom

Game download:


You are a phantom, a spiritual being who can possess humans.   On one rainy night, you arrive at a hotel to investigate a social event that may have importance to you.  Your experience at the hotel at first seems innocuous, but rumour has it that some mysterious man is planning a ritual that may put the hotel’s guests at risk.

Paper Phantom is an adventure game prototype developed by three teammates: Matt, Douglas, and Jamison; and me.  The player’s goal is to solve puzzles by possessing various people and using their unique abilities.

This is the first time that I have worked using the Unity engine.  I find the Unity engine to be a large step up from GameMaker Studio.  By creating scripts using the C# programming language, I, as a programmer, have been able to create complex game rules by being able to utilize advanced programming features like polymorphism.


My involvement with my team of four has been interesting.  As the de facto team leader, I created the idea for the game, wrote the dialogue for the characters, designed the puzzles with my partner Matt, designed the level layout, did all of the scripting, and of course, kept in contact with my teammates.  In addition, our artists, Douglas and Jamison, drew the game assets, creating an aesthetic that resembles games such as Paper Mario.

I have become very ambitious with this project.  Making a game with a supernatural protagonist has always fascinated me, and with Unity, I have been working towards making my dream a reality.  At the same time, I realized how long it takes to program a game of this scale.

I made the explorable hotel three floors tall.  In order to keep the player from getting lost, I carefully locked several rooms, which could only be opened with certain characters.  I also controlled the rate at which characters were introduced, again to help pace the game.


On the programming side, moving in a three-dimensional space was tricky.  I dedicated a sizable portion of code to keep track of colliders, objects that represent solids in physical space.  I needed to make sure that the player would never accidentally move through objects and made sure that players could always interact with a nearby object if the player pressed a certain button.

In addition, each object in the game has its own unique behaviour.  For example, a door to the women’s public toilet needs to stop the player from entering if the player is not controlling a female, and vice versa for the men’s toilet.  Hotel bedrooms also have to keep players locked out unless they are possessing the character staying in that room.  Lifts need to open up a menu that lets players select a floor to which to travel.  Finally, dialogue boxes need to change depending on how far the player is in the story and which character the player is currently controlling, as well as prevent the player from moving while engaged in dialogue.

The sheer amount of coding overwhelmed me, but my determination not only got me through to making a working game, but also led to the code being surprisingly well organized and free of bugs, considering its complexity.  While the game may not yet be rich feature-wise, I do genuinely feel that the framework that I have built can be used to expand the game greatly over the summer.

April 19, 2014

My Game: Infiltrate the Warlocks

Infiltrate the Warlocks is an action-adventure game prototype that my partner and I made for a university project.  The game uses a two-dimensional, top-down camera angle, similar to the original Legend of Zelda games.  In Infiltrate the Warlocks, the player trespasses into a warlock hideout, avoiding the warlocks’ guards along the way.  Once the player reaches the main hallway, the player captures the warlock inside, and the game ends.

Infiltrate the Warlocks was made in GameMaker: Studio, as a requirement for the assignment.  GameMaker is a toolkit targeted towards aspiring video game developers with little or no programming experience.  Instead of using conventional programming languages, users can create game behaviours by using a drag-and-drop interface or by creating scripts using the simplistic GameMaker Mark-up Language (GML).  Using these methods, users can create functional games relatively quickly.




Working on the game with my partner went fairly well for the most part.  I was the programmer for the game.  When we first started planning the game, we quickly decided on a genre, a setting, and a general premise.  The following week, I started developing the game proper by creating a placeholder character who could move in and across empty rooms.  I initially created the game behaviours with the drag-and-drop interface.  When I did so, I noticed that the character could not smoothly move diagonally, and it made the controls feel less responsive.  After a suggestion from my teammate, I switched over to use the GML instead.

While using the GML gave more freedom of control than the drag-and-drop menu, I still felt more restricted than when I used full-featured programming languages like in my computer science classes.  The GML leaves out features that may overwhelm novice programmers, but in doing so, it makes programming less convenient for advanced programmers who normally depend on those features.




While I was familiarizing myself with the GML, my partner had drawn walls and a couple of decorative items in each area and laid them out appropriately.  So far, we had a game where our character moved from one mildly-decorated room to the next, without much in the way of obstacles.  Since one of our areas was a courtyard, I decided to add a key to a simple hedge maze in the courtyard and have it unlock the door to the next area.  I then added another key to the next room and did the same.




Our game’s future seemed promising as my partner added more objects and guards, and made the rooms look more complete.  He even created some eight-bit background music to make the game feel more like an old Nintendo game, and I really liked it.  After having done a substantial amount of work, I decided to add in another obstacle to make the game more engaging.  We went to the GameMaker menu to add another game object … but GameMaker stopped us.




It turned out that since we were using the free version of GameMaker, we were limited to only a small number of objects.  It had seemed that we had hit a roadblock.  While the game at that point was certainly playable, the player had no real objects other than to collect the keys unhindered.  I looked at our current list of objects, and I noticed the object that my partner had created to play the game’s music.  Having an idea, I looked up GameMaker’s programming manual to see how we could have the game play music without an object.  I loaded the GML script editor, wrote several lines of code to play the music, and deleted the old music objects.





With space freed, my delighted partner added an ending screen, congratulating the player.  Having created a framework that relied more on code than on our limited number of objects, I added NPC dialogue and movement for the guards so that they would chase the player.  We tested the game, were satisfied with it, and called it complete.

With Infiltrate the Warlocks finished, I can say that while working with my partner went well, GameMaker had underwhelmed me.  Even if we did not have the limitations of the free version, the limited scripting options, as well as a few minor issues with the interface, has convinced me to switch to the Unity engine for my final project.

Download: http://chrisraleighart108.blogspot.com/2014/04/my-game-infiltrate-warlocks.html

March 17, 2014

I Wanna be the Gamer

Several weeks ago, our class had a game lab, where we students grouped into pairs and played six computer games from a list that the professor gave us.  Each game was a free, short game made by an independent developer.  I was familiar with some of the games, having played those games years ago, but there were other games that were new to me.



Oíche Mhaith:

I found the first game that we played to also be the most unusual game.  Oíche Mhaith is a two-dimensional top-down adventure game, in a style similar to many older Nintendo games like The Legend of Zelda.  I played as a girl named “Eimear”.  The game starts with Eimear having just arrived home and meeting her mother.  Eimear’s mother scolds Eimear for arriving late and tells Eimear, “It’s not good for me to have … you as a daughter.”  In the house, Eimear’s mother gives Eimear a series of chores.  Each time Eimear and her mother talk, the mother complains and even insults her daughter at times, and shows no appreciation when Eimear does her chores.

The game tells a story of a dysfunctional, abusive family.  In addition to Eimear’s brash mother, Eimear also encounters her father, who is self-absorbed in watching adult entertainment and yells at Eimear for interrupting him.  Even Eimear becomes upset later on and shouts profanity at her doll.

Overall, I felt that the game did a fairly good job of having me sympathize with Eimear.  Each time I had Eimear talk to her mother, I wanted Eimear to defend herself and talk back.



QWOP:

After playing the admittedly-dark Oíche Mhaith, QWOP was a light-hearted, humorous change of pace, as were most of the other games that we played.  In QWOP, my partner and I played as a runner named “Qwop”, practising for the Olympic Games.  To control Qwop, we had to use the Q, W, O, and P keys to move a certain part of the runner’s legs.  The game is notorious for its intentionally-awkward controls.  Most of the time, players will accidentally cause Qwop to fall, cracking Qwop’s skeleton in the process.  There is a trick to make the game slightly easier, and it is to alternate holding the W and O keys and the Q and P keys at the same time.  Even with the trick, reaching the end of the course is difficult without a lot of practice.

While I have seen videos online of other people beating the game, I have never beaten QWOP myself, and neither has my partner.  Even still, QWOP can be addicting, and I play it once in a while to see if I can improve.



You Have to Burn the Rope:

In addition to QWOP, I had also previously played You Have to Burn the Rope.  In this game, players start in a tunnel that has directions that explicitly lays out the premise of the game and how to beat it.  The directions tell players that there is a boss at the end of the tunnel and that the only way to defeat the boss is to burn the rope that is holding a chandelier from the ceiling.  Surely enough, there is a boss at the end of the tunnel, and the boss dies when the player drops the chandelier on it.  There is no other way to kill the boss, and the player cannot die.

The game is most likely making fun of video games that hold players’ hands and tell the players what to do, seldom allowing the player to explore or to find a solution on his or her own.  The game also ends with a credits song that can potentially last longer than the game itself.



Jurassic Heart:

This is another game with which I was familiar.  While this was the first time that I played Jurassic Heart, I had watched popular YouTube broadcasters play it before.  Jurassic Heart is a parody of dating simulators, a video game genre popular in Japan, but poorly known elsewhere.  In dating sims, players read a series of dialogue boxes of characters talking, usually with a static 2-D image in the background.  Most of the player’s interaction is pressing a button to continue onto the next dialogue box.  Occasionally, the player can choose what the main character says, but otherwise, the player’s interactivity is much more limited than in most games.

The premise of these games does not really appeal to me, and I can understand why this genre is not popular anywhere outside of Japan.  These games feel like illustrated novels or Choose-Your-Own-Adventure-style game books, not like video games, and the fact that these games hardly take advantage of their medium just bores me.

Fortunately, Jurassic Heart is a parody of the genre, and it avoids overstaying its welcome by being much shorter than its serious counterparts.  In Jurassic Heart, I played as a girl who goes on a date with a dinosaur named “Taira”.  The girl and Taira go out to buy Taira a ukulele and spend the rest of the afternoon talking about their memories about school.  The main joke of the game is that the dinosaur Taira is treated as being normal in a human society.  The dialogue between the girl and Taira can be cute at times, but otherwise, there is not much else to the game.



This is the Only Level:

This is the Only Level was a game that I had not played previously.  This is the Only Level is a 2-D platform game where players play as an elephant and must jump onto a button to open the exit of the … stage.  The game differentiates between the words “level” and “stage”.  The game says that there is only one level as in the game physically takes place in one room.  After the player reaches the exit of the room, the player proceeds to the next stage, but each stage is the same room, or level, with different game mechanics.  The first stage behaves like a normal platform game, but the second stage reverses the player’s left and right movement.  The third stage puts the controls back to normal, but now the button closes the exit instead of opening it, and so on.

While this game was simple, it was interesting to see what game mechanic the next stage would change.



I Wanna be the Guy:

Our last game is an old favourite of mine.  I Wanna be the Guy is a parody of difficult platformers, even more so than This is the Only Level.  In I Wanna be the Guy, I assumed the role of The Kid, who goes around the game world, defeats the various bosses, and goes to the lair of The Guy so that The Kid can kill The Guy so that he can become the new Guy.  The game’s story is just an excuse to challenge the player with some of the most unfair platform levels in video game history.

The beginning of the game is a great example of this.  The player starts in room with a series of floors going down to the next screen.  Each time that the player tries to go to the next floor down, a spike wall immediately closes in, killing an unexpecting player.  Even if the player does get past all of the spike wall traps and reaches the screen below, the new screen turns out to be an apparent dead end, with the player falling to the spiked floor as soon as he or she enters the area.

The player instead has to jump up through an opening in the ceiling at the start of the game, making the player’s progress past the spiked traps for naught.  Even when the player reaches the screen above, the player still has to avoid giant cherries that fall from trees.  Some of the cherries even fall upwards just to trip up the player, and the unfair traps just continue.

While neither my partner nor I have ever beaten I Wanna be the Guy, the game is really fun.  While the traps come from nowhere and are technically unfair, the traps are presented in a humorous enough manner to be more funny than frustrating.

March 03, 2014

My Board Game: Daniel the Warrior


When I brainstormed the design of my board game last weekend, I wanted to make a game that reflected my creativity.  While I have never designed a board game in recent years, I have made a few simple computer games.

The rules of 21 with Emily, as narrated by Emily.

The last computer game that I made was called 21 with Emily, and I used some of its concepts to make my current board game.  The game itself is simple; one human player and one computer player, Emily, take turns counting in increments of one, two, or three.  The count starts at zero, and whoever reaches 21 loses.  While I did take some time to program the actual game mechanics and to program Emily’s behaviour, the main showcase of the game was Emily’s presentation to the player.  Emily gives the player the game’s rules in a snide tone, and her expressions change while the game is being played, with Emily gloating whenever she wins.

Emily wins by forcing the player to count to 21.

As I began to create assets for my board game, I looked back on the previous computer games that I had made, and I realized something about my creative process.  I realized that I focus less on the core mechanics of games and more on their aesthetics.  More specifically, I think about the tone of the game and how it interacts with the player, and only worry about how the actual game works later.  While my drawings are extremely simplistic (mostly because I rarely draw), I do feel that they get across the intended light-heartedness of my games. 

My board game is being prepared in class.

One genre of video game that I enjoy is the role-playing game.  While role-playing video games take place in a variety of settings, many of them take place in medieval fantasy.  For this project, I wanted to make a light-hearted parody of these types of games.  I decided to make three player characters for my game: Daniel the Warrior, a parody of the boisterous fighter archetype; Alfred the Wizard, a parody of aloof magic users; and Lisa the Priestess, a parody of the nurturing and supportive healers.

Alfred the Wizard is one of three playable characters.

Each player plays as one of these characters.  The premise is that these characters are wandering in a maze-like dungeon, trying to find treasure, a common setup in role-playing games.  Each player rolls a die and moves throughout the maze.  Some spaces contain treasure.  Each player tries to collect as much treasure as he or she can.  The game ends once all of the treasure is collected, and the player with the most treasure wins.

Event cards can affect a specific character.

The mechanic that I wanted to showcase here were the event cards.  Each time a player collected a treasure, that player drew an event card.  Event cards could affect the player’s characters in different ways.  I wrote the event cards to be tongue-in-cheek insights on each of the characters.  For example, one event card caused a protein shake shortage, which lowered Daniel the Warrior’s morale and caused him to lose a turn, contrasting a warrior’s stereotypical physical abilities with a deliberately out-of-place modern product.

My original game board took too long to navigate.

When I play tested my game later on, I realized that most of players’ time was spent taking turns rolling the die without much happening.  I responded by removing some unnecessarily long paths and adding more entrances and exits to the various areas.  Even after I submitted my assignment, I realized that my game was still going too slowly, so I reduced the size of the rooms and placed the starting spaces closer to the rooms.  If I were to work more on my game, I would definitely add more event cards and make those cards more varied in their effects.  With that said, I do look forward to my video game assignment and will use what I have learned from this assignment there.

February 09, 2014

Game Lab 1

The start of Cranium.


For my first game lab, I played Cards against Humanity and Cranium.  I do not normally play card games or board game with others, so this activity was a breath of fresh air.  While I enjoyed both games, I liked Cranium more.  The objective of Cranium is straightforward; players start on the first space of the board and must reach the end.  Players roll a die with a colour on each side; each colour corresponds to a category of cards.  The player draws a card from the category and follows the card’s directions.  If the player succeeds, then the player moves forward to the next space of that colour.  There are four categories: Creative Cat, Data Head, Word Worm, and Star Performer.  Creative Cat generally involves drawing a clue, a la Pictionary, or model with clay.  Data Head generally involves answering a question, a la Trivial Pursuit.  Word Worm involves various word problems, such as filling in a black in a sentence.  Finally, Star Performer can involve a player acting out a clue, like in charades or humming a tune.


My team wins Cranium.

Eight of us played Cranium, all of us in teams of two.  I was new to Cranium, but even still, I quickly became familiar with the rules of the game.  The card that I enjoyed the most was a Star Performer card where I had to mime a woman being sawed in half by a magician.  I started by lying on the floor and used my hand to mime sawing through my stomach.  My partner was not yet on the right track, so I mimed a magician pulling the two halves of a woman apart, but my partner was still unsure.  I then mimed taking off my top hat and waving a magic wand over it.  My partner guessed “Magician!”  I nodded and went back to lying on the floor and pretend to saw myself in half again.  My partner finally correctly guessed that I was a woman being sawed in half, and the victory sent our team several spaces across the board.


My partner makes a clay person wearing a swim brief.


The game continued for some time after that.  We did other card activities, such as my partner making a clay person wearing swim briefs, but the charades were still my favourite part.  By the end of class time, my teammate and I won, to my pleasant surprise.

January 31, 2014

Board Game: Undead Apocalypse

© 2010 MeoplesMagazine

Last Wednesday, my classmates and I had to create a board game in groups of two within one hour.

At the start of my assignment, my partner was already wondering on what we should do the assignment.  Fortunately, I already had a premise in mind.  Our players would be survivors of an undead apocalypse.  Our players would start in the countryside, and their objective would be to reach the safeguarded capital city.  On their way to reach the city, players would travel through four zones: The Cemetery, The Séance Manor, The Vampire Lair, and The Bandit Suburbs.  Each zone had its own type of enemies: zombies, ghosts, vampires, and bandits, respectively.

Players would roll a die and move through spaces on a linear path through the zones.  Most spaces would require the player to fight an enemy by rolling a high die number.  Besides the regular fight spaces, some spaces would require the player to fight a powerful boss monster.  Other spaces would give the player a weapon that automatically defeats certain enemies, such as a shovel killing zombies, a stake killing vampires, and a rifle killing bandits.  There were other spaces as well, some of them being a tongue-in-cheek reference to works of fiction, such as a ghost vacuum cleaner a la Ghostbusters, or having to amputate a possessed arm a la Evil Dead.

While designing the game within the one hour of class time, my partner and I had fun.  Even though one hour may not seem like a lot of time to create an entire game, I was able to express my creative thoughts and implement them.  Overall, I was satisfied with this assignment.