Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 29/4/15 19:20

MF ZORO
Member
Registered: 29/4/15

Melee Engine Rebalancing

Hi there! I'm new to the community although I've been playing this game for many many years now! I decided to join because I wanted to try my hand at modding the game so that the melee system functions a bit closer to a Souls game and other games that place importance on strong footsies and whiff-punishing. As much as I love this game, I feel it would be even greater if some of the moves had some slight tweaks to their frame data. It's mainly just the block stun, damage, hit advantage and recovery parameters I'd like to tweak.

EDIT:

Not liking any of the changes I initially proposed lol...Will update on new changes.

---------------------
Universal
Make it so that invincibility frames of special moves collide and cause trade damage instead of just 'cancel' eachother out. So when a Striker performs Striker Slam at the same time Konoko performs Devil Spin Kick, but character get hit.

Konoko
- Increased block stun of f.K so that it cannot be punished on hit
- Increase hitstun of P>P . Currently, it's possible to be Punched or thrown out of the P>P>K combo on hit, so the changes will hopefully prevent that.
- Increase recovery of DSK

Striker
- Make Striker Slam upper & mid-body invul only

Elites
- Greatly reduce start-up of P. If they can't get a knockdown from P>P>P (which isn't even a true combo since you can block/ evade after the 2nd P) it should at least be faster big_smile
- I think f.P should be replaced with a much better move because it's sooo bad. Though, i'm not sure what that move should be, nor do I have the skills to do anything about that ;_;
Barabas
- Greatly reduce start-up of P

Last edited by MF ZORO (19/3/16 10:49)


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#2 2/5/15 14:38

paradox-01
Member
From: Germany
Registered: 14/1/07

Re: Melee Engine Rebalancing

Welcome to the forum Zoro.

See if this makes sense to you. It's a step-by-step guide for changing a few values.
(If you want to edit the animation data itself (*.dae) you need to install Autodesk Softimage Mod Tool 7.5 but for now try your luck with xml.)


- Open AEInstaller
- Goto Tools > Vago GUI (Win) (install via Tools manager if necessary)
- Vago first-use: Enter your AE path

- Get Animation files by spliting level0_Final:
-- Goto "Levels" tab
-- Drag and drop level0_Final.dat from AE\AEInstaller\vanilla into the "Sources" field. Click "Convert".
-- At the top, click onto the blue folder icon. Follow that path "Levels\DAT - ONI FILES\level0_Final"

- Convert oni to xml:
-- In level0_Final folder there are a lot of files. You want to convert TRAM*.oni to xml format.
-- Goto Vago "XML" tab and drag and drop for instance "TRAMKONCOMcomb_p.oni" into the "Sources" field. Click convert.

- Edit xml:
-- Click blue folder again and follow "XML\ONI - XML", there should be a "TRAMKONCOMcomb_p.xml" now.
-- Open that file with a plain text editor. (Windows: Start > notepad.exe)
-- Search for the tags you want to edit.
--- Here a page with some TRAM xml info http://wiki.oni2.net/XML:TRAM#list_of_t … _and_flags
--- Search for <HitPoints>, <HitLength>, <StunLength>, <StaggerLength>
-- Save file.

- Convert the xml back to oni format.
-- Vago, XML tab. Choose From "XML" To "Oni"
-- DnD your xml file into the "Sources" field. Convert.
-- Click blue folder again and follow "XML\ONI - XML".
-- Create a new folder "level0_Final" and put your TRAM*.oni file(s) there.

- Get TRAM file back into the game:
-- Vago supports AE package createion: in Vago, goto "Tools", "AEI Mod Package Wizard"
-- Fill all fields. Let Type be Animation (combat). When choosing a number, replace the X and click "Check".
-- DnD your level0_Final folder into the "Common" field. Hit "Next". Leave the optional fields blank.


- Test your mod:
-- Copy your package into "Oni\AE\AEInstaller\packages"
-- Restart AEI and install your mod. (Type your mod's name into the Filter to find it faster.)



For more hit advantage (= block advantage ?) and recovery realated stuff see: ONCC, ONGS and combat profile:

http://wiki.oni2.net/XML:ONCC#.3CAIConstants.3E
<DazedMinFrames>     int16     minimal fallen time; number of frames for which AI remains in *fallen* position when it is knockdowned
<DazedMaxFrames>     int16     maximal fallen time; number of frames for which AI remains in *fallen* position when it is knockdowned


http://wiki.oni2.net/XML:BINA/OBJC/MELE
Add (copy and modify) new profile ?
<MeleeId>     integer     Used by ONCC and CHAR.
<BlockSkill> ...


http://wiki.oni2.net/XML:ONGS
Block chance there. Use with cation.

Last edited by paradox-01 (2/5/15 14:42)

Offline

#3 3/8/15 9:42

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

I'm only just now seeing this, but seriously man, I really appreciate the tutorial! The steps are easy to follow which is a relief considering how intimidating it all appears from a novices perspective. Thanks again, Paradox. Time to get to work smile


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#4 3/8/15 9:58

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

I'm not sure if you'll be able to make Oni function more like a SF game without altering the gameplay code, but certainly the above parameters can be tweaked in game data.  Our veteran modder Loser used to spend a lot of time tweaking the combat data in the old days.  His main body of work was never brought over to the last Anniversary Edition as a mod due to lack of time (and his objections to it), but we do have various other animation mods here, in case you haven't seen them yet: http://mods.oni2.net/mods/Animation


byproducts are fine, but where's the beef?

Offline

#5 3/8/15 18:28

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Hey, thanks for the support, Iritscen. I'll definetly check out Loser's work. I do have a quick question though. Is there anywhere where I can find a full list of the attack denotations?

The majority of the attacks seem straight forward, but i'm a bit lost on a few. Like these for example:

CS_P
CS_K

And i'm also trying to find the Charge (shift+P/K) moves so a full list would be great, if it's available! Thanks!

Last edited by MF ZORO (3/8/15 18:35)


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#6 3/8/15 19:36

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

As far as I know (melee is not my area of expertise), all moves are listed here: http://wiki.oni2.net/Combat_moves.  Just so you know, Loser's main work was contained in the Andrashi TRAM mod which is here.  Though I can't imagine that you'll want to take the time to inspect all those files to see the changes, since you'd have to export them all to XML and then compare them to the original TRAMs as exported to XML format.

If you're having trouble figuring out which attack is referred to by a certain name, you should play that animation in-game with the chr_animate function documented here: http://wiki.oni2.net/BSL:Functions#chr


byproducts are fine, but where's the beef?

Offline

#7 3/8/15 19:58

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Iritscen wrote:

If you're having trouble figuring out which attack is referred to by a certain name, you should play that animation in-game with the chr_animate function documented here

Uh, how do I go about using that?

Last edited by MF ZORO (10/9/15 15:02)


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#8 10/9/15 15:44

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Follow up question - How do I find out character health values?


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#9 10/9/15 18:14

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Whoa, did you really edit a post from a month ago? tongue  Good thing you made another post after that or no one would ever have seen it.

I'm running out the door, but a brief answer to the chr_animate question is (quoted from the "Combat moves" wiki page):
"Internal filenames use an additional TRAM prefix: e.g., "TRAMKONCOMpunch_heavy". However, that prefix is left out by BSL commands, for example: chr_animate 0 KONCOMcomb_p"
So if you think you know what animation you want, try playing it and see if it's the right one.  However, there's a better way, now that I think of it, which is to turn on the animation debugging display and then perform moves, and Oni will show the animation name on-screen.  I believe you want to enter "chr_debug_characters=1" at the dev console.

As for character health values, search for "health" on this page to get started: http://wiki.oni2.net/ONCC


byproducts are fine, but where's the beef?

Offline

#10 10/9/15 21:09

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Iritscen wrote:

Whoa, did you really edit a post from a month ago? tongue  Good thing you made another post after that or no one would ever have seen it.

I'm running out the door, but a brief answer to the chr_animate question is (quoted from the "Combat moves" wiki page):
"Internal filenames use an additional TRAM prefix: e.g., "TRAMKONCOMpunch_heavy". However, that prefix is left out by BSL commands, for example: chr_animate 0 KONCOMcomb_p"
So if you think you know what animation you want, try playing it and see if it's the right one.  However, there's a better way, now that I think of it, which is to turn on the animation debugging display and then perform moves, and Oni will show the animation name on-screen.  I believe you want to enter "chr_debug_characters=1" at the dev console.

As for character health values, search for "health" on this page to get started:

Aye, it's been a while, but i'm very much committed to the cause now. This is perfect - reads just like traditional training-mode command inputs in fighters. Well, minus the lines of text instead of symbols. Even shows the attack lengths which is a little random but very useful. I think It'll be worth me looking into ways of getting it to display more framedata than that, such as damage and recovery aswell.

Thanks again smile


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#11 10/9/15 22:18

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Sure, feel free to ask more questions.

If you really want to see all the data for an attack, the debug display may not suffice, or may be too fast to read in real-time, so you'll want to extract the TRAM for that animation to XML using OniSplit.  Depending on how comfortable you are with the command line in Windows (I assume you're in Windows), you can see the OniSplit page on the wiki for instructions in using -export and -extract, or else you can try a GUI for OniSplit, like Vago.

You can use this page to read the resulting XML tags that describe the attack: http://wiki.oni2.net/XML:TRAM#list_of_t … _and_flags.  It might seem like a lot of work, but Loser used to read that information in raw hex form smile


byproducts are fine, but where's the beef?

Offline

#12 10/9/15 22:32

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

It's fine. I've been at it for a few hours now and I've gotten used to the process and have been using that TRAM page as my guide. I'm in the process of testing a few damage values now before I crash out - now that I have a means of correctly matching inputs to filenames.

Also trying to compile the input data and filenames in a way that makes it a lot easier for anybody else who intends to mod the melee engine in the future. It'll take a while, but the accessibility will make it worth while in the end. So far i'm using an Evernote Notebook but I could make a page on the wiki once it's all done.


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#13 10/9/15 22:36

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Ah, good.  I'll be interested to see what you come up with for organizing the melee moves.  Something clearer than the Combat moves page?


byproducts are fine, but where's the beef?

Offline

#14 12/9/15 15:21

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Oop, didn't know about that. That's plent useful as is tongue

I'm a little stuck here. Trying to reduce the start-up of certain attacks by playing with the <start> parameter inside TRAM, but I get an error message in Vago 'Error: Attack starting at frame x has an incorrect number of extents (x)' when I try to export back to .oni. Not sure how to get around this. Perhaps the value has to correspond to another file also. You have any ideas?


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#15 12/9/15 16:07

paradox-01
Member
From: Germany
Registered: 14/1/07

Re: Melee Engine Rebalancing

Attack part of TRAMKONCOMcomb_p

        <Attacks>
            <Attack>
                <Start>8</Start>
                <End>11</End>

When you see this, it's not 11 - 8 = 3 frames.

It's frame 8, 9, 10, 11. Being 4 in total.

        <Attacks>
            <Attack>
                <Start>8</Start>
                <End>11</End>

                <Bones>RightWrist RightFist</Bones>
                <Flags />
                <Knockback>1.6</Knockback>
                <HitPoints>4</HitPoints>
                <HitType>HitHead</HitType>
                <HitLength>2</HitLength>
                <StunLength>8</StunLength>
                <StaggerLength>0</StaggerLength>
                <Extents>
                    <Extent>
                        <Angle>344.6134</Angle>
                        <Length>8.95</Length>
                        <MinY>13.5099993</MinY>
                        <MaxY>15.2219458</MaxY>
                    </Extent>

In that file are 4 <Extent> tags.

If remove or add attack frames you need to change the extent tags by the same amount.

Offline

#16 12/9/15 18:41

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Okay, so what do I have to do in order to make the actual move start faster? From what I understand, erasing an extend section would just remove one of the damage-dealing frames, right?


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#17 12/9/15 19:01

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Paradox is probably asleep now, so I'll take a stab at answering this.  Lowering the Start frame will make the impact come sooner.  If you're not going to lower the <End> frame so that it remains the same distance from the <Start> frame, then you'll need to add new Extents tags to match the number of frames for the new animation.  I don't know what the Extents tags look like now for the TRAM you're working on, but maybe you can simply copy the first one until you have enough Extents tags.

Alternately, if you are extending the length of the animation, you'll probably want to re-calculate new Extents tags using the old first and last ones as endpoints.  Paradox and I once did something similar, using a spreadsheet to create interpolated numbers between the new Start and End frames for a TRAM we were modifying.  It's not hard to do, assuming that the Extents data for each frame progresses in a linear fashion.  In our case, we were modifying position, not extents, and had to reproduce a motion curve (acceleration and deceleration), which was trickier.

With me so far? smile


byproducts are fine, but where's the beef?

Offline

#18 12/9/15 19:24

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Ahh, I see. So instead of there being a 'move starts up here= x' parameter, you just move the Start damaging frames up instead? I'm gonna give it a shot.


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#19 12/9/15 19:31

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Well, there's a difference between the move and the impact.  Some animations have no impacts, like running.  The Attacks section of a TRAM is where the impacts happen.  So if you lower the Start frame in the Attacks section, you're telling Oni to use an earlier frame of the TRAM for the beginning of the impact's window of time (or technically the beginning of the collision detection that might lead to an impact).

However, moving the impact significantly earlier will cause the hit to be out of sync with the animation (e.g., a kick landing invisibly before the attacker's leg reaches the opponent).


byproducts are fine, but where's the beef?

Offline

#20 12/9/15 19:49

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

The specific move i'm trying to tweak is Konoko's Running Lariat. I'd like to adjust it so that the recovery frames during her landing are shortened by a few frames. Since there's no damage being dealt during this part, do I still need to touch anything under the Attacks section?

Also, what are the other animation sections I need to keep in mind whilst making the adjustments? Trying to avoid making accidental invisible attacks in the future. In other words, which section handles the move animations so that I know what to match the attacking data with. I kinda worded this badly lol

Last edited by MF ZORO (12/9/15 19:59)


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#21 12/9/15 20:11

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Oops, I looked over the XML:TRAM page to refresh my memory.  I had a feeling that Extents were not for collision, but my memory was rusty.  Extents are for warning the AI that it is within reach of an incoming attack and that it should think about dodging/blocking.  So, while you need to match the number of extents to the number of attacking frames in the animation, as Paradox mentioned, an attack cannot hit invisibly because the collision is in fact determined by bone-to-bone collision.  If there isn't physical contact, the attack won't land (as opposed to games that use hitboxes).

Anyway, if you want the attack to end more quickly, I think you have two options: recreating the animation with fewer frames at the end (which is quite hard), or deleting existing data from the end of the TRAM, which may harm the appearance of the animation.  Looking at a TRAM that Loser shortened, it looks like he simply deleted the last 36 frames of data, but I don't think this crude approach would work for many animations if more than a few frames were deleted.


byproducts are fine, but where's the beef?

Offline

#22 12/9/15 20:31

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

Iritscen wrote:

Oops, I looked over the XML:TRAM page to refresh my memory.  I had a feeling that Extents were not for collision, but my memory was rusty.  Extents are for warning the AI that it is within reach of an incoming attack and that it should think about dodging/blocking. So, while you need to match the number of extents to the number of attacking frames in the animation, as Paradox mentioned, an attack cannot hit invisibly because the collision is in fact determined by bone-to-bone collision.  If there isn't physical contact, the attack won't land (as opposed to games that use hitboxes) .

Okay i'm understanding now smile

Iritscen wrote:

Anyway, if you want the attack to end more quickly, I think you have two options: recreating the animation with fewer frames at the end (which is quite hard), or deleting existing data from the end of the TRAM, which may harm the appearance of the animation.  Looking at a TRAM that Loser shortened, it looks like he simply deleted the last 36 frames of data, but I don't think this crude approach would work for many animations if more than a few frames were deleted.

Out of the two options, i'm warming towards deleting, simply due to inexperience. It seems like the transition back to the default standing stance would look a lil janky. I would only want to shave off a few frames so perhaps it won't be too bad. The overall recovery of attacks feel okay to me. Definitely don't feel anything needs to be cut down anywhere near as much as 36. I'll give it a good look tomorrow. Appreciate the support guys, thanks for bearing with a novice >_<

Last edited by MF ZORO (12/9/15 20:32)


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#23 12/9/15 21:00

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Melee Engine Rebalancing

Yeah, I'm sure most people wouldn't shorten a melee attack that much.  That 36 frame cut was made to Mukade's teleport-in animation.  Anyway, we're always glad to help newbies!


byproducts are fine, but where's the beef?

Offline

#24 21/2/16 8:47

MF ZORO
Member
Registered: 29/4/15

Re: Melee Engine Rebalancing

I'm looking to resume this project. How do I go about adding more recovery to an attack, Strikers Slam for example? And make it so that it's only upper body invincible?


"Soak in your own blood! Bloody High Claw! " - Vega

Offline

#25 21/2/16 12:43

Scarlett
Member
From: Jamaica
Registered: 25/11/15

Re: Melee Engine Rebalancing

Things things he wants to do are possible but very time consuming because of the amount of changes he plans on making on different animations. Why not just make a character with the moves you saw in many others games, movies, etc. like I did to my character, Naomi. She has MK Trilogy Klassic Kano cannon ball move, her kick forward throw was a idea I got from Shermie from Neo Geo Battle Collesium. Her back kick throw was an idea I got from Sonya leg grab. And now her punch throw which I finished up last night was from a blazer move from Def Jam FFNY which is super cool that I had to make it. I just want to make a teleporting dodges to her hunter costume then I am release an update

Offline

Board footer

Powered by FluxBB