Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Archery Redux Part 1 (Arrows/Bolts) #28069

Merged
merged 20 commits into from
Apr 21, 2019
Merged

Archery Redux Part 1 (Arrows/Bolts) #28069

merged 20 commits into from
Apr 21, 2019

Conversation

darktoes
Copy link
Contributor

@darktoes darktoes commented Feb 5, 2019

First part of my archery redux, focus on making arrows/bolts sensible so they don't magically make crappy bows/crossbows vastly more powerful.

Summary

SUMMARY: Balance "Make arrows/bolts more reasonable"

Purpose of change

Archery is all over the place at the moment. I'm trying to fix that, starting with the fact that arrows and bolts are weird, and high-quality arrows cause disproportionately high damage when used in a low power bow. Use of prop_damage should fix this nicely, though I'm still waiting on someone to resolve my prop_pierce issue.

Describe the solution

Basically all arrows and bolts are more reasonable, with emphasis on realism. Generally speaking, arrows use proportional damage rather than flatly adding damage, so that top quality arrows in a bottom quality bow don't make for unreasonably high damage.

Additionally, a better naming convention will make it much easier for players to recognise which arrows are superior, and what they should work toward to improve their damage output.

Additional context

Changes and their rationale are outlined here:
https://docs.google.com/spreadsheets/d/1wpuAk7F1fJ227yAgYbokwn7KxdEeOv-MGFvnnnW5s1Q/edit#gid=244216825

darktoes added 3 commits February 5, 2019 14:50
Updates arrows to be far more sensible and realistic.
@MetroidHunter
Copy link
Contributor

MetroidHunter commented Feb 5, 2019

I am a huge fan of reworking the arrows to be a bit more straight forward. Looking over the spreadsheet, also a great job of putting this information together. A few pieces of questions/feedback:

  • You have a tipped simple wooden arrow. What kind of tip is this implying? A field point? It may be clearer to call it a wooden field point arrow (following ur new naming convention) if thats the case. Material of the point can still be varied.
  • The aluminum arrows put their material first while the some of the wooden arrows put their quality first like crude wooden arrow, blunt simple wooden arrow and simple wooden arrow. Would it help readability for the convention of the aluminum arrows to also be the convention of the wooden arrows?
  • You have a wooden bodkin arrow but not an aluminum bodkin arrow. Why is that?
  • The blunt simple wooden arrow is unclear for me on its function and purpose.

Im really looking forward to this rework

@darktoes
Copy link
Contributor Author

darktoes commented Feb 5, 2019

Glad you're looking forward to it, and I really appreciate the input.

  • Renamed the tipped arrow to "makeshift wooden arrow". The idea is that it's a wooden shaft with a makeshift (non-forged-steel) arrowhead, made of bone, ceramic, or something like that.

  • I tried to adjust the naming convention a bit, but the idea is that there are three main "quality" levels of arrow, simple wooden, wooden, and aluminum. I tried to make it "[quality] [type] arrow" but I'm still open to suggestions.

  • Aluminum arrows are going to become uncraftable. Most modern arrows use field points or broadheads, so the player is only realistically going to find aluminium shafts with field points and not bodkins, while bodkins are somewhat easier to make and are historical, so found/crafted wooden arrows have bodkin points. Field points are very similar to bodkin points, and perform identically ingame.

  • Blunt simple wooden arrow is basically a crappy small game arrow. I renamed it to simple wooden small game arrow to try to keep with convention.

@AMurkin
Copy link
Contributor

AMurkin commented Feb 5, 2019

Remove "The format is: " before the summary to fix Invalid Summary line.

@darktoes
Copy link
Contributor Author

darktoes commented Feb 5, 2019

Whoops! Never missed that one before.

@MetroidHunter
Copy link
Contributor

Glad you're looking forward to it, and I really appreciate the input.

  • Renamed the tipped arrow to "makeshift wooden arrow". The idea is that it's a wooden shaft with a makeshift (non-forged-steel) arrowhead, made of bone, ceramic, or something like that.
  • I tried to adjust the naming convention a bit, but the idea is that there are three main "quality" levels of arrow, simple wooden, wooden, and aluminum. I tried to make it "[quality] [type] arrow" but I'm still open to suggestions.

Ah i see now. Perhaps they could be simple arrow, wooden arrow, and aluminum arrow for clarity in that case. Now that I know simple wooden is meant as a quality bar, I can understand the distinctions now but since it wasnt immediately apparent to me, Im worried it wont be to others.

  • Aluminum arrows are going to become uncraftable. Most modern arrows use field points or broadheads, so the player is only realistically going to find aluminium shafts with field points and not bodkins, while bodkins are somewhat easier to make and are historical, so found/crafted wooden arrows have bodkin points. Field points are very similar to bodkin points, and perform identically ingame.

I dont think field points and bodkins perform the same in real life though. Perhaps from an accuracy standpoint but the longer and sharper point of the bodkin should have a higher grain and piercing ability. Despite that, I can get behind letting them be the same in game for ease. As far as finding them, bodkin points could still be made by hand at the forge but perhaps the recipe should be from a book.

I see in the spreadsheet that you mention the non-craftable aluminum arrows. Is there a game reason to do that or is this more realism? I think by making aluminum ingots from aluminum cans and using a sand mold, a fairly usable aluminum arrow could be made with just the crucible and tongs. Also, the swage and die set in the game would probably have something usable for a pipe extruder. Perhaps aluminum arrows should remain craftable and the uncraftable arrows you mention should instead be the carbon fiber arrows?

  • Blunt simple wooden arrow is basically a crappy small game arrow. I renamed it to simple wooden small game arrow to try to keep with convention.

@darktoes
Copy link
Contributor Author

darktoes commented Feb 5, 2019

Dropping the "wooden" from "simple wooden arrow" isn't a bad idea, but I think I'd like to keep the main material in the name for now. If people are confused later on I'll look into changing it. If nothing else looking at the actual stats in the crafting menu/inventory should set people right easily enough.

Field points and bodkins naturally aren't going to perform identically in real life, but they're close enough that I don't see a reason to make a distinction, and I'd like to make arrows spawn around the place a lot more, so realism there would be important.

Personally, I think a small pipe extruder jig should be easy enough for the player to make, but I've talked back and forth about it with Kevin a fair bit and I think the plan is to wait until a lathe or more elaborate crafting tools are added so the player can make an accurate extruder jig that way, but if you can convince Kevin otherwise I'd be more than happy to make them craftable.

darktoes added 3 commits February 5, 2019 21:13
Same as for arrows, but this time with crossbow bolts. Far more sensible.
A bit weird and all-over-the-place but hopefully won't ever really need to be changed again.
Includes revised recipes for changed arrows, as well as removal of old metal arrows recipes pending the inclusion of an extrusion jig into the game.
@SirPendrak
Copy link
Contributor

"type": "AMMO",
"id": "bolt_wood_small_game",
"price": 1000,
"name": "metal crossbow bolt",
"name": "wooden small game arrow", 

"Arrow" is probably a typo.
Overall changes look good, Powerfull bows and crossbows with shit ammo wont be as effective as used to be. I have only one question about proportional damage. Lets say we shoot the most powerfull crossbow -> damage 50, once with broadhead bolt, and once with bodkin, at a target wchich has 55 armor.
Bodkin - 50x1,12 = 56 dmg and 3 pierce. 56 - (55 - 3) = 4dmg dealt
Broadhead - 50x1,25 = 65 dmg and one pierce. 65 - (55 - 1) = 11dmg dealt
Am i doint my calculations wrong, or will it be favouring just biggest damage-dealing ammunition on strong weapons aganist very armored targets?

@darktoes
Copy link
Contributor Author

darktoes commented Feb 5, 2019

Fixed the arrow mentions, sadly the dangers of copy+paste strike again.

I hadn't actually done the math, and that's a sad byproduct of the fact that proportional pierce isn't a thing yet. Once someone handles #27085 I'll apply appropriate proportional pierce values to all bolts and arrows and it will work out very nicely regardless of which bow or crossbow is used.

The damn thing was in an entirely different chunk of the damn file.
@ZhilkinSerg ZhilkinSerg added [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics Game: Balance Balancing of (existing) in-game features. labels Feb 5, 2019
darktoes added 3 commits February 7, 2019 00:44
Updates existing recipes for bolts, adds recipes for the handful of new bolts, and removes the recipes for aluminum bolts pending an extrusion jig.
Add "wooden" and "fire-hardened" where necessary.
@darktoes darktoes changed the title [WIP] Archery Redux Part 1 (Arrows/Bolts) Archery Redux Part 1 (Arrows/Bolts) Feb 6, 2019
@darktoes
Copy link
Contributor Author

darktoes commented Feb 6, 2019

Now that I've finished new recipes for arrows and bolts I'm happy that this is ready for merging (once properly reviewed and feed-backed, of course).

@MetroidHunter
Copy link
Contributor

I hadn't actually done the math, and that's a sad byproduct of the fact that proportional pierce isn't a thing yet. Once someone handles #27085 I'll apply appropriate proportional pierce values to all bolts and arrows and it will work out very nicely regardless of which bow or crossbow is used.

Ive got 2 bugs ive committed to fixing but after that, I can look at handling the pierce aspect you mention in #27085

@mding9
Copy link

mding9 commented Feb 11, 2019

Isn't aluminum not very dense? Even if it can still provide enough weight to the front of the arrow, it wouldn't be as much as a metal-tipped one, meaning it wouldn't be as strong or accurate. Unless you mean an aluminum arrowhead is something between top heavy arrows and non top heavy arrows, so that it flies farther than a metal ripped arrow and is more accurate than an untipped one.

@MetroidHunter
Copy link
Contributor

MetroidHunter commented Feb 11, 2019

Isn't aluminum not very dense? Even if it can still provide enough weight to the front of the arrow, it wouldn't be as much as a metal-tipped one, meaning it wouldn't be as strong or accurate. Unless you mean an aluminum arrowhead is something between top heavy arrows and non top heavy arrows, so that it flies farther than a metal ripped arrow and is more accurate than an untipped one.

TL;DR;

  • Aluminum is 3 times as dense as wood
  • Wood arrows are usually made of light wood and are typically lighter than aluminum arrows
  • Aluminum arrows are considered the heaviest arrows among modern arrows

Interesting Things Below:

I think we may have some social conditioning to think Aluminum is less dense than wood, even I at first thought this. But, doing a bit of googling, while the alloy does matter and what kind of wood, it appears that aluminum is a good bit more dense than wood.

Here is a random chart showing density of some materials:
http://www.psyclops.com/tools/technotes/materials/density.html

Another showing the same:
https://www.engineeringtoolbox.com/density-solids-d_1265.html
https://www.engineeringtoolbox.com/wood-density-d_40.html

Hers another article that goes ahead and talks directly about weight:
http://www.zenithair.com/kit-data/ht-85-12.html

Lets work out the weight of an aluminum arrow shaft against the weight of a wooden arrow shaft.

We can get density of materials from the links above. Now that we have density, we just need the volume of the arrow. We can get the diameter which is well explained here:
https://www.bowhunter-ed.com/michigan/studyGuide/Arrow-Shaft-Length-and-Labeling/301023_3694/

And lets assume a 31inch arrow because why not.

31 inches is 0.7874 meters
20/64 diameter in inches is 0.0079375 in meters
13/1000 thickness in inches is 0.0003302 in meters

A hollow tube volume is calculated by pi * height * (outer radius ^2 - inner radius ^2)
height is 0.7874
outer radius is 0.00396875 (half of the diameter)
inner radius is 0.00363855 (outer radius - thickness)

giving us a volume of 0.0000062137 m^3 (for just the shaft)

A wooden shaft though would only have the volume of a cylinder.
Cylinder volume is calculated by pi * height * radius ^ 2
height is still 0.7874
radius is 0.00386875

giving us a volume of 0.0000370243 m^3

Given that Density = Mass/Volume and Weight = Mass * Gravity where earth gravity is naturally 9.807 m/s^2, we can conclude that if pure aluminum is 2.7 10^3 kg/m^3 and seasoned wood from an oak tree is 600 - 900 kg/m3, and lets take the high end of 900 kg/m3, then we can normalize aluminum to 2700 kg/m^3 and get that a 0.0000062137 m^3 shaft has a mass of 0.01407699 kg or 14.1 grams. This gives us a weight of .138 KGMS/2 (aka Newtons) which is 0.03 lbs for the aluminum shaft. Pretty light! We can then take oak wood at 900 kg/m^3 and get that a 0.0000370243 m^3 shaft has a mass of 33.32 grams. This gives us a weight of .327N which is 0.07 lbs.

So the wooden arrow is heavier because its a solid piece of wood BUT, we assume a lot here. Most professional arrows are cut from light and strong wood like cedar or pine, not oak. A white pine arrow of the same diameter would be 500 kg/m^3 in density giving us a total weight of 0.04 lbs.

Also, aluminum arrows can have larger diameters and larger thicknesses, changing their weight. If we instead had an alumnium arrow with 16/1000 thickness and 23/64 diameter, we would get a total weight of 0.05lbs.

To avoid most of this math, arrows are mostly measured in GPI (grains per inch) and each component contributes its grains to the total grain of the arrow. This allows a more normalized system across all the arrows.

I think we may be predisposed to neglect aluminum because of our very thin and common applications of it in aluminum foil and aluminum cans

All together, making aluminum arrows better than wood arrows should be at least within the realm of possibility if not just true in modern life. I think that makes it reasonable for aluminum arrows to be the upgrade to wood especially in the context of a cataclysm and what the survivor is capable of producing.

@darktoes
Copy link
Contributor Author

To add to that, and cover the question directly, the aluminum arrows ingame are a hollow aluminum shaft with a steel tip, so they're very light, and very easy to add weight to. That said, wooden shafts are naturally going to be a bit rougher and have minor wood imperfections, while extruded aluminum is (mostly) homogenous. You get a stronger, lighter, more consistent arrow from aluminum, so that's represented ingame with higher durability and slightly lower dispersion. In addition, the aluminum arrows are commercially made, meaning their general quality level is higher. When they're made craftable, it will be with much more elaborate tool requirements.

@dissociativity
Copy link
Contributor

#28607
made an issue related to this PR

@Shodan14
Copy link

Soo will thing be merged?

@darktoes
Copy link
Contributor Author

Some time after I take out the range values on the arrows/bolts so they don't crash the game and possibly fiddle the crafting recipes around a bit more. Currently I've got assignments for all 4 of my classes due on Monday, so that'll get done SoonTM.

For the record I fully intend to continue/finish my redux, I'm just currently so bogged down in Uni work I don't have the time.

@Shodan14
Copy link

Shodan14 commented Mar 21, 2019

Some time after I take out the range values on the arrows/bolts so they don't crash the game and possibly fiddle the crafting recipes around a bit more. Currently I've got assignments for all 4 of my classes due on Monday, so that'll get done SoonTM.

For the record I fully intend to continue/finish my redux, I'm just currently so bogged down in Uni work I don't have the time.

Cool, looking forward to trying it out.

darktoes added 3 commits April 20, 2019 01:17
APPARENTLY negative range values on ammunition makes the game outright crash. Weird but easy to fix.
Removed range penalties (and adjusted up the dispersion on rubber blunt arrows, since it was a bit low).
Same as previous, but for bolts.
@darktoes
Copy link
Contributor Author

darktoes commented Apr 19, 2019

Removed the range penalties from bolts/arrows and (hopefully) fixed the file conflict. Not really sure what its issue was TBH. Good chance I screwed something up since it's 2AM but if I didn't, then this is probs ready for merging. (Spoilers, I did. But I fixed it.)
Also, the recipes file pretty desperately needs linting, but I can't do that in this PR so that will happen later.

darktoes added 2 commits April 20, 2019 02:42
I only drop my brackets in cute repositories. How you doin'?
Original changes didn't follow the correct lint style, so were making Gorgon fail. Ran the thing through the linter so it stops being a jerk.

Apparently I'm just bad at this. Starting to consider just leaving and becoming a lumberjack.
@darktoes
Copy link
Contributor Author

NOW it should be okay. Bad code style was causing Gorgon to fail and nobody likes it when Gorgon fails.

darktoes added 3 commits April 21, 2019 12:05
Trying to follow conservation of mass a bit better, though it's a very wasteful recipe.
Decided on a weirdly small amount of wire for this recipe the first time, fixed it now.
@darktoes
Copy link
Contributor Author

darktoes commented Apr 21, 2019

Fixed another merge conflict. It seems to just hate me.
Probably caused by #29762 getting merged.

@ZhilkinSerg ZhilkinSerg self-assigned this Apr 21, 2019
@ZhilkinSerg ZhilkinSerg merged commit c71b04b into CleverRaven:master Apr 21, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment Apr 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics
Projects
None yet
Development

Successfully merging this pull request may close these issues.