Back to Majik 3D MMORPG information archive main page.
forum index

some tasks for development

Message 1980

From: namhas
Date: 2002-09-04 12:23:40


Now as we've quite probably lost our rights to use Taika code and using it in the future might not be wise at all, if we're not getting the license for Majik non-profit organization so we could take in new developers as we wish or if Taika is not globally made open source. Otherwise, we'd have to stick with our four core developers (if we can get the license at all) and we know, that these four core developers, even though they're quite skilled, they don't have much time to spend on Majik and thus, we've got to open Majik for outside developers to join in the development -- perhaps not in a true open source way, but in a way of accepting those that we see competent.

Secondly, Taika is based a lot on code not written by our four core developers and the code on it we'd have to use may not be completely finished or absolutely bug free and thus, we would have to spend time on figuring out how this potentially unfinished and messy "foreign" code works and how to fix it. We didn't got the last things fixed for landscapetest2 in time just because of that.

If we choose to break the dependency to Taika and rewrite our code we've got to decide the reusability degree of our older code. It basically had three things, the landscape, the sky and the avatar movement code, but they're all tightly integrated against Taika code. The sky code is an easy piece, we can even take it from old Majik3D-M4 if we wish, but the landscape and avatar movement code are completely different thing. The landscape we've got is so great that spending some time on it is probably worth it.

Alternative for cleaning the undocumented landscape code we have is to embrace some of these freely available landscape libraries on the net, such as the Demeter, even though it seems slightly inferior to ours, but it can be developed further, right?

One of the huge things we got from Taika was Taika's "3D engine" or OpenGL abstraction that provided sort of Scene Graph is not reusable because it is straight proprietary Taika code. We have two choices, rewrite it from scratch and perhaps release it as an independant LGPL project to provide a bit more competition for freely available quite much finished and robust LGPL Scene Graphs on the net, such as the Open Scene Graph. These of course, have to be completely cross-platform, like they seem to be, too. Getting hands on Demeter and Open Scene Graph could save us a lot of work and at the same time "out sourcing" the development of two major independant pieces of software for outsiders so they could get improved, bug fixed and maintained without needing much time from us.

Still two things that our landscapetest was dependant were Taika's STL replacement library with a few of additional classes to improve cross-platform compatibility and then the well done cross-platform networking library we had. The STL replacement library is easy to replace, we'll just replace it with STLport which is high-performance, highly cross-platform and standard compliant full and free STL implementation. The Taika's networking component is replaceable with my libnetwork that i've been working on and it is already half usable, if we can't find better alternatives.

I urge all of you development wannabees to try our these libraries and do some research, if you can find better ones or can come up with ideas how to do things differently than I have it here.

To split development to pieces so one coder doesn't have to do it all, I've added here things that come to my mind that we need and are possible to develop more or less independantly:

- design, implement, test and document independant cross-platform autoupdate software (depends partially on libnetwork and cross-platform GUI library of choise)
- cross-platform build environment (Makefiles)
- compile 3rdparty libraries for the build environment
- set up CVS tree
- document the build environment
- finish, test, review and document libnetwork.
- see if it is feasible to get landscape code from landscapetest2 and make it to work with Open Scene Graph.
- convert the sky for Open Scene Graph.
- investigate Demeter.
- set up a small server to handle movement and chat messages using libnetwork.
- have we landscape or not, we can do the avatar moving code. first do it standalone and then make it to use libnetwork and broadcast movement through the server.
- see if there are freely available nice GUI libraries for SDL/OpenGL, integrate them in or code our own textbox and inputprompt (initially).
- scripting system

Tell me if you can come up with more tasks, but I think those will do for beginning.

Message 1981

From: raeky
Date: 2002-09-04 18:03:29
In-Reply-To: 1980


with it going more "open source" we we could provide regular binarires for our fans to download and test?

Message 1990

From: namhas
Date: 2002-09-06 10:29:17
In-Reply-To: 1981


I think it would be still best to make releases instead of doing nightly builds or anything like that. I'm thinking that it would be cool to get to use the milestone system that we used in past as it worked quite well. We could configure the milestones for having a new release each month. We just need a lot of more active, skilled coders.