Way of Martial Arts

In Progress Way of Martial Arts 0.5

No permission to download
The project is currently under development.
kimono said:
O Ilusionista: I like these old game covers :). I hope I am able to surpass one day IK+ in term of fun and 32 years later lol.
The first screen of the story mod:
FftcFKv.png

A beginning of a great adventure against the Orochi Clan :)

Wonderful contribution to an IK+.

I hope to be able to play your next update soon :)
 
O Ilusionista and stin: Thanks for your words, I'll continue to work hard on it and do my best.
Here's the first team you meet:
baQWWBp.png

I'll post a quick video when the first fight scene is ready :).
 
I like various bonus levels with breaking boards and stuff, did you thought about having wooden wing chun dummy/doll which would require to kick high,low or mid, in a rythm according to how its positioning itself after every succesfull hit.It could be interesting, or annoying.
 
bWWd: Thank you for this wooden doll suggestion, I'm thinking of another original bonus stage for the weapon tournament:
PF25G7n.png

An Asura statue that throws randomly at short, middle and long distance some explosives.
I wish that statue is only vulnerable against explosives, so the character must take this firecracker and relaunch it without being blasted :).
Maybye a nice coder can tell me how I can set this thing (can be hit only by explosive for this enemy  ::))
Another strange rolling obstacle that you'll meet in story mode is a fire wheel inspired by the Wanyudo yokai:
6vxP5zV.gif

Japanese folklore is so creative :)
 
Great stuff thus far kimono. One thing I'd kind of like to see is when fighters are defeated, they get up after a moment, then bow out and step back rather than lay there looking like they tried to steal a hamburger from George Foreman. I think it would just add a bit of realism and flavor to the setting you have going on.

DC
 
O Ilusionista: I keep the Wing Chun Doll for one passage in story mod. I'll work on a obstacle model ;).
Damon Caskey: Excellent idea! I had in mind that one or several npc can pull the arms of the defeated enemies out of the ring but your suggestion is better, thank you ;)
 
Damon Caskey said:
Great stuff thus far kimono. One thing I'd kind of like to see is when fighters are defeated, they get up after a moment, then bow out and step back rather than lay there looking like they tried to steal a hamburger from George Foreman. I think it would just add a bit of realism and flavor to the setting you have going on.

DC

Yes, indeed.
Interesting idea!

I wonder how this can be done for the best result.
-Is it something (script) that revive the actual entity?
-Is it some spawned "new" entity that will replace the dead character?
I'm curious to understand. I might need something similar for some bosses... ::)
 
A quick look of the new select scene, practice stage  (thanks CosmoBuggi for the help;) and Daijiro model (it's only an enemy in story mode):
A new kaginawa bonus stage (thanks Kratus!), I'm super happy that this kind of scene is possible with Openbor and this was very fun to play :):
 
Psykai: Thank you Psykai, I will add I think an edge anim and a death anim like Damon Caskey suggested.
Here's basically the Orochi Castle interior and a new companion (weapon/tool) for the hero, an Akita Inu:
kulxGwr.png

O024ciq.png

Maybye White Rabbit can give me an advice to draw a good dog with the character palette :)
 
Damon Caskey: DC, can you please translate this one into a better one? You were right about that old code being wrong. I tapped it rapidly until it played duckattack.

Code:
#define KEY_MOVE_DOWN       openborconstant("FLAG_MOVEDOWN")
#define KEY_MOVE_RIGHT      openborconstant("FLAG_MOVERIGHT")
#define KEY_MOVE_LEFT       openborconstant("FLAG_MOVELEFT")

void main(){
	int pIndex = getlocalvar("player");
	void self = getplayerproperty(pIndex, "entity");
	void vAniID = getentityproperty(self,"animationID");
	int iDir = getentityproperty(self, "direction");
	
	//Presses
	int iUp = playerkeys(pIndex, 1, "moveup");
	int iDown = playerkeys(pIndex, 1, "movedown");
	int iLeft = playerkeys(pIndex, 1, "moveleft");
	int iRight = playerkeys(pIndex, 1, "moveright");
	
	int iAttack = playerkeys(pIndex, 1, "attack");
	int iAttack2 = playerkeys(pIndex, 1, "attack2");
	int iAttack3 = playerkeys(pIndex, 1, "attack3");
	int iAttack4 = playerkeys(pIndex, 1, "attack4");
	int iJump = playerkeys(pIndex, 1, "jump");
	int iSpecial = playerkeys(pIndex, 1, "special");
	
	//Holds
	int iUpH = playerkeys(pIndex, 0, "moveup");
	int iDownH = playerkeys(pIndex, 0, "movedown");
	int iLeftH = playerkeys(pIndex, 0, "moveleft");
	int iRightH = playerkeys(pIndex, 0, "moveright");
	
	int iAttackH = playerkeys(pIndex, 0, "attack");
	int iAttack2H = playerkeys(pIndex, 0, "attack2");
	int iAttack3H = playerkeys(pIndex, 0, "attack3");
	int iAttack4H = playerkeys(pIndex, 0, "attack4");
	int iJumpH = playerkeys(pIndex, 0, "jump");
	int iSpecialH = playerkeys(pIndex, 0, "special");
	
	//Releases
	int iUpR = playerkeys(pIndex, 2, "moveup");
	int iDownR = playerkeys(pIndex, 2, "movedown");
	int iLeftR = playerkeys(pIndex, 2, "moveleft");
	int iRightR = playerkeys(pIndex, 2, "moveright");
	
	int iAttackR = playerkeys(pIndex, 2, "attack");
	int iAttack2R = playerkeys(pIndex, 2, "attack2");
	int iAttack3R = playerkeys(pIndex, 2, "attack3");
	int iAttack4R = playerkeys(pIndex, 2, "attack4");
	int iJumpR = playerkeys(pIndex, 2, "jump");
	int iSpecialR = playerkeys(pIndex, 2, "special");

	int key_hold = getplayerproperty(pIndex, "keys"); // Player key hold
	int key_press = getplayerproperty(pIndex, "newkeys"); // Player key press

        // Holding Down + Forward command
	if(iAttack){
		if(key_hold & KEY_MOVE_DOWN && key_hold & KEY_MOVE_RIGHT && dir == 1 || key_hold & KEY_MOVE_DOWN && key_hold & KEY_MOVE_LEFT && dir == 0 ){
			performattack(self, openborconstant("ani_freespecial9"));
		}
	}
}

I really don't know what I'm doing. Am I doing it right? I just added an attack press key.

Code:
void main()
{
    void target;        // Target entity for action.
    int player_index;   // Player index triggering event.
       
    // Key status.
    int key_hold;
    int key_forward;
	int iAttack;
   
    // Get the player index and target entity.
    player_index    = getlocalvar("player");
    target          = getplayerproperty(player_index, "entity");       
   
    // Get key hold status.
    key_hold    = getplayerproperty(player_index, "keys");   
   
    // Holding the down key?
    if(key_hold & openborconstant("FLAG_MOVEDOWN"))
    {
        // Check to see if current hold key has a forward match.
        key_forward = dc_check_key_forward(key_hold, target);
		iAttack	= playerkeys(player_index, 1, "attack");
   
        if(key_forward && iAttack)
        {
            performattack(target, openborconstant("ani_freespecial9"));
        }
    }
}
       
// Caskey, Damon V.
// 2018-08-13
//
// Return true if key status includes a "forward"
// direction key in relation to target entity facing.
int dc_check_key_forward(int key_status, void target)
{
    int result;
   
    // Default false.
    result = 0;
   
    // Which direction are we facing?
    void direction = getentityproperty(target, "direction");
   
    // Facing right?
    if(direction == openborconstant("DIRECTION_RIGHT"))
    {
        // Does the current key status contain a match
        // to the right direction key? If so result is true.
        if(key_status & openborconstant("FLAG_MOVERIGHT"))
        {
            result = 1;
        }       
    }
    else
    {
        // Same as above, but for left.
        if(key_status & openborconstant("FLAG_MOVELEFT"))
        {
            result = 1;
        }
    }
   
    return result;
}
 
Fun title ;D i'll be keeping an eye on the development of this!So far i've got up to the stage with the guys holding the pieces of wood in "1P Tournament" mode.
I'm gonna try the Weapon Tournament mode soon and after that try to beat 1P Tournament mode to the end.
One mode i did not understand was "Kaginawa"...it seems like a 1vs1 mode, and the CPU Enemy does not attack me until i deal the first blow, however, once i beat him, nothing else happens...am i playing it wrong?

In any case, i love what you're doing with the remakes of Barbarian and International Karate!These are pioneering games of the fighting game genre in a way, in that they came around at a time before the standard fighting game formula set by Street Fighter II was stablished. I could appreciate the historical value of them, but the gameplay wasn't as much to my liking. I feel your remakes make them a lot more enjoyable to me, keep up the awesome work!
 
Added version 0.5 to resources, and associated download page with this discussion thread. Made @kimono resource owner.

DC
 
This game look amazing. It's the closest thing I seen with regards to what I want to create.
Combos and a grapple system is all that I would add
 
  • Like
Reactions: NED
This game look amazing. It's the closest thing I seen with regards to what I want to create.
Combos and a grapple system is all that I would add

Thanks Grit. One day I will return to this project.
I really wish I had the time to finish this one too.
For the moment, only Shadow of Death is completed but who knows one day will receive an extension of its universe at CPC64.
 
Back
Top Bottom