PDA

View Full Version : Deciding which language/library to use



TJS
09-30-2005, 12:56 AM
Hello,

I've searched the forums a few times but I can't seem to find the exact information that I'm looking for. Sorry if it is hidden away somewhere.

I'm looking to write a simple shoot em up game using wireframe graphics that is as portable as possible. My initial thoughts were to use SDL with OpenGL, but that doesn't run on a lot of PCs apparently. If I use DirectX with SDL then that cannot be ported across to run on a Mac. Is there a language/library out there that is both portable and can render simple 3d quite easily? If not then are there any solutions without having to write two versions of the game for PCs and Macs?

DanMarshall
09-30-2005, 01:09 AM
Allegro? I think it can cope with simple (SIMPLE) 3D. And it's dead easy to pick up and use.

Check out www.allegro.cc (http://www.allegro.cc)

PeterM
09-30-2005, 01:31 AM
Hello,

Would you consider IGE, the library I'm writing? It uses Direct3D and OpenGL on Windows, and a Mac version is on the way (which will just use OpenGL).

You can draw wireframe graphics using lines, and it also supports the usual textured polys and blitting.

I'm also on hand to answer any questions related to the library.

Pete

TJS
09-30-2005, 02:00 AM
Hello,

Would you consider IGE, the library I'm writing? It uses Direct3D and OpenGL on Windows, and a Mac version is on the way (which will just use OpenGL).

You can draw wireframe graphics using lines, and it also supports the usual textured polys and blitting.

I'm also on hand to answer any questions related to the library.

Pete

Yes I'd be interested in having a look at your engine. As long as you wouldn't mind being asked a lot of stupid questions by someone who doesn't know what they're doing.

Would I require a license to use it?

Are you definately going to release a Mac version rather than are just planning to?

Ultimately I'd like to use put in some weird graphical effects like those used in Tempest 3000 (Shading, feedback etc.) I don't suppose there is any plan to add those sorts of things in is there?

PeterM
09-30-2005, 02:29 AM
Hello,

I don't mind questions!

You wouldn't require a license to use the library, but if you wanted to sell a game you made using it then you would need to. If your game was a learning experience or if the game is released as freeware, then you don't need a license.

I am definitely going to release a Mac version.

IGE supports all the blending modes that OpenGL supports, so you can do the weird effects used in Tempest 3000. From what I've seen it seems to use mainly additive blending.

In the future IGE will probably have render-to-texture support, enabling even more funky effects.

Hope this helps,

Pete

Sharpfish
09-30-2005, 04:02 AM
Assemble your own library from the robust engines/apis out there - if open source - customise to your requirements and tack on to your own game framework (which I find is always a personal thing as no one general way "suits all" unless you churn out the same gamestyle over and over).

It will take a while to get everything together but if you look (and mainly if you use C++ as it is more flexible) you can assemble an impressive tool set for free giving network, physics, rendering which are the hardcore meat of the engine then stick your own abstracts and general game engine code on that so that you understand how you hybrid engine works and how to expand/fix it up when you need to! :)

That's what I have done anyway.. originally all physics and rendering was my own code from scratch (D3D/C++) then I looked around and found better solutions.. my time wasn't wasted though as I now know how to edit those "better solutions" to make them "perfect soloutions" (for my needs).

research! try! Prototype with different libraries to see if it can do what you want.

good luck.

TJS
09-30-2005, 04:40 AM
Assemble your own library from the robust engines/apis out there - if open source - customise to your requirements and tack on to your own game framework (which I find is always a personal thing as no one general way "suits all" unless you churn out the same gamestyle over and over).

It will take a while to get everything together but if you look (and mainly if you use C++ as it is more flexible) you can assemble an impressive tool set for free giving network, physics, rendering which are the hardcore meat of the engine then stick your own abstracts and general game engine code on that so that you understand how you hybrid engine works and how to expand/fix it up when you need to! :)

That's what I have done anyway.. originally all physics and rendering was my own code from scratch (D3D/C++) then I looked around and found better solutions.. my time wasn't wasted though as I now know how to edit those "better solutions" to make them "perfect soloutions" (for my needs).

research! try! Prototype with different libraries to see if it can do what you want.

good luck.

That sounds like a good solution, but the trouble is that I don't know where to look. Whenever I try to download other peoples libraries, I get loads of linker/missing function errors and never get them to work and finally give up. Also I imagine a lot of it wouldn't be easily portable.

TJS
09-30-2005, 04:44 AM
Hello,

I don't mind questions!

You wouldn't require a license to use the library, but if you wanted to sell a game you made using it then you would need to. If your game was a learning experience or if the game is released as freeware, then you don't need a license.

I am definitely going to release a Mac version.

IGE supports all the blending modes that OpenGL supports, so you can do the weird effects used in Tempest 3000. From what I've seen it seems to use mainly additive blending.

In the future IGE will probably have render-to-texture support, enabling even more funky effects.

Hope this helps,

Pete

Sounds pretty good. I'll download it when I get home from work (provided I don't end up down the pub). If I do decide to release what I'm working on eventually then it would cost me $50 right? Would I have to pay that for each subsequent release?

TJS
09-30-2005, 04:46 AM
Allegro? I think it can cope with simple (SIMPLE) 3D. And it's dead easy to pick up and use.

Check out www.allegro.cc (http://www.allegro.cc)

I've heard Allegro is pretty slow and isn't all that flexible. I might have a look at it over the weekend though. Anyone tried a 3D game with Allegro?

PeterM
09-30-2005, 05:10 AM
If I do decide to release what I'm working on eventually then it would cost me $50 right?Yes, that's right.


Would I have to pay that for each subsequent release?No, it's just a one-off cost.

ggambett
09-30-2005, 08:49 AM
Both SDL+OpenGL and SDL+Direct3D are relatively painless an considering Direct3D has copied the OpenGL API practically verbatim, it's quite easy to make both renderers almost simultaneously.

That said, are you going to use wireframe graphics? I'd go for a software renderer! <plug type="shameless">See Gabriel on Graphics (http://gabrielongraphics.blogspot.com) for more details ;) </plug>

Vorax
09-30-2005, 09:02 AM
Hello,
Is there a language/library out there that is both portable and can render simple 3d quite easily? If not then are there any solutions without having to write two versions of the game for PCs and Macs?

Java with something like LWJGL (used in Tribal Trouble and all of Cas's games such as Ultratron) or JOGL... or for support of either DirectX and OpenGL (if your afraid OpenGL won't run for most...which is a myth) then the Java3D scene graph api. It's a full scenegraph API with loaders for various model types and can use DX or OpenGL on windows and OpenGL on Mac.

In either case, you run the same code, unchanged.

luggage
09-30-2005, 09:06 AM
Wouldn't it be easier to use Blitz3D or BlitzMax?

Gnatinator
09-30-2005, 09:08 AM
Allegro's 3D mode is slow because it is software based (although it is actually fairly fast for a software 3D renderer). But if you need more speed, take advantage of hardware rendering and go with OpenGL or D3D (Or a lib based on one of these.)

As for allegro not being flexible, i'm not quite sure what you mean.

zppz
10-01-2005, 10:15 AM
...SDL with OpenGL, but that doesn't run on a lot of PCs apparentlywhoa... just how many platforms do you need it to run on? Ogre (http://www.ogre3d.org) may be worth a look too. But if all you really need is wireframe then using a comprehensive 'library' like these seems like overkill somehow...

princec
10-02-2005, 03:26 AM
Wouldn't it be easier to use Blitz3D or BlitzMax?
Yes ;) For the OP's project this would be eminently sensible, if buying tools is not a problem.

Cas :)