Mountable points coding help/debugging tips
by Leathel Grody · in Torque Game Engine · 12/06/2010 (2:12 pm) · 9 replies
I am pretty sure I have tracked my random crashing issue with the implementation of more mount points. The problem only happens in online mode. I've never had a problem in single player mode.
Using TGE 1.5.2 with the Torque MMOKit
I originally used this resource for 16 mount points:
www.torquepowered.com/community/resources/view/6723
Works great and have all my mountable points, but as I said, clients randomly crash when playing in online mode.
I also removed that resource and went real simple to go up to 8 mount points using this resource:
www.torquepowered.com/community/forums/viewthread/42784
but still had some crashing in online mode.
Kind of puts a crimp in the FoHO armor and character modification(hair, beards, etc).
Any suggestions on what could try? Thought about having one of my players try running the source in debug mode, but as a non-coder not even sure that info would help. Since the second resource seemd to cause crashing, almost seems like a net mask issue?
I should mention, I have tried to get the crash on the LAN and left players just joined, but can't get it to happen. My son has crashed playing once or twice, but nowhere as frequent as external players.
Using TGE 1.5.2 with the Torque MMOKit
I originally used this resource for 16 mount points:
www.torquepowered.com/community/resources/view/6723
Works great and have all my mountable points, but as I said, clients randomly crash when playing in online mode.
I also removed that resource and went real simple to go up to 8 mount points using this resource:
www.torquepowered.com/community/forums/viewthread/42784
but still had some crashing in online mode.
Kind of puts a crimp in the FoHO armor and character modification(hair, beards, etc).
Any suggestions on what could try? Thought about having one of my players try running the source in debug mode, but as a non-coder not even sure that info would help. Since the second resource seemd to cause crashing, almost seems like a net mask issue?
I should mention, I have tried to get the crash on the LAN and left players just joined, but can't get it to happen. My son has crashed playing once or twice, but nowhere as frequent as external players.
#2
3. I am using mesh-hiding for some armor as well, but with the tmmokit, have a slight issue that textures dissappear after an illusion. Guimo suggested a couple things to try. But for mesh hiding, with my aging process I have over 20 models, so mesh hiding is a pain :) I also worry about all the hair and beard adding to the polycount and I think Milkshape can only export a certain amount of polys.
12/06/2010 (9:11 pm)
Oops. Fixed the first link to point correctly.3. I am using mesh-hiding for some armor as well, but with the tmmokit, have a slight issue that textures dissappear after an illusion. Guimo suggested a couple things to try. But for mesh hiding, with my aging process I have over 20 models, so mesh hiding is a pain :) I also worry about all the hair and beard adding to the polycount and I think Milkshape can only export a certain amount of polys.
#3
12/07/2010 (3:58 am)
Hmm, in that case I really can only recommend doing some client-side debugging. There doesn't seem to be anything wrong with the resource you posted, but it makes me wonder - if you can use your own mask bits (like the one added in the resource), why wasn't it done that way originally? There are a lot of quirky things in Torque, but the networking isn't one of them... I'm sure they did it that way for a reason.
#4
12/07/2010 (9:59 am)
Ms3d's Triangle count is ~65,000; more than that.....the file won't load, or you'll missing encounter Triangles[beyond the limit].
#5
Now didn't Ruin Online use the same mount increase resource? Never had any problems there?
12/07/2010 (1:29 pm)
Thanks Rex. Thought it was something like that. Which I probably wouldn't ever hit even with all the armor, hair, and beards, so think I should be safe. Applying 30 hair and beards to over 20 models on the other hand :) Now if I can get the issue of textures not showing up after using your horse or dragon mount(both illusions) I'd be further along. Kind of where I am at. Mountable objects is far easier and works great except the crashing and Mesh Hiding is stable but my texture issue. Just can't win sometimes :)Now didn't Ruin Online use the same mount increase resource? Never had any problems there?
#6
I'll try the debugging and see if an errors come up and post. Maybe something will stick out to somebody more than it would to me.
I did have one thought, if need be, can stick the shield or helmets into Mesh Hiding, then have an extra slot to have my two back scabbards :) They are cool looking and hate to loose them :)
12/07/2010 (1:45 pm)
@Daniel,I'll try the debugging and see if an errors come up and post. Maybe something will stick out to somebody more than it would to me.
I did have one thought, if need be, can stick the shield or helmets into Mesh Hiding, then have an extra slot to have my two back scabbards :) They are cool looking and hate to loose them :)
#7
12/07/2010 (9:10 pm)
Do things like shields and helmets ever have to exist as loose objects in the game world? If this happens any sort of frequently, I'd suggest just mounting them as objects instead of images. No limit to the number of mounted objects!
#8
12/07/2010 (10:23 pm)
Unfortunately I wouldn't have the slightest clue how to do that and have the python work with it as well.
#9
12/08/2010 (3:38 am)
Hmm, I don't know how you've got Python set up, but in TorqueScript you have the mountObject commands.
Torque Owner Daniel Buckmaster
T3D Steering Committee
With that one though, the first thing that comes to mind is that you're treading on some other network mask and getting confusing updates. Debugging client-side can only help, since it will tell you where the crash is happening - what invalid data is being received, which you can track back to the server.
Immediate solutions come to mind:
1. My favourite: mount objects instead of images. I'm slowly going through the process of stripping images out of the engine. That may not be ideal if you mount a ton of things like hair and beards, though.
2. Do away with the multiple image masks, and have a single 'image updated' mask that sends all image data. This would work best in combination with radically stripping down the MountedImage class, leaving it to just render a shape and maybe some animations, so you don't have to send much net data. This theoretically allows unlimited images, though obviously that means a larger update will be sent every time.
3. Use mesh-hiding instead of mounting. Means a big change on the art side of things, though.