Tuesday, February 28, 2012

Batman and Juliet

So this reading week, one of the things I worked on was the Game Design polished prototype assignment we had. This blog post is dedicated to that.

Game Design and Production - INFR 2330

Our task was to make a game based on a Shakespeare play. We could do one that was either physical or digital, and I really wanted to make a digital game. I ended up proposing that we do a game based on Romeo and Juliet, but you play as Batman and you try to stop Romeo from killing himself.

Now, the way I came up with that idea stemmed from a conversation I had with Lucas a few weeks ago. We were talking about Batman for some reason, and he said that back in high school, he had to write an alternate ending to Romeo and Juliet. Since we were talking about Batman, I interjected and asked him if he wrote an ending where Batman threw a batarang and knocked the poison from Romeo's hand, therefore saving the day.


He said that that wasn't what he did, and he did something else instead. It was something less exciting.

Anyways, so I had that idea in my head when I said we should do a game with Romeo and Juliet, so that's what we did. In terms of gameplay, you play as Batman and the game is essentially a 2D platformer that's in a 3D world. It plays like any other platformer where you traverse from one end of the level to the other.

Nanananananananana Batman.

At the end of the level you enter a new level. After 13 levels you beat the game and you are rewarded with a scene where Batman throws a batarang and it knocks the poison from Romeo's hand.

That's the only win condition in the game. While you play the game, lines from Scene 3 of Romeo and Juliet are displayed on the bottom of the screen and it essentially counts down the last few moments of the play. If the player takes too long to beat all 13 levels, then Romeo drinks the poison and he ends up dying.

Didn't even gg, so bm.

Another way that you can lose is if you were to fall too many times while traversing through the levels. If you fall too many times, then you also lose. There are enemies that are scattered throughout the level that you can defeat with a batarang, and if you touch them they bounce you back and in attempt to knock you off the level.

At first I wanted the game to be a straight platformer where you collect antidotes, but then we realized that that wasn't the must exciting game, so instead we changed it so we added the enemies and the batarang.


Intermediate Computer Graphics - INFR 2350

So for this game, this was the first game where I actually used shaders. Unfortunately they don't do that much. All of the transformations and texturing are done in shaders, and the biggest use of them was for the particles. The snow particles were done entirely on shaders, which is great.

I essentially just used the particle system I made and ported it into the game. I wanted to do other things with shaders, but I had a lot of issues with the game already so I ended up not having time to do other things. A big issue we had was with texturing though.

My building got owned by a transparent texture.

For some reason a lot of our textures didn't work properly. For example the textures that we had transparency in actually cut through the geometry of the level too, so it ended up making things look kind of weird.

Another issue we had with textures was that the character textures would spaz out when the character moved. I managed to minimize the impact for Batman, but I couldn't do it with Joker's hentchmen, so unfortunately when you play the game the enemies are constantly flashing.

Batman is angry at bad textures.

My shadering skills definitely need to be improved for our GDW game. 

Monday, February 27, 2012

Mmm.. Final Fantasy

So this past reading week has been ok. Between working on the Game Design game and getting distracted studying, I didn't really do too too much else. However I tried to fit in about 1 - 1.5 hours of video gaming every night just so I don't go insane.

Frequent readers of my blog would obviously know that I'm a big fan of StarCraft, but aside from being a giant Blizzard fanboy, I'm also a pretty big Square Enix fanboy too. So, this post is dedicated to Final Fantasy XIII-2. I'll be doing a (pretty much) spoiler-free post on it's design and graphics.

Gasp. (Kotaku)

Game Design and Production - INFR 2330

So Final Fantasy XIII was one of those games that everyone either hated or loved. It was plagued with a bunch of complaints, from people complaining that it was too linear, had a crappy story, had annoying characters (Hope), had too much X smashing, etc, etc. I personally enjoyed it though. Like it wasn't the best Final Fantasy cause X is still the best, but it was decent.

However I will say that all of those complaints for the game made sense. The game was actually too linear. There was barely any backtracking or exploration in the game, and it literally just felt like you were playing in a hallway all the time. The game did have a lot of X smashing, because aside from the occasional L1, you pretty much hit X all the time in combat.

My X button is almost permanently into the down position. (Wikipedia)

So in the typical product development life cycle, after you release a product you have to refine it. The way you do that is to typically listen to customer feedback and then think of ways to improve your product in the next iteration to address concerns, wants and anything else you as a developer would think to make your next product better.

It's pretty much the same for games too. If you make a game and are planning a sequel, you want to keep the elements that worked, and address as many concerns as you can in the next one to make it a better game. I felt that Square Enix actually did a pretty good job doing that with FFXIII-2. The biggest thing they changed was that they made the game super unlinear.

Non-linear Final Fantasy game? Shenanigans. (IGN)

There's a lot of time travel shenanigans going on in FFXIII-2, and due to that they have a placed called the Historia Crux where you could select locations at different points in time, and do things there. The game requires you to finish the locations obviously, but they do give you choices as to which locations you want to go to, and when. You could go to one area first and finish that mission, or go to another area and do that, etc. They also made it so you could jump between levels essentially any time, so you could backtrack or explore or grind in other locations really easily.

In addition to that, they even made the actual levels less linear. Unlike FFXIII where each level was essentially a hallway, each level in FFXIII-2 actually has multiple paths and some open areas where you can explore. And in certain parts of the level themselves they actually allow you to make choices for the cutscenes themselves. You are given about four options sometimes during cutscenes and depending on which one you choose, the dialogue would change accordingly.

They even made Hope less annoying. Haha just kidding. I hate him. (Gamespot)

The player is even rewarded with items if you made a good choice, which does make the game more interesting since it gives you more of a choice. It isn't like FFXIII where you are watching the game, but it actually feels like you are playing the game.

However there is somewhat of a downside though to having all this unlinearity, I haven't beaten the game yet, but already it feels like sometimes when I go to a new level the characters talk about things that they may not have mentioned in the past. It makes it seem like if you didn't choose a proper option during a live trigger or something, you missed out on some dialogue that they are currently referencing.

It always seems to happen whenever you enter a new world. I don't know if it's just me though, but it throws me off sometimes.

I know right?

Another thing they changed for this game was the addition of more quick time events. They made cutscenes more interact-able since the player is prompted to make certain button presses or input commands during action cutscenes where if the player does it correctly, then good things happen. Naturally if things aren't done properly, then bad things happen.

It makes the game more interesting as well I think, because like the Live Triggers from before, it makes it seem like you are actually playing the game and have an actual impact on the way the game is played out, unlike in FFXIII. It keeps me attentive during cutscenes, ready to input commands so that I get the perfect score.

Mmm.. More X pressing. (Final Fantasy Wikia)

However I will say that sometimes after a boss fight, I use the cutscene to relax my hands. Can't really do that when I'm needed to do some extra button pressing though.

Overall I feel that from a gameplay perspective, they definitely improved on FFXIII-2, I only mentioned a few things in this post, but they were some of the bigger changes and fixes that they implemented from FFXIII to FFXIII-2. They did a ton of changes actually with a lot of them being small changes that add up to a better gameplay experience (YOU CAN JUMP).

It's nice knowing that some companies actually take feedback from their customers and try to accommodate them as best as they can.

Intermediate Computer Graphics - INFR 2350

Square Enix has always been known for their graphics. Like from the very beginning they had excellent graphics, and FFXIII-2 is no different. It's a very pretty game. However now that I know about shaders, it has killed off some of the awesomeness that I feel towards pretty games now, since all I can think about is the type of shaders they used.

But man, FFXIII-2 is such a pretty game.

Dem shader effects. (Youtube)

I mean, whenever I play the game now, all I see are the glow effects cause quads. They actually use a lot of glow effects in the game. Like a lot. In that trailer alone you could see a lot. One thing that does somewhat bug me though is how the character's hair glows; they seem to overuse the glow shader just a bit. It just doesn't seem natural when a character's hair or skin actually emits a glow, I mean a tiny bit sure, but sometimes it just seems like there's too much sometimes.

Another thing that bugs me is that I can actually see the mesh now. A few months ago if you were to show me this game, I would've been like "Oh man, looks so sick". Now if you show it to me, I'm like "Oh man, looks so sick BUT I SEE THE LOW POLY COUNT ON THE MODELS".

Mog looks so round and fluffy till you notice the flat edges. (Jeuxvideo)

Once again it makes me believe that the only thing that really changed in terms of graphics in games from the last 10 years are shader effects. I mean, the model quality has gone up as well, but the main difference between a PS2 game and a PS3 game really is just cool lighting effects.

You have no idea how much time I actually spend just looking at random things during cutscenes thinking about some of the effects they used and how they would accomplish it. They actually compound a lot of effects together. In that one screenshot above they have lighting, glow, shadows, depth of field, bloom, and just a whole bunch of stuff just thrown into the scene.

Theres even more shiny effects during combat as well.

So much glow. And alpha blending. (Bitmob)

With the camera constantly panning around showing different angles while so many effects and calculations are being done, I'm honestly at a loss as to how game companies actually make their games so efficient. I can barely keep my frame rate up with some simple effects, yet they do so many effects in real time and still have their game really, really smooth.

There are a few situations where the frame rate does go down though, but I've noticed that it was mostly when they had a lot of characters on screen for a cutscene, or when the characters are enveloped in this magic fog cloud particle thing, but again, only for cutscenes. During gameplay it's incredibly smooth, which really blows my mind.

Also I can't ever tell if that's a model or a texture. I'm leaning towards a model though. (Push-start)

Just playing through a game like is actually awesome though. Like the gameplay is fun and all, Final Fantasy games in general always had kind of like an "Anime-realism" thing going on. It's not like Uncharted or Crysis where everything is made to look as realistic as possible, but they have like, a Final Fantasy twist on the type of look they have. It just gives the game a nice feel to it.

One day though. One day I'll be able to do these type of effects. But first I gotta finish the semester so I can actually get back to playing this game. Only 11 hours in and reading week is over :(

Friday, February 17, 2012

Game Design - Homework 5 - PSG Remix

Part three of homework 5 for game design.

Game Design and Production - INFR 2330

The original Portal, Sharks and Gates (PSG) game is a race to the end board game where players collected money to buy buffs and debuffs while navigating a trap based map in an attempt to reach the end before their opponents. The game was mostly luck based as the player’s success often depending on their dice rolls and which nodes they landed on, however there was still a strategic element in it where players could play their buffs and/or debuffs at certain times to gain an edge or to hinder their opponent.

Reusing this image cause I can.

I plan on remixing this game to make it entirely luck based. The basic premise of the game would stay the same, the players would all start from the same node and roll a dice to determine how many spots they move and try to get to the end first. However, many of the mechanics built into PSG would be modified or removed and replaced with more random effects that I feel would make the game more luck based yet still be fun.

The first thing I would do is to remove the Key, Support the Economy, Sword and Steal cards from the game and make all of the cards instant effects instead of allowing the player to control them. In addition there would be no more money system so the game would have no controllable resource system.

This card was silly anyways.

Whenever a player lands on a coin node, they move additional spaces equivalent to the number of coins on that node. So if a player lands on a node with one coin, they move one space, two coins are two spaces, and the treasure chest is 5 spaces.

If a player lands on a $ sign or a “gate”, then the player has reached a wildcard zone and must draw a card from the card deck. The card deck would be comprised of all of the cards aside from the three cards mentioned above and their abilities automatically activate. These effects include sending the player one slot forward, skipping an opponent’s turn, moving an opponent one slot backwards and having the player skip their next turn.

The shark and portal nodes would continue to work the same way as in PSG so that if a player lands on a portal zone, then they roll a dice and move to the designated portal zone. If a player lands on a shark, they move 20 spaces back.

What a cool shark.

All of these changes make the game less controllable as the only thing the player really does would be to roll a dice and play with the effects that occur. This makes the game more random and volatile as the player has no control as to how the game plays out. However this game should still be relatively fun as the player and his/her opponent would be subject to so much randomness that it should allow them both to laugh at each other’s misfortune or fortune.

Gonna use this board as much as I can!

Game Design - Homework 5 - Tic-Tac-Toe Rule Change

Part two of homework 5 for game design.

Game Design and Production - INFR 2330

Tic-Tac-Toe is a pretty boring game to play once you reach a certain level of understanding of how the game works. It’s pretty figured out and so there is actually never a winner if both players know what they are doing, which makes for an incredibly boring game. In addition to that, there really is no risk/reward in playing Tic-Tac-Toe. Losing or winning has no real positive or negative outcomes, so there really is no point to playing this game.

Gasp, this is my first dynamic image in this blog. (Wikipedia)

The first change would be that instead of using Xs and Os, the players now use heads or tails. This obviously means that instead of just drawing an X or an O in a grid, players now play with coins.

At the beginning of the game, players decide what they want to be, either heads or tails. Heads gets to start first. However instead of playing the game like regular Tic-Tac-Toe, on your turn you flip the coin. Whatever the result is (heads or tails) is what you get to place down, regardless of what side you chose.

I wish all my coins were this shiny. (Wikipedia)

So in regular Tic-Tac-Toe, when a player chooses a symbol they play as that symbol for the rest of the game. They win only when they get three in a row. With my new rule set, the symbol you play as is random. It could be your symbol one turn and your opponent’s the next turn. However you still only win when you get three in a row, so if you chose heads and flipped tails, then you want to place that coin on the grid somewhere completely random so your opponent doesn’t benefit from it.

This adds an element of randomness as you don’t know what you will be getting on your turn. You would be incredibly lucky if your opponent kept flipping your element, but you could be incredibly unlucky and keep flipping your opponent’s. It also adds an element of interesting skill as you would have to place your coin somewhere where your opponent would not be able to benefit from it.

Assuming of course you're this guy and cheat. (Wikipedia)

Once a winner is decided, then the winner gets to keep all the coins on the grid. This essentially makes this version of Tic-Tac-Toe a gambling game since players will bet coins and place them on the grid and the winner takes all. It could be with any value of coin, in fact it could also be bills if you want, in which case players play with both sides of the bill.

This adds an element of risk to the game as winning or losing now has clear rewards and consequences which make the game more interesting. The value of the money being played with is up to the players, so it could be as little as a penny or as much as a hundred dollar bill. 

Mad money with my Toonies.

Game Design - Homework 5 - War Rule Change

Part one of Homework 5 for game design.

Game Design and Production - INFR 2330

War is a card game that is played between two players. There are no choices to be made in the game; therefore it is barely considered a game as the game essentially plays itself. This is because when the cards are first dealt, they are in a specific order and the player essentially just reveals the cards one by one and enacts the “battles”. In essence it really isn’t much of a game; rather it’s just an algorithm to bring two decks of cards into a single deck.

Couldn't find a picture of the game war. (Wikipedia)

To make it more interesting, more skill and choices need to be injected into the game. The first thing I would implement would be the slapping element from another card based game “Slapjack”. In Slapjack, players slap their hands down on specific cards and the person who does that first wins that round and gets the cards. Likewise I feel that adding a slapping element to war would make the game more interesting as players will get physically involved and would promote game awareness.

Essentially players would play war like normal, however instead of just deciding that a player won the battle when they reveal a higher card, whoever slaps the higher card gets to receive those cards instead. A normal game of war does not have much “action” in the game and thus gets boring after a while, so implement a slapping mechanic would get the players more into the game.

Huh. Apparently a slapjack could be a weapon. (icollector)

In the case where the revealed cards are of the same value, then the players would move onto the second mechanic change. In regular war, the players draw three cards and reveal one and compare which is higher to see who wins the cards. Again, this is not really that interesting as the game essentially plays itself.

In order to add an element of choice and decision making into the game, I propose that instead of merely drawing three cards and revealing one, the players draw three cards and look at their own cards. Then, they would essentially make bets with the opposing player similarly to how it works in poker. Each round of betting would essentially be one player betting one or more cards from their deck, and the other player can either match their bet or raise it.

If a player decides to fold, then all of the cards that are in play at that moment (The ones in hand and ones in the betting pool) goes to the winning player. If after 5 betting rounds both players still do not fold, then the three cards in each player’s hand is revealed and the player with the higher value wins. The value of the cards would be determined with standard poker rules, such as three of a kind beating two of a kind, and so on with ace being the highest value.

Like this, but with only three cards. (Onlinepokercanada)

This would essentially turn war into a game that has a mix of physical, reflexive action with a strategic portion which I feel would make the game more interesting and more of a game.

Yay for random Magic cards lying  around.

Thursday, February 16, 2012


Intermediate Computer Graphics - INFR 2350

So as I've mentioned a few times already in previous blogs, my goal was to hit 65 in the homework questions. I finally hit that mark yesterday, and I believe I'm the second person to reach the cap after Gordon. It actually feels fantastic since now I don't have to worry about them anymore. I can just focus on getting things done for my other classes and working on GDW. Obviously my shadering adventures are far from over, but at the very least I don't have to stress over getting the homework questions done.

Anyways, this blog post is dedicated to my last week of shader homework questions, featuring particles. I finished last week at 53/65, so I needed 12 more points. I figured that since the easy particle question was at 4, and the medium one was still at 10, so getting those done would be ideal, especially since I want particles in our GDW game anyways, so might as well get it done.

I told Gordon that I wanted a photon particle system in our game. (Wikipedia)

So back in last semester, which totally feels like a trillion years ago by the way, I created a really simple particle system in SHFT. The most obvious particle effects that could be seen were the snow effects, but I also had particle effects for magic attacks when they dealt damage such as fireballs exploding and I also had particle effects for when enemies died. Overall it was pretty simple, every system was essentially the exact same, however the spawning position and velocity was slightly different.

The best looking one was the snow effect though. I was really proud of it because it was incredibly simple to make, and it looks pretty sick. In essence what I did was that I created a quad (alsanfoanf) above the world and told my program to randomly generate a position in that quad, and then randomly generate a velocity. With these two pieces of information I would just initialize a particle and then have it fall. The only two forces I had actually acting on it was a gravity and a wind force, and that was it. Simple. But it looked nice.

Our game looked pretty good back then.

In fact I was tutoring some people in Linear Algebra the other day (I'm a tutor working at the Academic Success Center and offer free tutoring in subjects such as Discrete Math, Linear Algebra and Programming through drop in hours on Tuesdays from 10 - 1 and by appointment 5 slots a week; you can book an appointment online at https://studentexperience.uoit.ca/home.htm.) and I asked them how I did my snow particles and they could pretty much figure it out too.

So now the problem was to figure out how to port it into shaders. Back in SHFT all the particles were done on the CPU which is lame, so I needed to figure out how to put it into the GPU. It turned out it wasn't even really that hard, you just had the same values, a velocity, position and acceleration and then you fed it a time value and using the awesome "P2 = P1 + V1t + 0.5At^2" formula the shader could automatically figure out where it would be. This only pretty much works with constant accelerations though, otherwise the particles jump around a bit. Same with changing velocity and position, since the formula assumes position, velocity and acceleration are constant and only time is changing

Random accelerations do weirdish things sometimes.

So that was essentially one question done. The  next question would be the particle lighting question. At first I thought the question was having your particles be a light source so that they would light things up, so I did that. But apparently the question asked for the actual particles to be lit up. So I hacked up a really bad, really crappy, really ugly demo by the time class was over.

It was actually really bad. Like I feel bad for showing it to my prof, that's how bad it was. I was totally ready to just scrap it and do another question too but he ended up accepting it, which was great, but I still felt kind of bad. Honestly, most of the questions I've showed him did what it was supposed to do, but none of it looked very pretty. Most of it was pretty crappy looking, I'll try to fix that for next year, since I'm pretty sure we're going to be having these homework questions again for Game Engine.

This is a game engine right? How do I even program that. (Wikipedia)

Regardless, I'm done my homework questions for the semester. Moving on I'm probably just going to focus my programming efforts on stuff for my GDW game. I'll obviously be programming more shaders as well, but I don't know how much of it I'll be blogging about. Apparently people actually read my blog, what kind of programming related things do you want me to write about? Cause I could totally talk about anything. Even vaguely related stuff like the music I listen to when I program, random programming habits I have, etc etc.

Meh, back to particles. One of the requirements were to billboard particles, so I did some research on that and apparently it requires matrix or quaternion multiplication to rotate the particles so it always faced the camera. I have matrix and quaternion classes set up, but I figured it would be insanely expensive to do that for every particle, so I talked to the particle master Mirza and he said to use point sprites. So I did and my particles were billboarded. Simple.

But it also makes it not really look like snow.

Point sprites are pretty cool actually. Essentially you define a point and tell the program that the point is now a texture, and it textures it. Now instead of drawing four vertices for a quad, I send in one point. More efficient and it auto billboards, which is awesome, but it looks like the further back particles don't decrease in size relative to the scene. Gotta fix that. Also my frame rate. My code is so inefficient right now. Ugh.

My goal for particles is to have a better weather system though. We only had snow in SHFT last semester even though I made rain too (It looked terrible). The goal is to get more weather effects in this semester's game and to have random floaty particles in random places too, just because I can.

I took this picture randomly one day and wanted to use in a blog. Hope it's not too out of place here.

But yea, I need ideas for future blog posts. I can only blog so much about the stuff we talk about in class.

Monday, February 13, 2012

Decisions, Skill and Flow in StarCraft

Game Design and Production - INFR 2330

So I just finished listening to this week's audio lecture on decisions, skill, luck and fun in games. I found the lecture pretty interesting since as I was listening to it I was thinking about how certain attributes are found in games. The biggest game I kept thinking about was StarCraft. If you know me, you know that I'm a huge fan of StarCraft; I even reference it a lot in my blogs. Unfortunately due to school and such I don't watch or play it as much anymore, but I still love it a lot.

The game of StarCraft for those who don't know about it (Get out.) is pretty straightforward. You are essentially in control of a military army and it's up to you to build up your base and army to destroy your opponent. It's a pretty straightforward game to play and everyone can play it, however most people are terrible at it. Relatively speaking of course.

This man thinks you're terrible all the time. (EG)

StarCraft is a really interesting game, because like I mentioned in a previous blog post, it really has became a sport. People play this game for a living, people pay money to watch professional players player, and people just straight up play the game for fun. I feel that StarCraft embodies a lot of the concepts discussed in the audio lecture really well and that's why it has seen so much success in a genre that is generally not as popular among the masses.

Honestly, StarCraft is Real-Time-Strategy. Whenever someone says RTS, I think StarCraft. Aside from maybe WarCraft, no other game comes even close to challenging StarCraft to the throne. It requires so much strategy to play and it requires strategies to be thought out and executed insanely fast. As a result there are many, many decisions made in every single game of StarCraft and they are all meaningful. There are games that are decided by the smallest mistakes that are just compounded as the game goes on, ultimately deciding a loser or a winner.

However this guy just doesn't lose. (Team Liquid)

From the very absolute beginning you have to make choices that will affect the flow of the game. What build will I use? Which army composition will I make? When should I scout? How should I react? There are so many questions that are thrown at you and as the player you must make the best decision in order to swing the tide of the game into your favor. Playing on a map that favors economic play? Maybe I should 6 pool to attempt to catch my opponent off guard if he or she decided to play too greedy.

Theres so many decisions to be made and they have to be made quick. The game is played at an incredibly high pace, hundreds of actions being made per second. See a bunch of marines stim in to ward of your mutalisk harass? You literally have a split second to decide whether to fight or flee. If you decide to fight and you misjudge your decision, you lose all your mutas. You decide to flee just a split second too slow? You lose a few mutas for free.

Mutalisks so good. (StarCraft Wikia)

The sheer amount of decisions that need to be made in the game inevitably leads to a high skill discrepancy between the high level players and the low level players. Some players just straight up make bad decisions. I'm by no means a good player, but I'm not terrible either, but sometimes I watch lower level players play and I'm just confused as to why they would make a certain decision or decide to build a certain unit, it just doesn't make sense.

StarCraft skill is more than just theory based though, theres actually a huge physical component involved in StarCraft as well, which sounds silly at first, but StarCraft is an incredibly mechanically taxing game. Lets take StarCraft: Brood War as an example. Brood War is notorious for being an incredibly hard game to play. You can control an army with like a hundred units, but you can only control twelve units at a time. Not only that, but you can't select multiple buildings at the same time, your workers have to be manually set to mine, and the AI is terrible.

That's three marines being controlled one at a time. (Youtube)

Like I don't know how impressive that looks to people that don't play StarCraft. But let me tell you, that is damn impressive. For comparison this is how it looks when you don't see those Lurkers, and don't micro.

I wish Lurkers were in SC2 just because of this video. (Youtube)

Blizzard made StarCraft II easier to play, but it still retains many of the characteristics inherent in Brood War that made the StarCraft series so popular. So between the sheer amount of skill involved in playing StarCraft and the number of decisions that need to be made really quickly, StarCraft is a really hard game to get good at.

It's been compared to games like chess a lot actually, where everyone could play it. But in order to get good at it, you have to spend a lot of time exploring every possible outcome, planning every move many turns ahead of time, and just thinking a lot. Except in StarCraft you're doing all that in a matter of seconds, not turns. This difficulty curve leads into the topic of psychological flow that was mentioned in the audio lecture.

According to Wikipedia, flow is "the mental state of operation in which a person in an activity is fully immersed in a feeling of energized focus, full involvement, and success in the process of the activity.". StarCraft gets you into that state for sure. Like I can't physically hold a conversation or notice anything else when I play StarCraft. Weird things happen when I try.

This is essentially what I sound like. Essentially. (Youtube)

I get so immersed in the game with all the thinking and the strategy that I zone everything out. I get into the flow and just focus entirely on the game. All I think about is what my current economic, army and technological options are, and based on what I know about my opponent, figure out my course of action and figure out a way to crush him. All I hear is the background music playing softly through my headset. All I feel is the rythmn of my fingers going through the almost automatic motions of 5sd5sd5sd5sd1a click 2a click 3a click 55 click v click 11 5sd1a click 2a click 3a click.

All I focus on is the game. Nothing else. When I win a game, I feel immense joy and satisfaction; when I lose a game I feel frustrated and defeated. Knowing that I beat my opponent because I out though, out played, out maneuvered him is the greatest feeling ever. Not many other games do that to me. StarCraft is just such a technical game that's so complex that requires so much skill that it pushes me to always strive to play better, just because unless if you're the absolute best, there's always someone better than you.

There's so much I could talk about when it comes to StarCraft, but I wont go any further since it'll make me want to play again, but I have programming to do.

<3 (Kotaku)

What was this blog about again?

Saturday, February 11, 2012



Intermediate Computer Graphics - INFR 2350

So last week I wrote about lighting with shaders. I really wanted to work on the shadow mapping question, but it seemed really hard, so I'm putting that one on the back burner for now. I'm going to get it done eventually, but maybe just for fun/GDW, not for experience. So this week I just did a bunch of miscellaneous questions, not really much of a theme.

However  that's not what I want to talk about. I want to talk about quads this week. On Monday I talked with my GDW member Gordon about some of his shadering adventures. He said he got a full screen blur shader done. I thought about the full screen shaders a bit before too, and I couldn't figure out a way to do it since I thought that shaders could only be used on elements, so I wasn't sure how you would make it so that elements around our models would be able to glow or blur. With my limited knowledge of frame buffer objects, I figured it was possible to just texture our scene onto a quad and display that instead. I thought that was dumb, and that can't be how it was done. But Gordon said that that was how he did it.


Skip to Tuesday night. We were learning about frame buffer objects in class and the things that could be done with them. Dr. Hogue mentioned that we could apply full screen shaders to the texture generated from the frame buffer objects, and that we could essentially "Photoshop" our scene by using multi-pass rendering and full screen shaders. Seeing an opportunity, I raised my hand and asked: "So do you just draw a quad and texture your scene onto it?".

And he replied: "Yes" and just did that Dr. Hogue smile. You know the one. It's the one he uses when he knows hes crushing the magic our childhoods were built on. All those 3D games we played? Totally just a flat quad.


Man, it really sucked. From a technical perspective it made sense, and it was totally reasonable and in fact, kind of creative to do so. However from just a games-as-entertainment point of view, I could feel the magic of video games I had dropping another level. Or two.

I mean it's cool. It allows you to texture your entire scene and then re-render every part of it which allows you to do really neat things. Blurring, glowing, etc, all that stuff is essentially just having a full screen texture being run through a shader. It makes the game look cool and modern, and I'm all for cool and modern. But man, quads. Quads.

Damn you purple quad.

Unfortunately my frame buffer objects don't work as intended so I couldn't try any full screen shaders. I figured out a way to replicate a similar result, but it's really hacky and nasty. Regardless, the next day the first thing I did was did was draw a quad on the screen that the was the same size as my viewport, and then textured my scene onto it.

It totally looked fine too. I couldn't even tell that it was a flat plane. Which I guess also makes sense seeing how technically everything on your screen is a 2D image anyways. Once a 3D model goes through the graphics pipeline it gets rasterized as a 2D image on your screen, it's just that it's updated so fast and smoothly that it gives an illusion that it's still 3D. So really, texturing a quad shouldn't be that big of a deal.

But it totally is. My mind exploded and I'm still recovering from like the post-traumatic shock.

I managed to make sure enough of my brain stay unexploded to shader.

I mean, I always kind of thought that if I were to punch through my monitor, I would be able to interact with real 3D objects on the screen. Obviously that's not how things work, but I always just hoped that everything on screen was legit 3D. Now I know I can't actually do that. If I were to punch through my monitor, I would have to deal with the fact that there is a solid brick quad in the way.



So a few posts ago I talked about the homework questions in this class. Apparently today Dr. Hogue decided to change the decay system a bit so that it was less soul crushing and just normal crushing. But normal crushing is fine, normal crushing is a walk in the park in game dev.

So now the homework questions have a minimum value of 3/5/8 for easy/medium/hard questions respectively, meaning that questions never run out of value. A few weeks ago I would've loved this change. It would've made it so that I wouldn't have to stress over the fact that I really wanted to get to 65 and that if I wanted to get to 65 I would have to power through them asap.

But now that this changed happened, I have no idea how to feel. A part of me is more relaxed since now I don't have to worry as much for my last batch of points, but at the same time I'm somewhat annoyed that all that work I put into it to get it done so soon ended up not meaning too much. I know, I'm a terrible person, but a part of me wishes that it didn't change >_>

Hm, adjust the numbers a bit and it'll be like the format I blogged about!

Regardless, doesn't really change too much for me. I got a fantastic one extra point, meaning that I just need 12 points for my 65. I already know which ones I want to get done, and my goal is to have 65 by Tuesday.

After that, it's GDW full-time.

Tuesday, February 7, 2012

Games as Poems

Just came back from my Game Design class and just had to write a blog about today's class

Game Design and Production - INFR 2330

So today's game design class was really interesting. Normally it's a pretty interesting class, but today's class was even more interesting.

It all started off when we were told to move the desks and push them against the classroom wall, and then to take our chairs and set them in a (elongated) circle. It seemed kind of silly at first since it made it kind of feel like an elementary school class instead of a university class with all the sitting in a circle while the teacher talked in the middle. But hey, I'm all for having my classes be interesting, so I enjoyed it. Would've been so epic if there was a bonfire in the middle though.


So the topic of today's lecture was "Games as Art". The entire topic was focused on defining art and how it related to games. Later in the lecture the prof showed us a few art games that I personally thought was pretty cool. One of them was a game where you tried to bomb the terrorists as they walked around in a busy market place. Due to the nature of the bomb you inevitably caused a lot of collateral damage when trying to kill the terrorists and as a result killed a lot of innocent bystanders and destroyed many buildings.

The most interesting part of that game was the fact that after you shot a missile, the surviving civilians around the blast would run towards the blast zone and mourn those who died. After they finished their mourning, they morphed into terrorists. They morphed. Into. Terrorists.

Like this, but less tokusatsu. I love tokusatsu.

It kind of blew my mind actually. When I first saw the transformation I was just like, "What. Wait what.", and then I realized the entire point of the game. It wasn't to entertain the player on shooting terrorists, it was to spread realization that when we hunt the terrorists, we inevitably cause damage to the innocents which in turn fosters hate which leads to more terrorism.

Later in the class the prof read us 'The Road Not Taken" by Robert Frost. I actually remembered studying and analyzing that poem in my high school English class. I don't exactly remember the exact way I analyzed it back then, but in essence the poem was about the speaker talking about making a choice at a fork in the road and wondering about the outcome at the other path.

Huh. A few more trees and a darker setting and this is exactly how I pictured it in my head.

As a group, we analyzed the poem as a poem about wonder and curiousity. What if the speaker had taken the other path? Would his life be any different? Was it a better choice? Was it a worse choice? No one knows. The entire point of the poem was that the speaker has no way of knowing what awaited him or her at the end of the other path since he or she will never return to that fork.

It essentially represents the choices humans make in our lives. Everyday we make choices. Sometimes it's a small choice, like what we want to eat for lunch. Other times it would be a major choice, like choosing to come to UOIT to study Game Development. I personally always think about that. When I applied to university, my two main choices was between UOIT for Game Development or at Waterloo for Computer Science Co-op. I got accepted to both programs and well, you know which one I ended up choosing.

Not this one.

Would my life be different if I went to Waterloo instead? Definitely. Would it be better? I have no idea. In fact, I will never know. It's not possible to know. Keeps me up at night sometimes man.

In addition to analyzing the poem, we had to make a paper prototype that emphasizes the mechanics, dynamics and aesthetics that were apparent within the poem. This was kind of weird to me at first since it was a poem. I mean, how do you make a game about a poem? But as we analyzed the poem, it became clear to me that we could actually make a game out of the core concepts the poem was about. But what? I couldn't think of a good idea. I didn't want to make a stereotypical "Choose a path and stick with it" board game, but I couldn't think of a better idea.

Then, my group member Alex proposed that we make a game where we had a blank board with two cards on it face down. The player picks a card, looks at it and puts it down. The game ends and the player is never allowed to play the game again or to know what the other card was. At first I was like ".." but then I was like "That is a great idea."

I couldn't find a great picture.

So it was decided then. We decided to do exactly that, but I said that we should have a tally on the board that kept track of the choices the previous players made so that when you played the game you only have access to information on what previous players chose. I thought that it would be more in line with the poem since the speaker was analyzing the paths with the information he saw about what may have occurred there.

We decided to keep the game looking simple. We just literally had a white board with the word "CHOOSE" written up top with two cards we made out of construction paper. Both cards had a green construction paper backing and we stapled one piece of paper to each of them.

Simple, yet elegant.

Each member of the group took turns playing and then we gave it to our prof to play. Of course, since we made it we already knew what the other paper was, but it was still pretty - I don't know the word; it's hard to explain - but it was kind of interesting to play the game regardless. I kind of want to make a digital version of it. Should be really easy to make, but I don't know how to program it so that the player can only play it once. Actually I totally do. In a hacky way. Maybe I'll do that. Maybe I'll blog about it later in the week.

As for what's on the other side of the cards? Well, you'll never know unless if you play it.

Sunday, February 5, 2012

How Sound Makes Me Feel

This post relates to a lot of the concepts in my Sound and Audio class, but I believe that it also ties in nicely to Game Design, so here it is.

Game Design and Production - INFR 2330

So I went back home yesterday. I like going back home since school food isn't that great, and Chinese food is the best. When I got home, I noticed that I had a package waiting for me as well. I had ordered the Final Fantasy XIII-2 Collector's Edition online back in December and since the game came out on Jan 31, it was already delivered and waiting for me

I got the collector's edition because I like collector's editions. I normally don't buy them too often, but I bought this one because it was relatively cheap for collector's edition (Only $15 more) and it came with a four disc soundtrack, an art book and a sexy box and case.

The box actually feels so nice.

The art book was smaller than I thought it would be, and the box actually looked and felt really nice. I was pretty interested in the sound track though, Square Enix often makes some pretty good music for their games. I would say that their graphics and audio are pretty top tier; all of their games have looked incredibly pretty and sounded awesome since the beginning.

So I popped each of the four CDs into my laptop and started to import them into iTunes. When I was done I saw that there was 5 hours of content and that for some reason most of the tracks were labelled in Japanese. Which I thought was weird because I got the English version. And you know, most English speaking people don't know Japanese.

When so much of my music is in Asian, it annoys me to no end when iTunes decides to replace Asian characters with boxes.

I started listening to each song one at a time. I haven't even played the game at this point yet, but I just wanted to listen to the sound track while doing some work. I ended up writing yesterday's blog post, did some programming and did some research online while listening to that soundtrack.

Also a bit of an aside before I go on, the stuff on this soundtrack is not what I listen to on a regular basis. I listen to a lot of European and Asian rock music that for a lack of a better term is more awesome than stuff like radio music. Here's a song for comparison.

I had this go off in my Sound and Audio lab by accident on Thursday, how embarrassing.

So what I'm trying to say is that this soundtrack isn't really appealing to my regular tastes in music. There's a lot more orchestral pieces and soft vocals in it that I normally would never listen to. However, I have to say that it sounds really good.

One thing that really strikes me is that in a lot of video game soundtracks, there aren't really that many games that have songs with vocals in them. This soundtrack on the other hand has a lot of them. A significant number of the songs have vocals on them, which I thought was kind of weird at first since if it's supposed to be background music, wouldn't something other than ambient noise be distracting?

Well, yesterday night I played the game for about an hour and a half, and I encountered certain areas where the background music had vocals in them. It was pretty cool since the vocals were not too terribly in your face and instead melded into the instrumentals and just sounded really good. It didn't really distract me from the gameplay but rather I felt it augmented the instruments in the song really well.

The only exception.

So how does this relate to Game Design? Well, sound and audio are really important in games. They add a new dimension of immersion and feel to the game that can only be accomplished by appealing to our sense of hearing. Just having really pretty graphics and fun gameplay is nice and all, but without the proper sound to accompany it, it just doesn't feel the same.

For example, there was this one song on the sound track that when I listened to it, I closed my eyes and just asked myself what I felt. It was a pretty soothing song and it conjured up imagery in my mind of a sunny beach with calm waves gently lapping at the shore. And honestly, I'm pretty sure that's where that song is used. As background music on a beach.

The monsters are slightly off-camera.

You know the music is done well when you can listen to it and can figure out where it  might go in a game and how it might be used to convey the tone and atmosphere of that level or event. It got me thinking to other games and how they used sound as well.

One of the first examples that popped into my mind was another Square game, Chrono Trigger. Back in the SNES days, the technology just didn't exist to make photo-realistic graphics or full orchestra sound tracks. However Square still managed to create music for the game that was memorable and full of energy and emotion. Chrono Trigger is often remembered as one of the best RPGs of all time and it definitely has one of the best sound tracks too.

I love this song.

Games like Chrono Trigger would've still been a great game even if it had no sound. It has an epic story with fun gameplay elements and I honestly still enjoy it today. Sometimes I plug in my SNES to my HD TV and just play games on it. The graphics look ridiculous since they get blown up so much due to the size of the TV, but it still is incredibly fun. The soundtrack just makes it even better.

A good soundtrack just adds so much depth to a game that it can make a game better, but at the same time an annoying soundtrack could take away from a game as well. As designers, we have to make sure the sound we have in our game helps strengthens and augments our game's feel, rather than detract from it. Last semester when my GDW group made SHFT, we literally added in background music and sound effects the night before it was due.

I put that on the TV too. In 3D.

SHFT was already pretty good, but adding in sound effects made it feel a lot more polished and complete. Having sound effects attached to actions made the game just feel more real. The background music we had didn't really fit with the snow theme we had though. The background music sounds like it would fit more a jungle theme, and a lot of people were pointing that out actually.

Our background music didn't fit with our theme, so it just felt weird sometimes if you payed attention to the background music. I mean it wasn't bad, but parts of it just felt off. Just goes to show how sound can make a game feel better, but at the same time if done incorrectly can also take away from the game too.

Also, even if you don't plan on playing FFXIII-2, I highly recommend you check out the soundtrack anyways. You can find a lot of them on Youtube already.