[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Please help!!

Ritesh Bansal wrote:
> hello,
> I want to make a small functioning 3D game for the sake of fun and
> learning. Its basically a RPG and I have a vague outline of the story. But
> I am still unable to know what all logical steps go into making every
> scene in a 3D game.

You should probably start with a ready-made 'scene graph' API such as
CrystalSpace or my own PLIB (http://plib.sourceforge.net).

With PLIB, you can build a 3D scene in 3D modeller (kinda like a CAD
program) and load it into your application with just a couple of lines
of code.  With another dozen or so lines, you can move around in your
scene - and with not too many more, have other objects moving around
under software control.

There are some example programs that come with PLIB that should get
you started quite quickly.

It may still be quite a large step from that to a finished RPG because
you have to do nasty things like collision detection and human character
animation - both of which are LARGE topics...but it's at least possible.

You could also look at my OpenSource game 'Tux The Penguin - A Quest for
Herring' - which you might consider a worthwhile starting point.

> I have worked out small 2D games like Pacman in java, a card game in
> Gtk(mostly AI), an asteroid based game in Dos way back and have worked in
> OpenGl(small 3Ds).

That's a really good start.

> Although I have read partially about SDL, Crystalspace
> and twilight3d but still I am NOT ABLE TO SOLVE/THINK out
> * how things fit in to make a scene and ultimately a game.

Build your scene in a 3D modeller...don't even think about generating
it in your code.  That's the main reason you need a 3D scene graph
API...it takes 40 to 50 thousand lines of code to do that well and you
don't want to have to re-invent it.

For a 3D modeller, you could consider spending $40 to get a copy of
AC3D (which runs under Linux - and is what I've been using for model
creation).  You could also try 'blender' which is free - but which
many people find extremely user-hostile because of it's arcane user
interface (other people *love* it though - so you should try it out
and see how you get on with it).

> * What all should I be careful about when making a scene

Well, that's a *huge* topic - and it depends a lot on the scene graph
API you are using.

  1) Keep the polygon count to a reasonable number.  The definition of
     'reasonable' depends on a lot of factors though.
  2) Avoid too much 'overdraw' - you don't want lots and lots of overlapping
  3) ...and the best way to control those things is to manage the structure
     of your models to give the scene graph API the best chance to cull them.

These are deep questions - and should probably be asked on the mailing list
of whatever scene graph API you choose to go with.

> * whether I use 3d polygons at all places or sometimes use sprites.

If you use a 3D card then sprites will likely be slower than full-blown
3D objects.

> * if to use any library like crystalspace which is a good one.

Crystal Space is certainly one option you should consider.  There are 
people on this list that took part in it's development who will surely
sing it's praises...and I don't use it - so I can't.

I would point out that despite it's popularity, it's not been used in
many games - and those that it has been used in were mainly written by
the authors of CrystalSpace.  Personally, I think that's the single thing
that says why I wouldn't recommend it.

I havn't used CS myself but those who have used both CS and my own PLIB
tell me that PLIB is much easier to get into and has a cleaner interface.
CS has more complex rendering algorithms for fancy lighting and such.
PLIB takes a 'keep it simple stupid' approach.  Hence there are over
50 games currently written using PLIB - including several commercial
ones - and three PS2 games.
PLIB also supports *far* more 3D file formats than CS.

> Also, please lead me to a game where they use all 3D(not space games).

Sure here are some that use PLIB - but are NOT space games:


...there are *LOTS* of others.
Steve Baker   HomeEmail: <sjbaker1@airmail.net>
              WorkEmail: <sjbaker@link.com>
              HomePage : http://web2.airmail.net/sjbaker1
              Projects : http://plib.sourceforge.net

To unsubscribe, e-mail: linuxgames-unsubscribe@sunsite.dk
For additional commands, e-mail: linuxgames-help@sunsite.dk