Game Development Community

What am I doing wrong...get a player in game

by Jason · in Torque Game Engine · 10/23/2001 (10:06 am) · 3 replies

I'm stumped (as many other people seem to be) as to how to get a new player with animations in the game. I'll list all the things I did and maybe someone can tell me where I went wrong. I've read pretty much every post and every tutorial so far on modeling. The problem is I'm getting lost on some of the terminology. I'm going to try to be really specific about what I did so this will probably be long winded...but here goes....

For right now I was just trying to get one of the models that came with the Tribes SDK into the game. I figure I'll worry about my own models after I can get one that is supposed to work in the game. So I took the Medium Bioderm guy and opened him up in MAX 4. I deleted all the decal stuff, jet nozzles, mounts and stuff like that and left in the mesh objects, biped, eye, cam, and unlink things. I didn't think the other stuff was important but I could be wrong. I applied the example player skin (player.png) to the bioderm's mesh parts just so I was sure I was using a working .png file. After taking the dtsscene.cfg that came with the model SDK and replacing the one that was in there I went to file>export> and saved him over the existing player.dts in the example directory. No exporting errors. Started the game and got a memory access error or something. Then I read somewhere that you have to go into utilities in MAX and uncheck collapse transforms in the DTS exporter utilities. So I did that and re-exported....same error. Then I read that the .dsq files that came with the example don't work with other models. So I figured I would try a more "from scratch" approach.

I deleted everything in my players folder except the dtsscene.cfg (after backing it up) so that I knew I had the file structure right. I started with the Bioderm again, did the same things as before with the exporting and saving him off as player.dts in my now almost empty player folder. Then I went to my MAX scene and added my own 27 frame running animation to the biped. I added a sequence object from the helpers>General DTS Objects>sequence, renamed it player_forward, went into the track view and set the start and end keys at zero and 26 for the player_forward sequence object. Then I went to the Utilities panel again and hit Utilities>export>sequences and exported it to my player folder as player_forward.dsq. I followed this same process for my running backwards, and jumping animations. I saved off a 1 frame standing pose as player_root.dsq cause I was guessing that this was just the idle standing pose. I could be wrong there too. After this I changed my player.cs to look like this:

datablock TSShapeConstructor(playerDts)
{
baseShape = "./player.dts";
sequence0 = "player_root.dsq root";
sequence1 = "player_forward.dsq run";
sequence2 = "player_back.dsq back";
sequence3 = "player_jump.dsq jump";

};

So my player folder now has my player.dts, my 4 .dsq files, a dump.dmp file, player.png, splash.png, and dtsscene.cfg files in it. I try to start up the game and get the same memory access error when I try to start a mission.
Some things I not sure about:

What is player.dts for? Is it just a saved copy of the model with all the biped/physique assignments, but with no animations? Kinda of like the engine looks at this file and then adds in the .dsq files in order to make it move? I'm a totally off here? Does it have sequence stuff saved in it?

Do you save off sequence .dsq files seperately? Kinda like you can have your character in Max with his biped/physique saved as a .max file and you can assign differnt .bip files to make him move. Are the .dsq's like the .bip files in that aspect?

I'm sorry if this was too long or too basic. I'm not even sure I was able to expain my questions right. I was hoping that by telling everything I did someone would know where I went wrong and maybe it would help someone else having the same troubles. Thanks for any help that you can give me.

#1
10/23/2001 (10:30 am)
Just took a brief look at your post. The one thing that jumped out at me is that you don't have your sequence names matching up with what you called your sequence object helpers.


datablock TSShapeConstructor(playerDts)
{
baseShape = "./player.dts";
sequence0 = "player_root.dsq root";
sequence1 = "player_forward.dsq run";
sequence2 = "player_back.dsq back";
sequence3 = "player_jump.dsq jump";

};

For example, if your sequence is named player_forward in your .max file, you need to refer to it by the same name in the datablock:

...
sequence1 = "player_forward.dsq player_forward"
...
#2
10/23/2001 (10:40 am)
Well....you were right there. I did have that worng. Unfortunately that didn't fix the prob. Still get that "Memory can't be read" error. Any other ideas?
#3
12/10/2001 (11:52 am)
is the skin 1024 or 512?