October 03, 2014

Why pc gaming feels better for consumers and devs

Its no secret I love pc gaming as both a player and a maker. But why? you ask. Well let me tell you.

While its true that there is some chaos from having so much hardware to contend with that's also part of what makes it great is how much control you have over your system. When one thing fails you don't have to wait to send the whole computer in for weeks and months for repairs you can just open up the case and swap out the hardware as soon as you get it which can be as quick as a trip to staples, best buy, or a local computer shop, or a few days from newegg if you're more patient. It's also not some ambiguous red ring or yellow light and an ominous e79 error, it's usually straight forward. If it's a hardware problem it's easy to find out which and quickly check. If its software its still easy enough to diagnose and fix with a quick google search with a worst case scenario just being starting from scatch by formatting which has become wildly fast and easy to do with a little experience.

Then there's the multitude of services. While we may complain about origin or uplay or now this new glyph and others like desura I'd take any of them any day over a console because I can pick up new hardware at any time and get my games quick and easy from a known library without tedious searching and it'll work right away. No worrying about backward and forward compatibility and emulation unless the game is truly ancient in which case it's quick and easy. Meanwhile on consoles I have to hunt and search to find what I own with almost no way to organize my content once I have it. I don't have to worry about premium services on pc either to be given permission to play my games with my friends over a network I already pay other people for. Just to be explicit here, on the consoles you're paying your internet company to use the internet, then you're paying sony and microsoft for permission to use it with their hardware which you already paid for. You could argue that some of it is server cost and such but you know they're making huge profits off of these premium services. Though I will take a moment to say ps+ is amazing and has so many free games all the time on all their devices that I don't mind paying them 40$ a year for something like 100 free games a year or more. ( Here's a list of what they've given away )

Then there's our shining example of what digital downloading of games should be, Steam. Non intrusive, always improving, frequent sales of both new and old content, the power to know exactly what you have and if you have it ready to play available on multiple platforms with seamless integration and the power to play a game you've already paid for on multiple systems with family sharing and multiple OS' if you like to dual boot. The ability to buy and send gifts and activate codes for your games so you can buy them from stores outside of steam. While consoles have codes they're for their respective stores, you can go to gamestop and buy say journey and get a code for psn but it's notably different from say going to gamersgate and getting a code for steam, in particular I can buy a game from desura and get a steam code as well, try getting your copy of Call of Duty to transfer from xbox to playstation and tell me how that works out for you. Then there's mini games around community events and groups which are easy to access and track natively within steam, as well as more rewards for your purchases. The so called xbox missions are blatant money grabs when compared to steam trading cards which sadly are barely more than a way to get people to spend more money.

Many pc enthusiasts go gung-ho for keyboard and mouse, while I understand it I also have an xbox controller plugged in for some games because keyboard and mouse isn't always the best option if we're being honest. But do you think you can get an xbox controller to work on a playstation or vice versa? You see pc doesn't discriminate and doesn't punish you for not wanting to be exclusive.

Then as a dev you don't have to worry about all the restrictions that come with trying to publish on a console or how greedy they are or the frustration you often have when trying to work with their stores which are clunky slow and unresponsive at times with errors that can kick you right out of the app. You're also free to make patches and adjustments without paying absurd fees and it's so much easier to add community support options as well as allowing modding which the consoles are deathly afraid of. Skyrim just isn't the same on a console after  you've played with just a couple mods on pc. Then there's realtime debugging and changes you can make on pc which once it's on the console you really can't work with it you just have to take notes and fix them once you're back on the pc. Even when you're using their emulation software to test the game on your pc you can't make changes while playing because they impose the same restrictions as they would with the hardware.

Speaking of hardware on the pc as a dev you don't have to worry about hardware restrictions as much, you have to be conscious of what the average consumer has so you don't end up making crysis so powerful nobody can play it at max for a decade but the fact that you can make it so there's room for future upgrades is so much better than knowing the hardware will never change and being hard limited to what it's capable of now. Instead you can design for the future and build games to be amazing and then wait for those that are interested to get the hardware to run it properly while in the mean time toning back settings so it can run in the here and now. You're also free to work with new and developing technologies years before consoles see them. Take for example PhysX which was originally an ageia tech and a stand alone processing card before it was adopted by gpu's to be an alternate mode and then implemented as a software solution for games which then still waited longer before consoles could properly utilize it. Then there's simply the fact you can't actually program on the hardware itself on consoles everything you'll ever do is on the pc so why not just keep it there. The only thing a console should be these days is a virtualized OS on dedicated hardware, free to be swapped in and out at a whim. I see a future where playstation, xbox, steam, and others occupy the same hardware as a multiboot option. That is simply inevitable in some form given enough time.

What about the ability to code down to the hardware on consoles? You say. Well let me direct you to GCN architecture solutions from AMD which allow your system to share resources with other hardware. Combined with new and improved HSA technology and the new Mantle API which is vastly superior than DirectX or OpenGL on modern machines. Mantle was designed ground up to take advantage of multiple cores in a system and properly leverage the power of a GPU. As compared to the ancient API's of old which rely on serialized thread processing and have simply been given patches and add ons to try an emulate proper advancements to utilize modern technology but are now clearly showing their age bottle-necking performance because of inability and ineptitude  rather than overhead. Consider batch processing alone where each time you need to call for a model and its textures and other properties each of these issues a batch command call and after around 10,000 of these in a short timeframe most api's start having a hard time processing everything and can slow down if not crash. Mantle on the other hand has been proven capable of handling over 100,000 batches in the same timeframe without a problem. What does all this mean? It means I can do more with what I have in fewer iterations without worrying about overhead as much. I don't need to pull off programming tricks of loading multiple textures in a single batch as if they were one and combining elements I'd rather have separate. It means graphics can look better, physics can handle more objects and forces and dynamic interactions. It means we can let the GPU monster out of the cage on pc just like how we can on consoles. (If you really want to know more about mantle keep on eye on this blog in a few weeks I'll be discussing it in detail)

I find it hard to describe the intangible difference I have experienced as to how superior pc is as a developer and a consumer. At every turn it's just easier, cheaper, faster, better, more rewarding, less restricting or more freedom depending on view, and more, I just can't see any reason to develop for consoles aside from the single advantage they have of knowing exactly what hardware you'll be dealing with which is itself a double edged sword knowing that the hardware will never change.

No comments:

Post a Comment