views:

2395

answers:

18

DirectX, XNA, SDL, Allegro, OpenGl, PyGame, many more! ??? whats your personal favorite ? Whats catching up? Which way to go and why ? Lol so many open ended questions! take your time.

+13  A: 

I've been really impressed with XNA. Not only is it really fast to write for it also will run on your XBox 360 which is damn cool if you ask me. I watched Chris Bowen at last Code Camp Boston write pong with graphics and music in an hour. It was mind blowing.

Rick Minerich
+5  A: 

Assuming you're a hobbyist thus far...

Use XNA if you want to use the latest Microsoft .NET technologies (and if you're not concerned with being portable outside of Windows and the 360). It's the successor to Managed DirectX and if you sign up for their $99/year service, you can test your games on the 360.

Schnapple
A Creators Club account (the $99/yr service) is also required if one doesn't want to completely do their own multiplayer/networking code. And accounts are required for anyone who plays the game, too. :(
Chris Charabaruk
Wow - that just totally killed my desire to use XNA for my next game project...
Erik Forbes
You can develop for free with XNA, you can distrubute your game for free, etc. Except if you want to use the services of Microsoft (XNA Creators club, etc), you pay for them.
GvS
A: 

All libraries serves a purpose

  • DirectX - popular, windows only
  • OpenGL - popular, multi platform
  • XNA XBox?
  • Allegro - More lightweight and can't handle 3d that well
  • SDL - Mostly for 2d games

For PS you have to get another SDK I believe

I haven't done much work in these but this is my general understanding of these and may be wrong.

Wgaffa
hey thats a very neat classification, thanks !
Abhishek Mishra
Just as a clarification, XNA is more than just Xbox, it has runtimes for Vista and XP and version 3 will have a pipeline for Zune
Mason
I would argue that outside of id Software's engines and people who license those engines, OpenGL is not popular.
Schnapple
@Schnapple, OpenGL is popular for things that are not games, and is incredibly popular for people who don't want to be chained to Windows. (But yes, in the grand scheme of things, that means it's not all that popular. *grin*)
Matt Cruikshank
+5  A: 

Well, it's probably hard to get by without DirectX, if you're a professional developer.

For Semi-Pro's and small projects, I've come to love XNA because it's C#, allows cross-platform development for PC, Xbox360 and Zune, and it's the only way to get your hobby game on a console legally. Plus you can do all the cool stuff like Shaders, Multithreading and Xbox Live as well! You may want to top it off with TorqueX but certainly it's not necessary for most smaller projects.

If you're a beginning game developer, i whole-heartedly recommend the ultimate learning Game Development tool: Game Maker. It's free and for a small fee you get additional cool stuff like networking, particle effects, etc.

steffenj
well, I'm just a casual game dev guy, trying to make a dexter themed side scrolling game. Had started with QuickBasic when I was a kid.Right now allegro seems quick n dirty to me. Willing to xplore XNA etc soon.. thanks
Abhishek Mishra
+3  A: 

With our free project on the Windows platform, we're going with Ogre3D, FMOD and PhysX. All of these are free for non-commercial use (and Ogre3D is free even for commercial use.) My experience has been that all of these work great and have faced no major problems, and I'd go as far as to say that FMOD is the best in the sound engine field.

psoul
+1  A: 

Being able to quickly prototype games using pygame is increadibly powerful. It is basically libSDL wrapped in python, and it leverages that really simple api for handling events, user input, audio and graphics (not to mention making OpenGL easy).

I wholeheartedly recommend it, even for serious game development.

Oh, also, it's super portable.

Hans Sjunnesson
How hard is it to distribute your game afterwards ? Do you embed the interpreter with the libs and the bindings, or expect them to be on the user's system ?
phtrivier
Check this out: http://www.moviepartners.com/blog/2009/03/20/making-py2exe-play-nice-with-pygame/
Hans Sjunnesson
+10  A: 

SDL + OpenGL

Why? Because they'll run on ANYTHING. The market is a lot bigger than DirectX allows for.

Oli
yeah thats whats keeping me in a fix!! which way? MS seems bigger, but then allegro, opengl, SDL makes me feel I can write one code for so many OSes, and thats much better than being confined to windows/xbox/zune
Abhishek Mishra
But here's the real question ... do you really *use* more than one OS? what about your audience? do you know for a fact that they use "so many OSes"?The answer to that might be yes, in which case you're right. But don't make that decision on pure conjecture :-)
Joel Martinez
Hmmm... food for thought... but yeah in a way, don't we find OSX popular these days, specially among rubyists and web dev ppl?
Abhishek Mishra
besides linux community will be happier with another game on tux
Abhishek Mishra
It's not just about Linux. It's about it working on Windows. Macs. Linux. Random handheld devices that are OpenGL enabled. And, if you're that-way inclined, most consoles.Developing through SDL enables you to branch out. Using DX limits you to two.
Oli
A: 

My favorite is XNA, it's relatively easy to learn compared to C++ & DirectX or OpenGL and the best thing about it is that you will write games in C#, which is Cool. (Why is C# cool? it is because: it's not by a stretch as cryptic as C++/COM, it is a static language which means lots of compile time checks, and is a modern oo language, very expressive and makes writing games fun).

Also the XNA library is not too shabby either, you get a lot of stuff by default, lots of computational methods for matrices,vectors, etc, higher levels of abstraction (already has mesh objects, texture objects, effect objects).

The content pipeline is another nice feature of XNA, very helpful once you are past the first steps.

XNA has a lot of third party support, SOFTIMAGE|XSI Mod Tool.

Pop Catalin
A: 
Abhishek Mishra
Sweet :) But unless you have a license for making a Dexter video game you better keep it among your friends or replace the gfx before you upload it to the public.
steffenj
Resizing the picture a bit smaller doesn't hurt either...
Evil Activity
+12  A: 
jjohn
I don't think it's necessary to dissuade the poster. Understanding how difficult it is to write games can really only come from doing it. I think it's given me an entirely new and more appreciative perspective on gaming.Also, thanks for pointing out Novashell, I hadn't seen that before.
Rick Minerich
It's only dissuasion if you allow it to be. Knowing that it's a tough, uphill struggle gives a person a better idea of what to prepare for.
Chris Charabaruk
Since the original poster didn't not present as an experienced coder, Game programming is hard even for pros. You can make money doing much less difficult coding. Tasks were provided that might be a good onramp to programming and also move the poster nearer to working on games.
jjohn
finally i made a game called nincompoop, it was to be finished by 30th september, so didn't give finishing touches - try here http://www.bidworkz.com/hfn/nincompoop_shaastra.zip
Abhishek Mishra
+5  A: 

SFML - Simple, Fast, Multimedia Library.

I've found it pretty damn good for my purposes. It doesn't require any extra setup to start working with OpenGL (unlike SDL), it's designed as a C++ OO library and is generally really simple and easy to work with.

workmad3
will check that out soon
Abhishek Mishra
A: 

And another answer for XNA. I teach both my 2D and 3D programming classes using XNA, and my students really enjoy it. Also great for prototyping out game ideas.

A: 

Flash and XNA (they don't work together, unfortunately).

Iain
A: 

I use XNA. That's what I built Air Legends in.

I love it. Such a bonus you can code and test for Windows, then flick a switch and have an XBOX 360 version in no time. Took me just 1 evening to make the minor XBOX 360 adjustments.

+1  A: 

OpenGL, because it's multi-platform, and I have experience with it dating all the way back to its very beginning on SGI workstations. For the faint of heart, though, of the things on your list, I've probably heard the most good about SDL with the killer feature being that it's multi-platform, but you could also pick-and-choose different multi-platform libraries if you are good at putting them together into one engine.

Jim Buck
+2  A: 

Check out Torque-X. It's the Torque Game Builder for the XBox. It uses the XNA libraries and actually creates a whole app for you. I mean you still have to design it but it's much easier as you don't have to write the engine.

http://www.garagegames.com/products/consoles

Kludge
A: 

Something no one has even talked about his the possibility of mobile development. I decided to go the way of c++/SDL/opengl. If mobile is the future, I am sure not all mobile phones will be supporting DirectX, It is better to brave it and head into the c++/opengl(es) dungeon. The benefits are (mobile (iphone/symbian,linux),MacOSX,Windows,Linux)

XNA is good, but the feeling of being limited to their platform when everyone else, especially indie guys are busy cutting their PIE from the iphone market aint too good.! I am pretty sure more mobile platforms will follow their footsteps in the future and I dont seem them doing DirectX

sayjava
A: 

I used XNA before. But now I'm on a Mac doing some iPhone game dev with cocos2d. It's really nice. Though it's abit tough to go from C# (with garbage-collector) to Objective-C with all its memory management.

hellozimi
Objective-C has garbage collection. Of course iOS doesn't support it, yet, but I think the resource counting is pretty easy to use.
Kludge