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

TODO



[Long Mail]

Ok, this is an attempt to line out what has to be done during the next time
and in what direction I think PPlay will go.



First, here's a new, reworked sketch of a new PPlay agenda. It's more
"lightweight" than the previous ones, with less lofty goals and a more
pragmatic approach.

The basic thing is that PPlay will try to bring some order in the current
multitude of game libraries.

The main part here is gathering information of the libs and creating some
good database out of that. Most of this will be done via the LGDC by asking
game developers about their experiences and by letting library developers
submit news about their libs in some happypenguin-style way. The goal is to
make it easy for people who know "Ok, I need features X, Y and Z" to find a
good set of libraries for that task.

The next thing is looking whether these suggested combinations are actually
useful in practice, i.e. whether these libs really cooperate smoothly etc.

Then this should also make it easier for library developers to see "hey,
there's already a lib almost identical to mine" etc and to borrow ideas
from the other libs or cooperate closer with the other lib authors or
whatever.

And finally we will identify things that are simply not covered by existing
libs and code these.

All in all it's no more the "we'll unite all the SDKs" and "we'll create a
good package of everything" approach but rather a "we try to make it easy
for game developers to make informed choices" one.



Ok, so much for the agenda (I thought about letting that topic rest for a
while, but the other things to do are somewhat dependent on it...).
On to the concrete things to do now (the order is somewhat bogus - most of
the tasks overlap):

(1) Clean up the CVS repository. (which is a real mess now)
I just sent a mail to sunsite asking whether that's possible at all. But
I'm sure it is, so here's a sketch of how the new repo could be laid out:

doc/   /* well, documentation */
src/   /* *all* sources */
  PenguinSound/
  PenguinFile/
  Demos/
  ...
lib/   /* for the built library. useful when compiling demos etc. */
include/        /* just as it is now */
  PenguinPlay/


That's it for now.


(2) Rewrite the build system (which is a little mess now)
That includes switching to automake for Un*x systems, properly setting up
the neccessary stuff for Win32 compilation, making the thing build *one*
library out of everything (having many small libs is bad)
Peter, you have experience with automake. Can you start planning on this?


(3) Clean up the core PPlay headers (which are rather messy now)
Dividing PenguinPlay.h into seperate files for debugging stuff, data types,
constants/compilation flags and utility things


(4) Decide on a good versioning scheme (which we don't have at all now)
Linux-kernel - like should be good :
V x.y.z where 
x = major version, changing only for really revolutional changes
y = minor version, changing for major changes in functionality,
    an odd number meaning developmental code and even meaning stable code
z = patchlevel


Any vetos?


	Christian
--

Drive A: not responding...Formatting C: instead