This probably belongs on the ‘other’ SDL list, but I haven’t seen a single
post to it since I subscribed to it, so… anyway, I’m making a library
that will sit on top of SDL and is designed for writing adventure games -
Do you mean “moneky island”-like or more “commander keen”-like?
including, but not limited to, tile-scrollers…
A library on top of SDL - sounds cool.
basically it provides
some low-level stuff like doubly-linked lists and a binary search tree (I
know, glib provides those, too, but these are more suited to the purpose
at hand, I think), and also provides a set of object structures which can
be used to maintain a ‘world’ of stuff. It has a compiler which parses a
text file (sort of a spec file which defines objects, names tiles, that
sort of thing), and produces a .dat file that you can parse in at runtime.
It’ll handle the database handling for your game, and also provide a
tile-scrolling engine, a map handler, a sprite handler, and some special
effects. I’m not sure how much it should actually cover - I haven’t quite
decided that yet… I’ll try to make some source code available for d/l
as soon as… well, as soon as it’s capable of doing something noticable
Although I find this pretty interesting, I see a problem here. Could it
possibly
be possible that this draft is too big, for the start at least?
You want ot make lowlevel stuff, that’s a good idea, low-level graphics and
even stuff like lists and trees are used by almost any game. But when it
comes
to object structures, I’m not sure this is as useful. As far as I know,
every game
is built differently. So it will be extremely hard to make a framework that
covers
any game type. A Jump’n’run game is completely different from an asteroids
game,
for example, object lists wouldn’t be the same, so maybe the jnr uses an
array[width][heigth]
where the objects are stored in while an asteroids would probably use a
linked list
of objects. An adventure would need complex “intelligent” objects while a
micro-machines
type game would be quite dumb.
You get the point, you’ll probably have to specialize on some game genre as
many
other things vary from game to game, e.g the approach for a doom level is
very
different from a micromachines level and objects are probably stored
differently
on disk
You requested for comments: If I was you, I wouldn’t plan to cover that much
but only maybe low-level graphics and in a different library resource
handling.
Allegro (a lib for DOS) is quite a nice library really, but I’ve always
refused to
use it beacuse it wants to do so many things, resource loading, graphics,
sound and even game timing, it gets hard to see what actually happens…
However, I don’t want to discourage you, if you get this much done, it will
probably be a simple tool for game creation, but if not, it was again a
waste
of time, just like the other billions of projects that have vanished after a
year…
~ Paulus Esterhazy (@Paulus_Esterhazy)