Wednesday, June 30, 2010

Sorry for lack of updates

Hi everyone!

I SWEAR I've been trying to update. I have about 5 unfinished articles that about some way through writing them just figured my argumentation for various things was not good enough so I just iced them. They still exist and I'll try to salvage bits from them, but just call it a case of writers block.

I'll hopefully have something up soon!

Wednesday, June 16, 2010

So, you're making a PC game!

For those of you who don't know me that well, first a little background on myself. I am a programmer by profession and I've recently obtained my full degree in Computer Science (in fact, convocation is this Friday). I just want you to know that the claims I make about programming are not coming from an unaccredited hack. I also want to warn you that while I'm going to try to keep things as high level as I can, I may get a bit carried away.

So, you're making a PC game! Congratulations! The PC is, by far, my favorite platform. In my opinion, it is unparalleled in flexibility and potential. It has lead the technological advances in gaming for nearly the entirety of our beloved hobby, only perhaps now being "beaten" by motion controls on the consoles if you really care about that kind of thing.

However, there are many things developers do poorly in the PC field and - in true rant style - you're going to hear about what are, to me, the biggest mistakes one can make when developing and especially porting a title to the PC.

1) Porting games late and expecting an avalanche of sales
If a game is ported to the PC 8 months after they're released with no care at all I don't want to hear "BAWWW I ONLY MADE 50 MILLION DOLLARS ON THE PC VERSION, WHY DIDN'T IT SELL?!?" Do you want to know why it didn't sell? Well I'll tell you why!

2) Assuming I ONLY play on PC
There seems to be this myth in the gaming industry that every market is entirely isolated. That there are PC gamers, 360 gamers, PS3 gamers, Wii gamers, DS gamers... etc. I don't really know if companies just like to do this for simplicities sake or whatever - but this is a dirty, filthy lie.

I am the proud owner of every current gen console, a great PC and tons of older consoles. Not everyone, of course, has such financial flexibility but you know who is the MOST likely to be a multi-platform gamer? PC gamers. My reasoning is fairly simple; if you have enough money to spend on a $2000 gaming PC then a $300 console is really not out of the question. Also considering all new monitors have HDMI ports in them a PC gamer, already comfortable in his or her domain, wouldn't need a ginormous TV for HD capable graphics.

So what am I getting at with all this? Well, when your PC port comes out months after your console release and you didn't even tell me a PC version was in development, the odds are if I wanted to play your game I already have. And, call me what you will, but I'm not buying it again - end of story. Thus, it is infinitely infuriating for me to read when a developer flips out when their PC games don't sell very well even though it's a port of a game that's a year old that I already own on the 360 (I'm looking at you EPIC with Gears of War). But that doesn't get to me as when it's combined with the next fatal error:

3) Your port is just terrible: Rebinding Keys
Maybe if you took care to port it, and I didn't already own it on one of the several consoles I own I would buy it. I'm sure PC gamers reading this are far too well aware of awful ports ruining our day. This, in fact, happens so damn often it's made us into the stereotypical jaded asshole who hates everything ever. Surely I can't be the only one whose erupted into an internet nerd rage when some gamer makes an insolent comment online and unleashed a thunderstorm of nostalgia and game history. Beware PC gamers, they're forged with fury and tempered with the hate of 1,000 bad ports, which is exactly what I want to talk about (the bad port part that is).

So WHAT makes a bad port? Surprisingly, it's exactly what makes any PC game bad. Let's take, for example, BLUR on the PC. You can't rebind your controls in that game.

Yes, you read that correctly. It's 2010 and You can't do something as TRIVIAL is rebinding controls. As a game developer and programmer by profession I can tell you this is an immensely simple thing to do unless your game engine is an architectural nightmare. In that case, you have WAY bigger problems.

It always boggled me, why are the standards of console games so low? Rebinding a controller is just as easy on a console, yet barely any console games do this. To the other console gamers out there, have you never played a game where you thought "Man, I wish the shoulder buttons were switched" or whatever? Wouldn't you love to be able to make the controller work exactly like you wanted to? I know I'd, personally, love this in some games I own.


4) Your port is just terrible: Field of View in FPS Games
Another thing that FPS games in particular are guilty of - low field of views on console ports. This comes from the fact that the eye is more comfortable with a lower field of view when playing the game from a couch to TV distance. When playing closely at a monitor though, the eye is much more comfortable with a higher FOV. These aren't changed - why?

If you can't change your FOV in engine, then the FIRST incarnation of the Quake and UT engines were, in my opinion (which is what you're here to read by the way), much more advanced than whatever you are using. Altering a frustum is simple - OpenGL and DirectX have them fucking built it, it will take 5 minutes + compile time to fix these.
Since you were just about to google what a frustum is, here's a picture of one.

5) Your port is just terrible: Screen Resolution
This is directly related to our frustum friend above. You see the X and you see the Y in the above picture? That is what will reflect your screen resolution, and just like field of view it is very simple to alter. I will admit, you can "squash" your view if you don't also play with the FOV when changing aspect ratios. It is easy to fix by adjusting the horizontal and vertical FOV correctly for your aspect ratio.

There is absolutely no excuse, at all, to not be able to run your game at any resolution unless it is a 2D game (as scaling sprites looks like crap). That was kind of one of the big deals about going to 3D, wasn't it? If you, like I do from time to time, boot up Unreal Tournament 99 to this very day, it detects every resolution your PC is possible of and adjust it's view frustum correctly.

That's right, I can play Unreal Tournament 1999 on my 1080p monitor at 1920x1080 and it's fantastic. It doesn't flake out because it's 16:9 resolution, it doesn't put black bars at the edges of the screen, it doesn't fuck up at all.

THIS GAME IS 11 GOD DAMN YEARS OLD. If your game can't properly adjust to a ratio, you have a LOT of problems and it is perhaps time to dig out those old linear algebra notes, as an 11 year old game engine has surpassed yours - this should not be happening. Poll the PC for what resolutions it's capable of and use those. Don't hard code in a list that's "good enough".

6) Your port is just terrible: User Interfaces
This is really the cream of the crop here. Maybe we can crack open the config files and change our keys manually. Maybe we can find whatever key the resolution is stored in and change that. Maybe even the FOV or we can just live with a low one - but we can't rewrite your UI. And if we can, we really don't want to.

Without going ultra UI theory here the Joystick is a relative positioning device and the mouse is generally a clutched positioning device. Keeping this simple, as I really can't teach an entire UI course in this blog post, developers should know what UI techniques work with a mouse and what work well with a joystick. Since every UI needs to fit a different purpose, allow me to just throw out a few generally good ideas.

Use drag and drop techniques when you can
Think of an inventory system in an RPG. On the console, if you wanted to swap two items how I generally see this done is you select one item, navigate to another with the joystick, and again press the button again to confirm the swap. On the PC I don't want to click the mouse button, go to my new item, then click again to swap them. This feels very wrong. Instead, how about I simply press down the button, fling the cursor over to the one I want to swap with then let it go? Drag and drop can make your UI 10x more intuitive when done correctly.

Remember, the mouse has more than one button
If a secondary, but quite common action can be bound to the right mouse button you should probably do that.

If the game doesn't use the mouse, your UI shouldn't either
I bet a lot of people will disagree with me on this. But, for instance, when I'm playing the racing game using just a keyboard, it's awkward to shift my playing position to use the mouse to navigate your user interface. I have no qualms with ALSO using the mouse, but it shouldn't be manditory.

Get those damn Xbox 360 Icons off my screen
I don't mind if I have a 360 controller plugged into my PC, but NOTHING says "this game is a cheap port" then when the main menu says "press to continue" and to continue I press enter.

Well, that's about it for today! I hope you've learned something and it would bring me nothing to joy to see higher quality PC games in the future! Remember, we're not dead yet!

Thursday, June 10, 2010

2K Marin... honestly, what the hell?

BEHOLD, THE NEW X-COM TRAILER!
http://www.youtube.com/watch?v=eNlC19Vcvrw&feature=channel

NOW, BEHOLD MY OLD POST ABOUT THE NEW X-COM GAME
http://weaversgameblog.blogspot.com/2010/04/why-new-x-com-game-wont-work-out.html


What did I say again? Something like:
However, the concern I've been reading on the net is that the game is more or less going to just be a re-skinned Bioshock and I don't think these concerns are completely unwarranted.

Well hot damn do I ever love being right because that's exactly what this game appears to be. Let's go over the points of the trailer one by one.

1) FIND THEM
So it seems the place to find them is in the 1950's. This is surprising as the original X-com games take place in the fucking future so I really don't know what we're doing in the 1950's. Oh wait, yes I do; it's so you can re-use everything you've 50's styled from Bioshock in this game. What I really hope this means is that we need to root out aliens in suburban environments. This would be a great throw back to the terror missions in the original X-Com games where aliens invaded a suburb and you needed to try to kill the aliens and save the civilians.

The flip-side to this, I really hope that isn't ALL the game is. Just wandering a suburb waiting for randomly generated aliens to happen to pop into houses for you to kill. Somewhere along the line gaming studios got into their heads that doing something that's pretty fun about a million times never gets repetitive. Let's hope this isn't the case, yes?

2) STUDY THEM
Hmm, this seems awfully familiar. You use a camera, and you take pictures of enemies. Just like in Bioshock... and let me guess, it gives you bonuses against the enemies... just like in Bioshock. You could at least TRY to cover your shame.

3) FIGHT THEM

Ah yes, the COMBAT! The core of any FPS game.
So let's see in the video there was a

"6 shooter" revolver


an old 50's shotgun



an electricity gun



a fire making thing




Jeeze, this all seems a bit similar!

Like honestly guys, this just reeks of cutting corners. Maybe the game will amaze me, it's too early to tell. Maybe the story will blow my ass out of the water, maybe it will be really engaging and fun. I don't know, but what I DO know is that I'm really not pleased with this incredibly uninspired design.

One of the things that I get asked from time to time is why I care? If I don't like the game, why go on these big, huge rants about it? Why THIS game in particular?

The answer is that I have a special place for the X-Com series. If this game were called something completely different I would have no qualms with it. It's that your bastardizing an amazing series. It's that you're banking on the popularity of an amazing and ENTIRELY unrelated game. Furthermore, it's because for a lot of new and younger gamers this will be what X-Com means.

That's a large and frightening idea to me. The name X-Com shouldn't be associated with a reskin of the sequel to a system shock 2 clone. It's so much more.

Monday, June 7, 2010

Microsoft, how big do you think our living rooms are?

First, watch this:
http://www.youtube.com/watch?v=Jm0KKa6wACQ&feature=player_embedded

So, besides looking like a complete tool while playing Natal (or Wave as I think it has been officially named) I need a giant, empty room in my house that can fit 4 people comfortably while I flail around?

You know, my living room right now is actually pretty big. If I re-arranged the room (I mean like, shit has to move everywhere for this to work) I could probably actually manage to play the natal. However, most people I assume actually have furniture in their living rooms. This is really the crux of the problem.

Microsoft, I do not want to move tables and couches all over the place just so I have enough room to play a video game. This is ludicrous! I now suddenly see why the Wii and Sony's move is a much better layout. Yes, it may not be ultra cool revolutionary, but I'd assume most people can still maintain their current housing layout to play them. Mine is couch -> coffee table -> TV on TV stand. This brings me to another fear I have with the Natal.

My TV is not setup to be at eye level for people who are standing up. Being an LCD TV, and honestly being really, really damn cheap it has pretty good horizontal viewing angles for what I payed. The vertical angles aren't very good though. Hence why the TV is oh so PERFECTLY setup at a sitting eye viewing level. It could not be more perfect. So when standing up I'm going to have to deal with colour washing as I'm now towering over my TV. None of this seems appealing to me.