Here is my opinion....
GAE for me always looked more like a testing field for programmers. I never had a version that didn't crashed after a while ( even in singleplayer if you play a bit more ). This was completly different to the original glest, which always was very stable for me. I waited nearly two years now for any good/stable results or any real release but I didn't see anything up to now...
Due to the fact that my C++ programming skills are really low ( I never did it C++-coding before! ), I didn't dared to start with the mine field GAE which I didn't really know. I used the stable and orginal glest to learn a bit at home. The first thing i did was the AI. It was really easy and fun to do the change and I was very happy about my stable result and I really liked to play it! The fact that I like to play the game always was my big motivation to do everything for glest, and I never had this playing fun with GAE. It always feeled like "testing" .
Exactly at the moment where I decided to release my things softcoder came up with his patch which fixes the most annoying issue in glest and I thought it would be a good idea to have this feature too. I must also admit that I was very happy too to find a "home" for my mods as part of a fun game.
So what do we have now? We have GAE, a version with a load of featuers but not really usable yet and full of bugs. On the other hand we have megaglest, not many new features up to now, but stable,with good multiplayer nd fun to play.
All others always talk about merging megaglest into GAE, but what about merging some selected features( or code cleanups) into megaglest always keeping in mind that stability and playability is the most important thing and we want regular and stable releases!
Its simply a new start in my opinion.
-------------------------
Now for possible new features in Megaglest:
I think the first thing we have to do is a Masterserver!!! I already thought about how to do it:
What about this idea:
- the masterserver is written in php. This has the advantage that it can work even on cheap webspace only providers with php support
( I know someone who is a professional php- coder who can do it and really wants to do it)
- every player can open a server. He opens the slots and has to press a provide button: Now the current game setup is sent to the masterserver (http) and refreshes this "state" every 5 seconds. and pubished in two ways: first on every client which are looking for a game (server list) and on the other hand on a website too( just as a feature )
- now the client chooses a server and presses connect. From then its the same thing like now, you can chat when connected and start the game.
Problem1: Server and client have different versions or different data
When the server presses the provide button two checksum is calculated one for the binaryand one(or more) for the data before things are send to the master server. These checksums can be used to filter the possible servers on the client. Before a client can connect to a server, he has to calculate those checksums too. By this its shure that the game can start.
Problem2: Too many binaries ....
There are several builds of glest out there, but as we all know for stable multiplayer we all need the same binary.
To solve this we simply choose a very restrictive way right now. We only support exactly one binary for every OS
.
There is a checksum stored for these allowed binaries on the server and all other versions are blocked with an informative errormessage!
Also linux users only see linux games, windows users only see windows games. Not really good but it will work.
-------------------------
One hint:
When thinking about new features always think about the AI and the existing data! For examples cliffs might be nice, but I think we need a better Pathfinder in Megaglest to make it work right. Or a new feature is very cool but not used by the AI only by human players. This is a no go in my opinion too. Another thing you should always think about is the existing data! Creating data is really A LOT OF WORK. For example if you add a new feature, maybe one faction gets an advantage of a new feature, but another not ( autorepairing for example ). This will destroy the fun and thats very bad! So always think about those side effects !!
And for all new features:
1. discuss them here in the forum first!
2. don't work at too many things at a time ( focus on only one thing )
UPDATE:I forgot one masterserver problem:
If a server opens a game which is not reachable from the internet ( wrong router configuration or whatever ) clients cannot connect to this server. Maybe the masterserver should have a way to test a server before verifying him as a valid server.
I don't really know how to do it,but maybe the masterserver can try to make a faked "client connect" to this server to see that its configuration is right or something like this. But this kind of opening a TCP-Connection to another server is not allowed at most website providers, so we would need a real host for the masterserver, not only a bit webspace.