PDA

View Full Version : Choosing a library


unreason
07-31-2004, 04:05 AM
Hey, everyone. I was just wandering what libraries/engines everyone here uses. I'm currently using DX9, but I'm less than pleased with it, and I suspect that requiring the directX 9 runtime might be a turn off to potential buyers. Next time I'm probably going to want something different. So, what do you use?

princec
07-31-2004, 04:23 AM
I use OpenGL and OpenAL via LWJGL.

Cas :)

patrox
07-31-2004, 04:42 AM
I use OpenGL and OpenAL via LWJGL.

Cas :)

You do !? :D

I use PTK (openGL based) http://www.phelios.com/ptk/

pat.

unreason
07-31-2004, 04:50 AM
cas, I like Java, and I like OpenGL, but I'm just wondering ... doesn't that have the same limtation as directX, in that people need to have the newest java runtime? Hasn't microsoft stopped bundling Java with Windows?

princec
07-31-2004, 06:17 AM
OT: All changed now.

Java is shipped on about 50-60% of all new computers sold right now. It's easy to get hold of as well. M$ are even going to be shipping it properly again at some point I believe, but don't take my word for it.

The real deal is that it's built in to MacOS.

And with cable modems abound these days, hell, just bundle the VM in the installer if you detect someone doesn't have it installed when they click download. Or do a naughty trick like I do. Or use Jet to compile it down.

The thread wanders.

Cas :)

Gilzu
07-31-2004, 07:04 AM
I took a very practical way of looking at things:

1. see how much systems support the library
2. see how well the library is documented
3. check how stable its is and how many games used it (should reveal bugs i hadnt and also check out with people who used it to get a better view on cons and pros)
4. I built a very Object Oriented code so when i'll need to change the library (say from DX -> OGL) all I need to do is to reprogram that specific Object that handles the gfx and not go over the entire code (isn't that what OOP is all about?).

Sean Doherty
07-31-2004, 11:18 AM
cas, I like Java, and I like OpenGL, but I'm just wondering ... doesn't that have the same limtation as directX, in that people need to have the newest java runtime? Hasn't microsoft stopped bundling Java with Windows?

I not pushing DirectX; but I disagree that it has limitations about having the newest version. Microsoft does everything but install the latest version for you via Windows Update. And in the day of viruses, most users apply their updates on a regular bases.

Sean Doherty
07-31-2004, 11:30 AM
I took a very practical way of looking at things:

1. see how much systems support the library
2. see how well the library is documented
3. check how stable its is and how many games used it (should reveal bugs i hadnt and also check out with people who used it to get a better view on cons and pros)
4. I built a very Object Oriented code so when i'll need to change the library (say from DX -> OGL) all I need to do is to reprogram that specific Object that handles the gfx and not go over the entire code (isn't that what OOP is all about?).

Not to steal the thread; but can I ask about you architecure:

I assuming that your meshes, textures, world matrixes, vectors, etc only existing within your rendering engine?

Gilzu
07-31-2004, 12:27 PM
Not to steal the thread; but can I ask about you architecure:

I assuming that your meshes, textures, world matrixes, vectors, etc only existing within your rendering engine?

All nicely encapsulated in CCamera, CGameObject, and CGameResource.

CGameResource is incharge of loading resources (textures, meshes ect.), storing them and passed as parameters to CGameObject which is incharge of using all to create the object. So when you go up in hierarchy, you find stuff like LoadTexture(file)/LoadMesh(file) passed as parameters to CGameResource/CGameObject which basically has Render(x,y,z,rotation ect.) and all kind of effects to set (Object based, world based are in CCamera) :cool:

-Gil
http://www.gilzu.com/

Dingo Games
07-31-2004, 12:56 PM
I used CDX (http://www.cdxlib.com/) for my last game, Jack of All Trades (http://www.dingogames.com/jack/). It is a 2d engine that can use DirectX 3. I'm using PTK for my next game because I need the rotation/alpha effects. PTK (http://ptk.phelios.com/) is also cross platform, which I wanted. Overall PTK is a really nice engine that is very easy to use. Thanks Pat!

ggambett
07-31-2004, 01:08 PM
So, what do you use?
For what?

Are you doing a 2D game or a 3D game?

If 2D - does it have lots of moving stuff, scrolling backgrounds, particle effects? Or is the screen fixed with very little stuff moving? Do you prefer hardware accelerated 2D or do you want it to run on GDI?

If 3D - will it be a FPS? Will it be something else? Do you need the latest shader interfaces or do you prefer compatibility with old hardware?

PoV
07-31-2004, 01:30 PM
Alright, so has anyone released an indie game made with Allegro? Allegro being a free cross platform lib (yes, MacOS X too) with minimal acceleration features (DX7 blitting and some cpu enhancements). Allegro development can be even done for no cost using MinGW, a win32 port of GCC, or DevC++, a toolchain/IDE that secretly uses MinGW.

Hamumu
07-31-2004, 02:02 PM
Yes, lots! Okay, two... Supreme and Pumpkin Pop. And of course lots of free gamelets. XOP also is Allegro.

Nemesis
08-01-2004, 01:56 AM
Custom built with the intention of supporting both OGL and DX. In practice, only the OGL driver is developed and invariably, the engine has an OGL bias to it, whatever its author says :) Still, it gives us the opportunity to develop the features we want.

Having said that, I still think it's best to get a 3rd party engine with a license to alter the source in case you need some custom stuff... unless you like to strutt your techie muscles around, that is! :D

nquijano
08-01-2004, 08:17 AM
I not pushing DirectX; but I disagree that it has limitations about having the newest version. Microsoft does everything but install the latest version for you via Windows Update. And in the day of viruses, most users apply their updates on a regular bases.

That is simply not true still : I still do on site work for clients, and in the same office, you'll have some of the XP machines that have automatic updates enabled, and others not. Which btw, doesn't help at all if their network admin shuts down the LAN pretty hard :)
Also, in SMEs, a lot of workstations are not running XP or 2k with auto updates installed. These never get updated by their users.
It's even worse in the residential space.
When people are aware of auto updates, they often disable it, 'cause they simply don't like the idea of their machine being updated, and "broken" by the updates : why fix something that's working and hasn't crashed in a few months...
As far as virus protection is concerned, well, let's not go there ;)

As gets pointed out around these parts, we're NOT typical computer users :)
And companies with enlightened IT policies are not the norm either

Dan MacDonald
08-01-2004, 11:53 AM
Katsu used to use Allegro, it ran so-so at about 30 fps, had some hickups though. It took me about 3 evenings to port it to PTK (http://www.phelios.com/ptk) where It gained true color mode, really nice alphas and about 30 extra fps. It now runs silky smooth and looks a lot better. It's crossplatform as well...

Valen
08-02-2004, 08:03 AM
What you should use greatly depends on what you want to accomplish and what you expect your target audience to be able to run. I'm personally using vanilla 2D SDL with a powerful object oriented architecture on top of it. I chose to make my own architecture partly because that's what I'm good at, and thus like doing, :) but also because it gives me the amount of control I want to have over what's going on.

For instance I created a sender/listener system where objects can do things like register to listen for events like keystrokes, mouse clicks, focus loss/gain, and so on. The only grudge I have about doing this stuff myself is that C++ requires you to write so much code that would be automagically handled for you by a higher level language. Too bad execution speed and development speed are inversely proportional. :)

princec
08-02-2004, 08:07 AM
Too bad execution speed and development speed are inversely proportional. :)

Not strictly true ;) But you probably know my take on that...

Cas :)

Sean Doherty
08-02-2004, 08:16 AM
Not strictly true ;) But you probably know my take on that...

Cas :)

If I were to guess I would say it had something to do with Java? :D Sorry that was low.

wazoo
08-02-2004, 10:35 AM
I'm mostly using my own Peon library which I've released under the LPGL..

peon (http://www.wazooenterprises.com/peon)

True it's not a fully fledged "3d" engine, but I don't need to reinvent the same wheel that's been floating around forever. I just use it for the utility objects I've created as well as for some "quick and dirty" platform demos..

Valen
08-02-2004, 11:38 AM
Not strictly true ;) But you probably know my take on that...

Cas :)

I was waiting for that. :) Java has its problems, and you probably know that as well. :)

Sean Doherty
08-02-2004, 11:58 AM
I was waiting for that. :) Java has its problems, and you probably know that as well. :)

Ya, I am just giving you a hard time. The only game I ever wrote in Java was Missile Command; and that was pre OpenGL.