[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Prydon Coding

Prydon Coding

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Prydon Coding

Postby Chillo » Thu Apr 12, 2007 8:11 am

I was talking to FrikaC about starting up coding for prydon again. He told me to contact Mauve, because Frik was not feeling like working on Prydon. So playing around with Prydon for the past month, I've come up with a couple of things I really want implemented in it.

Dodge Frames - I'm tired of seeing the player and monster continuosly swing at eachother, without visual reason why the weapon didn't cause any damage. it looks like it hit one of them, but apparently the player "dodged" the attack. So I'd like to implement some dodging animations through QC, in order to make this look better.

Blocking Frames - If a player has a shield, he should have blocking frames. Pretty much like dodging frames.

Pain Frames - I don't know if this is already implemented, but I know for sure it's not the case for the player. I would love to see Ithael get smacked around from time to time. :D

This would add some fun into watching Ithael and the monsters fight, rather than just watching them take swings at eachother for minutes at a time without anything visually happening, except a pain noise here and there :(
User avatar
Chillo
 
Posts: 80
Joined: Fri Nov 05, 2004 6:29 pm

Postby Urre » Thu Apr 12, 2007 9:40 am

Now this here is a way better idea: instead of dodging frames for the defender, have hit frames for the attacker. This because you miss so often, it would look weird if the player or the monster constantly does dodge moves. The dodge move would also hinder the attacker from doing anything else (like say attacking), which is more than bad.

With hit frames, I mean the following: imagine the first few frames of swinging a sword, they'd look the same no matter if you hit or not. But as you hit a target (or wall, or whatever, as this *very* simple but seldomly implemented theory applies to anything, not just prydon or other top-down games), your sword would stop swinging, and the character would pull it back up to start position. If you however miss, your sword would keep swinging until the character has realized he missed and breaks the momentum to pull it back up to start position. The check for wether it hit or not would be done on the frame where it could hit, the most extended position, or however you like to see it. Sadly, almost all games are animated to miss, which looks just plain weird. Imagine the Quake axe, if it actually stopped swinging on the moment of the hit, and did a different couple of frames instead to pull it pack than the regular swing frames. Very simple and nice.

Pain and block frames should only exist if those events cause a pause already on the player. I'd imagine pain does (stuns you for half a second), I really don't remember, it was a while ago I played any prydon.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby FrikaC » Thu Apr 12, 2007 3:39 pm

Pain animations are implemented for the monsters, not for the player, because the player is allowed to pretty much continually attack.

I had once allowed the player to go into pain and it just felt kinda weird in game (the battle was basically decided by who attacked first)

There is a block frame (check combat.qc) for the comment "hack"), it's just a frame, not a full animation however. Oh and I guess it's only in MagicHit not standard Hit as well.

To implement dodge is pretty simple, the th hitcheck calls for dodge are right next to the ones for block.

else if (hitcheck(attacker.tohit, targ.dodge))
return FALSE;
FrikaC
Site Admin
 
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Postby Chillo » Thu Apr 12, 2007 4:21 pm

Urre's idea sounds cool, but if there was only the animation where the player hits something, the victim player would still be standing perfectly still.

I still don't know, I'd like to go trial and error with this, but my coding skills lack tremendously.

FrikaC, you said when you had pain frames implemented for the player, the winner of the fight turned out to be whoever attacked first. Would there be anyways to randomize this?
User avatar
Chillo
 
Posts: 80
Joined: Fri Nov 05, 2004 6:29 pm

Postby scar3crow » Thu Apr 12, 2007 4:25 pm

Id imagine it would be simple to randomize it, by doing the rand calculation within a check for if they did damage, and if so, chance for pain animation.

You could even make it more strict where they only go into pain frames for attacks that do... 10% of their health or more, so on and so forth.

I think ultimately though what Chillo wants is there to be more visual stimulation of the traditional player - creature exchange, not a change in gameplay dynamic. So the question is more of how to make this more visually stimulating without necessarily changing the attack/defend flow of typical PG combat.
User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby Sajt » Thu Apr 12, 2007 8:32 pm

F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Sajt
 
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Postby Urre » Fri Apr 13, 2007 6:05 am

I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby Chillo » Fri Apr 13, 2007 7:44 am

User avatar
Chillo
 
Posts: 80
Joined: Fri Nov 05, 2004 6:29 pm

Postby Urre » Fri Apr 13, 2007 9:17 am

I'm hesitant with the pain frames, it could easily end up with what was mentioned before, that the player/monster would just end up in a pain loop as the attacker keeps attacking without the defender being able to do anything about it.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby FrikaC » Fri Apr 13, 2007 2:08 pm

This is the last source

FrikaC
Site Admin
 
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Postby Chillo » Fri May 11, 2007 6:08 am

Could someone implement frames into ithael's code;

Walking, Standing and Running frames of Ithael with his weapons drawn, and the same frames of ithael off his guard.

Maybe you could make it so that if ithael is within a certain proximity of monsters, he would switch to his weapons being drawn.
User avatar
Chillo
 
Posts: 80
Joined: Fri Nov 05, 2004 6:29 pm

Postby Urre » Fri May 11, 2007 9:27 am

That's cool. Either that or make him have his weapons up if he's just come from a fight, and if there's no activity (IE fighting) for a while he puts them down. On the other hand I kind of liked your idea, but with an added animation for drawing the weapons when he senses enemies nearby. Could be a cool effect. On a second note it'd be cool with upper- and lower-body separated, so you could add moves like blocking/pain/readying weapons/victory cheer and whatever without obstructing the players movement.

Damn, I talk a lot.

Chillo: Is Mauve coding stuff for ya?
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 3 guests