Cepstral voices are great.. It's funny you should mention that. I was fairly recently looking into TTS engines with python bindings for use in MV3D. In addition, there's also a sip (voip) protocol in Twisted that could probably be used for voice chat. I haven't played with it much though, so I don't know how it works. The current chat, by the way, is mostly for testing-- it broadcasts a chat event to everyone on the same server.
I have a couple of other (not great quality) character meshes around. You can see most of them in the video, though none of them work currently except the one in use. I've found it very tricky to export meshes with skeletons from 3dsmax into Ogre. One exporter I've found recently seems to do a decent job, but for instance, that female character in the video, when I tried to update it with the animations I created for waving and kicking (I'm definitely no 3d animator
), some of the body parts were facing the wrong direction.. I have a screen shot around here somewhere (it's comical):
I really want to get a basic character generator going again. People can already create accounts in the game, so if there was a character generator (even if it didn't have any options), no one would need to log in with my test account.
The terrain I can explain quickly. It uses
Perlin Noise with control points that allow you to modify specific areas. It's broken up into chunks that are 20x20 height points and 1000x1000 meters/units in game. The server sends the Perlin Noise parameters along with any modified control points to the client for chunks that are in the view range. Previously, the server just sent the 20x20 grid of height points, so for something like height data from a real place, you could just go back to that pretty easily (in fact, iirc, the current code supports falling back to that).
As far as contributing code goes, let me go into the process a bit. I'm following in many ways how the Twisted project works process wise. That mostly means
Ultimate Quality Development System, which is somewhat stricter than most open source projects, but I've really found it gets you better code in the long run. In a nutshell, the process goes like this:
1. Create a ticket (shouldn't be more than a couple of days work)
2. Make an SVN branch for that ticket (if you have SVN access)
3. Do the work
4. Someone reviews it (if you don't have SVN access, just attach a diff to the ticket)
5. Merge it in to trunk.
6. Delete the branch
That way, trunk should never be in an inconsistent state, plus, all code that goes in is reviewed. Also, since the status of the work is in the ticket, if a developer decides to abandon the ticket and it has merit, someone else can easily pick up where they left off. Anyway, that process is made easier by Combinator, which is a tool that manages local checkouts of SVN branches. It's a little tricky to get working on Windows though, and it in my experience, once you start using it, you'll need to use commandline SVN (as opposed to tortoise), but that could have just been an issue with my setup. There's a good set of instructions for
Combinator on Windows. I think it's missing an environment variable setting, but that's it.
So, to get started, I'd suggest getting Combinator running as long as you are comfortable with command line svn. That should help you to be able to run the server locally as well. Then you can check out MV3D's code through Combinator and should be good to go.
As far as how the features you mentioned fit in to the roadmap, there is a ticket to revamp the chat system, but that's not in the near term releases. This current 0.32 release includes a ticket to build the framework for
a new in game editor, so an advanced terrain editor could either go in this release or the next. A simple character generator is definitely in the 0.32 release, and possibly something I'd want to make an extra simple version of for a 0.301 release or something. Because I'd really rather people used their own accounts on the test server.