Sunday, March 4, 2012

Agile Methods used in Project Hestia


The way we've employed agile methods in the production of our game is mostly in the way we re-iterate some of the product phases. After we came up with a game pitch and requirements we started working on the design. While designing the game we kept revisiting and editing the requirements so it would match the design. We did the same thing again in the implement phase where we adjusted the design towards what we deemed to be possible and better in the game itself. In that way we keep the work we have done in previous phases up to date with the product we have each time and avoid contradictions and mismatches.

We also do this within the implementation phase. Before entering that phase we made an implementation plan which we try to follow the best we can but obviously it is impossible to do it exactly like it says. In our case, fortunately, we have managed to be ahead of schedule which gives us space to implement more things and/or have more time for things we are supposed to do later. So the implementation plan also has to be up to date with the current product.

Our use of Agile Methods

The development of Project Hestia has been very much an Agile process. Although we do have a thorough design doc to guide us, nothing is set in stone. If after implementing a mechanic or adding an object into a level we do not like the new development or think it doesn't fit in with the overall feel of the game we have no hesitation in changing it or removing it.

For instance the decision on upon wether coming in to contact with an enemy in the game makes you restart a level, or blows out the players current match has changed numerous times and I suspect will do so until we have played the game enough to work out which idea works best. Also, if we previously planned to implement something much later on in the project's lifespan but for some reason we feel that implementing it early will help the development process and likewise there is something due to be completed that isn't necessary at the given time we simply change the plan.

Most of our communication is done during group meetings. We normally have two a week that range from around 3-6 hours each. We find it is much more effective to discuss and compare opinions in a group face to face setting. During these meetings we decide what we want to do over the next few days and how we feel about where the game is going. We also get a fair amount of our implementation done in the meetings often using pair programming.

This readiness and ability to adapt to change, a strong emphasis on working software and strong interaction certainly embody the main aspects of the agile manifesto.

Friday, March 2, 2012

The Team in Relation to the Agile Manifesto

Individuals and interactions over processes and tools

We prefer having meetings to discuss plans as well as to do actual development work. Electronic methods of communication are rarely used in our team and even when we do use them, it is for collaborative purposes (e.g. working on the same document through Google Docs during our meetings).

Working software over comprehensive documentation

We always aim to create something that works, with the intention of revisiting it later to improve it if necessary. Likewise, we don't have our plans set in stone nor did we keep extremely detailed documentation of what has or will be done.

Customer collaboration over contract negotiation

We meet with our TA regularly to keep our "customer" in the loop.

Responding to change over following a plan

The plan we developed initially was not followed exactly, only approximately. We did this as a response to change. Change for us came in the form of discovering what actually needed to be done and what Unity was capable of doing, which altered our perspective and correspondingly our development approach.

Agile Methods for Project Hestia

One of the agile methods that we have made use of during the development is the Scrum meeting. We meet every week on Tuesday and Thursday to discuss what we have gotten done, what we plan to do and how we plan on doing it. These meetings also involve a lot of coding in a group, to make sure that we are all working together and communicating well. Almost every major design decision is decided in these meetings. We make sure that everyone is included in deciding how we want the game to iterate for the next week. Secondarily, we have a google document of our backlog. From this list, we all chose what we want to work on next and any time a task is complete, we have it crossed out on the doc, so that we can all see what is and isn't done. Finally, we build tasks in small steps and iterate on them later. Each task, such as getting light working, starts as the basic idea and then evolves slowly as we improve the game. For example when I first built our Light Controller class, it only had one very basic light that was created. After that we build the other forms of light. Then we worked on the different colours of light. This process was very scrum-like and meant that we had a working, albiet flawed, product at all times.

Late Homework 3 Entry: How our team is using Agile methods this term

Although our team does have an overall schedule to abide too, the overall development process thus far has actually been very Agile like in its methodology. For example, even after creating new pieces of code or assets, we often seemed to have found ourselves, going back to the code or art, and refactoring it for efficiency, or in the case of art, perhaps even willing to create newer better models for use in game.

We also have broken down our schedule into small manageable steps, where we allot different amounts of days to different tasks based on perceived difficulty in order to finish them in a more timely manner. However, much like Agile developmental methods, if the task requires more time than usual, we may put it off to work on another task and return to it later. In our case for the Alpha build, we actually managed to finish some tasks early such as the lighting mechanic that changes the game environment's wall layout, giving us precious time to work on other new features.

In essence, since we are using a very flexible developmental schedule, with smaller tasks to complete in set amounts of time, our team is using Agile processes. The additional use of frequent weekly meetings, email correspondence, occasional pair programming, client (TA) meetings and other Agile techniques has thus far been very useful in our game's development.

Hw #3 : Agile Methods

In our team we are using agile methods by making sure that we always have a product that builds and plays properly and it is always being incrementally being built. One of the things we started out with was that we properly built a character and a small level 1st that is playable and every week with the evaluator we would show how the product evolves and what kinds of iterations we will be building for the next week.

In other aspects of agile methodology we are going through the phases of talking to each other and making new changes on the spot. So for example when we found out that scripts for disappearing walls can work on other objects and character, we started to apply to different things in the game to make it more interesting.

Some of the risks we associated with agile methods is that it is very hard to kind of estimate the time when the the project will be done. Sometimes we are done early and we don't know if we should expand it to more quality or complete the functionality in the next iteration of our build.

The trade offs of using agile is that we can adapt easily to changes and at the same time always see how our game progresses. With other methodologies like waterfall we would not have a working build till the end as everybody would be working on different stuff and just integrating a finished product at the end. Thinking about using waterfall method for this type of project would actually be difficult to see...

Thursday, March 1, 2012

General Update

Progress to-date
  • Characters:
    • Protagonist and Ghoul enemy Art and objects done
    • Scripts for Enemies and ghoul Protagnist done
  • Camera Done
  • Level
    • Objects for patient rooms done
    • Lighting and background Done
    • Walls/shell all set up
  • Collectibles
    • Match/ Lantern/ Flashlight art objects done
    • Scripts for the lighting done
  • Sound
    • Background music done
    • Sound Effects for matches done
  • Controls
    • mouse/ keyboard keys script working
  • Mechanics
    • Walking/running done
    • collidibles done
    • AI for ghoul done
    • Filters done
    • hiding partially complete
    • collectible mechanics done
Fortunately, overall progress seems to be going very smoothly. In the case of our Alpha Build, we have set up and are able to demonstrate the essential gameplay mechanics, have a good deal of art established to display the protagonist and main enemies, and most importantly, the overall atmosphere seems to be conveyed very nicely. The level that our Alpha will take place in, a darkly walled patient room, where our lighting mechanics are able to be used, and enemy AI is in working order.

Although the essentials of our game are in place, we still need a good deal of polish to the final product. For example, we are still in need of more art assets, such as more enemy types, and objects to fill up the overall environment. Music variety also falls in line with this, where different sound effects to enhance the atmosphere also needs to be created.

On the more technical side, having a GUI to display the character's light status, number of matches to use, etc, will also be needed, in addition to a pause menu and title screen. We still need to work on the hiding game mechanic, as currently it is only partially complete.

Other nice things to be added include, "story" vignettes, where we get glimpses of our protagonist's past happier times, which of course would require more art assets as well.


Updates to Design Document and Implementation Plan

Please note the new updates to the design document and implementation plan, you can view them in the tabs: "Progress" and "Design Document Updates" above the posts.

Tuesday, January 31, 2012

Civilization IV Mechanics

This overall game is a way in which you control your own civilization, wether it be a british, french, Chinese, russian and it models the real world. You start off as a settler and conquer land and building cities and building roads and mines... Then it becomes more complex when you start to include other civilizations in which you can start trading with people having war with them do politics. It really dynamic how it changes with different visuals in buildings and sounds when time goes by. It kinda reflects the real world in different ages of middle age, stone age, modern age with the aesthetics of the real world focusing on heuristics and familiarity. The best part of this game is the feeling of being the creator of your own city in which you create your own civilization and interact with other civilizations in real life world.

The overall system acts on a turn by turn based game in which it involves tiles where people can move in 9 different directions by tiles which is based on there movement factor. There includes other mechanics of war and resource trading which really makes the the game interesting. The aim of the game is to either conquer the world, build a spaceship to a different planet or when the time runs out. There are many different options and random aspects of the game which really makes you addicted to keep playing

Friday, January 27, 2012

Battlefield 3

Battlefield 3 is part of a new generation of games that focuses almost exclusively on the multiplayer aspect of gameplay. Its single player, though better than that of the previous instalment, still leaves much to be desired. As such, I'll only be discussing the multiplayer component of Battlefield 3 in this blog post, particularly about the aspects I find noteworthy and unique.

Battlefield 3's single greatest strength is how it facilitates teamwork like no other game. When playing one of the objective-based game modes (e.g. Rush or Conquest), you can choose to spawn on someone in your squad instead of some random or faraway location in the map, unlike in most first-person shooters. And before you spawn on a fellow squad member you get a real-time view of what you will be seeing if you were to spawn at that moment. That way, you know exactly what to expect once you get back into the game and whether it's actually a good idea to spawn on that squad member at all. The game also allows you to "spot" enemies for your team-mates so that they show up on your team-mates' HUDs, and you actually get credit for "spotting" enemies that are killed soon after.

"Kill stealing" is also something that happens a lot in multiplayer FPS games, most games alleviate this annoyance by giving you an assist if you damaged an enemy that was killed by someone else on your team. Battlefield 3 takes it a step further, not only does it have assists, but it rewards you a number of points equal to the number of health points you took away from an enemy. For example, if you did 90 points of damage to an enemy and one of your team-mates ends up killing him, you get 90 points and your team-mate gets 100 points. This is the fairest system I've seen so far for dealing with "kill stealing."

Destructible environments is the next highlight of Battlefield 3. If you see an enemy shooting at you from a window and you see them duck, just pull out your grenade launcher or RPG and shoot at the part of the wall your enemy's hiding behind. The enemy will be killed, injured, or at least have their cover destroyed, any of which is to your advantage. Let's see you do that in Modern Warfare 3!

Battlefield 3 is highly underrated compared to Modern Warfare 3. Perhaps its advertising budget is relatively lower. Perhaps its weaker single player undermines its overall standing. Regardless, I think Battlefield 3 goes beyond the call of duty.

Practice Introspection: Saint's Row: The Third

What intended to be a half hour of playtime... quickly evolved into more than 2 hours. The first immediate thought that I had while playing the game, was just how easily distracted you could be! The designers had clearly had this in mind, from making pretty much every aspect of the game customizable. In particular, I spent a bit too much time just customizing my character just right... from eye spacing, to contemplating whether she would have a Russian Accent or a Zombie voice that seemingly every criminal seems to understand with clarity.

Afterwards, I finally began to start doing some simple missions, as this is a open world action game essentially. The first mission was relatively simple, just a driving mission to practice driving skills, and although it was a tutorial level, the game quickly introduced you to how to drift, use nitrous speed boosts and fully customize the car to be a moving death machine... all within 5 minutes. I really appreciated having all this freedom and options right away.

I also enjoyed the character interactions quite a bit, the dialogue between all the characters are sharply written and quite often 4th wall breaking, another aspect that I found enjoyable, which added to the sense of insanity that the game always pushes.

Yes... there are hover bikes in the game!

Speaking of which, the last mission I played was essentially a base jumping from a helicopter and attacking an enemy stronghold. Although, the game at this point played as a decent 3rd person shooter with good aim and gun feedback (the dual pistols in particular literally blew the enemies away), the game still provided me options to deal with it anyway I wanted, from using wrestling move takedowns, to summoning a fighter jet to bring into the fight.

And that's what I enjoy most about this game, the constant sense of freedom that is facilitated by a sense of insanity... that somehow works!

Lugaru

Lugaru is a third-person action game available for Mac, Windows, and Linux. The main character, Turner, is a rabbit with impressive combat skills. In his quest to find those responsible for slaughtering his village, he uncovers a far-reaching conspiracy involving the corrupt leaders of the rabbit republic and the starving wolves from a nearby den. Turner takes it upon himself to fight against their plot and save his fellow rabbits from slavery.

Hand-to-hand combat comprises most of Lugaru's gameplay, although the game rewards stealthy approaches. The fighting system is based largely around close combat and in many cases incorporates knives, swords, and staves. The player can also perform disarms, reversals, and counter-reversals.

Weapons are essential to fighting in this game and each have particular advantages and disadvantages. The knife can be thrown and a character can carry two of them, but it is the weakest weapon of the three. The sword is very powerful and fast, but it is hard to find and easy to disarm. The staff is the strongest of the three, and can easily kill an enemy when it is down. However, the staff can break and can easily be reversed.

There is no interface on screen, so the player must rely on visual cues to determine the protagonists health; most notably the character's posture and if his version is dark or blurred vision. The combat control is original as well, since there are only three context sensitive action buttons, which puts emphasis on fast-paced action rather than complicated button combos: one attack button, a jump button, and a more general crouch-reverse button.

Thursday, January 26, 2012

Practice introspection: VVVVVV

I played a game called VVVVVV which is a 2D platformer. It’s incredibly simple since it has pretty much only one mechanic: To shift gravity so the player goes either upwards or downwards. You are supposed to find few of your friends and collect items while you explore the world along with reaching checkpoints where you resume when you die.


From the very first minute I started playing this game I noticed many things that I really liked. Right away I was very fond of the look and feel of the game along with its simplicity. The music also made me feel very nostalgic (similar to Megaman) and kind of got me in the mood to play. I think that added a lot to the experience of playing the game and probably does the same for most retro-loving gamers. Some parts of the game were certainly frustrating and difficult so I had to repeat them over and over again but when I finally manage to get through them I felt rewarded with a strong feeling of accomplishment. Although I could have easily got too frustrated and quit the game several times, I kept going and now I just can’t stop playing. I would say that the overall experience was a mixture of being nostalgic, excited and frustrated. As weird as it may seem, this combination really did make me addicted to the game and love playing it.

Bit.Trip Runner

Bit.Trip Runner is an indie game for PC, which probably most evokes the old-school sonic games. We play as Commander Video, a pixelated humanoid character all dressed in black, but for a single white visor, which serves as his face. The game revolves around guiding Commander Video across a two dimensional landscape.

Primarily, the game is designed around rhythm. The player must use the arrow keys and spacebar to make Commander Video jump, duck, kick, spring off special coloured tiles, and block incoming projectiles in rhythm with the game's soundtrack. The game world is filled with overly colourful beings that stand in stark contrast to the flat, dark shape that is Commander Video. As the player progresses further in the level, various complex patterns emerge, increasing the tension. If the player misses a single jump or hits a single enemy, s/he must restart that level. This greatly adds to the fun of the game. Upon failure, the game quickly rewinds to the beginning and restarts. There are no game over or failure screens to disrupt the flow of the game. Furthermore, the music in the game increases in volume and intensity as the level progresses. This also serves to up the tension of the game.

Thursday, January 19, 2012

Sketches & Mockups

The three uses of light in the game:

Level mockup

Mockups of enemies

The three uses and types of light

 Hiding spots which are only visible with a certain type of light

Creative Brief

Characters & character description:
Lenore - The protagonist (a young girl)
The Doctor - The largest and most powerful enemy in the game. He wanders the halls of the hospital at random and is the ultimate symbol of death for Lenore

Story:
Project Hestia is the story of a young girl’s first experiences with death. While trying to escape this intense reality she finds herself on a quest to restore light to a darkened world. The playable character (Lenore) inhabits an abandoned world bathed in darkness. Luckily she has a single packet of matches to light her way through the demonic world, so that she can eventually escape and restore light to the world.

Genre:
Psychological survival horror

Platform:
PC (Windows and Mac)

Creative brief:
What is the desired skill or quality that this game would like to cultivate or portray?
- The game will require a medium skill and logic type

What is the goal of the player?
- The goal is to survive and escape from the world/level filled with soulless creatures.

What are the obstacles for the player to overcome?
-Player must carefully navigate through a dark maze-like world
-Enemies will chase after you at every turn

What are the tools the player can use to accomplish this goal?
- The main tools, and pretty much the only ones, are matches that the player can lit up and lanterns. The lightning is both the main mechanic of the game and the main thing that the player can use to get through the game.

How does the game provide feedback?
-Since there is a lack of combat, the player character will be very fragile and will either be attacked and die, or be able to flee. This will mean that a minimal amount of feedback is required when interacting with enemies
-It will be fairly obvious when monsters can see you and when they can’t

Why is it fun?
-Mystery is a great way to draw the player in
-The fear and challenge will keep them coming back for more

Creative Brief Video

Visual Inspiration Part 2

Lighting mechanic without lantern's equipped















Light mechanics, with the directed lantern equipped










Visual Inspiration Part 1








Tuesday, January 10, 2012

The Binding of Isaac

Despite being a very buggy game, The Binding of Isaac has been getting placed as one of the best games of 2011 on many of the top games lists of the year. This is a sentiment that I would have to agree with. The Binding of Isaac works as a game for a great many reasons. Rather than explain which of these is most important, I am just going to detail my experience first playing the game.

The first thing that one is confronted with when the game is loaded, is a cutscene that serves as the only direct exposition for the game. Isaac is a little boy whose mother is a devout (and as it turns out crazy) religious woman who eventually comes to believe that Isaac must be killed. After this cut scene is over, the story does not stop entirely, despite the fact that we are not directly told any more. The Binding of Isaac contains an excellent story of the darkness inherent in religions, the trials of a child, and the danger of becoming what you wish to destroy. This is all told through the mechanics of the game and the snippets of story that occur surrounding the end of each level.

Another major point in the game's favour is its easy to learn controls. There are 10 keys that are used and these control only 4 different types of action. The game presents a very simple guide to how to play at the start of each game and does not waste time getting you into the fray.

A third element that contributes to the game is the sheer depth of what can be unlocked. You are awarded different items for all sorts of different achievements. TBOI does not simply give you a achievement without a secondary, much more tangible reward. This makes the game very replayable, without making it tedious.

One major problem the game has, however, is the difficulty. Despite very simple controls, the game has a very steep learning curve. It is initially very difficult to get past the first level, let alone the other 5. Furthermore, to beat the final section of the game is nigh impossible. I have only managed to do it twice, even though I've played probably upwards of 100 hours of the game.

MULTIPLAYERS Changes Everything!!!

In terms of video games, I have come to realize over the years that its really about the people and the experiences you share when you playing games THAT really create the FUN factor in everything. Playing games as a kid was always fun, challenging people and just really letting all your worries. Then over the years you talk all about those fun memories with those people just really laughing it off from the time you had... When you are hassled pretty much to study and get crazy grades most of your life, you kind of need the escape land. The place where you can just either blow out some steam with some sports games, and fighting games... Or really exercise your mind in games that really get you in sooo deep in the story or the fulfillment factor.

My favorite type of games would be fighting games or games that put you against each other as it was always fun to get that adrenaline and motivation to win the game. Other types of games that I like would be Co-op in which you and other players would have a common goal. When you have less experienced players it would make it more fun in this way, as sore losers can diminish the fun in competitive games. The games that I really dont like too much are the single player time killer games that nobody knows (like some random ipad games)... They are kinda fun at that moment but after playing them alone you have this feeling like you kinda wasted your life... It could be improved by either adding high scores for everybody to share or just get more people playing on it.

In terms of Game Design I believe it is a lot more difficult as a software engineering principle as one success revolves around a huge portion of aesthetics. If your game looks like you tried too hard and weren't that good at design then it would really ruin the game. Games are either decent looking objects that are easily recognized or intense graphics that represent real life. Other aspects of game design that make it difficult is the portion in which a game player will always find a bug everywhere in the game as people usually play game without reading instructions so they dont follow the direct path everybody follows.

Monday, January 9, 2012

Video Game Development vs. Regular Software Development

Video game development is different from regular software development because the target audience typically has much lower tolerance for bugs, performance issues, UI issues, or anything else that detracts from the non-functional requirement that the game be "fun."

The target user base has such high expectations of video games because a game is for entertainment and consequently this user base does not tolerate their gaming experience being laborious or irritating in any way. A game not meeting the "fun" requirement is quickly dispensed with. In contrast, users of say, a spreadsheet program, are relatively more tolerant of imperfections in the software simply because they are doing "work" with the program and do not expect it to be "enjoyable" to use. Gamers also have many other choices for entertainment (both other video games and alternative forms of entertainment). Thus, any given video game is up against a plethora of competitors, any one of which could better meet the expectations of a video game's target audience. On the other hand, there are comparatively few alternatives for users dissatisfied with other types of software. There is much less choice, for example, if users wanted to find an alternate word processor, e-mail client, or spreadsheet application. And for collaborative reasons, such users would already be less inclined to switch.

A "Fun" Game: Saints Row: The Third (no really!)

This game has its own energy drink. INSANITY!!!
Games, whether mechanically, or artistically, has grown substantially as a medium since its inception. There's perhaps too many degrees of input methods (and yes I'm counting motion controls) that can cause frustration rather than enjoyment when playing, and of course the huge leaps in graphical fidelity has skyrocketed development costs, and less resources being invested into the length of the games themselves typically. But most of all...games have become just too "serious" for my liking.

So, it was a great surprise to check out, the latest Saints Row game over the holiday break, and honestly... I was expecting a lot of crass poor taste pop culture jokes, and lame gameplay mechanics to go along with it. But defying all expectations, what I got to play instead were the blend of solid gameplay mechanics that managed to always elevate a level of insanity, that really catered to the crazy scenarios and the freedom that open world games are supposed to encourage rather than inhibit (GTA IV being an obvious example). My favourite level from the game, pretty much emulated the feeling of Tron, right down to the visual aesthetic, and of course, paid great homage to old pc games of the past and the frustrations of pc game lag... by simulating it!

And that's what I really look for in games, being able to craft scenarios that somehow sound crazy on paper... but is playable and creates that sensation of "fun"!

Sunday, January 8, 2012

Super Meat Boy

My interest and dedication to play video games has declined dramatically for the past few years since my focus has moved onto more “serious” and important things. But I still have to satisfy my urge to play games every once and a while. So since I don’t do that very often, the games I play have to be easy to get sucked into. I don’t have the patience or energy any more to follow story lines, build up characters and reputation or even play continuously for reasonably long period of time.

That’s why Super Meat Boy is one of the best games I have played in some while. It’s incredibly simple and at the same time addictive. The objective in the game couldn’t be more straightforward: Just get through the levels without dying, collect things (if you can be bothered) and save the girl you love (who is constantly being captured by the villain... how unlucky can one be!?). That’s how it’s also a tribute to retro platform games such as Super Mario Bros on NES which are the type of games that are my all-time favourite. The music plays a big part too and gives it a certain retro-gaming feel to it.

For my part the most important thing about this game is how accessible it is because of its simplicity and that can be applied to many other games. There is really nothing I can think of what this game could do better. Certainly it can be incredibly difficult at times but how fun is it not having put any effort in winning the game? It does a better job than most games I have played for the past few years by completely satisfying my gaming-urge and that’s all I need!

Final Fantasy VII

Even though I haven't played a video game properly for a good five years now, there was once a time in my life where quite frankly, they were my life. And the game that made that life most complete was Final Fantasy VII.

Now, I know that graphically games are now incomparable to the blocky form of Cloud unconvincingly navigating his way around static barely 3D backgrounds but to me none of that matters. The world of FF7 sucked me in and kept me immersed in it's plot twists, puzzles and drama until I eventually gave up on trying to beat the Sephiroth (the big bad guy) in the last epic battle (I didn't said I was any good at it!).

So, why was FF7 so great? It was the story and the characters that gripped me in the way a good book or film does. Except in FF7 I felt that I could change the outcome, this was my story. I cared deeply for each member of my team and I bore a true hatred for Sephiroth. Maybe it was my young and easily manipulated mind that allowed this game to have such a power over me but no other game, before or since, ever managed to do the same.

However, there isn't really much skill involved in playing this game, the puzzles require a bit of logical thinking but there is no call for quick or accurate use of the controller. It also is slow game, a positive for me as it helped give the plot line more depth but a major turn off those seeking thrills. All in all though, if you are willing to put in the time then FF7 rewards you with a world that you will want to save.