Sign in to follow this  
justinrwalsh

Casual Games. Target Hardware, Best Lib?

Recommended Posts

I am starting to work on a casual game and some major questions have come up. What system should i target for? How low of a system is acceptable for the biggest market penetration, without having to worry about not including all the fancy features? for example, i am using SDL, and with a 640x480 window i can render a background image and about 50 alpha blended sprites, and maintain about 60 FPS. However this is on my 12" PowerBook, clocked at 1.5Ghz with a 64MB geforce fx5200. So if i port this over to a windows box running a p2 with an intel extreme graphics card, it may suffer. So now the trade off happens, do i say screw alpha blending and go for 2D "jaggies", especially with todays computers would that be visually acceptable to not alpha-blend with sexy smooth edges? If i used openGL would enough people be able to play it to be labeld a casual game? -or- Is SDL just weak in the Alphablending catagory and i should just bite the bullet and pick a lib with a faster software alpha blender? Arggg, im so confused. are there tricks to making colorKeyed images nice and smooth looking? Or am i doomed to the "jaggies"?

Share this post


Link to post
Share on other sites
Okay okay calm down calm down. :)

Remember, "Don't Panic"..

It really depends upon your game, but at a minimum I would keep alpha-blending in there via OpenGL. There's definitely enough of a market for that.

OpenGL has a bit of a "stigma" for the casual developer, since the casual player tends to never upgrade their drivers (both service packs and video drivers, etc).

So the majority of your support is probably going to be focused around guiding them to either ATI's or NVidia's site....MAJOR hand holding is recommended IMHO. Picture your mom or dad installing video drivers here.

Don't just post a link and expect them to do the rest. I'd document the whole procedure in a nice friendly way....

With all that being said, most people already have good enough OpenGL drivers to run the basics...1.1 or 1.2 of the spec is all you should go for really.

For more information, check out the Indiegamer forums.

http://forums.indiegamer.com

They've got a wealth of information on this stuff...

hth,


Share this post


Link to post
Share on other sites
How about running it on an actual P2 instead of worrying about if it can keep up.
SDL has MMX optimized software blending on x86 platforms and I doubt it makes use of the PPC's equivalent (AltiVec), so if you're luck it might not be a problem at all.

Share this post


Link to post
Share on other sites
OK, i just ran it on a 750Mhz p3 with built in video, windowed mode.
The silly thing is, is that with alpha blending it runs at about 20 FPS with the same 50 sprites, and with colorkeying it runs at the same 20FPS.

now on my home PC, athlon 1700+ with a geforce fx 5200, i get 50 fps with alpha, and 52 fps with color keying. So either alpha blending isnt as slow is i thought it was, or somehow my surfaces are still containing alpha channels when blitting?


So i surf on over to PopCap games, and fine that there system requirements for rocket mania, witch makes use of alpha blending, says it will run an a pentium 2 350mhz. Does that mean it will get 15 FPS on that system? but still run, with something like a Time Step based game logic?

Share this post


Link to post
Share on other sites
Speaking of which, have you looked at the popcap games framework? That may be what you need to look at. I think it takes care of all the graphical abstraction.

Another option, if you want to use OpenGL 1.1, is to look at my graphics library, hxRender. I am getting ready to release a new version of it, but the latest it quite stable. It has already been used in several demo projects, and it is starting to pick up a following around here. It has it's limmitiations, but I doubt that you would have to go anywhere near them.

If you are interested:
Downloads page
API Refrence

If you want to try the mac build, I suggest that you download the windows package for the source, then grab the makefile out of the linux one, and compile it that way.

And if you have any more questions about it, feel free to ask.

Share this post


Link to post
Share on other sites
Those speed problems are all SDL's fault. Using my custom D3D-based game engine, my three year old computer can render about 2000 alpha blended sprites and maintain 60 FPS. If I were to put some work into optimizing it, I'm sure I could get that number significantly higher. I don't use OpenGL should be just as fast as D3D. SDL is just plain slow; switch to OpenGL or D3D and your system requirements will drop dramatically. Of course, there is a price; neither of those APIs is particularly comfortable to code in raw.

Share this post


Link to post
Share on other sites
I can code in openGL just fine, very comfy with it, the question i have is, how many PC users can run an openGL 1.0 based game? Don't you have to have a 3d accelerated graphics card? Or is software openGL still faster than SDL?

Share this post


Link to post
Share on other sites
On my 2GHZ laptop, with my sucky stupid non-standard Trident graphics card that I can't replace, an OpenGL game is lucky to get 10 FPS. If you use OpenGL in any large way, that means anyone without an OpenGL-capable card pretty much can't use your game without pain being involved. Now, that's a steadily decreasing minority nowadays, but the issue is still there.

Note that SDL is not "slow", it is simply "not as fast as OpenGL", because it doesn't use hardware acceleration.

Share this post


Link to post
Share on other sites
Quote:
Original post by justinrwalsh
I can code in openGL just fine, very comfy with it, the question i have is, how many PC users can run an openGL 1.0 based game? Don't you have to have a 3d accelerated graphics card? Or is software openGL still faster than SDL?


How many people don't at least have one of those integrated Intel 3d cards which provides basic 3d acceleration?

Share this post


Link to post
Share on other sites
I think you'll be fine.

I would suggest that if you don't detect 3d accelerated opengl in the pixelformat, then exit the game in a very nice polite way, and direct the player to a page on your website where you explain all they would have to do is download new video drivers from NVidia or ATI (99% of the time).

Otherwise, software OpenGL is a joke. Maybe you'll get 1 fps, maybe less. Don't risk it and lose a sale and maybe the loss of word-of-mouth. (ie. don't download game-x because it's so sucky slow-slow!)

I think the majority of casual gamers are at that point where they should have enough to run an SDL+OpenGL title..

Always remember that a completed game can earn more sales than one sitting on your hard drive.

Share this post


Link to post
Share on other sites
Well, if you want it to work on older computers, it'll probably hard to avoid something like SDL or DirectDraw or something l ike that. Performance would probably be quite okay with some precautions taken, but forget about things like alpha-blending.

However, I'd still go for an OpenGL/D3D-based approach. On all somewhat modern systems you are going to get much better performance and a lot more features as well. Basic 2D stuff shouldn't tax the graphics card too much, and I doubt it'd be worth it to support systems that are too old to have some reasonable 3d acceleration.
Basically, your game would both look and perform worse on a somewhat modern computer.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I too have been using popcap's framework and it saved me literally months of work building stuff I knew would need to be in there.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this