I've been super busy with school as of late and as a result progress on Enigma has slowed down considerably. Also there is a free version of Everquest 2 which I have recently sunk some time into unfortunately. However Enigma is still going it is just another slow spot in development, which happens with for fun projects. There is no money in it so I still need to work and I'm also currently working on a BS degree in project management so writing papers and studying for exams also takes up time.

All of that aside the primary reason for this post is to discuss the creation of a session library for Enigma. Thus far breaking different parts of the game engine up into libraries has helped build times and overall management of the code base. In addition shuffling things around tends to expose weaknesses in the design and hidden bugs.

So what I plan to do is move the client & server logic into a library that will contain the session management information and will be dependent on the protocol library and the common library. I'm going to try to remove any dependencies on Irrlicht from these because it has become apparent that the current implementation makes it difficult to narrow down bugs resulting from graphics related code or networking related code. So in addition to this new session library a console style client will also be created for the purpose of diagnosing session level bugs. This will also make it possible to use other graphics engines if needed.

All of the graphical coding to date is highly dependent on Irrlicht so as of now there are no plans to use anything else. However there have been several cases where using Irrlicht has been very difficult to diagnose because of the way the engine works and I have run into several cases where the engine has not functioned as expected or even consistently. Some of these issues have been previously resolved in newer releases.

As with other resent overhauls this will probably introduce a few new bugs and set the project back however I think the existing design is flawed for the previously mentioned reasons. Although it maybe possible to complete the project with the existing design I do not believe it would be in the projects best interest. I'm trying to make a next generation engine not something that is just cobbled together. However this is difficult given the fact that I'm learning as I go. The good news is I don't have to worry about deadlines like in for profit game development efforts so I have time to fix my mistakes.


Popular posts from this blog

VK9 - Milestone8 Completed

VK9 - Milestone13 Completed

VK9 - Milestone16 Completed