How do I find the system requirements for my games

Community Forums/General Help/How do I find the system requirements for my games

WERDNA(Posted 2009) [#1]
Just wondering how I might find the system requirements for my
games. I don't want to begin selling my games without letting
people know what kind of requirements they need.
Do the requirements vary depending on the game, or all they all
the same since they are all written in Blitz3D?

Thanks if you can answer this, and sorry for creating 3 posts in
a row. I just happenend to have 3 seperate questions and the
topic titles wouldn't give me enough room to combine them :)

WERDNA


xlsior(Posted 2009) [#2]
Just wondering how I might find the system requirements for my
games. I don't want to begin selling my games without letting
people know what kind of requirements they need.
Do the requirements vary depending on the game, or all they all
the same since they are all written in Blitz3D?


Note that I have no idea about Blitz3D's requirements, but the following still pretty much follows:

Trial and error. you can set the absolute minimum (e.g. --> blitzmax = DirectX 7 or above, with a hardware-accelerated 3D video adapter strongly recommended, using Windows 2000 or later (Windows 95/98/ME may work, but might require additional files like the unicows.dll for unicode support)

The *actual* requirements beyond that greatly depend on what you're game is doing: A plain vanilla 100% retro 2D pacman conversion is going to be a lot less demanding than game that uses a humongous 3D world with hundreds of unique models and all kinds of motion blur / rotation / zooming / particle effects and the likes.

Unfortunately, system specifications are all over the place: A 3D video card that's a few years old may have 12 rendering pipes. A modern top-middle end card may have 800 stream processors: Their capabilities aren't even in the same ballpark.
you may havce programmed a game that runs amazingly smooth on your 800-stream processor model card, and find that it drops to 15 FPS on another fairly recent 320-stream processor card, and at 0.5 FPS on a 5 year old Radeon X1600.

The only way to know for sure, is to do a bunch of benchmarking, and run the game on as many different configurations as possible. Then log things like FPS etc, establish a lower threashold of what you deem acceptable (e.g. what's the minimum card that can run the game at 30 FPS fairly consistently? If it's a GeForce 7600GS or Radeon X1650, then put those as the minimum system requirements.
Also find out what the minumum is to run everything with all bells & whistles, and list that as the recommended system requirements (e.g. GeForce 8800GT to run at high-res @ 60fps with particle effects enabled)

The only way to get that info: If you're a big development house, you can have a ton of test machines in-house to play-test all the various combinations.
For a one-man shop, it pretty much boils down to creating either a playable demo/beta, or a representatative mock-up of the engine (e.g. a simply benchmark that shows -x- 3D models at the same time, overlays some particle effects, etc. similar to what your game would be required to handle, and ask people to test it for you and let you know things like the FPS it ran on their computer. Gather their hardware specifications, and try to figure out a minimum acceptable baseline.

No quick-and-easy way of doing it, though. :-)


andy_mc(Posted 2009) [#3]
To be honest, most indie games will be low spec requirements due to the lack of content (it takes a lot of people to make the machine chug). Unless you're using some very cpu intensive algorithms or detailed graphics then pretty much any computer should be fine.


_PJ_(Posted 2009) [#4]
Yeah, chances are, a BB game that's stressing some of the more recent CPUs and GPUs is likely down to poor optimising rather than pushing the spec requirements.

The main things to watch out for, though, are Operating Systems, just in case some weird bugs pop up here and there, try and get some tests done. Direct X7 has been mentioned above (Actually I was under the impression DX7 is used by B3D too), though bear in mind, certain userlibs can take advantage of DX8 features.
Many of the features available for B3D to address requirements such as Video RAM and whether 3D capable cards can display resolutions etc. are for the most part gonna be obsolete when it comes to the majority of gamers, but they may be useful for your own testing purposes to define a minimum.

You may want to hack into your own program a little to maximise the opportunity of 'stress', for example, spawn maximum amounts of enemies at highest level of graphics and texture flags etc as well as perhaps tweaking any AI or other checking code to simulate the most intensive situation possible (this is going to vary greatly of course, depending on the sort of game in question)

Network games, again, are going to add another area for checking possible stress.

At a point during tis Maximum-stress testing, dump/log/output somehow some data such as video RAM ( Availvidmem() ) and use task manager to see the actual system RAM and/or Pagefile usage.

Depending on any frame-limiting code you may have, by default, blitz apps (like almost all apps available) will utilise as much CPU process as possible.
Using your Task Manager again, and having an idea of the actual flops/second speed of your CPU when running the application with as little else as possible or again with other CPU-hungry processes going can help you gauge the effiency of the app for how much slowdown occurs if CPU resources are starved somewhat.

This should give you an overview of the ball park figures required for the application at least in so far as processor, VRam and RAM which are perhaps the most important aspects considered.

Makes me wonder, do b3D apps only utilise single processor cores?


Sauer(Posted 2009) [#5]
Just find an old computer at a garage sale and use it for testing.

I'll be happy to try your game on my computer; I believe I have one of the oldest dev machines on this forum: Windows 98, 96Mb RAM, 4Mb ATI Rage II gpu, 366mhz processor.


xlsior(Posted 2009) [#6]
Makes me wonder, do b3D apps only utilise single processor cores?


Yup, it's single-threaded. Blitzmax supports multithreading to run on multiple cores, but it does require a bunch of special threading commands and code re-design to actually use this functionality in your own program.


_PJ_(Posted 2009) [#7]
Figured as much, thanks xlsior!


WERDNA(Posted 2009) [#8]
I figured this wouldn't be easy, lol.

Sending the game to various people and then finding out their system
specs, FPS, etc, sounds like the best way to go for me.

Thanks a lot for your offer Sauer!
The game in question is incomplete as of this time though, so I can't
send it to you to test :(

Well once I get more work done on the game, I'll start running as
many tests as I can to get a ballpark estimate.

Thanks again everyone!

WERDNA


_PJ_(Posted 2009) [#9]
Chances are, it will run just fine on just about anything that can run todays' games.
You might not even need to test too much, it depends I guess on who you aim to market it towards.


GfK(Posted 2009) [#10]
I test on a P3-733MHz, 256MB RAM, 64MB GeForce4MX graphics, WinXP.

Had most of the bits lying around but had to buy a new case to put it all in, and that cost me about £10.

Not testing your game, is silly. You're heading for a technical support nightmare if you don't.


ziggy(Posted 2009) [#11]
Start a beta-testing process with as many users as you can with different system configurations. You may find that sometimes a game can even run better on old hardware becouse DX7 not being well supported, and a lot of strange things. So before releasing anything, beta test it, then beta test it and when you thing it is completelly bug-free and you have the minimum config very clear, then... beta-test it!


xlsior(Posted 2009) [#12]
To be honest, most indie games will be low spec requirements due to the lack of content (it takes a lot of people to make the machine chug). Unless you're using some very cpu intensive algorithms or detailed graphics then pretty much any computer should be fine.


Of course that's not necessarily true, since an inexperienced programmer may use rather un-optimized approaches to do certain things, and induce a significant unintended overhead that way.


andy_mc(Posted 2009) [#13]
Might be worth picking up a cheap netbook to test on. Obviously you could argue that you should have a basic system for developmentand testing but it's not fun developing on a low specced machine. You want your game to run well un-optimised then work on optimising it for lower specced systems. Unfortunatly, this last step is missed by a lot of commercial PC developers these days (i.e. GTA4)


WERDNA(Posted 2009) [#14]
Ok, thanks for the advice!


*(Posted 2009) [#15]
I test on a Via C7-M, 256Mb ram, 32Mb shared S3 Unichrome graphics and XP laptop. If that will run it then anything will, also have a linux eeepc