Helping

Tech talk for MV3D developers or those looking to lend a hand.

Moderator: SirGolan

Helping

Postby multiverseuser » Fri Apr 04, 2008 5:12 am

Hello

I would like to help, time permitting. I have been writing C, C++ for years.
But I'm new to 3D gaming programming.
I know how to get around python, python-ogre, blender, UV maps, skeletal movement,
texturing, etc
I think I have enough basic knowledge. I just have not been able to find a tool to fully
take advantage of ogre. There are a lot of pieces but no unified tool set.

Here are some of the things I would like to help

I would like to add some other mesh to the world ,like a character selection screen.
and been able to test them in MV3D. What are the basic to doing this?

I would like to know about the terrain manager.
One application that I have been thinking for a while, is the idea
of using the data from the usgs topo maps to create the 3D terrain for Earth.
This app would fall under the MV3D simulators. I think it
would be nice to roam around Earth.

I would like to know how the chat works. I have been
playing with pytts-3.0. A text to speech engine. it would
be nice to turn text to speech for narrators, characters bots or chat.
I really do not like reading stuff. This addition would make
MV3D really cool, I have not seen anything like this.
Here is the site that contains some TTS voices.
http://www.cepstral.com
The quality is far beyond the robot like voice. Check it out.
I bought the SDK so I can test all the voices.

Can we integrate skype to the MV3D engine?

I have a lot more stuff but this is it for now.

Please share your thoughts. I would like to know how this fit
with your roadmap and features.

Thanks,
multiverseuser
 
Posts: 103
Joined: Sun Mar 30, 2008 4:29 pm

Re: Helping

Postby SirGolan » Fri Apr 04, 2008 6:51 am

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):

Image

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. :)
SirGolan
Site Admin
 
Posts: 214
Joined: Wed Mar 19, 2008 7:04 pm

Re: Helping

Postby multiverseuser » Fri Apr 04, 2008 2:15 pm

I like that approach to adding/modifying code. I will get the combinator working and go from there.

I think releases are fine and getting the latest code from svn that always works is even better.
Since it's never broken (unstable) people can see interim version before an official release.

I think the chat is important and it should be part of the system. I'm not sure I would delay it
to much. People wants to see cool things integrated as part of the system and chatting is
one of them.

The character generator it would be nice, but at this point in the development
it would be easier to export them in. For that, guidelines of what kind of characters
can be imported such skeleton/movement need to be defined so they can work in the world.
This guidelines would become the specifications for creating a character generator later on.
I think people would be more interested in helping if they can import there stuff in.

The ingame editor is really cool, I had a peek on the video. I think I would a nice
tool for administrators to have. One thing that most game lack is flexibility. You can't
go through mountains, no caves, the terrain is fixed. MV3D has the ability to change
all that. Imagine as a user one day you login and the landscape has changed,
new mountains to explore, new lakes. That's pretty cool.

I looking forward to new releases
multiverseuser
 
Posts: 103
Joined: Sun Mar 30, 2008 4:29 pm

Re: Helping

Postby SirGolan » Fri Apr 04, 2008 5:14 pm

Hey,

So, maybe we are talking different things when we say character generator. What I mean is a way for new players to create a character in game. It sounds like maybe you are talking about a way for developers/world designers to get new character types / models in the game?

Both are definitely important, especially getting models into the game. In theory, that's solved by one of the many exporters/converters that Ogre has. Though as far as adding animations and stuff, that requires code (though not very much if you look at mv3d/server/player.py and the PlayerManipulator. Another thing that needs to happen to make this easier is I need to revive the web based asset interface. Things like textures, 3d models, and sounds are all assets, and there used to be a web interface you could use to add/modify them. The client currently can download these assets via http or ftp. Adding scp or svn probably wouldn't be too hard either.

I agree the in game editor needs to come back (and be better). I didn't show it in the video, but if there were other players logged in when you edited the terrain, they would see the changes pretty much right away.
SirGolan
Site Admin
 
Posts: 214
Joined: Wed Mar 19, 2008 7:04 pm


Return to Development

Who is online

Users browsing this forum: No registered users and 3 guests

cron