Jump to content

Home

vehicle limit and new vehicle classes


Duncan_10158

Recommended Posts

  • Replies 113
  • Created
  • Last Reply

please post about it in the "what's new?" sticky.

 

Done.

 

btw Razor - this max vechicle DEFINE you've upped -do you know why it was set so low? I'm guessing Raven didn't set it low just to spite us! Maybe they had a good reason for it...

 

 

...anyway, I've got jumping vechicles now :)

Gotta iron out a few kinks and add those new vechicle options, but pretty much done.

 

The only thing I can't get working yet is getting a jump anim to trigger. But I think this is mainly because the AT-ST I'm using to test with doesn't have a jump anim defined ;)

Duncan, if you have a vechicle which DOES have a jump anim ready to be triggered, then pass it my way and I can try and get it working properly...

Link to comment
Share on other sites

Well, 16 seperate vehicles isn't that low...especially if you consider that they got cut off in midstream on the vehicle stuff.

 

In fact, the define states that it's 64. They must have reduced it right before release. My guess is that it's so that the loadtimes are smaller.

Link to comment
Share on other sites

Hmm. Well, ok, we'll see how it goes I guess.

 

Anyway, I've coded in the new entries to the vehicle definition I mentioned above. i.e.:

MaxJumpHeight

JumpVelocity

JumpAnim

 

They seem to be working fine.

 

There is only one small problem I have, which seems very strange. If I make the vechicle jump 'on-the-spot' in certain parts of the map, the vechicle can tend to 'drift' a bit until it settles on a certain, specific point!!

 

...I'm still looking into it, but if I can't get it fixed, it's not a show-stopper I dont' think.

 

As I say, I can't test the jump anim stuff properly until I get a vechicle with a jump anim defined.

 

 

OK- since I still don't have a current Droideka file, nor do I have any details on how your currently handling stuff like rolling, I'm going to propose my own system for handling this kind of stuff.

 

What I'd propose is to mark out several differnt operational 'modes', activated in different ways.

 

...for example, the way I was planning to handle Droideka 'rolling' was to make rolling active when the 'crouch' key is held down

 

OK - so what I propose is to have the concept of different operational 'modes', triggered by custom-defined player input.

 

i.e.

 

OPMode1

Default - MODE_TRIGGER_NONE

Determines what control triggers this 'mode'.

Two triggers I can think of off-the-bat are:

MODE_TRIGGER_CROUCH - mode triggered when crouch is held

MODE_TRIGGER_WALK - mode triggered when walk is held

 

I guess these different triggers could be bit flags potentialy, although I don't know how useful this will be.

 

Mode1AnimStart

Default - ?

Determines the anim which is played when moving into the specified operational mode

 

Mode1AnimDuring

Default - ?

THe anim which is played 'during' the operational mode

 

Mode1AnimEnd

Default - ?

The anim which is played when coming out of that operational mode

 

Mode1CanFire

Default - 1

If set to 1, this means the vehicle can fire when in mode 1. If 0, it cannot

 

Mode1ShieldsOn

Default - 1

If set to 1, this means shields can still work when in mode 1. If 0, they cannot.

 

Mode1VehicleClass

Default - ?

This entry determines new class values to be used to 'over-ride' the normal ones. This allows maximum flexibility between the different operational modes.

 

For an example of how this would work, imagine a Droideka_vehicle class. THe values speficied directly for that class would be for walking.

The Mode1 settings would look something like this:

 

OPMode1 MODE_TRIGGER_CROUCH

Mode1AnimStart ANIM_DROIDEKA_FOLD_UP

Mode1AnimDuring ANIM_DROIDEKA_ROLL

Mode1AnimEnd ANIM_DROIDEKA_FOLD_OUT

Mode1CanFire 0

Mode1ShieldsOn 0

Mode1VehicleClass "DroidekaRolling_vehicle"

 

The DroidekaRolling_vehicle class could contain any settings which would need to be 'over-ridden' when in this mode. Some examples of this would be overall speed, turning ability etc. etc.

Also, one extra setting for all vehicle class would be:

 

VehicleModeClass

Default - 0

If set to 1, the class definition is only a mode of another class, and cannot be used as a class 'on it's own'.

If 0, this is a 'normal' or 'main' class.

Link to comment
Share on other sites

i just sent the droideka off, RenegadeOfPhunk. it has jumping animations so you can experiment on it. the modes you are talking about is quite the same i was thinking about. to activat rolling mode through holding shift or toggle by caps lock is as i made it in my JO version of the droideka. but the mode changing animations, fold_up/fold_out, should be shown completly befor another action can be taken.

 

this is great, thanks everyone. we can make a great addion to JA!

Link to comment
Share on other sites

Thx for sending me the Droideka file Duncan.

 

Unfortunately, I can't check it out because just after I had turned my PC on, a large bang came out of it and then it powered down.

 

...the f**king power supply has gone and blown!!

...or at least I hope that's all that's happenned... :/

 

I'm gonna get it looked at tomorrow, so hopefully I should be back up and running as quickly as possible.

 

but the mode changing animations, fold_up/fold_out, should be shown completly befor another action can be taken.

 

Agreed. I think this should be a standard feature for all vehicles which have these different 'modes'...

Link to comment
Share on other sites

Yes the way I was going about it is not ideal. But then again I'm not really a coder. and its learn as I go.

 

...you seem to be doing pretty well :)

 

Don't take what I was saying the wrong way. I was just making sure we agreed on how we should approach the problem.

 

...OK - now all I need is a computer that doesn't blow up when I switch it on - and I can get cracking ;)

...should be fixed tomorrow...

Link to comment
Share on other sites

Now that my computer is now (finally) up and running again, I have managed to make good progress on the Droideka-specific vehicle implementation.

 

I know have:

 

* The fold in and out anims working correctly (i.e. no movement or firing happens during them).

* Custom sounds triggered during these fold in / out anims.

* Firing disabled when rolling.

 

All the above stuff is generic (all configurable from the vehicle definition file), and so this kind of stuff can potentially be applied to ANY vehicle quite easiely.

 

THe only thing I have left to get working are shields. That shouldn't take too long though.

...I'll probably get it all added to the repository as a Christmas present :)

Link to comment
Share on other sites

I really suggest that you use animevents for the fold in/out sounds. It's MUCH easier to set up and it frees up some brandwidthby doing it on everyone's client side.

 

...ok, I'll look into that

 

Also if you haven't already set up the animations to use the standard enums already present for certain actions.

 

such as BOTH_STAND2toSTAND1 transitions. It should make custom animation.cfg's more streamlined.

 

I may not be understanding you correctly, but (I think) this is how I am approaching things.

 

For the Droideka, there have been two transitions I have needed to implement : walk to run, and run to walk.

 

For walk to run, I've used the BOTH_RUN1START anim

For run to walk, I've used the BOTH_RUN1STOP anim

 

These are 'hard-coded', and not configurable from the vehicle definition. So these would be triggered for any vehicle (if the transition anims are enabled in the first place mind you - this IS in the .veh definition).

I'll try and expand this list and put in support for as many additional, sensible transition anims that I can. (Including your example of BOTH_STAND2toSTAND1)

 

WHat IS configurable at the moment is how long movement is disabled during the anim, what 'modes' can fire primary and alt weapons etc.

 

I'll post up full details once my implementation is a bit more complete...

Link to comment
Share on other sites

OK - droideka implementation is pretty much finished.

 

Attacking can be disabled in the appropiate modes.

Shields can also be disabled in the appropiate modes.

Transitions between walking and running (rolling) are working correctly.

 

But before I sumbit this stuff to the OJP, I'd like to provide support for all the different mode transitions. So I'd like to get some feedback about which anims I should use for each transition.

 

So far I have:

 

Walk -> Run: BOTH_RUN1START

Run -> Walk: BOTH_RUN1STOP

 

If anybody really wants these to be different, I can change them. But I think those are sensible.

 

The ones I still need to decide are:

 

Still -> Walk = ?

Walk -> Still = ?

Still -> Back = ?

Back -> Still = ?

 

I can't really see any anims which seem to directly associate, so I'll let you guys choose :) Just look in anims.h and choose an enum for each transition I've just listed above.

 

..the choices don't make any difference to the implementation, but I guess we should try and choose ones which will make sense to most...

Link to comment
Share on other sites

OK - after watching Ep.I, I've realised that the droideka's shields are only on if it's standing still. When they start walking or rolling, they switch off...

 

...so I've set that in the droideka.veh file (Good job I made this stuff customisable :) )

 

I've also ripped some sounds from the films and added them to the droideka using the aminevents stuff (very handy indeed - nice work Razor...)

 

SO I reakon the Droideka is ready to be submitted.

 

I'll just give people a chance to choose what anims they want for the transitions I mentioned above. If I don't get any by tomorrow, I'll just pick some myself and submit this stuff to the repository...

 

 

Here's the details of the extra vechicle definition entries I've coded in:

 

MBFstopprimaryfiring

MBFstopaltfiring

MBFdisableshields

 

These three are Mode Bit Fields (MBF) and they use the following bits:

 

typedef enum

{

VEHICLE_MODE_RUNNING = 1,

VEHICLE_MODE_WALKING = 2,

VEHICLE_MODE_BACKWARDS = 4,

VEHICLE_MODE_STILL = 8,

} vehicleMode_t;

 

THe names should be self-explanitory

 

WalkToRunTime (ANIM: BOTH_RUN1START)

RunToWalkTime (ANIM: BOTH_RUN1STOP)

 

These two ints set the time (in ms) the vehicle will pause and play the corresponding anims. If set to 0, the transition anims won't be played at all.

Whilst in transition, no movement or firing is possible.

 

Here are the values I currently have set for the Droideka in it's .veh file:

 

MBFstopprimaryfiring 1

MBFstopaltfiring 1

MBFdisableshields 7

 

WalkToRunTime 1000

RunToWalkTime 1000

Link to comment
Share on other sites

i think thats perfect for droideka! i didnt know that they can have shields only when standing still, but thats perfect. it doesnt make them to strong and they have a fair weekness.

 

about the transitions, to be honest i have no idea about that so i belief in your desicion. the easier the better :)

 

i dont know if you mentioned it, but did you take a look on the turning when standing and bone follow crosshair thing. they are not importent features, i just ask if i missed it.

Link to comment
Share on other sites

1. Where are these flags stored? I assume they're either in the playerstate on the server.

 

2. Remember to do make clear documentation of all this additional material. I suggest you use the OJP_Vehicles.txt that already exists. It will have to be cleaned up thou. :)

 

3. How did you decide on how to become the Droidika? Is it something that players enter or something that you choose to be?

Link to comment
Share on other sites

i dont know if you mentioned it, but did you take a look on the turning when standing

 

Doh - forgot about that!

 

...but I've taken a quick look now and I've got that working OK. There is actually an option for this in the .veh file - turnWhenStopped. But it doesn't seem to do anything in the base MP game (at least not for Walkers) -so I've made this option do something now :)

 

and bone follow crosshair thing. they are not importent features, i just ask if i missed it.

 

I haven't looked at the bone stuff yet, no. I was concentrating on the Droideka stuff at this point. The droideka doesn't really need horizontal bone-turning at this point -it looks ok to just make it 'walk-on-the-spot' when it's turning...

 

I think I'll get all the stuff to get the Droideka working submitted first. I think it would be good to allow that to work nicely in-game as soon as possible. THen I'll move on and try and add all the other stuff in a later version.

 

1. Where are these flags stored? I assume they're either in the playerstate on the server.

 

The new additions are in two structures:

 

Vehicle_t

vehicleInfo_t

 

2. Remember to do make clear documentation of all this additional material. I suggest you use the OJP_Vehicles.txt that already exists. It will have to be cleaned up thou.

 

Sure, will do.

 

3. How did you decide on how to become the Droidika? Is it something that players enter or something that you choose to be?

 

I've just made it enterable like any other vehicle at the moment. It would be some work to make the droideka 'selectable' effectively as a new player type. I'll have to look at it at some point for my mod.

 

But for the OJP, I'd also be concerned about whether the Droideka was really balanced enough against normal players with access to all the different weaponry etc.

...as a proper vehicle, at least you can jump in and out during a game at will...

 

...maybe this is something we can determine with some playtesting. On this subject, do we have beta testers who will test new OJP builds before we release them?

...if not, should we get some? :)

Link to comment
Share on other sites

Well, I have some suggestions on how to balance things:

 

1. use the shield effect seen in SP. The SP shielding effect prevented saber users from getting close enough to do damage without getting zapped.

 

2. Make the droidekas walk very slowly to make up for this obvious advantage.

 

3. Give the Droidekas a fairly low turn rate.

 

4. make the Droideka shots be double blaster shots like we see in the movies.

 

As for betatesters, yes, we do have one betatester.

Link to comment
Share on other sites

1. use the shield effect seen in SP. The SP shielding effect prevented saber users from getting close enough to do damage without getting zapped.

 

2. Make the droidekas walk very slowly to make up for this obvious advantage.

 

3. Give the Droidekas a fairly low turn rate.

 

4. make the Droideka shots be double blaster shots like we see in the movies.

 

All these things you mention are in - in some form.

The droideka has shields which are only active when standing still (or turning on the spot - it's possible we may want to deactivate the sheilds even then..)

They also have a relatively slow turn rate already.

And they can fire double-shots now as well.

 

But anyway, I think I should submit this as just a 'normal' vehicle for now, and let people playtest it a bit. I think the different features you've listed would need some tweaking before they could be considered properly balanced - and hence appropiate as a player-type...

...and the best way to test it would be to just release it as a normal vehicle and let the great unwashed (or at least the OJP beta-tester(s)) take it for a test drive. :)

 

...besides, the base game isn't exactly steeped in realism - so I dont' really think the 'unrealism' of boarding a Droideka is going to be a massive deal to most people...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...