Sisyphus Game Engine

Sisyphus Engine Background
08.2005

The Sisyphus Game Engine (SGE), as I indicated in my October 2005 Journal, is primarily intended as a learning experience. So, my initial focus is on creating a clean set of interfaces between the various game modules so that they can be replaced as new experimentation takes place.

I actually intend to experiment not only with various new technologies, but also with the actual way that code is written. I made a passing remark about an article I recently submitted to Game Developer magazine. It needs a bit of a rewrite, I'm sure, but it makes the basic case that Hungarian Notation is wrong, that it hampers development almost as much as it aids it, and that with a few simple changes it could do a much better job.

I believe in putting my work where my mouth is, so I'm going to develop the Sisyphus Engine using the alternative notation that I proposed in the article, which I call Readable Notation.

So, in addition to getting to see me stuggle with new concepts you get to see me test out a new method of code notation and watch me struggle to encapsulate all those DirectX prefixes in a set of flexible interfaces.

Sounds like fun huh? Well, I'm looking forward to it.

 

Sisyphus - First Steps
08.26.2004

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!


 



www.pariahgames.com design by David Dougher