Dark Souls PC Controversy: An Analysis

UPDATE:

Please read this post before proceeding: http://www.bluh.org/?p=273

——–

UPDATE UPDATE: Fixed some basic math errors. Oopsies.

——–

There’s a lot of anger going around the internet from PC gamers upset at the announced technical limitations of Dark Souls for PC. Mainly, the locked frame buffer resolution, and the limited framerate.

While I understand why gamers are upset at these limitations, I don’t feel that they will impact the actual quality of what I feel is one of the best games ever made. Being a developer, I also appreciate why From likely made the decisions they did, and would like to share some of my guesstimations of what may have led to those decisions.

But it makes me very angry when I see gamers write off any game for a superficial reason, and when it comes to the size of your pixels, I can’t really think of a much more superficial one. So the tone of this article is one of anger, and for that I apologize up front. But I want From to make a hojillion dollars off of Dark Souls so they can continue to innovate, take risks, and make these crazy awesome games.

One thing to keep in mind is that the Japanese develop for console in such a focused fashion, that their entire pipeline is generally built around them. We’re talking about people who, until this current generation, wrote their own compilers in order to make games. That comes with their own dialects and quirks in whatever their starting language was, which is why you’ve seen almost no ports of PS2 games from Japan.

In North America, most development happens on PC entirely. Even console focused games have maintained PC versions which most developers use, because it’s not worth $3m to give every developer their own dev kit. But in Japan, it often happens entirely on console. Most of those devs never have a version that can run on PC at all.

So when you compare western PC development to japanese, it is immediately unfair because western developers are starting from a much stronger base. It’s not a simple matter of From Software being ‘lazy’ or doing a ‘half assed’ port job. Especially when you consider how easy it is to change framebuffer size, and to change screen resolution. I mean, the game does support changes in screen resolution, it’s just the internal framebuffer that’s different. Why would one assume that testing different framebuffer resolutions wasn’t one of the very first things they tried?

So this article will delve into why it may have been technically difficult or visually undesirable to have higher framebuffer resolutions or framerates. As a bonus, I’ll likely throw in other stuff they dealt with which might have impacted their decisions on rendering related changes. I will also rate each independent point with two 1-10 scales, the first representing how much PC gamers would complain about it, with 10 being the Whiny Entitled PC Gamer Who Chooses Not To Buy It Because It is a Total Deal Breaker, Man, and the second representing development cost, with 10 being “To hell with it, bin the project, it costs too much.”

It’s worth noting however, that I am not saying that any of these are THE REASON why they made their choices. Obviously I cannot know that. Nor am I saying that it is a reason that I would choose. I am just giving some insight into what can happen in game development which might result in particular decisions being made. Some of these things are more technical, and I’ve seen them come up as issues on a coding side. Some of them are more artistic, and I’ve seen them come up on the art side. But they are all real issues that can and have happened many a time in game development, and all of them could possibly contribute to the decisions that From Software has made.

1. UI.
This one is low hanging fruit. But if you know exactly what resolution your game will be, often it is significantly easier to build all of the UI in such a fashion that it just lands on screen where you want it. This means all the game UI could in theory be on one large texture that’s just slapped to the screen and that’s that. Even if they didn’t do that, the resolution is guaranteed to be perfect, and the positions are close to guaranteed to be hardcoded. Meaning that if they were to up-res the framebuffer, you would have huge chunky blocky UI that would be immediately at odds with the rest of the game’s high resolution. To fix it would require rewriting a large part of the UI system to either properly scale everything, or properly position relative to screen edges, and having the artists completely redraw all of the UI such that it would look good or better at higher resolutions.
Complain: 7
Cost: 4

2. Texture mapping (including normal maps).
Given the game’s internal low resolution, the look of their art was probably balanced such that the artists knew the target resolution. Given the rough size of enemies on screen, and the graphical look of the game, I’m expecting they made heavy use of low res normal maps in order to get the level of detail they wanted on characters and enemies. Were you to upres the framebuffer without creating new normal maps, it’s possible for characters to suddenly look like they are all wearing outfits made of small colored bathroom tile, as a single pixel of a normal map would map to significantly more screen space in a roughly square fashion.
The textures will also be nearly the same resolution as the texture maps, because if they are too drastically different they’d look absolutely terrible.
Complain: 5
Cost: 7 (10 if including the game world in these considerations).

3. Low polygon models
The game world is large and open enough that the character and enemy models are likely quite low res, only you can’t notice it at their target framebuffer size. Clever use of texture mapping and normal mapping is what generally lets them get away with this. But at a higher resolution, the magic disappears and suddenly you are looking at blocky models. Which is especially apparent if they have low resolution textures.
Complain: 4
Cost: 10

4. Fill rate.
A lot of the really interesting and cool effects they have for a lot of the enemies, bosses especially (Sif immediately comes to mind), use a ton of fill rate by massively layering transparent polygons or particles. The cost for these kind of effects increases exponentially with render size in pixels. Fixing it would require remodelling, retexturing, and likely redesigning the problem models so they don’t look completely terrible, and don’t drop the framerate to single digits when they suddenly take up the entire screen.

Some math (assuming Sif has about 8 layers of fur, which seems likely from the screens I’ve examined):
Frame buffer at 1024×720, wolf fills the screen:
This means it has to draw 1024x720x8 pixels in a worst case. That’s 5.9m pixels. Per frame, of course. So at thirty FPS it’s trying to use about 177 megapixels of fill rate.
Frame buffer at 1920×1080 (cause if you are a pc gamer, I’m sure you have at least this, otherwise what are you complaining about?):
1920x1080x8 pixels in a worst case. 16.6m pixels. Per frame. That’s 498 megapixels of fill rate.

Of course, videocards don’t measure pixel fill rate, they measure texture fill rate, and when 3d rendering, nearly everything counts as a texture. Lighting? Check. Shadows? Check. Textures, normalmaps, spec maps, alpha maps… check check check. You get the idea. That 500 megapixels very quickly becomes 3-4 gigatexels. For a single character.

But wait! You say. Modern video cards are much faster than the consoles! BZZZZT. They are, but it doesn’t tell the whole story. Console video chips have specific optimizations based on how developers tend to use them. As such they can do things like transparencies and FSAA for free. Or nearly so.

Oh you wanted some kind of AA on Sif? Well on PC that just doubled or quadrupled your frame buffer. So now you are using somewhere between 10 and 20 gigatexels of fill rate.

Complain: 9 (I can’t fight sif! the game slows to a crawl!)
Cost: 9

5. Shader Languages.
This is where they take the biggest hit on the port, and where they have likely focused most of their work. Because they have a 360 and PS3 version, they obviously have some kind of shader abstraction going on. But the problem is, when you hit PC, different videocards support different things when it comes to shader languages, and using the wrong thing at the wrong time can take a 60fps game down to nothing. On 360 and PS3 this isn’t an issue but on PC? You bet it is. In fact, it’s something you can’t ignore, despite the cost of testing, debugging, and profiling on a ton of video cards. On a modern engine? This has been done for you (or mostly). But on the one they used? It’s only there as a rough helping hand.
Even when making simple PC games nowadays, you’ll find features you take for granted that just don’t work on common videocards (Love2d’s canvas support comes to mind). Locking the framebuffer resolution may have allowed them to take shortcuts for problem graphics chips.

Complain: 10
Cost: 7

6. Online Stuff
A lot of noise has been made about Games For Windows Live, but the reality is that making your own online system is a large amount of work. Especially when matched with the infrastructure required to support it. Going with Games for Windows Live meant they could pretty much reuse a lot of the system they had in place, rather than making their own, which would have allowed them to have some actual time to focus on other things.

Complain: 9
Cost: 10 ( Non-GFWL ), 2 (GFWL).

7. Animation Quality.
Animation can take up a lot of space, especially when you have multiple skeletons (they have unique skeletons for everything in the game as far as I can tell), and when there’s a lot of bones per skeleton (oh, there is). One way people get around this is by using very high rates of animation compression. Well, that’s what you do when you can’t use a single skeleton (which is what a vast majority of games these days do).
What animation compression does is reduce the size of the animations in memory, but it also introduces a jittery aspect to the motion. Ever seen a character’s feet float around on the ground when they were standing still? Animation compression.
Using a lower framebuffer can hide some of that jittering, which would otherwise look fairly terrible.

Complain: 4 (6 if you have crashing due to running out of memory from less compressed animations).
Cost: 2 (reduce animation compression), 7 (change animation compression algorithm), 10 (try and change skeletons/reduce raw animation cost).

8: Timing Calculations
For those of you who don’t know how to make games, every frame the game takes a rough count of how much time has passed since the last frame, and calculates a new game state. That’s moving things, rendering things, animating things, etc.

The problem with Delta Time, or DT as we call it, is that if you are working such that you always have a known or high DT (High being lower framerate), there’s a ton of code bugs that will never get seen. From particles that don’t work (It normally looks like fire! But now it looks like a laser beam into the sky!), to physics that freak out (When I kill that enemy he stretches to infinity!), to things that to the layman simply don’t make sense at all (My attacks don’t hit anymore! I fall through the world! The enemy only ever turns left!).

Finding and ironing out all these issues after the fact? It’s close to impossible. Especially when some of those issues may have to do with fundamental architecture assumptions.

Complain: 8
Cost: 10

9. Single threaded game updated.
Given the PS3 only has one general purpose CPU, it’s not irrational to think they may have a single threaded game update. Depending on choices they made, that same game update may have to wait for the frame render to complete in between updates. If this is the case, then, given the fact that we already know their AI eats up a ton of CPU, it’s likely that in this case they have to keep the render costs extremely low in order to have a playable framerate at all.
The reason I think this may be the case is that traditionally japanese developers have worked this way in order to target their games for a locked 60 frames per second. But they are also used to building games with very little update logic (AI and such), so they could traditionally keep CPU costs for things other than rendering low.
But I’ve seen how poorly modern games can perform in these scenarios, so if they did build it this way, they’d have little choice in these matters.

Complain: 8 (poor framerates)
Cost: 10

So yeah. In conclusion, I can’t really get worked up that the greatest game made in recent history, if not ever, has a locked framerate and a low res frame buffer. Plus I already played it on my PC monitor (thus upscaled from the 360 to 1920×1080) and it still looked pretty damn great.

I think that at the end of the day, if you are willing to write off a game of this sheer quality, then you should be ashamed to call yourself a gamer. If you’ve already played it on console and are going to skip the pc version because of this? I don’t blame you. Certainly there’s no reason to believe that the PC version will be any better at this point. But again, remember that it’s a version that wouldn’t even have existed at all if From Software didn’t care about gamers.

So please, try not to give them reason to ignore us in the future.

38 thoughts on “Dark Souls PC Controversy: An Analysis

  1. some random guy

    thanks for the killer analysis that shoots down anyone raging at this game. & it just goes to show that some people really are haters just looking to hate.

  2. arc ham

    thanks for this post; I hate the fact that this’ll very likely be overlooked.

    I have a pretty decent PC (out-dated by today’s standards), and while I do enjoy loading up Skyrim with ENB and other graphical mods, I understand that for devs like From, their games are pretty much coded specifically with consoles in mind. to be able to even so much as run those games on PC is enough of a blessing for me.

    hope this leads to some Armored Core ports, though 🙂

  3. Nikolai

    im glad you wrote this. your original post on brokenforums had some insulting parts. when i posted it on few russian forums quite a few people ignored your arguments because some parts of your post seemed like hating on pc gamers. this is so much better.

    im sorry for my crappy english

  4. Charles Post author

    I may be a retard, but I certainly do know shit.

    Anyway, it’s unfortunate that From Software made the choices they did, no doubt about that at all. I wish they were releasing a nice awesome HD PC version that ran at 60FPS and looked like pure glory as well. Don’t doubt that for a second.

    But it seems clear that even beyond all potential technical reasons, From Software really did want to make sure that PC gamers got the exact same experience as console gamers; something I didn’t suggest in my post which has just as equal chance to be true is that they chose to limit the experience to not be better at all so that console gamers didn’t feel jilted. After all, that’s their core market and where they make all their money.

    But I hope Dark Souls PC knocks it out of the park even with these limitations.

  5. Wew

    The greatest game made in recent history? thats really a matter of opinion.. and if it was that great why didnt it get more sales? if it is indeed the the greatest game made in recent history than it should have sold alot more than 1.19M(?) copies

  6. dahauns

    *sigh*
    While I applaud your intent to bring a voice of reason to this discussion, it would have helped if you hadn’t gone overboard with your arguments.
    I completely agree with your arguments (8+9) that touch the locked frame rate. If your game is designed around this, it’s likely a nightmare to change it after the fact, especially when going from a fixed to a variable platform.

    But the framebuffer arguments mostly range from apologetic to downright WTF.
    The UI argument for example:
    Many low-effort ports haven’t changed the UI resolution – and since it’s only a texture it’s a no-brainer to just upscale it. Sure, it won’t look as pretty as a high-res one, but from the games I’ve seen that do it this way (mostly jap. console ports from a few years ago), it’s definitely prefeable to have a slightly blurry UI and a sharp world than to have both blurry.

    Your fillrate argument is exceptionally cringeworthy – it sounds like it was copy/pasted right from the PC vs. console flamewars of the early 00’s.
    Games haven’t been fillrate bound on PCs since forever, that discussion is over. And it seems you fail to realize how powerful PC graphics hardware has become. 1-2GT/s is a joke. Even lowly IGPs nowadays have fillrates several times of that, A midrange card like the 560Ti IIRC has something around 40-50.

    2+3+7 are discussable, but again from the ports I mentioned that faced the same issues – I’d prefer the high res variant with low res assets.

  7. petran

    Capcom though develop their games on PC first and then port them to consoles. Hence we’ve seen so many Capcom PC ports that play much better on PC. With the exception of RE4 that was primarily developed for the Gamecube.

    Also a lot of the more recent Japanese arcades are based around Windows PC architecture, making the porting to PC even easier. Eg Taito X2 based games. Blazblue Calamity Trigger was running on that hardware and is another game that had a good PC port, though with bad marketing.

    Not just Japanese have those problems you mentioned. The Russian game Dark Sector had also some serious issues with the PC port. Resolution was locked and unless you played the game in 4.3 aspect ratio, HUDs were not visible on the PC, making the game unplayable in some stage.

    Japanese had also their own distinct computers and computer games in the 80s and 90s, some of which brought innovations not present in Western computers. All that died after the mid-90s with the advent of Windows 95. All those games were unknown due to the language barrier, but only recently did they begin to emerge. Also the FM Towns version of Zak McKraken is considered the best.

    Namco could have given the source code to a more experienced European developer, like they did with Ridge Racer Unbounded. It could have turned out better, even if it cost more

  8. Charles Post author

    petran: Dark Sector wasn’t a Russian game. It was made in Canada by Digital Extremes, unless you are talking about a completely different game. It was also built exclusively on PC.

    dahauns: Please read my update post. http://www.bluh.org/?p=273

  9. whocares

    Your fill rate computation is also off by an order of magnitude.
    1024x720x8 px * 30 FPS = ~177 Mpx/s
    1920x1080x8 px * 30 FPS = ~498 Mpx/s

    >Frame buffer at 1920×1080 (cause if you are a pc gamer, I’m sure you have at least this, otherwise what are you complaining about?):
    Even if you’re playing on something lower than 1920×1080 the complaints are still valid as frame in native resolutions always look better than upscaled ones. There’s a lot of PC monitors with resolutions between 720p and 1080p, e.g. 1680×1050, 1280×1024, 1600×900, 1440×900 just to name a few.

    You should be more sarcastic and condescending as it really helps cover up your half-knowledge.
    Also nice back peddling in your update post …

  10. Charles Post author

    Hah! Oops. You know what they say about programmers… can’t do basic math without coding an app. You’ve got me on half knowledge though. I keep up with rendering concepts and technology but I’ve never been a graphics programmer. Bound to make some mistakes.

  11. Tim

    Ex-Ubisoft/BW dev ? Maybe he was fired for giving too many excuses. You’re a developer. Do your job. You are paid to code, stop talking about limitations and things you cannot do. There are plenty of good ports out there.

  12. Charles Post author

    Hi Tim, I’m sorry you have such a mistaken opinion of me. I’ve never been fired from a job, and I’m well regarded by most of the people I’ve ever worked with. If you can, please feel free to verify that.

  13. PCuserrr

    Soo Conclusion is… 6 years old Consoles are KINGS and my almost 2K$ fresh new PC is a overpayed piece of sh**t

    Tank You very mach!

  14. FlauschiBauschi

    Hi
    I’m a hobby graphics programmer without any real knowledge or skills in graphics design.
    Thus I’d like to ask you about some of those issues:

    1+2: Isn’t it kind of standard in computer game graphics to use highres textures during developement and downscale them in the final game?
    So downscaling them again should be an easy task.
    3 : The same as 1+2 but with polygons instead of textures

    4:
    I think you mean linearly or quadraticly, depending on your definition of “render size in pixels” , but “exponentially” is wrong.

    But I dont quite get the problem here. The pixel and texel fillrate has increased by the factor 10 on modern high end graphics card compared to the PSIII gpu, so why shouldnt there be enough performance to increase the pixelcount of the screen by the same factor?

    “They are, but it doesn’t tell the whole story. Console video chips have specific optimizations based on how developers tend to use them. As such they can do things like transparencies and FSAA for free. Or nearly so.”

    Which optimizations do you exactly mean? I used google but I couldnt find them.

    5:
    Ive experienced very interesting (Compiler) bugs in GPU libraries (the most recent and funny one was a “if(true)” which forced the Nvidia OCL compiler to crash with a segmentation fault), and every GPU company’s compiler has its “own” shading language definition, which might add much effort in porting to PC hardware. I know that there are some performance traps, like unlocal texture access or excessive branching, but they are general for GPU programming and even need to be considered when writing Assembly. Furthermore I know that every GPU architecture “prefers” different “code”, but Ive never encountered those high unexpected performance drops.
    So which wrong things at the wrong time do you exactly mean?

    7:
    Again the modern PCs RAMs have increased by the factor ten or twenty, so would this really be problem?

    8:
    Isnt that the reason why, in almost every modern game engine, that the gamelogic’s and the physics’ dt is constant very low so that they run at a very high rate?
    Because at high DT many “bugs” might occur: Like the errors in collision detection you mentioned or errors in the particles euler integration.
    Decreasing DT will increase the accuracy of those calculations and those bugs will less likely occur. Why should more bugs and especially those bugs which youve mentioned happen then?
    Furthermore are you sure that their physics and gamelogics just run with 30 fps? This seems to be quite low for me, compared to some other standard game physics.

    9:
    Would it really be such a problem to desynchronize gamelogics and graphics? All that would be needed were a buffer:
    The gamelogics thread saves every “graphical” information in this buffer for every of its frame.
    The rendering thread reads this information and executes them
    So both threads may work simultanoiusly and independently and the utilization of the GPU will increase.
    Thats why this is also kind of standard in almost every game.

    Most of those issues (except 1+2+7) you’ve mentioned seem to me more like a software engineering failure than high programming skills and optimizing skills.
    Because its almost always better to sacrfice a little performance gain or programming work for more configuration options or easier portability.
    Furthermore if this work or those design desicions arent made in the beginning of such a project, the of cost adding those features or changing the design, will multiply if the project is almost finished.
    The company made those mistakes and now it will “pay” for those by not satisfying its PC customers, so that maybe many of those wont buy their game.

  15. Charles Post author

    petran: Digital Extremes developed Dark Sector completely on PC long before they made the switch to console.

    FlauschiBauschi:

    I’ll try and address some of your points.

    1/2/3: Surprisingly, no. Some companies do it, but more often than not, things are developed at the target resolution because they are quicker and easier to do that way. When it comes to textures, sometimes you’ll get assets that are a higher resolution, but often that’s simply a matter of convenience, and not a full decision. After all, if you can’t ever see the assets at full resolution in game, what’s the benefit of wasting all that loading time and memory?
    For polygons, you are incorrect. While you *can* programmatically decrease polygon count it tends to wreak absolute havoc on 3d models which animate, and decreasing that count by hand is often a task as large as creating it was. Correcting animation issues after simplifying a mesh can also be a huge headache (like when you have a polygon that was affected by 9 different bones, but three each on a vertex, and then suddenly that polygon gets simplified out and you have nine bones trying to move a single poly).

    4: Hrm… maybe I have the term wrongs but what I meant was at 1x resolution, 1xpixels, 2x=4x, 3x = 9x, 4x = 16x. That counts as exponential growth, no?
    As for optimizations, you don’t hear about it because those things are generally NDAd but I don’t think I’ll get in trouble to say that consoles generally have help for transparencies, to make them less costly, cheaper to sort, etc.

    5: I just get bits and pieces from graphics programmers like “Oh yeah, that card doesn’t support X so it runs like ass.” So I couldn’t give you the specifics.

    7: It’s not a problem if you assume that a pc version of a game will use the same amount of memory as a console, and that a given PC is guaranteed to have that amount of memory free. Both are erroneous. Changes in data layout, data formats, and memory usage patterns can all increase the amount of memory used on a PC version. And as to having more memory, most windows PCs nowadays will already be using ~2.5gb or so simply by normal program usage, and a lot of PCs still aren’t 64bit. Which means if they have a large video card, there’s not necessarily even 512mb of free addressable memory. Which leads to swapping and other massive performance degradations. Yes, this is a non-issue on 64bit hardware (Assuming the 32bit game exe doesn’t need to use more than 2/4gb of ram).

    8: I’m not sure what you mean here. DT is an absolute thing. If 0.033 seconds has passed since the last frame, then DT is 0.033 seconds. If you are talking about using extra time slices (like breaking 0.033 into 2×0.0166 updates), most games try to avoid that as it doubles up CPU usage of physics in an already extremely constrained CPU environment. Most games will make use of raw DT and never time-slice it.

    9: Well, a lot of japanese development is bare metal, or close to it. So if they did something like have static vertex buffers, and the game update modifies those buffers, then the render update uses those same buffers to draw on screen, then you can see some of the issues already. You’d have to make large scale changes to store all of that somewhere, and pass it on, etc. Depending on how hard coded it is, that could become a huge problem. And that’s just one issue, maybe the game update looks at the frame buffer, or draws on top of it directly, etc.

    So these issues sort of count as software engineering failure, but only if you don’t accept that for a long time, programming in an ultra simple fashion on bare metal was the best way of getting every possible ounce of power out of a system. All the things you would do to skirt these issues would result in layers of abstraction and computation that could be seen as a ‘waste’ of resources, depending on your approach.

    As for From Software ‘paying’ for their port, that won’t really be the case, as they very obviously have chosen to limit the cost of porting to what they feel they can make back. If they don’t make that back then you can expect to never see another PC version of one of their games.

    But on the flipside, if their games do sell very well on PC, then you can expect them to learn their lessons and not encounter these problems on future games.

    For their first PC title, these things are understandable and forgiveable in my opinion; but on a second title? Not as much.

  16. Bremze

    While I’m just an newbie programmer, some of your arguments here seem pretty weird to me.

    1.2.3. From what I know, it’s actually easier to work with a larger texture than with a more restrictive one. The time spent removing scaling artifacts also seems pretty insignificant compared to the additional flexibility. Do artists remake/rework textures every time the memory footprint requirements change?

    4. Fill-rate hasn’t been a concern for a pretty long time unless you’re working with mobile devices. The memory bandwidth is far bigger concern. Also, shader-based AA implementations cost next to no fill-rate to implement.

    5. For the game to work on Xbox 360, the shaders have already been re/written in HLSL. Unless you’ve done some arcane optimizations without any sane fallback (which doesn’t excuse it, mind), polishing the edges shouldn’t take heaps of work. While OpenGL support can be flaky, I haven’t heard about DX support issues of such scale.

    7. The assumption that background processes hog 2.5gb is pretty silly considering I can’t break 3gb of system memory usage even with several applications and a game running at the same time. 512mb of framebuffer is the absolute minimum these days.

    No offense meant to you, it’s interesting to hear the other side of development for once 🙂

    As an aside, none of this excuses the underlying problem. You don’t hear of multiplatform titles being released without a working analog controls on the PS3 or without dashboard functionality on the Xbox 360 and badly performing console games get rightly panned for it. Why are pc gamers less deserving of a functional product than console gamers? We pay full price for a product that’s been out for quite a while and get scoffed at for even suggesting that it would be nice to see at least a fraction of effort that went into the console versions. I guess my money is somehow less worth. Welp, guess I’ll spend it on bear or something.

  17. Charles Post author

    Bremze, see my earlier reply, it addresses some of your points.

    It’s possible I’ve confused some of the shader stuff, I’d love to see a full analysis from someone more familiar with that kind of thing as to reasons why you might choose to lock the framebuffer (because how fast the videocard can run shaders, which is probably still an issue which increases with pixel count).

    As for memory use, maybe I’m a weird case because all my machines have a lot of ram and are development machines, but I just checked my system properties and I’m sitting at 4.7gb used. Maybe not just background tasks, but do people really close everything on their machines to play games?

  18. petran

    Charles:
    I meant the PC port coding.

    Eg Capcom developed SSFIV:AE on PC, but the PC port coding was handed to a Polish company (QLOC)

    I dont know if the PC port coding of Dark Sector was handed to a Russian company.

  19. Maltafalas

    Bremze:

    4. Fillrate still is a problem, all new graphics card can produce several million triangles per frame. But badly coded rendering can bring even the fastest card to its knees. Especially if you use a lot of particles.
    Fillrate for FXAA and TXAA is low, but when using MSAA the fillrate increases by a factor of the MSAA. Eg MSAAx4 uses the fillrate x 4.
    Let’s say you use 1920×1080 resolution, that’s about 120 Mb buffer. and with MSAAx4 you need four more of this buffers. That’s 120 + 120*4 = 600 Mb (Used 32bit channels for A/R/G/B). This can be reduced by using 8bit A/R/G/B. Which cuts the buffers down to 300ish Mb. But with that you loose precision when using MSAA. So selecting right AA and buffers, even compressing the buffers gives a performace boost, which takes knowledge.
    Though I have never locked a framebuffer before. The only reason I see on why they have locked the framebuffer is if they have hardcoded positions on the UI and such.

    5. Even though both xbox and PC uses HLSL there are differences. Xbox uses a modified version of DirectX9 so even if the shaders are in HLSL they still need to be rewritten(not all but most)

  20. Daniel

    I’m just honestly surprised that in this age anybody would be building strictly for console and ignoring a huge market being PC gamers. Then for failing to develop for PC players and only doing so after a huge petition was put fourth to call people who are pissed off about the foolishness of their whole development haters? Come on the reality is they didn’t care to consider a PC fan base.

    That means if people desperately wanted to play this game after turning their back on consoles, they have to then go out again and buy another console just to play a game because it wasn’t available to them. Why?, Because they were denied from day 1 of development.

    Only after realising their misjudgement they’ve caved and created a version for PC, sure I understand all the problems he’s talking about here and how ‘hard’ it has been for them to even make this possible for ‘PC’ gamers. Reality is as I’ve said before they neglected the potential of a PC fan base and this is the results. So they built the game for consoles, the ‘hate’ towards the idiot(s) is their own fault because they turned down thousands maybe millions of people because ‘they’ (or one person who calls the shots) wanted to make it exclusive for console.
    You deny a mob/community/fan base and this is what happens, people get pissed off with an inferior product because they weren’t taken into consideration. Built from the ground up for something it’s it isn’t 100% compatible with, because that is how it was made … it was made neglecting PC compatibly while in development.

    Don’t get mad or angry at the community when the mistake falls upon the person who turned down the contract/chance to have made it easier in the first place. Tell you what … some huge idiots who ever make the decisions where it will and will not be released.

  21. Charles Post author

    Daniel, I understand your anger. It’s hard to try and be just a PC gamer, when so many games never have a chance of coming out on PC.

    And that’s the thing, Dark Souls was in that group of games that never had a chance to come out on PC. This is something that is primarily, but not exclusively, Japanese. Take the Uncharted games for example. You’ll never play those on PC, or at least extremely unlikely. It’s common knowledge that they’ve built those games for PS3, so a large amount of their engine code is SPU assembly. Which means porting it would result in rewriting the majority of their engine.

    But PC gamers have a hand in this as well. The commonly accepted industry figure for piracy on PC is 90%. No, I will not defend that number. It’s just what people assume when talking about the likelihood of putting a game on PC. That definitely turns off companies who’ve never touched PC.

    Anyway, this isn’t a case of someone making a choice to ignore PC, it’s a case of a company doing what they’ve always done, but then *changing their mind because of community requests*.

    That last bit is pretty amazing, as it doesn’t happen that often. At this point though, I fear the ‘community’ is just going to chase them away.

  22. Henrik Poulsen

    I was slightly put off by the limitations at first, however reading your post resonated with me. I own Demon’s Souls and Dark Souls on the PS3, so I know how great these games are. So this is a developer I really want to support.
    All your arguments really puts everything in a different light.
    So I’m sticking with my pre-order on Steam and am looking forward to the new content they added in the PC version.

    I agree that it is one of the greatest games out there, it has awesome gameplay and I really hope people can look past these flaws in the PC port and give it an honest chance. They really deserve it.

  23. Charles Post author

    If by “fixed” you mean “upscaled the framebuffer after it had already been rendered to” then sure.

    http://t.co/co5l3Ln3

    You can clearly see the original edges of the pixels rendered to the low res framebuffer, which were then filtered in some fashion to be smoothed out at a higher resolution.

    But those polygons were not rendered at the native screen resolution.

  24. Charles Post author

    So he did! I look forward to using his fix. I hope whatever bean counters / overbearing art directors were responsible for the decision to not change this stuff is now being properly chastised.

  25. Mike

    Well. Fair enough for the development side…

    Why bother releasing it on the PC anyways? I not as much concerned about the bad visuals at default, but it is no fun to play because of the framelock and every single FPS drop below that 30 starts to make the game stutter. In addition I constantly see my mouse cursor (I doubt that is really a big issue to resolve…) and the camera controls do stutter a lot too.

    I have less problems with games staying exclusive as with shabby ports like this one. If you can’t make a PC game out of your game (no matter how great it is) then just leave it be and don’t.

    If I am unable to enjoy a game due to these factors (and controlling a game is essential) then it really doesn’t matter anymore how great mechanics or other content might be.

    I might try it again with a controller… but then again, why do I have a PC version?

  26. Charles Post author

    Because people wanted it, that’s why. And I’m really glad to have it.

    I haven’t found much in terms of performance issues. I’m playing it full speed on my macbook pro from last year.

    Agreed on the mouse cursor, that’s just a straight up goof. The rest though works pretty fine by me. The camera seems to stutter primarily because it’s moving a lot faster than the framerate. But it gives you better exact control when you need it.

  27. erzof0

    I only skimmed over your analysis but the entry paragraph was enough to realize why you are so forgiving about what is a large wall of truth for you but for a lot of PC gamers just another really bad port.

    Dark Souls is a good game, definitely. It’s not the greatest game ever made, not the greatest game of recent times, not the greatest game of 2011 even (this one might come down to taste so no arguing from me here necessarily)

    A good game turned into an OK-ish PC experience… another sad day, not just for PC gaming.

  28. The Drake Raider

    Yes, I agree with your goal, to get From to make money so that they do better next time, but alot of the arguments are BS. My box is an off-the-shelf Inspiron, with a $90 AMD graphics card. Nothing else so far. And the biggest performance drop I’ve had is with several texture mods, the fixes in Durante’s patch cranked to full, during a fight with two darkwraiths in a pool of water in New Londo. Even Sif, at 1920*1080, doesn’t lag. At all.
    Secondly, when you do scale it to this resolution, you’ll notice that the models and numerous object textures were actually more detailed than you could see in the low-res. I was surprised by the amount of polys in a hallow alone.
    If your box can’t handle it, get a new box, or get an upgrade. Or get the console version, that’s frankly what they’re for. Alternates. Or use Durante’s fix to downscale, which I’m sure is possible. There’s a wide array of solutions for a lag fighting Sif. Yes, it’s alot of detail. Which means I assume that From recognized consoles, particularly older 360s, might choke a bit and messed with some settings during that fight to compensate, so as to not mar what would should be the most beautiful fight in the game. I don’t know, but it’s the best reason I can guess as to why Sif in particular is one of the least laggy areas in the game.
    Performance hits in other areas can be handled similarly, which I did to eliminate a 10 frame drop in the aformentioned New Londo. Dropped the res to around 1300 and eliminated the texture mods. Left the other settings. Still looks amazing, better than consoles, but fixed mah performance problem.
    You are right about the animations, not entirely sure why they did those that way when everything else was so much higher poly and res then you can see normally, and the Games For Windows was a terrible choice. And again, I don’t disagree with your point. But making up arguments to support it when there is evidence to the contrary is a bad way to analyze anything.

  29. Charles Post author

    Actually, I made educated guesses before the game was released. If you check the publish date you will see that’s true; obviously a lot of my guesses were wrong and ultimately it really was just a very quick and dirty port. I wish there had been more effort put into it but I still have put more than 150 hours and counting into the PC version.

  30. Fresh-NES

    So much for that…
    Soon as you say that PC gamers are ‘entitled’ in expecting the standard features that they’ve been able to obtain on their platform of choice for the past several decades?
    That’s the point where you lost the argument.
    How’s this for ‘entitled’, hmm? Let us apply your faulty logic to other platforms.
    In an NES game, the Start button changes your weapon and the Select button brings up the menu. Don’t like it? ENTITLED!
    In a GENESIS game, I’m going to create something that mandatory-requires a 6-button controller (Street Fighter 2) but not bother to package in a 6-button controller with the game itself (possibly for ~$10 more?). I’m going to instead have a kludge where you press the Start button to switch between Punches and kicks! MWAHHAHAA! Don’t like it? How ENTITLED!
    I’m going to make a game that can’t be paused at all and takes hours to beat! If you don’t like it then you’re ENTITLED!
    I’m going to make a game that takes hours to beat but has NO way to save! Hope you like leaving your console on overnight, entitled sucker! 😛

    And so on…
    Your use of entitled immediately discredits your entire argument.
    It isn’t ‘entitled’ for people paying $50+ for a brand new PC game to expect it to work as they expect; as nearly every other good PC game works. Change the resolution, unlocked framerates, change controls/keybinds, support mouse + keyboard controls, and so on. These are not entitlements, they’re expectations to have the bare minimum of QUALITY that we expect from a PC game!

    Dark Souls is good, but NOWHERE near ‘best game’ in any category. Not by a long shot. I’d venture to argue that title is still held by Chrono Trigger, Final Fantasy 6, Super Mario 2/3, Deus Ex, Secret of Mana, and many other games from years gone by.

    Being angry at paying FULL PRICE for POOR QUALITY is not ‘entitled’, it is a failure of fulfilling the expectations of their customers. If this were any other industry, they’d have made negative money due to most people throwing the game back in their face and demanding a refund!

Comments are closed.