Avengers United Battle Force

In Progress Avengers United Battle Force 2.7.41

No permission to download
The project is currently under development.
O Ilusionista said:
And lets talk about something: Spider Sense.
I was thinking on how to do it and maybe it will be good to make it a random dodge when he is attacked while standing.
He would have a 25% change to automatically any attack.

Any other idea?

Sounds good. I suggest he should be able to dodge while walking and running too and his dodge rate should be 50% to make it reliable.

Miru said:
Spider-Sense could work doubly effective with traps

Hmmm... what about this: Spider-Sense makes Spiderman fully immune to traps? at least only when he's standing, walking and running :)
 
Sounds good. I suggest he should be able to dodge while walking and running too and his dodge rate should be 50% to make it reliable.
Sounds fair.

Spider-Sense makes Spiderman fully immune to traps? at least only when he's standing, walking and running
Dunno, maybe its a little OP. To code this I would need to use a doattack and nullify the "lasthitc", right?
 
I dunno why I imagined this, haha, but it'd be pretty awesome if when he walks over a mine or passes through the electric stuff in Hydra Base, he plays a special spider sense animation where he acts surprised and maybe exclaims "woah!" before quickly hopping out of the way. I guess he could even do that with enemy attacks sometimes. It would fit his personality pretty well, especially the recent incarnation.

I dunno why I keep thinking of silly tiny details XD

I definitely like the idea of a character who can avoid traps though, it's really unique. Perhaps only certain Spiderman costumes can do it. I don't know if Venom has the Spider-sense or not but I always presumed not? I see Venom palette as being way more aggressive and less dodgy.
 
There's a lot of different things you could try...

  • Take a que from Virtua Fighter. When Jacky is idle, he automatically catches incoming punches. It's nowhere near overpowered as it sounds, because how often are you actually idle? Similarly you could have SM auto dodge or auto block whenever he is idle. It probably wouldn't be a very useful feature, and I'd guess most players would just ignore it. But thematically would be a very cool feature that just screams SpiderMan.
  • The Arkham Series. Put a small spark or highlight over an enemy that is about to attack. There are flags that let you do this. The downside is this would be a HUGE PITA to code. As an alternative, perhaps only do this for majior attacks, like big beams, special moves, and so on. Still a pain, but not as much as an all encompassing attack detection.
  • Steal one of MY ideas, lol. I have a long term project (it predates OpenBOR by a huge margin and the possibility of making it into a side scroller is what brought me here in the first place), that is both a game and novel with ~60 characters in it. One of the main ones is an inexperienced but very intelligent, and VERY inquisitive girl named Chandra Westlook. She's fairly weak in most respects, but whenever she is on the screen, hidden Easter eggs get a minor highlight. Either that or she mentions that something in the area looks interesting, prompting the player that there's a secret nearby. Why couldn't Spidey do that?
  • Similar to the above, one of the other characters is a veteran soldier. Some of the other characters might be younger, stronger, faster, or just better all round fighters, but he's been around enough to notice things they miss. One of his mechanics is the ability to spot weaknesses in enemies. I will do this in two ways. One, is that the enemy life gauges are shown in smaller increments when he is in play, giving you a better idea of how they are doing. The other is an onscreen indication of weaknesses, whether through text of highlight. Again, Spidey could do something like that. Not quite the same as a "danger sense", but I think it isn't a bad choice for converting to practical game mechanics.
  • If you have fog, vision obstructions, or other sorts of interface hindrances, make Spidey immune to them. Obstructions and fog become transparent, interfaces issues just don't affect him, etc.
 
Oh, thanks for those ideas. I think the one which most fit him is the first one.

But dunno if people will understand it - like most people can't understand how Bad Luck works for Black Cat, for example (It's a simple alternatives IDLE and WALK animations, which are trigger by the target distance and they have no bbox). Back on that day, I wasn't aware that those extra IDLE/WALK are triggered by distance and not randomly.

but whenever she is on the screen, hidden Easter eggs get a minor highlight.
I had this idea for another character. Because SM can only sense dangers, not other things. Plus, some other characters (like Antivenom, Carnage) are immune to this system.

Is my logic about ondoattack right? It would be the best way to nullify an attack and make it dodge automatically? Specially when I need to check the attacker name (like the Carnage exemple above)?
 
O Ilusionista said:
Is my logic about ondoattack right? It would be the best way to nullify an attack and make it dodge automatically? Specially when I need to check the attacker name (like the Carnage exemple above)?

Yes. I went and dug up the function I run in do attack event. The main calls what you see below. Just replace my parry function call with whatever logic you deem appropriate.

Code:
//	Caskey, Damon V.
//	2011-02-25

//	Universal doattack event function.

//	target:	Caller entity.
void z_datk(void target)
{
    int     attack_id   = 0;        // ID of collision event.
    int     hit_id      = 0;        // ID of most recent collision event on an entity.
    int     which       = 0;        // Which type of event (giving/taking) fired this script.
    void    other       = NULL();   // Opposing entity.
    int     parry;      = 0;        // Parry success.
    
    attack_id	= getlocalvar("attackid");
    hit_id      = getentityproperty(vEnt, "hitbyid");     
	other		= getlocalvar("other");

	// Default to self as target.
	if(!target)
    {	
        target = getlocalvar("self");	
    }

	// Hit ID and attack ID must be different. See below.
	if(hit_id != attack_id)
    {
        // Was this event triggered by incoming attack?
        which = getlocalvar("which");
        if(which == openborconstant("EXCHANGE_RECIPIANT"))
        {
            // Parry logic. 
            parry = dc_parry(target, other);
            
            // If the attack was parried, skip all engine hit behaviors here.
            if(parry)
            {
                changeopenborvariant("lasthitc", 0);
            }
        }
    }
		
    // If the ID of a collision matches the collision ID
    // assigned to an entity, the engine knows this collision 
    // has already been handled and ignores it on subsequent
    // cycles. Since we skipped the hit code, we'll have to
    // make sure that assignment happens here. 
	changeentityproperty(target, "hitbyid", attack_id);
}
 
O Ilusionista said:
Dunno, maybe its a little OP. To code this I would need to use a doattack and nullify the "lasthitc", right?

I don't think he would be OP cause he can only avoid traps when standing, walking and running. If he jumps on a landmine while jumpkicking, he'd get hit by the mine ;)

As for coding, why not use takedamagescript? when he dodges the attack, recover his lost HP and make him play dodge animation.
This is random dodge script I've coded some time ago:
Code:
void main()
{// Endure script to deny damage and set entity variable with 50% chance
    void self = getlocalvar("self"); //Get calling entity.
    int y = getentityproperty(self,"a");
    int HP = getentityproperty(self, "health");
    int Damage = getlocalvar("damage"); //Get received damage
    int r = rand()%30;

    if(y > -10){
      if(r > 0){
        setentityvar(self, 8, 1);
        changeentityproperty(self, "health", HP + Damage);
      } else {
        setentityvar(self, 8, NULL());
      }
    }
}

The code is used by Fighter in Map demo I've shared some time ago
 
Bloodbane said:
As for coding, why not use takedamagescript? when he dodges the attack, recover his lost HP and make him play dodge animation.

This does OK as a workaround, but doattack is the way to go. Why fight the engine? Get it to work for you, that's what it is there for.

DC
 
Video to celebrate that we have passed 1000 subscribers on this channel. Many thanks to all who helped achieve this victory :)

In this video, I show:
- Preview of one of the scenarios in Greece (WIP), which has 12 layers
- New enemies (the skeleton can resurrect randomly)
- Ares
- Many pitfalls

This chapter will bring several new situations to the game, to make it more unique.
 
I like the furious gameplay of Iron Fist! Maybye he can change the punch direction (diagonal up and then forward) in order to be less repetitive.
Good work on stage depth with multiple layer also, You can maybye add a damage on time at his chi punch where the enemy ends completely overcooked in a few seconds.

Your project seems very professional, I love the multiple traps thats adds some difficulties.
 
Thanks everyone

Maybe he can change the punch direction (diagonal up and then forward) in order to be less repetitive.
You mean at the final punch? or on the punch sequence? The first could be doable, but the second would be a little pain and won't worth the trouble.
 
Looks beautiful Ilu, as always.
Just a question, It looks like when you use Zoom function, the sprite aspect looks 'clean' whatever the zoom you apply, is there a new script that cleans always it or something else?
Thank you
 
Yotatouch said:
Looks beautiful Ilu, as always.
Just a question, It looks like when you use Zoom function, the sprite aspect looks 'clean' whatever the zoom you apply, is there a new script that cleans always it or something else?
Thank you
Thanks! About the zoom, I haven't touched antyhing - its the same code from uTunnels.
I just made the transformation a little smoother by reducing the difference of the given values, so the steps are smaller, making the transition smoother.
 
Thanks for the feedback and the infos.
Maybe it is due to the latest builds that cleans the effects or it's just me... When i tested it for my own stuffs the pixels were disformed the same way when you zoom it in photoshop with "resize nearest neighbor".
I'll test it on some recent versions, thanks again !
 
Back
Top Bottom