The first steps in the Sisyphus engine are the development of a set of routines to encapsulate
the major libraries that will be used in development. While it might be a lot of fun
to try and develop a DirectX or OpenGL challenger, I'm not that big a glutton
for punishment. Besides, by the time I was finished I wouldn't have time to test out all the
other things I'm interested in.
So, my first focus will be on gathering up the research pieces I am interested in exploring
and developing a set of interfaces using my new notational system. This should actually be
the hardest part of developing the system, because it must coexist with Hungarian
Notation in the same functions. Once the encapsulation is complete then the rest of the program
can use my new notational system without confusion.
It would probably be easier to use OpenGL or SDL as the underlying layers - probably easier
to code for too. But DirectX has a number of pieces I would like to experiment with later, like
its music synthesis and voice capabilities. So, I'm going to go along with the herd
and begin initial development with DirectX.
Beyond the initial encapsulation I have no immediate plans for development. It is a small step
to do this, but it needs to be done correctly.
I stated earlier that I will be using the book, 3D Game Engine Programming by Zerbst and Duvel
as my starting point. I don't intend to follow them religiously; to recreate their engine, but many
of the pieces I wish to examine are directly on the route that they employ, So, while I won't be
exactly copying them, I do plan on following their line of development pretty closely -- at least at the
beginning.
Of course the biggest question is whether I plan to make this engine available - either for free or
for sale. That will depend on where I end up going with it. If I find that I end up with substantially
same engine as the book then it will not be made available. You can go buy the book. If I find that
I have added a lot of things but that the final product doesn't fit commercial necessities (i.e. it
isn't cross-platform as intended, or it simply runs too slowly) then I will probably give it away.
If, however, it hits that magical sweet spot where it runs fast, has commercial appeal, and doesn't
violate the copyrights or spirit anybody else's stuff, then I will look at either using it in a
commercial product or making it available for a modest sum.
Those are the "Big Plans". On to laying the foundations!
|