Saturday, September 25, 2010

The Game Programmer's Trap

What is a game programmer's trap? Let me first state that generally, game designers are programmers than artists. Programmers are naturally curious about applying mathematics into their games so once they learn something, they eagerly want to make a game or a game feature that implements it. That is what I call a game programmer's trap.

We sometimes forget what games are meant for and become solely interested in showing our technical skills. Games have only one purpose: To create experiences for the player, or to put it into simpler terms, to let the player have fun. Mathematics and code are just means of achieving this goal. Ultimately, the most important thing is the content.

I believe that the designers should let the design of the game drive the code and not vice versa. This may seem obvious, but it's so simple to forget. It should not be the case where you learn ray-casting and you want to make a game that utilizes it. No, it should be the case where you want to make a game, and research on ray-casting when you happen to need it. Showing off technical aspect does not make a game; it makes a technical demo.

I cannot emphasize how important content is to a game. You can have 2 fundamentally same games with different content and still capture the attention of the audience. Look at the newer Mario and Kirby platformer games. The player have to go from point A to point B, so fundamentally, they are exactly the same, but what sets them apart is the content and features. Anyway, the point here is that consumers don't care about your technical showcases. Others might, I might, my classmates might, your future employers might, but a regular salaryman most likely don't.

Of course, this doesn't mean that you should abandon all hope in technicality in games. That's not the point I'm driving at here. Yes, having better technical skills allow more options of games to make. The point I'm driving is NOT to let your curiosity on all things mathematical and technical decide the game and its features.

For example, I have a simple Mario-like game. One day I learnt ray-casting and I want to implement line-of-sight to the game. Take a step back and think it through first. Does the game really need it? Don't do it because you CAN. Do it because you NEED it in the game design. Piling up too many unnecessary features to a game will simply destroy it.

It may seem like a really trivial thing to some. I might seem like I'm stating the obvious of the obvious, but when you are learning or formulating implantations as a programmer, it's hard to ignore it because you just figured it out and you want to put it into practice. Go ahead, do it in a separate tech demo. Just don't add it into the game itself unless the game demands it.

Monday, September 20, 2010

3rd week in DigiPen

This is my...what...3rd week already in DigiPen. Homework are starting to pile up gradually. At this point, as long as I keep most my weekdays away from gaming, I should be relatively safe unless there's suddenly a big concept in my maths module I don't understand.

It's great to have a head start. For maths, we are just introducing on Points and Vectors, and just getting started onto defining a line with Points and Vectors (which strangely looks like Ray Casting). I admit that Maths is my weak point but I'm really comfortable with Points and Vectors. It's probably the only topic in maths I'm rather comfortable with.

On top of that there's the game project module. Thankfully we are working on a very nice in-house engine called ProjectFUN, so I don't expect too much work on the engine itself, mostly just let loose and create something that's fun for others to play. The engine really looks like Flash, just that instead of ActionScript, we are using C++ for codes.

University is so different from polytechnic in so many damn ways. Or maybe it's just DigiPen. Every lesson is extremely detailed but they end up being interesting despite how drone-y the lecturer is. Almost everyone is passionate about making games. I met quite a few with great ideas which they are willing to put into practice.

The school itself has a quiet and comfortable environment. The lecturers, assistants and the people there are extremely helpful, friendly and experienced. Even my Psychology, English Composition and Maths classes' lecturers made reference to games (Psychology talking about the social aspect of RTS, MMO and other genres and English FEMALE INDIAN lecturer bringing out references from Bioshock game designer).

It's by no means easy though. I had troubles adjusting at first, especially between this and my semi-active Blazblue website commitments, but it's all fine and dandy now that I know when I can readily commit to both. I almost blundered my first maths test but thankfully I still barely passed. The average score of the entire cohort for that maths test is like 19/40 marks.

There's a whole bunch of guys who got lower than 10, with around eight of them with pure zeros. I had background knowledge so I had an edge so even if the questions are difficult, I have my previous experiences to fall back on. I really really wonder what it must be like for those new in this field. Most pioneers from NYP DET course went through hell and back to gain the knowledge we have about this field so we are sitting rather comfortably at the moment. We can take the extra details we learn from the lessons and apply it immediately to our experiences. For them, it must've been really tough...

I know I'm busy, but as time passes, it gets harder and harder to feel that I'm actually busy. Maybe because I'm actually having fun studying? I stopped playing Starcraft 2 for the past 4 days without even realizing it. Even the textbooks are fun to read because I KNOW I can learn something extremely relevant and important out of them.

There's still a loooong way to go though and this is only the beginning. Maybe a year later you'll see me ranting and posting about the hell that is DigiPen...who knows? Now I feel like I'm lacking quite a bit of sleep already, but I am still able to pull through to get my homework done, and I don't do them grudgingly, thankfully.

Wednesday, September 15, 2010

Review: "Mount and Blade"

First off, I'm going to thank John for introducing me this game. Sandbox games are actually one of my favorite genres in the games industry. We don't really get to see many of those nowadays. Others I've enjoyed include Sid Meyer's Pirates and Vikings: The Strategy of Ultimate Conquest.

The most important thing about sandbox games is the setting, so for Mount and Blade (I'm just going to call it MnB for short), the setting is Medieval. No magic, no mysteries, just straight up sword, shields, arrows, and of course, horses. It currently looks a little incomplete here and these, but despite that, it has enough working features to keep me going.

When you start the new game, a series of questions will be thrown at you. These, as most gamers would expect, determine your starting stats. Afterwards you will be thrown to your stats page which you probably will not understand what all those words mean. Look up a guide in GameFAQs, or explore them yourself, it's up to you but you will definitely not understand them the first time you play like most age old RPGs.

Finally, they'll ask you which faction's city to start from. This only gives you your starting location, not your faction, so don't worry if you start in a faction you don't like. We'll go more into that later.

After creating your character, the game throws you into combat instantly against a random guy. Win or lose, you will be rescued by a merchant and he will ask if you'd like to do some stuff. This is basically just the introduction of the game and the quest is very optional. Nothing bad will happen if you refuse him.

Okay so now you get to travel around. As a sandbox game, most people will feel at a loss on what to do. Even after the introduction quest, some will not know what's their objective in the game. There isn't one really, but essentially, you'd either want to be a mercenary or a vassal for a lord. Being a vassal is generally more fun because you will easily be involved in politics, huge wars, and all the other minor variables that run the game.

Or you can just be a hired blade, running around signing random contracts with random lords, changing your faction at a whim and simply just...wander around the world and try to make a living. I didn't really find that interesting so I became a vassal with all my characters.

But the common mechanics used to making your living is: Gather an army, level them up, customize your army, and go do what you want with them. This process is repeated many times especially at the lower levels.

Oh yes, I haven't actually tried to work for a claimant (people who have rights to the throne in a faction, and some mishap happened that caused them to get exiled or whatever). Most of this guide is going to be mostly about being a vassal, since that's where all the fun and combat lies.

So now we can finally look at factions. There are a total of 6 factions you can join and when you do, your relation with other nations will be adjusted accordingly whenever your faction goes to war.

When you are in a faction though, it doesn't mean you are limited to that faction's soldiers. You can still go around recruiting different recruits from different factions, but chances are, you are going to stay inside the faction's boarders and thus your army will most probably contain mostly soldiers from that faction.

Joining a faction will immediately grant you a fief, which generates free income for you. Winning sieges to castles and towns will also give you a chance (depending how much your king loves) to own it.

As far as factions go, all factions have more or less different army composition. Swadians have the best equipments and knights, and Vaegirs have very good knights and the best archers, Nords have the best infantry but no calvary, Khergits have all their soldiers on light horses, Rhodoks supposedly beat calvary armies with their heavy spear reliance, Sarranid have the best knights.

So know your faction's army composition and your enemy's before heading to better. Nords heavy reliance on infantry may seem like a joke on open field thanks to calvary, but they are hell to beat when you are sieging them when you are denied your horses.

Likewise, Khergits can be incredibly annoying on open field, but when you siege their castles, they are almost a joke.

Now we come to possibly the most addictive part of the game. Combat.

Combat mechanics is easily explained in their tutorial. Right click + move up blocks high, hold left click + move up prepares your overhead swing, right click + move left blocks left hits, left click + move left prepares your rightwards swing, etc...

It does not seem like much, but it can get messy, especially when it's possible to have up to 50 soldiers per side per battle. A tip from me is to learn to combat on a horse. It may seem hard at first, but you'll get the hang of it eventually. On open battles (i.e. not in castles), being mounted gives you many advantages, that's why the game is called MOUNT and Blade.

Firstly, being mounted increases the chances of footmen or archers hitting your horse instead of you. Secondly, you can perform very cheap and painful hit and runs. Thirdly, if you get targeted, it's easier to just turn your horse around and just gallop away out of their range. All these add up to give a huge boost to your survivability.

So I recommend you build your character to at least be able to combat well on a mount. There's a good reason why I say fighting Nords on an open field a joke and why Khergits are incredibly annoying to fight.

Like I mentioned, Mount and Blade is a sandbox game. Some will love it. Some will hate it. It's definitely not a game for everybody. There are a lot of small but important mechanics I haven't covered like quests, taverns, marketplaces, tournaments, marrying, etc.

I hope the review is good enough to at least get everyone interested in the game. For those who eventually like it, beware because this game can become one of the biggest time-sink in your life.

Friday, September 10, 2010

Evil Farmers

A recent post about Zynga, the creators of oh-so-famoose FarmVille on Facebook, on SFWeekly has spreaded almost everywhere on the net. The original post can be found here.

Just to requote Zynga CEO Mark Pincus: "I don't fucking want innovation. You're not smarter than your competitor. Just copy what they do and do it until you get their numbers."

I always didn't like Zynga for creating FarmVille, a game that really abuses social engineering (I think that's what it's called) to get people to play it but what we are seeing here could potentially destroy the game industry. If you thought Microsoft or McDonald is evil and somehow bent on WORLD DOMINATION, you obviously haven't seen what they could've done to make it worse, which is what Zynga is doing.

BLATANTLY copying games and using their influence to overshadow the originals and claim theirs is the one? That's very evil in so many damn ways. It's the total opposite of what Microsoft is doing which is giving newer developers a chance to stand beside them. Zynga just takes your game, copy it, and says that it's theirs.

I heard a lot of game developers, both indie and mainstream alike (espacially indie,'s indie people) have voiced their dissent over Zynga's methods. It's less obvious here and SG because we are still growing, almost everyone is still running around going 'let's make cool innovative games in the future!'.

I think we should be aware that the games industry is still an industry; a market. And with us being only human, there are bound be encounter evil people like these.

Wednesday, September 8, 2010

[Game Design] Why do we play games?

Looking at the question in the title, the short and simple answer would be "To have fun", which leads to the near unanswerable question of "What is fun?". Some may say that it's simply a positive emotion, which can come in the form of Happiness or Excitement. But it doesn't really answer the question that most game designers look for, which is "How to make our games fun?". We can only show, through past observations, history and experience, what is fun.

I sat through a lecture today which presented me with a model that breaks down what makes a game, which we can get a clearer view on what is fun. Whether it really is fun is something we can not, and possibly can never explain, but it paints a clearer picture of it.

This model is basically called the Mechanics-Dynamics-Aesthetics (MDA) model. It's a very 'obvious' model, some of you may already realized it some time in your life while playing games. Well, this is a documented and formal approach, a framework if you will, so that game designers have a easier time understanding their trade and for future game designers to have a easier time picking the trade up. In other words, a guideline.

For those who have examined games before, we know that games are fundamentally made up of Rules and Tools. Rules determine the dimensions and restrictions, as well as the objective(s) of the game. Tools are given to the players to help them achieve the goal, sometimes by even allowing them to break certain rules. Anyway, that is how I view games until today, so if you disagree and want to tell me, by all means email me. MDA model simply elaborated this point and documented it.

Mechanics are basically the Rules and Tools we designers give the players, which was explained above. Dynamics is basically the grouping of some Mechanics. So let's say the player wants to 'Fight'. 'Fight' is a Dynamic that has the Mechanics...say...'Punch' and 'Kick'. Simple enough.

But the most complicated part is the Aesthetics, which is the emotional feedback from the player. This is where we are most interested in, because this is the place where players journey to find 'fun' in your games. The MDA model suggests that the Aesthetics portion breaks down into 8 different kinds of 'fun':
- Sensation (i.e. Pleasure)
- Fantasy (i.e. Roleplaying)
- Narrative (i.e. Storytelling)
- Challenge (i.e. Puzzles)
- Fellowship (i.e. Social Network)
- Discovery (i.e. Exploration)
- Expression (i.e. Self-discovery)
- Submission (i.e. just to pass time)

Looking at those 8, you might realize that it more or less covers what we humans define as 'fun'. From there, we can probably break down deeper into simpler sections like emotions and stuff like that. My lecturer threw me something called the '6-11 model' to replace the Aesthetics part which I won't go too deeply into here. I'll just go through it.

6-11 is short for 6 Emotions, 11 Instincts. Emotions are Fear, Anger, Pride, Sadness, Joy and Excitement. The Instincts are Survival, Identification, Collecting, Greed, Aggressiveness, Competition, Revenge, Protection, Curiosity, Color/Music Appreciation, and Communication.

As you can see, it is really quite an extensive range of emotions and instincts. It's made by my lecturer so kudos to him for trying to create this framework. Basically you loop between an Instinct and an Emotion. Dynamics-Mechanics come in during an Instinct. So let's take Donkey Kong, the first popular platformer game:

This is my definition of Donkey Kong using the 6-11 model and MDA model. It's not accurate; I don't think it's meant to be. After doing it, I realized that there are probably some small holes to be patched in the model. However, it is detailed and to the point, and I guess it is good to know that there is some sort of good guideline to finding out what is 'fun'.

If you tried to use the 6-11 model, you'd realize that it almost exclusively ends up with either of these 3 emotions: 'Joy', 'Excitement' and 'Sadness'. Then we can go on to ask 'If Joy and Excitement is Fun, what is Joy and Excitement?' which brings us back to an endless loop that can never be answered. But, we can infer from the 6-11 model that 'Fun' is the result of positive emotions such as 'Excitement' and 'Joy', which is a mix of the other emotions and instincts depending on the game. From here, we can paint a rather vague but valid formula to 'What is fun?'.

So in the end, we still can't define the meaning of 'Fun', but we do know how did 'fun' come about in various games. Designers still have to discover how to produce the instincts and emotions required in their games. That will be the content/the meat of the game and most important aspect to making it 'fun'. But thanks to these models, it's probably going to be a little easier.

Thursday, September 2, 2010

Starcraft 2 and Patch 1.1 and rantings

Already around a month into release and we are seeing the first balancing patch layout for Starcraft 2. It is not the full patch list though we can more or less see where Blizzard is heading to with it.

Protoss getting their Zealot production rate slightly nerfed, Terran getting the same with Reapers, and also a slight nerf with Tanks and Battlecruisers damage and armor respectively, and Zerg getting some random Ultralisk nerf. For Protoss and Terran, it really doesn't affect their style of play unless you have been doing nothing but cheese to get to plat/diamond league. It's mostly a Zerg buff in the sense that now they are much more survivable early game, where they can pull off a 15 hatch build slightly easier.

I can't say what more am I expecting from the patch. Everyone on and beyond crying for Marauder nerf and Roaches buff since forever. Everyone just loves comparing units on a 1-1 basis. "Omg my roaches cost almost as much as marauders but cannot 1v1 them! NERF!". What did you expect? You are playing Zerg, you are meant to take map control and get more resources than all the other races.

I do agree that Zerg is underpowered only because it is hard for them to expand at the start, thus forced to 1v1 units all the time. That's what this patch is for and hopefully we'll see Zerg being played like how they are meant to. Then again I'm mostly a Terran/Protoss player so take my opinion with a pinch of salt before you start quoting this line and go "Says the Terran player, heh". I do play Zerg occasionally so I at least feel the shit you guys go through.

Before I go on to talk about how much I hate dealing with tanks and battlecruisers as a Terran, I just talk about something minor that happened just the other day. I was laddering as per normal as Terran, I was high gold (again, take my opinions with a pinch of salt), my opponent was mid gold and playing Protoss. I scouted, got map control, made sure he's not doing anything funny, made sure his army is in his base and brought almost everything in my base out. I had 1 viking, 1 raven, tanks and marines. Simple push, and a bit risky on my side.

So I managed to siege right outside his base. This is what everyone hates; a couple of siege tanks right outside your doorstep and he KNOWS I'm doing it cus I killed an observer ON MY WAY there. So he had phoenixes trying to do some fancy gravity and stalkers blinking straight into me. Naturally, everything died thanks to PDD. I say again, everything died for him thanks to PDD. Makes alot of sense right? I only had 3-4 tanks, he had gazillion stalkers. It should at least even out SINCE he had enough phoenixes to gravity 3 of my tanks. I bet my marines are the ones killing everything.

Then he started spamming "OMG TANKS, TERRANS ARE SO OVERPOWERED" etc for like 5 mins and left the game. I'd rather he say "PDD IS SO OVERPOWERED" than that tbh. And it's not like the 1.1 patch is going to make tanks' damage lower against stalkers.

Honestly, when they said tanks are going to be base damage: 35 and to Armored: 50, I wasn't really concerned since I can finally save some of my gas and build hellions to stop zealots and zerglings. Besides, I build tanks mainly to kill all your armored units.

Okay now we go into Battlecruisers. I lost quite a few TvT matchups ONLY because I didn't go battlecruisers when my opponent did. Battlecruisers are so silly and come to think of it, they are like slow armored mutalisks with a Yamato Cannon. When I see a Battlecruiser/Viking mix, suddenly, my marine/tank/viking mix becomes next to useless. My marines melt before it, and if you got armor upgrades, I don't think they deal damage at all. Vikings melt before his other vikings. Turrets get obliterated to yamatos, the list goes on. You'd need either a dedicated army just to fight it off (vikings/thors/marines on stim), OR get battlecruisers yourself. The latter is much easier to transition into.

And Tanks. Don't think I don't hate them too. Do you have any idea how hard it is for a terran to siege tank another terran's base? I really wished that my marines can do more than just hugging the tanks and stopping MMM balls. When they are playing mech like you, suddenly it gets really boring. It will come down to who have more sight for their tanks and the whole process of taking out tanks with turrets beside them is extremely slow. Again, this is where battlecruisers just stupidly solves everything.

Oh well, that's enough of me ranting. In all, I still feel that Zerg is very strong mid-late game, just that it's rather painful for them to be at early game.

And here's one of my favourite videos from day[9]Sean's Dailies for those having some problems with TvP. This helped me get out of silver league and a good simple build order to start off with for newer players. I jumped into SC2 thinking I can do 1/1/1 and died many times before I decided to find vids like these: