PDA

View Full Version : Siliconmaster482's Wtf Machinima/Halo Mapping/CE in General Thread



Siliconmaster
October 10th, 2008, 12:18 AM
This thread is continued from http://www.modacity.net/forums/showthread.php?p=310369#post310369 so that I can post all my issues in one thread for help.

So: I tried filming with my suitemates tonight, and after an hour and a half of technical difficulties and general fail, I've learned some things about Halo that I never knew.

First, bump possessing is host only, and even when the host bump possesses, the clients cannot see the result of said possession. This seems to defeat the purpose of H2 Coag ME completely. o_0 It also totally crushes our plans of separate bipeds for each character. Edit: Apparently we can spawn the entire group as whatever we want, and as long as the host bumps a biped before the others join, he/she will appear as the bumped biped until death. This helps in that we can have at least 2 characters- the others all spawn as the second. Awkward, but usable.

Second, the whole spawning bipeds issue has issues. If we spawned via slayer, we could all choose to be white, our civilian color, but we couldn't get into vehicles together. If we spawned via team slayer, we were no longer white. My solution: paint over the alpha channel in the multipurpose MC map. Owned. Now we can spawn in team slayer while remaining white.

Also, an odd third issue is that when spawning as the civilian (unarmed) bipeds, on my end, the host, I see them getting in vehicles and driving around. However, they see themselves freeze half-way upon entry, and even though I can see them moving, to them their vehicles appear to stay frozen in place. Anyone have any idea what's causing this?

My other question involves the bump possession. Unless CMT expected only one person to be filming at a time on H2 Coag ME, did they know of a way for mass biped changing/filming? Not that we'll be using that map, but it's a good example. Is there any way of getting around this issue?

Dwood
October 10th, 2008, 11:36 AM
yes, there is a way to get around the issue of the bump possessions.

All other players need it activated at the same time.

OR you could put a script in there so that once someone enters a certain place, bump possession turns on for everyone.

;D

Siliconmaster
October 10th, 2008, 11:40 AM
Hmm. When I turned bump possession via dev, and then the clients turned it on on their end, they could possess someone, but to me it looked like they were still themselves. Does your solution fix that issue?

And on the scripting note, that might be very useful, but I have no idea how to script or how to use scripts in maps. D:

Dwood
October 10th, 2008, 11:56 AM
Hmm. When I turned bump possession via dev, and then the clients turned it on on their end, they could possess someone, but to me it looked like they were still themselves. Does your solution fix that issue?

And on the scripting note, that might be very useful, but I have no idea how to script or how to use scripts in maps. D:

Edit:

the scripting? It should work. No reason why it shouldn't. Oh, and I could write it.

Also: whenever someone joins a map like Movie Edition anything you have to make sure two things:

What they bump is actually on the server. This happens a lot of times that those who join the game and aren't the host, there will be two or even three copies of each ai thing. Look and see what they see when you're all at the top of the gulch. Compare it to yours

and Second, when you bump, they need to make sure that they have the bump possession on on their computers as well or they won't see it.

Now, you all also need to make sure that what you bump is in the same position as the bipeds in every other gulch. My recommendation to you would be to remove all the bipeds on the map and then respawn them as you need them (this respawning is done through dev mode) I object_destroy_all and object_create_anew "name of thing here" will be the primary commands. This would require many things, namely knowing the names of the tags as they are in guerilla, as well as the biped/dead bots' encounter names.

another idea could be ai in the map to do what you want it to. Scripting ai to do stuff is pretty easy.
g2g I'll edit post later

Edited!

Siliconmaster
October 10th, 2008, 04:06 PM
Interesting. I'll have to wait a few days until I have enough time to work with two computers and try the dev commands.

Edit: I just took a look at Timo's devmode tutorial, and the problem with object_destroy_all is that it takes away scenery and vehicles, not just the bipeds, which is unfortunate. I mean, it would be relatively easy to keep the bipeds in the map, but not actually placed physically. Then just spawn the bipeds one by one. [/Edit]

So the script would theoretically turn on bump possession for everyone at once, syncing with everyone? If you could write it, that would be amazing. Thanks for the help!

The ultimate goal would be to have a situation where people just walk into their characters' biped and step away in their "costumes" nicely and easily at the beginning of each filming session, and the host can see them as such. Even if this involves a few dev commands, it sounds like this may be possible. Am I understanding correctly?

Dwood
October 10th, 2008, 05:59 PM
Edit: I just took a look at Timo's devmode tutorial, and the problem with object_destroy_all is that it takes away scenery and vehicles, not just the bipeds, which is unfortunate. I mean, it would be relatively easy to keep the bipeds in the map, but not actually placed physically. Then just spawn the bipeds one by one. [/Edit]

So the script would theoretically turn on bump possession for everyone at once, syncing with everyone? If you could write it, that would be amazing. Thanks for the help!

The ultimate goal would be to have a situation where people just walk into their characters' biped and step away in their "costumes" nicely and easily at the beginning of each filming session, and the host can see them as such. Even if this involves a few dev commands, it sounds like this may be possible. Am I understanding correctly?

From roughly last to first:
1. Yes, pretty much you are understanding the devmode concept.
2. And the script not just theoretically but actually would turn the bump possession on for every-one.
3. Delete All objects is the only way to get it to work when the players other than the host see multiples of each biped. For a longer, more frustrating method would be simply having each player kill the bipeds as they join.

I have no problem writing the script but right now i'm not at a computer which has the halo script on it right now.

kid908
October 10th, 2008, 06:15 PM
=\ odd. i don't seem to have the possession problem u have... mine is accidentally running into the player and i would be in control of the aim while they're in control of the foot and shooting...

Dwood
October 10th, 2008, 06:34 PM
=\ odd. i don't seem to have the possession problem u have... mine is accidentally running into the player and i would be in control of the aim while they're in control of the foot and shooting...

That's because he's not talking about bump possessing players. He's talking about bump possessing "dead" ai (bipeds with no ai attached but still have all soundsets etc.)

Siliconmaster
October 10th, 2008, 06:37 PM
=\ odd. i don't seem to have the possession problem u have... mine is accidentally running into the player and i would be in control of the aim while they're in control of the foot and shooting...

Yeah- I can bump possess people just fine, it's just the syncing problem when combined with the ai.


From roughly last to first:
1. Yes, pretty much you are understanding the devmode concept.
2. And the script not just theoretically but actually would turn the bump possession on for every-one.
3. Delete All objects is the only way to get it to work when the players other than the host see multiples of each biped. For a longer, more frustrating method would be simply having each player kill the bipeds as they join.

K- got you on the first 2 points. To address the third: technically, due to the fact that I'll have multiple versions of each map for the different character groups, the players would only have to worry about killing a maximum of 5 or 6 bipeds, not a real problem.

Dwood
October 10th, 2008, 06:43 PM
Yeah- I can bump possess people just fine, it's just the syncing problem when combined with the ai.



K- got you on the first 2 points. To address the third: technically, due to the fact that I'll have multiple versions of each map for the different character groups, the players would only have to worry about killing a maximum of 5 or 6 bipeds, not a real problem.

How about you simply spawn the bipeds where the camera won't look and do it there? :O That way not biped killing would be needed. All you would need to know is the "name" of the tag/encounter of your choice.

Siliconmaster
October 10th, 2008, 06:53 PM
So... spawn one type of each biped somewhere nobody will ever go, just to place them on the map, and then spawn the ones we'll use via dev? In all our maps we have places like that- that plan is very doable.

Edit: Click on my sig now. : D We've updated the site for the first time in almost a year and a half- new domain name, new server, and soon to be new coding. W00t.

Double-post Prevention Edit 2: I tried a LAN connection with just two computers to test some of the things discussed so far. I created a game, killed the 5 bipeds. The other player joined, killed them on his end as well. Then I used object_create_anew captain to spawn the captain biped where it spawns at the beginning. We made sure bump possession was turned on via dev on both computers, and then tried, one after another, to possess the biped. Although we could both do it, once again neither of us could see the other possess the biped. Is there a step I missed? oR does it have to be done via a script?

Also, we confirmed the theory that if I possessed the biped and then someone entered the server, I would look like the new biped.

Siliconmaster
October 17th, 2008, 07:00 PM
First, I know, this is a double post, but I wanted to ask a new question and otherwise it would not be seen.

It seems there is no easy way to do the bump possession, or if there is, it is eluding us. I have a new idea: In threads discussing the ever elusive concept of different bipeds for each team, I have seen people saying that although you could use biped variants, it would be random who spawned as each. It occurred to me that we could use this to our advantage. We could place all the bipeds we might need in that random set, and then just join and rejoin until each was the correct biped. Am I just remembering/theorizing incorrectly? Or might this have a chance of working?

Thanks for your patience.

Inferno
October 17th, 2008, 08:07 PM
First, I know, this is a double post, but I wanted to ask a new question and otherwise it would not be seen.

It seems there is no easy way to do the bump possession, or if there is, it is eluding us. I have a new idea: In threads discussing the ever elusive concept of different bipeds for each team, I have sen people saying that although you could use biped variants, it would be random who spawned as each. It occurred to me that we could use this to our advantage. We could place all the bipeds we might need in that random set, and then just join and rejoin until each was the correct biped. Am I just remembering/theorizing incorrectly? Or might this have a chance of working?

Thanks for your patience.

To have random spawn bipeds I believe they all have to use the same animation graphs. So that probably won't work.

What you can do is compile this script into the map to make the bump possession sync.

(script startup "bump possession"
(set cheat_bump_possession "true")
)

Open notepad and then paste that into it and save the file as a .hsc (NOT A TXT IF ITS A TXT FILE IT WILL NOT WORK) to data/levels/test/nameofmap/scripts/yourscript.hsc
Then open the map in sapien and file>compile scripts

Hope this works for you.

Dwood
October 17th, 2008, 09:03 PM
(script startup "bump possession"
(set cheat_bump_possession "true")
)



I'm going to add to this what I can and make it more convenient for you:

(script continuous Volume_Perm
(if (= (volume_test_object telename players) true)
(set cheat_bump_possession true))
(if (= (volume_test_object telename2 players) true)
(set cheat_bump_possession false))
)

change telename to the Volume Test of whatever you name them.

It's pretty easy to tell what is going on in that script.

I don't have acces to hs_doc right now so I can't give you the script with 100% knowledge that that will work but what I can give you right now I'm pretty sure that nothing is wrong.

Just make sure that all ai pre-spawned are dead first. Or spawn them individually.

Inferno
October 17th, 2008, 09:25 PM
That won't work cause clients can't use the (volume_test_objects) function properly.



(script continuous Volume_Perm
(if (= (volume_test_object telename players) true)
(set cheat_bump_possession true))
(if (= (volume_test_object telename2 players) true)
(set cheat_bump_possession false))
)


So that won't sync without a biped crush script attached to it and setting up biped crush scripts is kinda annoying/difficult.

Siliconmaster
October 18th, 2008, 12:32 AM
Well, I just tried out the script. It does indeed turn bump possession on for everyone at the same time, but the actual bumping still refuses to sync. I did my best to exhaust every possible combination of killing, respawning, restarting, rejoining, and creating new games while the other player is joined. Always the same result. The player just appears to jump slightly, and then remain the same person as before.

Now, one question about the random biped spawning: Most, if not all of our bipeds, are just MCs with various bitmaps applied. They all use the same animations, and are nearly exactly the same model. Would it be possible to set it up so players spawn as a random version of an MC? Thanks to the helpful search function I found stuff in support of this theory: http://www.modacity.net/forums/showpost.php?p=113880&postcount=3

If so, How do you set up permutations in a biped? It looks like there is a section in the .gbx model, but I have no idea how to modify that without exporting the model back to max and recompiling.

Inferno
October 18th, 2008, 01:21 PM
You have to pull the model into max then export back into halo. That's the only way I've ever seen any one do it.

Siliconmaster
October 18th, 2008, 02:10 PM
All right. I'm willing to do the work, if someone can either lead me through it or point me to a tutorial on the issue. It would make our filming work a hundred times easier.

Edit: Thanks to bluestreak, the model is rigged (I think) and in max. I just need to know how to create perms and to recompile.

Edit #2: All hail google: http://www.halomods.com/site2/geeklog-1.3.9/public_html/article.php?story=20040815102941312

Following that model I should be able to save the model with different names as permutations of the biped. I hope. We shall see.

Inferno
October 18th, 2008, 03:33 PM
Good that you found that. Hope it works out.

Siliconmaster
October 18th, 2008, 04:07 PM
Thanks. It's a good thing this thread is made to be all over the place, because it's about to go into a whole new topic.

So I exported the MC biped, and managed to get it as a .gbx model with 5 permutations. The problem is that it included the frame as one of the nodes, which screws over the animation graphs and prevents me from using it. If I delete the frame object, bluestreak won't let me export- Too many actors in scene, can't export single model. If I leave it in, it causes a problem. Is there some magic way to export bipeds that I'm missing?

And on a side note, when bluestrek pulls the MC biped out of the gbx model, there are only teo of the 4 shaders: the light shield and the light shield generator. Based on the faces they were applied to, I changed them to armor and visor, but once compiled they were right back to being the light shield shaders. That can be changed in guerilla, but I thought it was odd enough to mention. We don't need the light shield anyway. Though knowing Halo, that will mess something else up.

Inferno
October 18th, 2008, 04:42 PM
Replace all the Bip01s in front of the names of the parts of the model to frame so that its not "bip01 left leg" its "frame left leg " and so on. Then export the model and open your gbx model tag and the normal MC animation graph and at the bottom of the animation tag there should be a box that says node check sum copy this from the animation graph and paste it over the node check sum on your new gbx model and it should fix the animation problem.

Not sure about the shader thing though.

Siliconmaster
October 18th, 2008, 06:04 PM
Well, I renamed the nodes, compiled the models, and copied the node list checksum from the animation graph to the .gbx model. However, I noticed that there was still a node called "frame" which was not matched in the normal MC .gbx model. Sure enough, when I tried to place the biped in sapien, it gave me the same "model and animations do not match" error message. Just for kicks I went in and deleted the frame node in guerilla, and sapien did not give me the error message. I was optimistic... until sapien crashed and gave me an exception in debug:


10.18.08 17:55:07 EAX: 0x00C9CE00
10.18.08 17:55:07 EBX: 0x00000001
10.18.08 17:55:07 ECX: 0x00C9CEC0
10.18.08 17:55:07 EDX: 0x00C9CEC0
10.18.08 17:55:07 EDI: 0x0012D590
10.18.08 17:55:07 ESI: 0x00000000
10.18.08 17:55:07 EBP: 0x0012D468
10.18.08 17:55:07 ESP: 0x0012D458
10.18.08 17:55:07 EIP: 0x778C9A94, C3 8D A4 24 ?????
10.18.08 17:55:07 EXCEPTION halt in \halopc\haloce\source\models\models.c,#514: part->centroid_primary_node_index>=0 && part->centroid_primary_node_index<model->nodes.countI'm pretty sure we can translate that as: Go back, replace my node, and while you're at it leave me alone plzkthx.

So I guess my question is the same. :/ How do I get rid of the extra "frame" node?

Edit: I tried it with only one model, and the same thing happens. If I can figure out the frame business, theoretically the rest of it should work then.

Another Edit: I would assume you link everything to the frame object, just as in bsps and models, right? If not, that would easily explain my mistake, but I can't figure out any other way of exporting a biped.

Inferno
October 19th, 2008, 12:02 AM
Show me your hierarchy on the max file and the nodes in guerrilla.

Siliconmaster
October 19th, 2008, 12:59 AM
Heirarchy v1: Nodes converted to bones option in gbx converter
http://img207.imageshack.us/img207/7999/heirarchywn9.jpg (http://imageshack.us)

Heirarchy v2: Default gbx model import settings- straight nodes and markers
http://img73.imageshack.us/img73/9365/heirarchy2mc2.jpg (http://imageshack.us)

Guerrilla Nodes: (Both types resulted in the guerrilla pic)
http://img116.imageshack.us/img116/3883/nodesge6.jpg (http://imageshack.us)

All the nodes below "frame" match the normal MC ones. And I assume it is because of Vista that all the pulldown menus look slightly cropped. I got used to it, but the screenie looks a bit odd as a result.

Inferno
October 19th, 2008, 11:40 AM
Yeah that looks completely wrong, here's a picture of my chief model's hierarchy I use to export animations.


http://www.freewebs.com/infernosk8terstuff/MC%20exportable.JPG

I've used this model for a while and ill send it to you if you want to use it.

Siliconmaster
October 19th, 2008, 12:38 PM
That would be amazing. :) If I can just get a model that imports correctly, I can do the rest. Curiously, in that hierarchy, I couldn't see the actual model. If it works, I won't ask questions. :P

If you want to yousendit to me or just email, that would be great. I'll pm you my email. What version of max do you have? I have 2008.

Edit: 3 Tedious Hours later: W00t! All right, so the biped is ingame, and works like a charm. It is a little tedious to get the right variant, but I assume that because it's built into the map, it will sync. For the moment, this topic is completely and utterly solved! I'm not going to lock this topic, because I know I'll have more questions later. Thanks everyone, especially wanksta(-=Inferno=-), for your advice and help.

Dwood
October 23rd, 2008, 02:31 PM
So... ? what happened since?

Siliconmaster
October 23rd, 2008, 11:24 PM
Since then, I've unfortunately been busy with school work and such. We have finished the voice acting for the first episode, so theoretically the next step is to film using the working biped. I did a test over a LAN connection, btw, and it does work, though it doesn't technically sync. But as long as the camera guy sees what he wants to, it's fine. It totally takes syncing out of the equation. =D

Dwood
October 24th, 2008, 03:48 PM
Since then, I've unfortunately been busy with school work and such. We have finished the voice acting for the first episode, so theoretically the next step is to film using the working biped. I did a test over a LAN connection, btw, and it does work, though it doesn't technically sync. But as long as the camera guy sees what he wants to, it's fine. It totally takes syncing out of the equation. =D

you mean You CAN use bump possession on LAN connections?

Siliconmaster
October 25th, 2008, 12:02 AM
In my experience so far, no- we have actually dispensed with the bump possession theory completely for the moment. We're using the permutation method to great success. Well, theoretically for now. But there shouldn't be any complications involving filming, with the exception of getting the "puppeteers" to do what I want them to. =p