User talk:Loser: Difference between revisions
(No twister kick :-() |
mNo edit summary |
||
Line 163: | Line 163: | ||
</Technique> | </Technique> | ||
But AI did not | But AI did not perform any of them, I tested with Copfem1. | ||
Edit: I added the above code to Brutal Konoko profile at the very top of the attacks, still none of the moves were done. Can you export your melee profile as .xml and post your code for the twister kick. | |||
Thanks. | |||
[[User:EdT|EdT]] 06:16, 1 July 2008 (CEST) |
Revision as of 04:16, 1 July 2008
Loser, I thought we can discuss the h2w system here. I had a thought for a move, don't know if its possible. But what if you can modify a jump forward kick so that as it hits a wall, it can causes you to bounce higher off the wall or bounce back away from the wall. Maybe I watch too many martial arts shows :-)
EdT 18:14, 21 June 2008 (CEST)
Nice idea, I will try whether it is worth it or not. Right now I am creating knockdown collisions once again (almost from scratch). Effect will be the same, only it should be less buggy.
- Just to make you sure: My knockdowns are supposed to break glass (you don't smash yourself on glass panel, but you break it instead). I thought it looks better that way.
Anyway, I plan to use h2w system on some combat moves (we already know). Which moves you suggest(except throws, those are must)? For example I will add this to STRCOMkick_heavy.
P.S.: I have also thought about possibility of taking just h2w_co##_e01, give it only glass breaking and distribute this simple particle to all more powerful moves. That way we should have glass-breaking melee. Your opinion?
--Loser 07:11, 22 June 2008 (CEST)
Yes to glass-breaking melee!
My question, how will the h2w affect combat moves? Will the moves get interrupted if done close to a wall?
Also have you seen this:
<Technique> <Name>Close/PF/CirRight</Name> <Flags /> <Weight>60</Weight> <Offset_0348>10</Offset_0348> <RepeatDelay>240</RepeatDelay> <Moves> <Position Type="12" Param0="6" Param1="15" Param2="4.5" /> <Attack Type="4" Param0="0" Param1="0" Param2="0" /> <Maneuver Type="4" Param0="0.15" Param1="0" Param2="0" /> <Maneuver Type="8" Param0="50" Param1="0" Param2="0" /> <Maneuver Type="3" Param0="0.5" Param1="0" Param2="110" /> </Moves> </Technique>
The latest beta version of OniSplit exports and imports melee profile as .xml!
EdT 14:42, 22 June 2008 (CEST)
Do you have any tips or suggestions on how to improve the melee profile? For example how would I add the Twister Kick?
EdT 06:41, 29 June 2008 (CEST)
Hi EdT,
1st of all, thanks for info about OniSplit, looks like Neo is really oNe for us ^_^
Next, h2w system can push character away without interruption or it can interrupt character's move with stun or knockdown. I haven't tried your suggestions yet, because yesterday I have finished h2w knockdowns revisit (tons of bugs removed). Now I will test it and then it will be upon you (and others) to toy with it. Blownups and throws are next stop for me, so I will toy with this jump-thingie later. BTW do you think it is a good idea to give glass-breaking particle to character's jump anims so character can simply JUMP through glass ?
About melee profile:
- Study OBD:BINA/OBJC/MELE/MoveList (I recommend detailed version). Use melee profile 12 (Ninjabot) which has originally 3 techniques so it is easy to try and see what happens if you do this and that(you can modify Ninjabot melee profile so it has only TWO techniques, increasing space for technique's moves). Also, there are some moves added later in development(twister kick, willow kick) which CANNOT be executed by AI. Sorry X_X
Then you can try to make your own MELE. I can write here my style of work, for you ^_^:
- Write down(I recommend pencil and paper) ALL ATTACK moves you want this MELE to have.
- Think about it and sort it out (use rubber :)) so techniques, which should be used almost 100% in situation which is in favor for them (back throw when this AI stands behind opponent) are more on top. I put on top back throw, then Tackle, then I write moves for non-standard situations (enemy is behind/left/right this AI), in the end getup attacks and disarms. This is what I call basic AI attack techniques. Brutal Konoko V2 has it. Through this AI looks quite smart (sometimes). Under these 'basics' write and sort(more useful=more on top) all other standard face-to-face attacks. I recommend putting throws quite high in this hierarchy.
- Now we need AI to move a bit, not only run straight, eh? (BTW this is weakness of Brutal Konoko) So under all attacks, write and sort maneouvre techniques you want this MELE to perform. BEWARE: We are not talking about maneouvre section of MELE, we are talking about maneouvre techniques which are listed as Attack type techniques in MELE!!! TIPS: Circling and Crouch are useful, short Pause can be good sometimes, usefulness of Advance & Retreat is...up to you ^_^. They can be used in some more complex patterns (don't forget-technique can hold more moves) but as a simple technique those two are a bit useless here IMO. Jump can be used in more complex patterns again. Getup rolls are a bit weird(no parameters, a bit random) but they are good choice.
- So we have written and sorted all attack type MELE techniques. Now simply write dow all EVADE techniques, that is simple. Warning: Unless we talk about MELE for character with high basic tap jump(ONCC), don't put in jump evades.
- Now copy maneouvres again. These will be MANEOUVRE type techniques. I have to admit I don't know what are MANEOUVRE type techniques good for. But I guess there are some links to ONCC so it is always good to have them.
- So..we have rough concept of MELE profile. Now leave it alone for day or two and do something else. Seriously. Then read it again and make changes if you find something that should be better (75% you WILL find somehing ^_^).
- Now it is ready to be written as MELE profile. Copy header of some else MELE, change its ID (of course :)). About ONCC link: read MELE.According to Geyser it looks like engine reads TRAC of written ONCC to make sure it will not try to execute non-existent technique(if it finds such a mess it labels that technique as BROKEN, can be seen via CRT+ALT+B in devmode. As BROKEN is labeled any technique which has some errors, including wrong values in moves part etc...).
- Set values for blocking, dodging etc...Notice should be always 100%(we are talking about MELE profiles for AE characters, right? So NO ignored attacks). for rest of stuff - use common sense, it is not always the best choice to give everything 100%.
About Not blocked, Must chance stance etc....these are (still not perfectly known) modifiers affecting AI behavior. But I have done some research and they look like modifiers for:
- Not blocked- possibility of attack with some technique which shouldn't be blocked by enemy right at the moment (attack with technique which contains move that has 04 in 0x08 position of OBD:TRAM/raw0x14) when enemy is guarding up OR attack with any attack technique if enemy is not guarding himself at all)
- Must change stance- possibility of changing stance of this AI for attack or block purposes (crouch/stand)
- Blocked but unblockable- possibility of attack with technique which contains move that is unblockable (01 in 0x08 position of OBD:TRAM/raw0x14) even if enemy is blocking
- Blocked but has stagger- possibility of attacking blocking enemy with technique which contains move that causes block stagger (0x18 in OBD:TRAM/raw0x14)
- Blocked but has blockstun- same as above with blockstun (again go to that TRAM part, it is not clear yet what shoud be "blockstun", but I think (observation based on COMCOMpunch_heavy) it is larger value set in 0x16 of that TRAM part)
- Blocked- possibility of attack with technique when enemy is standing in proper block (A.K.A "rushing in mindlessly even tough it deals no serious damage")
- Throw danger- Not clear yet, but it looks like possibility that this AI will be thrown (so a bit like invisible throw defense IMO)
- fill in amounts of techniques (Attack, Evade, Maneouvre). Amount of moves not, it will be added later.
- Now start creating techniques according to your concept you had prepared. If you did it in order I did, you are just filling it in and it is in correct order (first Attack techniques, then Evade, last are Maneouvre). About flags (0x40 in Technique part of MELE):
- 01 - Interruptible, this technique can be stopped by engine in the middle of execution (if it has more moves they don't have to be executed) if enemy gets outside some specified range(see below in moves)
- 02 - Fearless, meaning still unknown (altough I think it will be something with "attack with this technique while enemy attacks" becuase Ninjas have it on their Lightning stomp technique and they tend to use it when you try to attack)
- 03 - Generous Dir(?ection?), AI can turn with this technique if you try to run left/right.
About weight of technique: I recommend to set highest weight only for back throw or tackle move. Other techniques should have weight small enough to be sure that highweighted technique has almost 100% of execution when it meets its conditions. "Highest weight" is relative, I sugest to take 100(0x64) as top. Also, weight down less important techniques.
About delays: Use common sense, stronger techniques(special attacks) should have a bit larger delay than regular ones. Also it is good to set really small delay for basic AI attack techniques to make them be ready any time. Overall some delays are must (they keep AI from repeating) but keep it as small as possible.
While writing techniques, fill in number of moves which technique should have. This varies from technique to technique. Every Attack type technique which is really attack or throw should have its proper position move as first move. Positions specify conditions under which this attack can be used. Keep in mind that with wrong position set, attack moves cannot be executed. In position, we have usually 3 parameters: Min distance|Max distance|Threshold distance. Min|Max is clear, Threshold is used for technique's flags (specifies distance of effect for flags) TIPS: Run#insert direction# is required for running attacks|throws. Close#insert direction# is required for standing attacks performed near enemy(combos, directional kicks/punches)and close throws. StartToCrouch is required for special attacks. Crouch is required for crouching attacks (sweeps).
Every Attack type maneouvre technique can have position move but doesn't have to. For techniques with only one maneouvre move, threshold distance usually specifies distance form enemy required to execute this technique.
Evades doesn't require position but you can limit them with position move (altough it is better to leave engine to decide which dodge to use). These are required to be written after all attack type techniques.
Maneouvres are same as attack type maneouvre techniques. These are required to be written as last techniques.
- Now we have written techniques, the last part is moves part. Simply fill in moves as you thought them out when you compiled technique part. Make sure that each technique properly links to its moves part and has proper amount of moves (to avoid stupid delayed crashes ^_^'). After this, count number of moves and write it in "amount of moves" field.
- Give this to ONCC this MELE was created for and hope for the best. Good luck with finetuning, it is the worst part :)
I hope this helped. Post your MELE soon !
--Loser 15:36, 29 June 2008 (CEST)
Post your MELE soon !
Soon? It'll take me a week just to understand what you wrote! :-)
Thanks for the tip of the using the ninjabot profile. Also, doing a quick test, (in RL, too many things to do), it seems we can add a new melee profile. I copied the brutal konoko profile, gave it a new melee id (42), changed the name to motoko. Then changed the melee id in the BINACJBOCharacter file to 2A and it worked.
I'm going to post on OCF your tip on improving the melee profile, might as well get more people involved.
OniSplit has been updated again:
<Technique> <Name>Punch Cmbo/Rtrt</Name> <Flags /> <Weight>80</Weight> <Offset_0190>10</Offset_0190> <RepeatDelay>60</RepeatDelay> <Moves> <Position Type="CloseForward" MinRunInDist="0" MaxRunInDist="10" ToleranceRange="4.5" /> <Attack Type="P" /> <Attack Type="PP" /> <Attack Type="PPP" /> <Maneuver Type="Pause" Duration="0.15" /> <Maneuver Type="RandomStop" Chance="50" /> <Maneuver Type="Retreat" Duration="0.75" MaxRange="10" ThresholdRange="4.5" /> </Moves> </Technique>
Yes, you need to add the jump through glass feature. When you're ready for us to test your mod, we'll be here!
These are exciting times to be an Oni fan.
EdT 17:54, 29 June 2008 (CEST)
Loser,
I tried the instructions you gave, except used the .xml version. This is what I wrote:
<Technique> <Name>Twister Kick Left</Name> <Flags /> <Weight>100</Weight> <Offset_0138>10</Offset_0138> <RepeatDelay>0</RepeatDelay> <Moves> <Position Type="CloseForward" MinRunInDist="0" MaxRunInDist="10" ToleranceRange="5" /> <Maneuver Type="CircleLeft" Duration="0.5" MinAngle="0" MaxAngle="180" /> <Attack Type="KF" /> </Moves> </Technique> <Technique> <Name>Twister Kick Right</Name> <Flags /> <Weight>100</Weight> <Offset_0138>10</Offset_0138> <RepeatDelay>0</RepeatDelay> <Moves> <Position Type="CloseForward" MinRunInDist="0" MaxRunInDist="10" ToleranceRange="5" /> <Maneuver Type="CircleRight" Duration="0.5" MinAngle="0" MaxAngle="180" /> <Attack Type="KF" /> </Moves> </Technique> <Technique> <Name>Willow Kick</Name> <Flags /> <Weight>100</Weight> <Offset_0138>10</Offset_0138> <RepeatDelay>0</RepeatDelay> <Moves> <Position Type="CloseForward" MinRunInDist="0" MaxRunInDist="10" ToleranceRange="5" /> <Maneuver Type="Retreat" Duration="0.75" MaxRange="10" ThresholdRange="4.5" /> <Attack Type="KF" /> </Moves> </Technique>
But AI did not perform any of them, I tested with Copfem1.
Edit: I added the above code to Brutal Konoko profile at the very top of the attacks, still none of the moves were done. Can you export your melee profile as .xml and post your code for the twister kick.
Thanks.
EdT 06:16, 1 July 2008 (CEST)