Wednesday, April 4, 2012

Detail vs. Imagination

This week I wanted to talk about one of the types of game balance mentioned in the lectures: detail vs. imagination. This type of balance stands out from the rest to me, as it is vastly different and inherently hard to achieve. It also has a pretty substantial impact in the scope of the game, but I feel like it is being used less and less in the industry today.

I want to talk about an older game I have mentioned on these blogs before that I think balances detail vs. imagination well. Then I want to compare 2 games from the same series that vastly differ in their balance between detail and imagination.

The game I wish to talk about is Master of Orion, a turn based 4X strategy game set in space. While it is inherently easier for strategy game to achieve a good balance between detail and imagination, I feel like observing this balance in a simpler environment will be easier to learn from. Everything in this game is abstracted to the player, and is shown through symbols or images that represent things well in the game world. One of these things, is how the player interacts with his/her own empire. The player's avatar in the game world is that of an emperor but the avatar is never really shown to you in game. This makes it so that its easier to imagine yourself be in the game world. The interactions between the avatar and the empire are done through screens that represent different facets of the empire: scientific, military, or espionage. These are the only things that are really relevant to gameplay so they made sure to have some sort of personal representation that you could interact with.

















This brings in the imagination factor into the system, where you are shown what your people look like through one simple and brief interaction. When you go back to the main game screen, where all you see is stars and numbers that are supposed to represent your empire, you can imagine what is happening in the worlds below. This goes hand in hand with your interaction with other empires, which are done in a very similar way. The image that you are presented with, along with text gives you just enough detail for your imagination to fill in the rest of the details. What other species look like, their intentions, the fact that some of your people are sent as ambassadors etc.



Compare/Contrast
This is where I want to compare 2 games with vastly different levels of detail. I want to compare the original Fallout game with Fallout 3, as the latter introduces an extraordinary amount of detail to the genre. I played Fallout 3 first, and while it won awards and was critically acclaimed, I felt like there was just something not right with the game.

In the original Fallout, there was minimal detail, and all of your interactions with characters and some other game objects were done through text. The game world was introduced with a pre-rendered cutscene, so that your mind has a reference to go back to when not given enough details. This works really well because this provides great context for your mind to follow. The experience created by this effect is something like reading a book. By making you imagine some of the details in the game, the mind is intertwined in the experience and therefore more connected. You feel more investment in the world and characters, because partly you are the one that helped create them in your mind.



On the other hand, when I started playing Fallout 3, there was a very high amount of detail on everything. It was impressive, and immense, but somehow, something felt ... off. The character interactions weren't the things I imagined anymore, and felt really rigid, cold and lacking of life. Even though they had full facial animations, and expressions, the experience it created was not up to par with the one I had imagined in the original Fallout.

This is where detail can have adverse effects on the overall experience, and as Jesse Chell mentioned, only detail what you could do well.

Friday, February 3, 2012

Homework 4

This week's homework revolves around a practical exercise in balancing numbers in a game. The game we looked at this week was one many students were familiar with: Magic: the gathering.

The cards I created were strictly following the rules outlined in class, as some cards that could be made were not very balanced in the actual game of Magic (for example: with the rule set outlined, you could make a 3/1 creature for 1 red mana, which is slightly ridiculous). Also, the idea behind some of the cards would be much better realized if I was able to attach special abilities to creatures, as that was not allowed in the homework. This way, I have 2 versions of each card. One abiding by the homework rules, and one design that makes more sense in the context of the actual rules of Magic: the gathering.

The art on each card is not mine, and I credited the usernames of the respective artists (off of Deviant Art) on the bottom of the card where the artist's name is usually on all other magic cards. Even though I'll lose 2 marks for this, I do not see myself doing hours and hours of artwork for a simple exercise like this. In the end, the design is what matters, and I think the artwork I picked reflects the theme of the card well (definetly portrays the theme much better than what I could've done).

Card 1: Engulfing Soul

Deviant art username: RuslanKadiev Art: Fire Elemental
The first card I designed was meant to be a creature for devastating offensive strikes, but with a critical weakness to hold it down. The total benefit points gained from mana & other baseline costs is 12 (+1 baseline, +6 from coloured mana, +3 from colourless mana, +1 for being red, and +1 for being over 5 converted mana cost). I could have split it evenly at 6/6, but with the theme of red creatures, they are all about offense. So I decided to ramp up the attack to 10 while sacrificing the toughness and leave it at 2.

The 3 red mana was meant so that you could not simply splash this kind of power into multicoloured decks and to reinforce the fact that this was meant to be mostly a pure-red creature.

The theme behind the creature was that it was supposed to be the soul of a powerful, albeit tyrannicaly gluttunous being. As the flavour text suggests, his gluttony in life is what sets the soul ablaze in the afterlife. These fires are what creates his power, but the torment has caused this soul to be very brittle.

This is the re-design of the above card to make more sense in a Magic context. This card is quite expensive for a mono-red deck, esepcially since 6 converted mana cost is pretty mid-late game. There needed to be more benefits to this card for it to be more useful.

The first and most obvious addition was trample. This is a vital addition, as a meager 2/1 creature could simply block this guy and get away with it. The second addition I thought was neat, and goes well with the theme. When he dies, his flames spill all over the battlefield and cause any weak creatures to die, thus further raising his value as a board-wiping card, plus with the addition of doing trample damage to the enemy's health.

Card 2: Charnel Stormcloud

Deviant Art username: totmoartsstudio2, Art: The Storm
The second card is meant to be a cheap, defensive creature. With the art suggesting a very dark, and chaotic setting, I decided that it should be a black creature. The total benefit points gained from mana & other costs is 5 (+1 baseline, 2 for black mana, 2 for colourless mana). 1/4 is a relatively even split in favor for defense, as it leaves room for the creature to damage the creatures it's blocking, but also having a high toughness so that it is hard to get rid of. This makes sense in the context of the theme, as this is supposed to be a stormcloud. These tend to not be very mobile, and any creatures caught in it's range would at least suffer some penalty.



 The re-design of this card is a more powerful version of the one above, and a meaningful and powerful blocker in its own right. The change is that it is now a multi-color creature which justifies the newfound power, although it might cost a little too much for a multi-colour card. I tried to create something faithful to the art depicted (flames and death, red and black respectively), while also capturing the power depicted with the addition of deathtouch.

Card 3: Thousand-legged Serpent


Deviant Art username: superpauloitalo Art: Colored version African Dragon
This card started out as purely an experiment as to what I could get away with by having a green creature get the +2 bonus from costing 5 converted mana or more. The benefit points total from mana & baseline is 10 (+1 baseline, +4 green mana, +3 colourless mana, +2 for green & mana cost over 5). Considering I've already done an offensive and a defensive creature, this time around an even split seemed logical. Being 5 mana for 5/5, this creature seemed like the most standard creature I could think of, with no special benefits or things that make it unique.

The title of the card is an inspiration from an actual card in magic called the Thousand-legged Kami:

I noticed it has very similar stats in terms of mana and toughness, so I'm on the right track. It has a special ability however, so that is going to skew the mana cost. I felt that the original card I designed is actually pretty fair, and doesn't need a redesign in my eyes.

Other Designs
I figured I'd indulge myself in a few more designs, as I found this exercise to be rather fun. The first card is obviously broken, but I actually never knew that Magic had a symbol for infinite mana. Where could they possibly use it? I don't know of a card that uses that symbol, so I challenged myself to balance a card that could potentially give the user infinite mana for 1 turn. It is rather hard to punish the player properly for that kind of gain, but I think that the current design I did is somewhat fair. It's probably better to increase the mana cost for untapping the artifact, but the idea was once you've played this, you hope to draw at least 1 land to get a shot at getting infinite mana again.

Kickass art by Sam Burley (taken off of Deviant Art)
Another card design was me fooling around with variable power/toughness. I never saw this type of card that relied purely on luck, so the initial design was that players roll 20 sided die for the P/T. I realized that not only would this be overpowered, but not all players have access to 20 sided die. If you play magic, you probably should, but considering all options, it was best to do something else. I figure converted mana cost of random cards in your hand to be a good idea, as you'd know when you want to cast the card (a lot of high cost cards in your hand). As a bonus, this card will probably never go above 7-8 for P/T, as having more than 1 card in your hand that costs more than 8 mana is relatively rare.

Deviant Art username: Zyklon8B Art: Warrior Concept

Tuesday, January 31, 2012

Homework 3

The game I'm looking at for this exercise will be Sacrifice. Published by Interplay and developed by Shiny entertainment.


This is a real-time third person strategy game that puts players in the role of a wizard who can summon creatures and cast spells based on which god they decided to ally themselves with.

The progression mechanics in the single-player campaign are very clear and visible to the player. The player does 10 missions for any god they choose. Based on their decisions, they will get different spells and creatures for each mission they complete. Creature types you get are stronger in stats like damage, range, health and abilities, and spells you get are progressively stronger, although cost more to cast.

Now that the basic progression mechanics are explained, below is a chart explaining all the resources I thought were relevant, and their relationships to each other:


This may seem complicated, and I'm planning on explaining this graph to the TA in detail. Although in basics, each colour represents a string of related resources. For a simpler example, Mana and Souls are directly related to creatures, as both resources are required to be consumed in order to get a creature. Each colour represents a direct link, or otherwise some sort of relationship between a group of resources, as several resources are often linked together for similar purpose.

The central resource, as can be guessed, is the amount of souls you have. Everything related back to souls in the end, as this is the deciding factor in a victory or defeat. Without souls, you can't do much of anything, as your wizard doesn't pose much of a threat to an entire army. Most, if not all, resources are there to help you acquire new souls, or protect your souls (creatures) from capture. A very important thing to note is that this is a zero-sum resource. Every single soul gained is taken away from the tallies of another player. This makes this an extremely important resource, but yet is given too much control over the outcome of the game.

Changes
As stated before, souls have a tremendous impact on the outcome of the game, much more so than any other resources. The grasp souls have over gameplay can be quite unbalanced at times, as losing one encounter early on can cost you the entire game. This is amplified by the fact that most later missions begin with heavy assaults on your army very early in the mission, most of the time when you are not yet ready.

One way I would improve this is make souls more interchangable between players, so there could be hope for retaliation when you've lost your first battle. The resource relating to this is time. There needs to be less time to acquire the resource, because gathering souls takes quite a while. For the player with the upper hand, he can afford to spend the time required casting the spell, and waiting for the soul to get converted. However, the player that is frantically trying to re-build his army has absolutely no time to both rebuild and recapture the souls that he has lost.

Friday, January 13, 2012

Game Design II

This blog is now for the Game Design II class that I have for the semester, and any blog posts from here on will relate to that course's material. For this post, I will be discussing the board game activity we did in lecture 1.

Rules of the game
The name of the game I played was Ligretto. This is a very fast paced card game where things get much more hectic with more players playing the game. The minimum number of players is 4, and the max is 12. Each round takes approximately 10 minutes.

Each player picks a stack of 40 cards with a unique back-suit design to call their own. Each deck contains 4 sets of coloured cards, with each set containing cards numbered 1-10. 10 random cards are put face down into a deck, and 3 more are put face up next to the deck. The rest of the cards become the player's hand.

To begin playing the game, a player must shout 'Ligretto start' once all players are ready. Players must build stacks of cards of the same colour ranging from 1-10 in sequential order. Whenever a player encounters a '1' card, they may place it on the playing area. The players may discard 3 cards at a time into a stack form their hand at any time, and can only play the topmost card. If they run out of cards in their hand, the stack is shuffled and put back into the hand. Players may also play cards from the 3 'slots' they have available to them beside their deck. If a card is played this way, the player must draw a card from their deck and replace the played card. The winning condition of the game is when a player gets rid of both their deck, and the remaining cards in their 3 'slots'. When this happens, the player shouts 'Ligretto stop'.

The score is counted up by however many cards that player has put into the piles, and each card is worth 1 point. However, any remaining cards in their deck are worth -2 points.

Things I liked
This is the only card game that I've seen that has no turns. I think this is a really nifty feature of this game where everyone plays at once. This means that people aren't waiting for most of their time as others get to play their turns out before they actually get to do anything. With everyone playing at once, all are engaged and no one is bored. This also opens up a new opportunity for skill-testing. Games with clearly defined turns make it easy to pay attention to other player's moves, and think of how to react to them. With this game however, it is an entire skill-based mechanic to watch what other players are doing with their cards. For people who are good at this mechanic, they may be able to chain together combos as soon as a desired card is played by a certain player that hey were observing. This is a very fast way to deplete your deck, and often nets you lots of points.

The rules of the game are very easy to learn, and are simple enough to be quickly picked up by anyone. This opens up the accessibility of the game to a very large amount of people, so that anyone from a circle of family/friends can easily enjoy this game without struggling to find people to play with. Not only that, but the excitement and enjoyments arrives much faster once everybody is caught up and knows the rules.

This brings me to the next thing I liked, which is the ability to accommodate a very large amount of players. I rarely see card/board games accommodate more than 6 to 8 players, which forces people to split if they are in a large group. Having the ability to support 12 people creates a single experience that can be shared between a larger group of friends, which increases the enjoyment for all. Given the accessibility the game possesses, supporting 12 players capitalizes on that and makes sure there is enough room for newer players to join in and try out a few rounds.

The pacing of the game is very quick, with short rounds offering a small energetic burst of fun. I think this is really awesome because it lessens the time investment needed from players, and becomes much easier to play the game more often. With other, longer games, people often have to plan around the fact that the game might take anywhere from 30 minutes to 2 hours to finish. Having short rounds gives people more of a chance to play this game with a larger group when not everybody can afford to drop a significant amount of time from their schedule.

Ligretto also stands out from most other card games by exercising a different skill set from players. More often than not, card/board games exercise strategic thinking, and reward thought out and well planned moves. It is a nice change of pace to have something faster that rewards good reflexes and hand-eye coordination.

Things I didn't like
The score gap between winner and losers of a round is too large. The person who shouts 'Ligretto stop' usually wins by a large amount of points, compared to all other players because they have no penalties. There were some instances where people were in a near-tie, but even then, all other players went negative. Having a -2 penalty is too harsh in my opinion, as this essentially kills any intense competition and near ties unless both players happened to dominate and be at the top of their game. If you were not leading the round, it felt like there was nothing you could really do to gain an advantage or to stop other players from depleting their decks very quickly. In all of our rounds, the person who shouted 'Ligretto stop' is the one that won, even though the rules hint at the fact that depleting your deck first may not necessarily cause a victory.

I didn't like the fact that there were no stack limits. Even between 5 people, the amount of stacks that could crop up would really slow down the pace of the game, since there was so many opportunities for people to place their cards. The over saturation of opportunities also caused players to not even notice some stacks were in play, while other players took this to their advantage to quickly get rid of their cards without anyone noticing and having a chance to react or stop them. If there was a stack limit based on the number of players, then this would bring more focus to the game.

Ligretto is very messy. Card piles often don't get cleaned up by players who finished a stack, and stacks themselves end up in a large pile which takes up quite a lot of room. Not to mention that players usually have 20+ cards in their hand, so cards tend to fly around everywhere and make a mess.

The rules of the game don't have much depth. Simplicity is a double edged sword, where in this case its easy to pick up, but also easy to put down, and forget about it completely. I could see this being fun for a couple of games, but the lack of any extra rules, special conditions or anything of that sort quickly dwindles the excitement due to repetition. Couple this with the large score gap between winners and losers, and you have a recipe for frustration. Although this is supposed to be a fast-paced game, it does not hurt to give players some sort of rule or condition to keep in the back of their minds as they play.

Cards are easy to damage. Although this is more of a nitpick than anything, it brings up the question of how durable is this game? I know for a fact that in the heat of the moment, I bent some cards  (sorry prof. Nacke!) as I was trying to lift them off the table. Given the speed of play, these cards are going to go through a lot of abuse. Having them either made out of a more rigid and durable material could help prevent card damage.

One thing I would change
I would change the penalty system that is applied for players who still have cards in their deck. Out of all the things I didn't like, this was the one that bothered me the most. In the 5 games I played, 3 of them I ended up have a score of lower than -20, while the other 2 I had a score of at least 18+. This very large (almost 40 pts!) gap prevented any sort of real competition between the 5 of us.

Instead of having a 'deck' and a 'hand' I would change it so that you only have to care about the 1 pile of 40 cards that you are given at the beginning of the game. In other words, you start out with just 1 deck on the table and nothing else. At this point, players can only play cards from one source, the discard pile. However players could still utilize the 3 slots to place any cards there that they think are going to be useful soon . Players only have 3 slots however, and if their slots are all full, they can remove a card from a slot and place it face down next to their original deck, forming a secondary 'penalty deck'. If a slot gets free, players can either draw from their penalty deck and place that card into the empty slot, or put a card there from their discard pile. When the game ends, any cards in a player's slot and penalty deck are worth -2 points.

Obviously, the winning condition needs to change. The winning condition would instead rely on the amount of stacks that have been finished and the number of players that are in the game. So let's say in a 5 person game, 8 stacks need to be completed to finish the game (5*2 - 2). Some stat collection needs to be done to make this change. For example: how many stacks do players finish on average in the original game? The formula would then need be tweaked to make sure the game is long enough for people to enjoy themselves.

The idea behind this change is that players are responsible for their own penalties, rather than just be given -26 right off the bat (3 slots + 10 cards in the deck), and having to crawl out of it. This way, there is a sacrifice to be made. Initially, players only have 1 place to play their cards from, and playing only from this pile is very limiting, as you don't have a lot of options. While putting cards in their slots opens up options, it also potentially brings about penalties if you're not careful. This trains players to both look for opportunities to chain together points, and looking past their own cards to strategize. Good players will know when is the right time to put cards into their slots, and management of slots is essential to victory.

Friday, March 25, 2011

Raptor Racers Week 10

I skipped week 9 by accident, but there has been quite a bit of progress since I last posted. The animation system is mainly done, and looks a lot smoother because I cut out the 'secondary Pose' and interpolating parameter entirely. It was not needed at all, and the animations actually look smoother and work better without it, especially transitions from pose-to-pose.

Now, with lots of help from Brent Cowan (our Graphics TA), I've developed a proper cel shader which looks totally awesome! Cel shading tutorials online (like lighthouse3D for GLSL) also helped, and provided me with information and know-how to understand how a cel shader does what it does.


Above is an image contrasting my shader vs OpenGL default lighting. There are actually 2 separate shaders working to achieve this effect.

 The first shader is a shader that does the outlines. The shader file itself is actually very, very simple. All it's doing is moving a vertex along the normal to 'fatten' the model. I'm telling OpenGL to disable lighting (so that it's one solid colour), and to cull faces that face the camera, as opposed to away from the camera before the shader is actually used. The back-face colour is what makes the colour of the outline, the shader can take that as a parameter (colour) and also line width. That way, we can have different line thicknesses and colours for each object, or even a different state of the same object.

This would be something like a 'selected' effect

The second shader takes care of the lighting, and actually draws another teapot inside the 'fattened' version. Depending on the angle between the normal and the light, the shader just clamps diffuse/specular (etc.) values in a certain range. This can be done for a variety of light types, not just diffuse.

Diffuse + Specular cel shading
Small white highlights for something shiny (like a robot raptor!).

'Glassy' + Diffuse + Specular
 I'm not sure what the glassy effect would be used for, but I modified Brent's code for edgeGlow and fillLight to be cel shaded. It's there if we need it. All of these effects are under the lighting shader. Our game can pass a parameter to the shader and tell it to use/not use different effects (diffuse is required, obviously).

The darker areas look a bit gray due to the ambient value, I'm not sure if either looks better.


Without the ambience, the black outlines blend into the teapot, so we're going to stick with ambience for now.

Saturday, March 12, 2011

Raptor Racers: Week ... 8? I think

Wow, it's been quite a while since I last blogged, I guess my excuse would be midterms and my internet being out for two weeks, but mostly it's just me forgetting. Anyways, let's get down to business.

I remember mentioning a while ago that I wanted to implement a better animation system in our game that can support multiple blend poses (secondary and primary poses), and for the most part, I am done this system now. It works fairly differently than what we had implemented before. What happened earlier is that all the animation system would do when called is set what the next pose would be, and let the drawing function for each raptor determine the actual positions of the vertices & normals that correspond to the model. Each raptor would call this drawing function one at a time, and all of the code used to be in main, and it looked fairly ugly. The new system takes up a bit more memory, but I hope it proves itself to be more useful and flexible down the road. This new system, first of all, cleans up all of the animation code out of main, and in a special function in RaptorClass that gets called by the player and each raptor AI. I have an OCD-like tendency to clean up main as much as possible, and seperate everything into classes. Unfortunately this is a luxury when trying to code something up really fast, and this is the reason why our original animation code was all over the place. RaptorClass also recieved a couple of new member variables. One of which is fairly huge, which is an ObjLoader object. There are several huge arrays for storage of vertex/normal/texture information, and I'm not sure why they are this way. Apparently messing with the max values completely screws up our texturing, and sometimes our normals. I have a suspicion that not all the arrays need to be that huge (10,000+ max size!!!), and that only one array needs to be big enough to store all the information related to faces. I don't know though, I'd have to bring this up at the next group meeting. The other variables are pretty insignificant, and are just integer values.

One new function was written to take care of just the interpolation. The theory is that instead of drawing the object as soon as you interpolate it (our old system), you do all of the blending in one place multiple times to achieve in-betweens of different poses and store that in memory. All you'd have to do in the render function is just to draw the information that is in the variable stored in the RaptorClass (our new system). I'm hoping this will be somewhat more efficient, because the actual math is all being done in one place, and in bulk, separate from the drawing.

A pretty significant downer I did not anticipate though, is that when blending multiple poses together the latest pose often takes precedence. This produces a result that looks almost exactly the same as the previous animation system. Maybe it's just the way I'm blending, because the theory sounds to be correct.

I may tweak the code in the future for the animations to be more dynamic. Right now, I'm going to try to focus more on shaders, getting a proper HUD to work, our very simple 'level creator' or maybe trying to fix textures (using PNG's instead of BMP's due to size issues).

Friday, February 18, 2011

Raptor Racers: Week 5

Progress on the game has slowed somewhat, there are random fluctuations in progress each week. Some weeks we get together, figure out what needs to be done and actually program something that sort of works. Other weeks, like this week, the whole group mainly just focuses on assignments and generally does not touch the game code or discuss much about the game.

Although comparatively, last semester the real heavy lifting started right around after midterms. The moment we were done, we went into a sort of panic, and our group meetings increased twofold, and productivity went up substantially. I have a feeling that this will happen again, as we only have pretty much 1 month and a bit to complete the requirements for our game. We only have 3 midterms to study for though, and that will put a substantially lower amount of stress on the whole group as a whole.

A new group member has also joined us a while back. This is a new unexpected twist that we will have to work around. It is quite difficult to assign tasks to this group member because a lot of context needs to be provided to him in order for him to be an effective group member. All of our group members already have specific roles that they fulfill, and adding one more group member in is giving us a more difficult time than it should.

Another thing that is giving me issues is that we definitely need to start learning how shaders work. At this point in time we have no idea how difficult they are going to be to implement. From what I hear and have researched, it could be as easy as telling OpenGL to run a separate piece of code during it's rendering stage, or as difficult as writing your own shader code that effectively simulates real world materials. It's great that various teachers are telling us to prototype and plan out before setting out to program and create art for the game. I agree, and this works well with people who already know at least some of what they are doing. Unfortunately for students, this is not the case. We are learning as we go, and we have no idea how long some aspects will take to implement, or how difficult it will be to even implement simple game mechanics (like jumping for our Raptors). This makes planning, brainstorming and idea generation in general incredibly difficult.