An Idea for the Ranged Combat System
-
- Posts: 2
- Joined: Fri Jul 13, 2012 3:24 pm
Re: An Idea for the Ranged Combat System
i think it would be cool to have a bow,but,here´s my idea: the arrow/s you fire will need to be picked up to fire again. too much use of the arrows will cause them to break, forcing you to craft new ones
or just basically loot them. also, too much use of the bow will cause it to waste out, or break.
with guns/flintlocks: Ammo is scarce, gun powder should be crafted or looted, and reload time should take a -kind of- long time. guns can be broke causing you to forcibly find or craft new gun parts.
sorry for spelling mistakes and thanks for reading. i hope you liked my idea
or just basically loot them. also, too much use of the bow will cause it to waste out, or break.
with guns/flintlocks: Ammo is scarce, gun powder should be crafted or looted, and reload time should take a -kind of- long time. guns can be broke causing you to forcibly find or craft new gun parts.
sorry for spelling mistakes and thanks for reading. i hope you liked my idea
-
- Posts: 1
- Joined: Wed Apr 18, 2012 3:56 am
Re: An Idea for the Ranged Combat System
I'm not one to offer up suggestions a lot, but I think this is a nice compromise (from what I read and skimmed, might be some overlap).
First off, forget about guns or crossbows. These are the silly ideas that get tossed around by people who don't understand the tone and feeling of this game (many suggested these things in Minecraft years back, as well). We are sticking to melee weapons thrown or bows.
The idea here is to combine both auto-aiming with contextual attacking (as is already used in the melee system). To attack with a bow, you simply face towards your target and hold down your attack button. In the background, factors such as your movement, range from a target, and health weigh in on an overall timer that, once reaching zero and the attack button being released, launches an arrow at the target. To better understand when the background factors are increasing or decreasing the timer's length, it can be represented by how long it takes Turner to draw back the bow.
When the arrow is shot, it will always hit a vulnerable spot if fully drawn back. Depending on how soon the attack button is released determines how close to hitting the target / vulnerable spots on the target you were (unarmored targets wouldn't need full draw backs, but heavily armored ones would, to ensure a lethal hit).
This same idea could be applied to conventional or unconventional thrown weapons. Light weapons like daggers and spears could use a similar "winding back" animation to prepare the throw, while heavier weapons like the hammer or a sword could rely entirely on a spinning build up before throwing.
The issue of what target you are going to aim at can become as simple as looking towards a target, picking the closest one from you/your view, and then locking Turner's body to face that direction while moving (with again, longer firing times happening as you move, and possibly tripping).
The question is how to apply the melee weapon throws in a way that keeps Overgrowth's simple combat interface intact while still giving the options of dropping weapons, sheathing them, swinging them, or throwing them. Perhaps after a certain range, they revert to melee function when using the attack button.
So that is my take on this issue. I think it is still pretty sloppy, and still doesn't factor in many things (including enemy ranged attacks), but that was the easiest way I saw ranged combat happening while still presenting some kind of player input.
Also, I just wanted to mention that, while inappropriate for Overgrowth in particular, I thought the "rabbit-ears as crosshairs (crosshares? kill me)" idea was pretty cute.
First off, forget about guns or crossbows. These are the silly ideas that get tossed around by people who don't understand the tone and feeling of this game (many suggested these things in Minecraft years back, as well). We are sticking to melee weapons thrown or bows.
The idea here is to combine both auto-aiming with contextual attacking (as is already used in the melee system). To attack with a bow, you simply face towards your target and hold down your attack button. In the background, factors such as your movement, range from a target, and health weigh in on an overall timer that, once reaching zero and the attack button being released, launches an arrow at the target. To better understand when the background factors are increasing or decreasing the timer's length, it can be represented by how long it takes Turner to draw back the bow.
When the arrow is shot, it will always hit a vulnerable spot if fully drawn back. Depending on how soon the attack button is released determines how close to hitting the target / vulnerable spots on the target you were (unarmored targets wouldn't need full draw backs, but heavily armored ones would, to ensure a lethal hit).
This same idea could be applied to conventional or unconventional thrown weapons. Light weapons like daggers and spears could use a similar "winding back" animation to prepare the throw, while heavier weapons like the hammer or a sword could rely entirely on a spinning build up before throwing.
The issue of what target you are going to aim at can become as simple as looking towards a target, picking the closest one from you/your view, and then locking Turner's body to face that direction while moving (with again, longer firing times happening as you move, and possibly tripping).
The question is how to apply the melee weapon throws in a way that keeps Overgrowth's simple combat interface intact while still giving the options of dropping weapons, sheathing them, swinging them, or throwing them. Perhaps after a certain range, they revert to melee function when using the attack button.
So that is my take on this issue. I think it is still pretty sloppy, and still doesn't factor in many things (including enemy ranged attacks), but that was the easiest way I saw ranged combat happening while still presenting some kind of player input.
Also, I just wanted to mention that, while inappropriate for Overgrowth in particular, I thought the "rabbit-ears as crosshairs (crosshares? kill me)" idea was pretty cute.
Re: An Idea for the Ranged Combat System
I don't really see that big of a difference between bows and crossbows. Sure, there's a slight technological cap, but as long as we're talking about the weaker crossbows it's not that important in my opinion.Sgt. Ramen wrote:First off, forget about guns or crossbows. These are the silly ideas that get tossed around by people who don't understand the tone and feeling of this game (many suggested these things in Minecraft years back, as well). We are sticking to melee weapons thrown or bows.
I'd say guns won't fit the theme,
bows and crossbows are problematic mechanically but could fit the theme,
and thrown weapons fit the theme and the fact that you're throwing your weapon away makes it easier to balance.
-
- Posts: 1
- Joined: Tue Dec 25, 2012 11:12 pm
Re: An Idea for the Ranged Combat System
I think bows would be nice, but I would really like an update on spear throwing, so they'll actually go straight instead of spiraling and hitting them with the shaft.
Re: An Idea for the Ranged Combat System
It should be possible to do it in the latest version (it's easy to stop the rotation, but before, I couldn't set the spear's rotation so it's pointing towards an enemy), but I don't know how to add in a new parameter that tells the game that the weapon is thrown like a spear, not like a dagger.MadSnailDisease wrote:I think bows would be nice, but I would really like an update on spear throwing, so they'll actually go straight instead of spiraling and hitting them with the shaft.
Re: An Idea for the Ranged Combat System
Has anyone seen any references to r_knifethrow.anm, r_knifethrowlayer.anm or r_knifethrowflip.anm in the script files or character/weapon XMLs? I haven't, I think they might actually be hardcoded.
Re: An Idea for the Ranged Combat System
Since knife throwing is an animation layer then you can't find those animations in any script file.
But here is a code that i was able to find in aschar.as file.
And here is some other knife throwing code from aschar.as file
Edit: I tried to stop weapon to spin while thrown, but i found out that you have to edit twist_ang_vel and float num_turns. Here is the line with my changes and
There is still a problem with that weapon it will remain at an angle so you may want to replace float num_turns with
But here is a code that i was able to find in aschar.as file.
Code: Select all
if(going_to_throw_item && going_to_throw_item_time <= time && going_to_throw_item_time > time - 1.0f){
if(!flip_info.IsFlipping() || flip_info.flip_progress > 0.5f){
int8 flags = 0;
if(primary_weapon_slot == _held_left){
flags |= _ANM_MIRRORED;
}
if(!flip_info.IsFlipping()){
throw_knife_layer_id = this_mo.AddLayer("Data/Animations/r_knifethrowlayer.anm",8.0f,flags);
} else {
throw_knife_layer_id = this_mo.AddLayer("Data/Animations/r_knifethrowfliplayer.anm",8.0f,flags);
}
going_to_throw_item = false;
}
}
And here is some other knife throwing code from aschar.as file
Code: Select all
void ThrowWeapon() {
if(weapon_slots[primary_weapon_slot] != -1){
int target = target_id;
if(target != -1){
int weapon_id = weapon_slots[primary_weapon_slot];
this_mo.DetachItem(weapon_id);
weapon_slots[primary_weapon_slot] = -1;
MovementObject@ char = ReadCharacterID(target);
ItemObject@ io = ReadItemID(weapon_id);
float time;
vec3 start = io.GetPhysicsPosition();
vec3 end = char.GetAvgIKChainPos("torso");
vec3 launch_vel = CalcLaunchVel(start, end, io.GetMass(), this_mo.velocity, char.velocity, time);
io.SetLinearVelocity(launch_vel);
vec3 ang_vel = io.GetAngularVelocity();
vec3 dir = normalize(end - start);
vec3 twist_ang_vel = dir * dot(ang_vel, dir);
ang_vel = ang_vel - twist_ang_vel;
float num_turns = floor(time * 2.0f / io.GetMass()) + 0.25f;
// Calculate spins
//Print("Num turns: "+num_turns+"\n");
//Print("Time: "+time+"\n");
io.SetThrown();
io.SetAngularVelocity((normalize(ang_vel)* 6.28318f * num_turns)/time + twist_ang_vel);
this_mo.velocity -= launch_vel * io.GetMass() * 0.05f;
//io.SetVelocity(vec3(0.0f,5.0f,0.0f));
UpdatePrimaryWeapon();
UpdateItemFistGrip();
}
}
}
Code: Select all
vec3 twist_ang_vel = dir * dot(vec3(0.0f,0.0f,0.f), dir);
Code: Select all
float num_turns = floor(time * 0.0f / io.GetMass());
Code: Select all
float num_turns = floor(time * 0.0f / io.GetMass()) + 0.25f;
Re: An Idea for the Ranged Combat System
Thanks!
I knew about the ThrowWeapon function already. You can remove the rotation with:
The problem is, then you have a pretty much vertical spear flying towards an enemy and hitting him with the middle of the shaft. Not very threatening. If enemies could catch it from the air, it would make a decent "here, have a weapon" animation.
It seems like there's hard-coded function between weapon XMLs and AngelScript. It looks like it's accepting text strings, but trying to feed it custom strings could cause some problems, because now it's using the same attack strings in all situations. It might be possible to read path to animation "throw_weapon", which doesn't exist in any weapons yet. There'd have to be some sort of a check first, to know if the weapon is using a custom throw animation or not - and I don't know if attack_getter can do that.
I knew about the ThrowWeapon function already. You can remove the rotation with:
Code: Select all
io.SetAngularVelocity( vec3(0.0f) );
It seems like there's hard-coded function between weapon XMLs and AngelScript. It looks like it's accepting text strings, but trying to feed it custom strings could cause some problems, because now it's using the same attack strings in all situations. It might be possible to read path to animation "throw_weapon", which doesn't exist in any weapons yet. There'd have to be some sort of a check first, to know if the weapon is using a custom throw animation or not - and I don't know if attack_getter can do that.
Code: Select all
if(curr_attack == "air")
{
attack_path = character_getter.GetAttackPath("air");
}
attack_getter.Load(attack_path);
Re: An Idea for the Ranged Combat System
I just pre ordered this game and was looking around the forum and just wanted to say:while i would like a ranged system for bow and arrows and spear throwing i would not like guns in the game unless its a mod or something.just not vanilla.
-
- Posts: 101
- Joined: Mon Aug 15, 2011 9:32 pm
Re: An Idea for the Ranged Combat System
One weapon that could take the place of the bow is the slingshot. You can only throw small rocks with it, it doesn't have much range, and the most damage you could possibly deal is a small concussion. It would be very good for distractions, and stealth.
e.g. You see some patrolling guards, and you fling a rock at some place within earshot of them, and you sneak by unnoticed; Possibly make someone look the wrong way so you could get up behind them and snap their neck, etc.
Also, it would be insanely fun if you could hit a bot; sneak away while he looks around for you; hit him again; repeat.
e.g. You see some patrolling guards, and you fling a rock at some place within earshot of them, and you sneak by unnoticed; Possibly make someone look the wrong way so you could get up behind them and snap their neck, etc.
Also, it would be insanely fun if you could hit a bot; sneak away while he looks around for you; hit him again; repeat.
Re: An Idea for the Ranged Combat System
What does this add that being able to throw a rock doesn't?Jellydonut wrote:One weapon that could take the place of the bow is the slingshot. You can only throw small rocks with it, it doesn't have much range, and the most damage you could possibly deal is a small concussion. It would be very good for distractions, and stealth.
e.g. You see some patrolling guards, and you fling a rock at some place within earshot of them, and you sneak by unnoticed; Possibly make someone look the wrong way so you could get up behind them and snap their neck, etc.
Also, it would be insanely fun if you could hit a bot; sneak away while he looks around for you; hit him again; repeat.
This is way too easy to abuse. It could esaily become either the easiest way to either kill someone (if it deals any damage), or to lure them away from allies so you can kill them 1v1 (if it doesn't deal damage).
-
- Posts: 101
- Joined: Mon Aug 15, 2011 9:32 pm
Re: An Idea for the Ranged Combat System
All agreed. Rock throwing it is! You, sir, are quite a good debater.
Re: An Idea for the Ranged Combat System
Haha, I've just seen something very much like your post before.Jellydonut wrote:All agreed. Rock throwing it is! You, sir, are quite a good debater.
I wonder if it would be overpowered if there was an endless supply of rocks in a level?
Rocks could deal blunt damage that fully recovers, couldn't be sheathed, and would have a good chance of being removed from the game after throwing if the player can't see it.
Finding a rock would be done by holding down Q when you're standing on the terrain, and the character would wander around as if looking for a weapon, then crouch down and poke the ground a bit. All in all, it could take about 5 seconds, and would make some noise. Still, since you could do it far from enemies, it would be a safe way of getting a simple throwing weapon.
It would give you a small advantage in damage, but if the damage was negligible enough that it'd recover faster than you can run away / make the enemy lose sight of you... Hmm.
-
- Posts: 101
- Joined: Mon Aug 15, 2011 9:32 pm
Re: An Idea for the Ranged Combat System
Well, I think that on grassy/sandy levels, it would be more difficult to find rocks of good throwing size, so possibly there would be a scripted weapon for a rock. Place a few in the world - but the stupid AI would go crazy for weapons and run wildly for them - anyways - you should be able to pick them up and treat them just like a knife (depending on size; maybe have something like a pebble and something more substantial). But I think this would totally change the game into armed-fighting-only as your #1 option.
Also, about holding Q to pick up a rock, wouldn't it be difficult to just hunt for a weapon? Let's say you killed an enemy, and your weapon is stuck in their back, which is in the ground. You search blindly for your/their weapon and en up picking up a bunch of rocks. I would find this annoying. Eventually you would find your weapon. Possibly place a priority script so the player picks up real weapons first, and then if there are none, pick up rocks.
Just another idea: Throwing sand or dirt. When you're fighting a group of guards, and you don't really have an easy way to defend yourself, you could throw sand; in turn blinding a couple of your enemies temporarily if you're lucky. It would make fighting groups more easy for players like me who just hate dodging and want to throw everyone.
Also, about holding Q to pick up a rock, wouldn't it be difficult to just hunt for a weapon? Let's say you killed an enemy, and your weapon is stuck in their back, which is in the ground. You search blindly for your/their weapon and en up picking up a bunch of rocks. I would find this annoying. Eventually you would find your weapon. Possibly place a priority script so the player picks up real weapons first, and then if there are none, pick up rocks.
Just another idea: Throwing sand or dirt. When you're fighting a group of guards, and you don't really have an easy way to defend yourself, you could throw sand; in turn blinding a couple of your enemies temporarily if you're lucky. It would make fighting groups more easy for players like me who just hate dodging and want to throw everyone.
Re: An Idea for the Ranged Combat System
Yeah, the character would prioritize weapons above rocks, of course. I was thinking that, once he's stopped searching and starts picking up a stone, it'd be more like digging something from the ground, not just picking it up. That way it'd be kind-of acceptable that you can find rocks in all terrain types.Jellydonut wrote:Also, about holding Q to pick up a rock, wouldn't it be difficult to just hunt for a weapon? Let's say you killed an enemy, and your weapon is stuck in their back, which is in the ground. You search blindly for your/their weapon and en up picking up a bunch of rocks. I would find this annoying. Eventually you would find your weapon. Possibly place a priority script so the player picks up real weapons first, and then if there are none, pick up rocks.
As for how the rock would be different from a dagger - it deals only a little damage, and if you had a dagger-dealt wound, (some of) that damage never goes away. Also, being in melee with a rock would be kind of awkward - the attack would be slower, perhaps. So you're only getting a very small advantage, any weapon would be better than a rock - oh, but I guess rocks would still count as a weapon you can block with. That'd be hilarious, but not very good for gameplay. "Oh no, he has a sword - quick, everyone, start looking for some rocks, so we can block his attacks!"
How would the controls work?Just another idea: Throwing sand or dirt. When you're fighting a group of guards, and you don't really have an easy way to defend yourself, you could throw sand; in turn blinding a couple of your enemies temporarily if you're lucky. It would make fighting groups more easy for players like me who just hate dodging and want to throw everyone.
I can kind of see it working. Some sort of action that keeps the enemies from closing in for a moment would be nice. I can't see you throwing sand into the eyes of three enemies at once. Maybe something more physical?
http://mangafox.me/manga/kenji/v01/c002/7.html
http://mangafox.me/manga/kenji/v01/c002/8.html
http://mangafox.me/manga/kenji/v01/c002/11.html
I'd like to see sand clouds as a consistent effect when moving on certain types of terrain, though: