Obviously your free to ignore anything I post since I've handed this project over. That said:
You really want to get written down what your actually aiming to do and in what order.
Its all very well coming up with tons of ideas (which is great btw
) but as a project you'll need to be pretty focused on getting something playable (to get a user base) before worrying about feature rich worlds and redundant servers.
The best example of this I can think of is the client. There isn't much point starting work on two new clients (say 3D and LWJGL) until you know what structure/features the game needs/wants to present.
It would seem that the biggest points of having a game that can be played and enjoyed from the current state are:
- Improve Tool Support
This is extremely key. Until the tool support is good enough, even if its just the additional of web page manuals on how to use them, you can't get arty folks to get to work.
* Tile Cutter - Integrate with IDE. Add the ability to specify properties on tiles.
* Mapper - Make this the central IDE. Add multilayer support (I believe its just two at the moment). Add a framework to support plugin editors.
* Script Editor - Probably best to assign someone just to rewrite this from scratch. Its uncomfortable and takes a lot of preknowledge to use.
* NPC Editor - Fresh build, maybe the first test of the IDE plugin architecture. This should support making templates of NPCs/Creatures and then deriving new versions (see Zelda games
This needs to be resolved quickly. Don't worry about getting it wrong, it can be tuned later on but its such an integral part of the game many other bits will revolve around how you decide its going to work.
* Combat Engine - consider melee, ranged and magic. What takes place when? What balances the system? What allows you to develop new types of creature as time goes on? What values do you tweak when players complain that X is unfair? How do items affect combat?
* Networking - How is the combat handled network wise? I'd considered a bunch of options. Maybe the combat opens a new connection to the server which is used solely for this combat phase. Maybe its peer to peer. Maybe combat is just movement like everything else.
At the moment the world consists of one (fairly large) area. This isn't a good test case. It took me ages to get it designed but it was a mistake. A few people need to be assigned (once tool support is better) to start designing some more complete test worlds.
* Keep it small - build lots of smaller areas all interconnected world cells. Lots of inteaction in a small area. This will allow testers to try every aspect of the world without walking for half an hour
* A new feature isn't complete until its in the game, 10 times
* A pseudo complete world will get people interested in playing and looking around. I had college students from all over the US looking and playing about just because there was a world in which they could wander and feel like they were finding stuff.
I'd suggest before you ADD anything, you first resolve what you have. Its much easier to change something once its got people up and understanding than to attempt to add stuff fresh.
Again, only suggestions.
PS. Re: Options mentioned above:
- Continuous Zoning - the current source is specifically designed without doing this. Network with continuous zoning is pretty darn tricky. It also doesn't lend itself to modularising the server or server redundancy.
- Database - something that needs to be a priority once you know whats going to be stored
. Its flat file at the moment because I was trying to work out what to store.
- Lobby Server - I'm not sure where this comes in. Its a MMORPG not a game based server. If you want to chat go to a tavern, sit down and chat.. Or use the global system channel
- An LWJGL client would be great. Personally I don't see the point in a 3D client because there are just so many 3D MMORPG's already. Just an opinion tho.
Coo Long Post.