Fear of the many many different types of PC's

Started by
5 comments, last by BennettSteele 11 years, 2 months ago

(I wasn't sure if this belonged here or the lounge)

Hello, I am not new to development by any means but I have been thinking more and more seriously about hiring an artist to take my game development to the next level; ie going indie, as art is always what holds me back.

That being said the more I think about it the more I realize I have a fear about releasing a game for the PC because of all the different hardware configurations etc. Is this fear something to genuinely be concerned about? I mean have any of you who have published games for the PC really had any major problems related to different hardware configurations? I can only image you have because of the wide range of hardware.

So many questions come to mind when I think about this;

How did you deal with it?

How do you test for something like that? - surely you can't buy every rig

Maybe I am just lacking an understanding here, and this problem really isn't that big of an issue. But I do hear concerns along the same lines for Android development because of all of the different hardware configurations and again this is a market I've been thinking about developing for.

In my portfolio I have given away games that I have built while learning (all windows only at this time sorry), but I have never heard of any problems from all of the people that have downloaded them, so this makes me think that maybe this is a non-issue...but then again maybe people are just lazy and don't bother to report problems. Again though, everything I have released that ran XNA though I also made sure to use the Reach profile since I wasn't using Shaders etc so I misewell target lower end rigs.

So is the answer really, know what your games requirements are and only support hardware that falls into that category? It cannot be that simple.

I would love to hear from people, especially some that have released games.

Thanks for your time

Remember to mark someones post as helpful if you found it so.

Journal:

http://www.gamedev.net/blog/908-xxchesters-blog/

Portfolio:

http://www.BrandonMcCulligh.ca

Company:

www.gwnp.ca

Advertisement

The issue of platform support mostly depends on who your target audience is, as I assume it's more a problem of hardware performance and age rather than the actual specific vendor & model combinations.

Personally, I try to define my target group for my games quite early on so I can define target specifications.
This means you just select a set of minimum specifications, and throughout your development process you try to make sure you have a test rig with these specs available so you can test whether your game runs smoothly every step of the road.

When you're working on a PC (as opposed to mobile devices) it'll also be easier to make your game more scalable according to the hardware it's being run on. I like to use data-driven approaches for configuring game systems. This way you can define multiple configurations for things like rendering, audio, physics, etc., one for each 'performance level' you want to support.

I gets all your texture budgets!

1. Think about which is the least capable pc configuration (for your target audience) that can run you game at playable speed

2. Check if your game has any issues with hardware (nvidia vs ati)

3. In case your game has multiplayer check if your the least capable machine is able to run this part at playable speed

4. You should check if your game works with other hardware combinations (if possible) to avoid any problems after release. (Red Alert 3 had may issues and it is AAA game)

5. If all from above have good result you are mostly good to release your game.

Testing is key here.

OS is usually much more of a concern IME than hardware.

Windows vs Linux makes a much bigger difference than ATI vs NVIDIA, or Intel vs AMD, or ...


if running on lower-end hardware is important though, it isn't too hard to find a 5-10 year old or so laptop using an Intel graphics chipset or similar and test on this.

if it works and the performance is usable on something like this, it is probably going to be usable on most things which are newer.


sometimes it does diverge enough that one might end up with "generational splits" in the renderer though, like as-is:
there are lingering parts of the renderer that basically target OpenGL 1.x, and some paths specific to this (faster, less features, but less pretty);
and, some branches which depend on newer features (such as shaders, FBOs, and HDR);
and, more recently, trying to support OpenGL ES 2, which in many ways is nearly mutually incompatible with OpenGL 1.x;
...

so, it may make sense to set a lower limit (such as "desktop PCs from the past decade" or "laptops from within the past 5 years" or "requires at least half-way decent graphics hardware" or similar).

It was thousands of time worse in the 1990's era. Nowadays, if you use standard development methods it will have standard results. The operating system does most of the job. For Windows games, DirectX10 solved a lot of these problems because when you know a machine is capable of running DX10, you know it will have at least a standard feature set supported and you don't have to test every single aspect of your software. You will only have strange result when you go very technical in some shaders to the point where you have to work with Nvidia/ATI directly to optimize the drivers (in some AAA games), but for indie development it's not the case. As others said, just select a "minimum requirement" and ensure yourself that your game works on it, and then at the end do some QA testing on a few different major hardware brands. 3D graphic libraries allow for resolution to scale quite well on whatever you set it to, but you might want to look for fixed aspect ratio if you do 2D games.

The place that you will encounter the most problems is the localization. Working with a machine set to use date and currency format in Arabic will cause exception in your code that you never though of.

Thank you all for the valuable responses, I appreciate it.

Remember to mark someones post as helpful if you found it so.

Journal:

http://www.gamedev.net/blog/908-xxchesters-blog/

Portfolio:

http://www.BrandonMcCulligh.ca

Company:

www.gwnp.ca

What I decided to do is for any part of my game that is platform dependent ( like XP vs Windows 7 ) I create an interface. This way I can test at the beginning to see what is needed. If something is not supported, I use the interface aimed at older techniques. If it is supported, I use the interface made towards new features. It is really helpful for graphics, like if shaders are/aren't supported, or anything else. It is also easy to add in different implementations while still being able to run it on different computers.

This topic is closed to new replies.

Advertisement