Categories
Article

Assist – striker system for Ikemen Go

Assist – striker system for Ikemen Go

By request, I worked on a system that tries to simulate the mechanics of some fighting games that call a non-playable partner to assist you in the fight. I use two games as inspiration for this module, the first is The King of Fighters 2000. The other one is Dengeki Bunko from Sega.


a fighting video game with characters fighting each other

What is this about?

This module, to work as close as the source of inspiration, needs a fixed configuration for Ikemen Go, where all modes except TAG are disabled. Check this video on my Youtube channel to see the module in action

I am distributing the module already installed in two basic builds of Ikemen Go.

One build comes ready based on the KOF 2000 system.

1- 5 strikers at the start of the match.
2- Every time a team member loses the match, that team gains 1 striker extra. Also, the maximum quantity of strikers increases by 1.
3- Taunting while having 1000 of power gives the team 1 extra striker.
4- Team 3 versus 3. The fourth partner will be the striker.
Download it here.
 

The other build comes with some sort of Dengeki Bunko / Nitroplus system.

1- Cooldown time for assists help instead of strikers quantity.
2- Unlimited assist calls.
3- Single 1vs1. The second partner of the team becomes the “assist”.
Download it here.

Setting up the characters

These builds come with 8 characters ready to use, but obviously, you want to add your own chars for more fun. So you need to add a few constants under your [Constants] section in the main CNS character file. This way your character can properly communicate with my code.
 

Code for gaming
The way your main CNS character file should look like in order to get the assist system working.

Constants for combo detection

normalAttacksStartStateno = 200 ; the stateno that starts ground attacks
normalAttacksEndStateno = 499 ; the stateno that ends ground attacks
airAttacksStartStateno = 600 ; the stateno that starts air attacks
airAttacksEndStateno = 699 ; the stateno that ends air attacks
specialAttacksStartStateno = 1000 ; the stateno that starts special attacks
specialAttacksEndStateno = 1999 ; the stateno that ends special attacks
superAttacksStartStateno = 2000 ; the stateno that starts special attacks
superAttacksEndStateno = 3999 ; the stateno that ends special attacks

These are to help the combo system detection to work properly. If your characters follow the standard state number notation you do not need these. Only add them if you cannot call strikers/assists in combos.


 

The character’s assist movement

strikerMovement = 1025

The state number of the movement your char will use to help the main character


strikerDistance = 0; use 0, 1 or 2

0 = The partner will perform the movement set in constant strikerMovement as soon as it enters the stage.
1 = The partner will perform the movement once it reaches the position the main player was when it was called.
2 = The partner will perform the movement once it reaches the position of the enemy main player when it was called by its own team main player.


strikerInitialState = 0; 0 or 1

0 for ground.
1 for air, char will come from the air. Be sure strikerMovement is set to an air state number so this setting works properly.


tauntStateNumber = 195; stateno

The taunt state number you want to use to regain 1 striker(KOF 2000)


airAttackSpeed = 10; any positive number

This is only if strikerInitialState = 1. This is an optional setup in the case your partner’s movement does not reach the corner, the enemy, or is too away from your team’s corner. Change this value, refresh the fight(shift + F4), and test until you get your desired results.

General Config

If you want to tweak the module to your most obscure desires I let some constants in the common.const file inside the “data” folder. Search for “tag stuff for Orochi Kyo’s striker system” inside the file previously mentioned to get as soon as possible to these options.

carryHealthLastRound

The Ikemen Go builds I share with you are not using either “teams” or “single” modes. I have to use TAG mode with some tweaks on the config.json file to achieve something closer to both KOF 2000 and Dengeki Bunko. If you set this constant to 1 you can activate a behavior where the winner’s health is NOT set to full again in the next round but the remaining amount plus 20%.


initialStrikerQuantity

The quantity of strikers/assists available at the start of the match.


cooldownSystemOn

If you set this to 1, instead of having a fixed quantity of assists/strikers, you’ll have infinite assists. Every time you use an assist, you need to wait for the cooldown time to reach a certain value to use it again.


cooldownTime

The “cooldown time” previously mentioned in the “cooldownSystemOn”.


changeTeamleader

Let this on “= 1” if you are planning to play more than 2vs2. If you are planning to play 1 vs 1 let this in “0”. Anyways, if you are planning 1vs1 but still would like to change your main character for the assist character when you lose a round set this to “1”. It would be a good twist for the gameplay. I think Rival Schools(Project Justice in Japan) has a setting like this.

 

FAQ

Can you make this compatible with that other tag system you worked on?

No. Both are quite different at a technical level.


Can I use this in my current build?

You can try. Inside the data folder, I will leave a 7zip file that contains the files needed. The “common.const” file and the “tag.zss” file. This is not compatible with other tag systems.


Why did you remove the other modes? Single? Teams? Simul?

First, simul mode sucks, it stinks. I did this module by request, someone asked me if we can replicate something closer to The King of Fighters ’99, 2000, and 2001 in the engine.

Single and team modes are not used because the engine only loads one character per team for every round.

Turning the AI OFF on simul is not possible if the character is using the AILEVEL trigger. Also, I need to reuse the same hacks some creators used in Mugen to force the partners to leave the screen. A total mess that is not worth the job.

TAG is the only mode that loads more than one character per round and allows finishing the round once the team leader is beaten. No AI to turn off and tagout{} sctrl is quite useful.

All this nonsense is just to tell you that the module was done to be used in a full game or a closed environment and not for general use in casual Ikemen Go builds.
You can still add those game modes and see what happens, no guarantees. I won’t be paying any attention to anyone that reports bugs when this module is being played between different game modes.


Where I can report bugs or suggest any possible improvement?

Visit the Spanish-spoken Ikemen Go Discord server and after saying hi, use the help or chit-chat section. Do not worry, we have a section for English speakers too.


What is next?

Good question!
1- Add one more type of assist, so like Dengeki Bunko, we can have two types of assist movements per character.
2- KOF 2000 has a special assist move when you call the assist immediately after the grab. The partner will enter really fast from the air and hit the opponent sending it into a special custom state where the main player can easily land a special or a super.
3- Bug fixing I guess and maybe some cool screenpack adapted to the system if I find someone kind enough to provide me with good sprites.


Special thanks

Jefinho: For telling how to set up Ikemen Go to make this work as intended.
Lasombra Demon, !Wreq, all the guys in the Ikemen Go spanish-spoken server.
Gacel, K4thos, and all the devs working on Ikemen Go.
To character creators:

Mouser – Sagat
Vans – Rugal
Jin – Nightmare Geese
Hh – M. Bison/Choi
Ahuron -Genjyuro
Sepp – Mike Bison
Raposo – Vega

Anyone I forgot to mention, I apologize.

Have fun!!