Cooking was an important discovery in our human history (more important than farming, I'd say). It increases the amount of nutrients absorbed by the digestive system. Also, language most likely originated around the campfire from people waiting for the meal to cook and talking about things. IMO though, I don't think Dwarf Fortress should start so far back in time. I mean, you can't even have civilisations or even towns without farming.
Yeah, with regards to cooking, I am making the pre-farming and early farming stuff very simple, so that you'll advance through it fairly quickly. I mean, I am getting in as many non-redundant technologies as I can (and some redundant ones), but you'll still skip the couple of hundred thousand years between "rock" and "sharp rock on a stick," and part of that is making it so that the discovery of fire instantly unlocks primitive cooking. As to towns and things, hopefully by the time this suggestion would be implemented, Toady would have completed the arc that allows you to send out embark parties as the mountainhome (I think that's part of military). Every site and group on the map at the end of worldgen/start of history will count as a separate civilisation. Since you will be the only outpost of your civilisation, you will be the mountainhome automatically, and as a bonus on top of seeing the technology develop, you'll get to see civilisations rise and fall as well. The popcap will be the point at which dwarves start starving to death due to limited resources, which means you will be desperately assigning more gatherers to get more food, which means someone will think of farming eventually. Or, alternately, you become such a successful hunting society, that you decide to set those hunters of yours against smarter prey. Or a bunch of other possibilities. It'd just be cool to see how far the Dwarf Fortress engine could take us.
The only big non-decorative things in metallurgy up until the industrial revolution, apparently, were:
tin and lead smelting (Toss some ore into a campfire and you'll see the metal, very easily discovered by chance)
copper smelting (Requires a much higher heat than a standard campfire. Accidentally put some ore into a kiln maybe?)
bronze alloy (Copper and tin in the right proportions makes bronze, possibly discovered due to a source of copper ore contaminated with tin)
iron smelting (First discovered millennia after bronze. Probably involved people experienced in working with ores doing some experimenting)
wootz steel ( discovery probably a complete accident in building an iron furnace)
Blast furnace
So I think I'll be taking everything up until the iron age or so, right SixOfSpades?
With regards to language, that would require a true procedural language generation engine, which is very difficult. Toady has stated that he doesn't want to leave it as is, with no sentence structure or anything, and that means I'll have to figure out something capable of starting with grunt noises and ending in Renaissance-level literature.
Anyway, moar tech! I'm gonna try to get everything you can possibly get without metal tools before moving on to copper age tech.
SlingRequires: Fibre cloth or Rawhide
Skills: weaver, tanner, clothesmaker, or leatherworker (order of increasing likelihood)ID makes an artifact sling. If he is a weaver or clothesmaker, he will make it out of plant fibre cloth at a craftsdwarves shop (If craftsdwarf's workshop is not unlocked, ID will knock down a farmer's workshop to build a craftsdwarf's shop). If he is a tanner or leatherworker, he will make it out of rawhide at a leatherworks (knocking down a scraper's workshop to build a leatherworks if necessary).
Slings use rocks as ammunition, dwarves can only carry a handful at a time without quivers. Slings are quite long range and quick-firing, but don't do much damage at longer range.
Will need a new slinger weapon skill.
Special stonesRequires: Sling
Skills: slinger, knapperID makes some smoothed rocks at a knapper's or craftsdwarf's workshop. Smoothed rocks are ammunition for a sling that provide much greater accuracy and slightly increased range.
Throw the spear, Urist!Requires: A dwarf who uses a spear-type weapon
Skills: SpeardwarfID will suddenly get the idea to throw his spear at his current target. Allows dwarves to throw spears as ranged weapons.
Uses throwing skill.
JavelinsRequires: Throw the spear, Urist!
Skills: woodcrafter, weaponsmith, throwerID grabs a stick and a sharp rock (or a metal spearhead if you're that advanced) and turns it into a primitive javelin at a craftsdwarf's workshop. Javelins have better accuracy and range for throwing than spears, but are poorer melee weapons.
Atlatl (spear thrower)Requires: Javelins
Skills: woodcrafter, bonecarver, throwerID makes an artifact Atlatl, an arm-length shaft with a sort of cup at the end for holding the butt of a spear, out of bone or wood. A dwarf can use the Atlatl to fling spears much further and much harder (but with less accuracy), thanks to the increased leverage it provides. Essentially functions as a ranged weapon which uses javelins as ammunition.
Uses thrower skill.
FletchingRequires: Atlatl or Bow and arrow
Skills: woodcrafter, bowyerID messes around with either a javelin or an arrow for a while at a craftsdwarf's shop, then emerges with a fletched arrow or Atlatl dart. From now on, you can produce Atlatl darts as ammunition for Atlatls that remove the accuracy penalty. You know have long range, accurate, powerful spear slingers (provided Atlatls have already been invented). You can also produce fletched arrows instead of unfletched ones, as soon as Bow and arrow has been invented, also removing the massive accuracy penalty for bow and arrows.
Bow and arrowRequires: Throw the spear, Urist! and Cord. VERY unlikely with just those two, likelihood increased for every ranged tech known to your dwarves, especially fletching.
Skills: woodcrafter, throwerID makes an artifact bow and an arrow at a craftsdwarf's shop, converting it into a bowyer's workshop. Currently, arrows lack any fletching and thus are pretty inaccurate. They are, however, cheaper and quicker to produce than javelins, and deadlier than slung stones. Arrow are produced using the fletching skill at a craftsdwarf's workshop.
Unlocks fletching job.
That's all for today, folks! (I did also revamp my original list...) Pre-metallurgy tech will still have another few entries.
Note that small improvements can keep happening as inspiration moods continue which don't necessarily open up whole new technologies. So your spears are constantly having their shaft design improved, knappers are constantly improving their sharpening techniques, slingers are developing slightly better slings for themselves, butchers are finding better animal glues resulting in increased durability for everything... All these sorts of things can probably be handled by a procedural engine without us making a new tech for each and every single one, without too much issue. I mean, the idea is the same in the high renaissance or in 2000BCE when it comes to holding an tip onto a shaft, and yet, the techniques have obviously been improved over time. It's just in a very linear direction, so every step need not be manually detailed fully.
For these linear advances, Toady could create and assign a tag like [INNOVATION:GLUE:7:BUTCHER:25:MAKE_ITEM:NONE] to fat in the general tissue template, to indicate that any dwarf who handles any generic fat has a chance of 25*butcher_level^2/1000 percent chance to be struck by an inspiration to improve gluemaking technology without producing an item, and handling of fat can provide 7 distinct inspirations in that area, also meaning that a fat-based inspiration. We already know that dwarves can detect what they're handling already thanks to them being pleased at work when they get to work with materials they like. This tag could also be used for things like [INNOVATION:FLETCHING:20:ARCHER:2:FLETCHER:5:MAKE_ITEM:ARROW] to the raws for arrows, to ensure that whenever a dwarf handles arrows, they have a (2*archer_level^2/1000)+(5*fletcher_level^2/1000) percent chance to become inspired and advance fletching tech one of 20 possible times, creating an artifact arrow in the process. The degree of advancement that happens each time would be set in the raws for each tech, and so would the effects thereof. This models a dwarf using an arrow, either by firing it or making it or carrying it, and thinking on his experience as an archer and his experience as an arrowmaker and thinking "now what could I do to make this better?" The simplest way to do it would be so that the game engine runs through the raws for a tech each time an inspiration for that tech is completed, and then modifies the data values in the raw entries of other objects accordingly.
Raw entries for techs could look something like:
[TECH:FLETCHING]
[UNLOCK_INSPIRATION:REQUIRES:TECH:CORDS:LEVEL:1:TECH:BOW:LEVEL:1]
[UNLOCK_INSPIRATION:REQUIRES:TECH:CORDS:LEVEL:1:TECH:ALCATL:LEVEL:1]
[ADVANCE:1:1:MODIFY:ITEM:ARROW:RANGE:ADD:5]
[ADVANCE:1:1:MODIFY:ITEM:ARROW:ACCURACY:SUBT:10]
[ADVANCE:1:1:MODIFY:WORKSHOP:CRAFTSDWARF:ADD_REACTION:ALCATL_DART]
[ADVANCE:2:7:MODIFY:ITEM:ARROW:RANGE:ADD:1]
[ADVANCE:2:7:MODIFY:ITEM:ALCATL_DART:RANGE:ADD:1]
[ADVANCE:2:7:MODIFY:ITEM:BOLT:RANGE:ADD:1]
[ADVANCE:2:20:MODIFY:ITEM:ARROW:ACCURACY:SUBT:1]
[ADVANCE:2:20:MODIFY:ITEM:ALCATL_DART:ACCURACY:SUBT:1]
[ADVANCE:2:20:MODIFY:ITEM:BOLT:ACCURACY:SUBT:1]
What this would mean is that:
- The fletching technology can be the unlocked by an inspiration if cord tech and bow tech are both at at least level 1 OR if cord tech and alcatl tech are both at at least level 1
- The first advancement, the initial unlock, in fletching tech will be a much greater change than the rest.
- For advancements 2 through 7 in fletching, arrows, alcatl darts, and bolts all have 1 added onto the first number in their [RANGE:x] tag
- For advancements 2 through 20 in fletching, arrows, alcatl darts, and bolts all have 1 subtracted from the first number in their [ACCURACY:x] tag.
Toady could also make tags to add to creatures which allow you to detail actions performed by those creatures that can [INSPIRE_SELF] or [INSPIRE_OTHERS]. For example, a cow could have [INSPIRE_OTHERS:GRAZE:DOMESTICATION:7:PLANTER:1], which means that a dwarf that sees a cow grazing will have a 1*planter_skill^2/1000 percent chance of advancing domestication tech by one of seven levels.
Or you could have [INSPIRE_SELF:STAB:SPEAR:100:SPEARDWARF:1:WOODCRAFTER:2:KNAPPER:3:WEAPONSMITH:3] on a dwarf to signify that a dwarf stabbing something will have a chance to become inspired with an improvement to spear technology according to the sum of the squares of their speardwarf, woodcrafter, knapper, and weaponsmith skills.
There would also need to be a separate set of raws for each civilisation to avoid one dwarf inventing a better boot causing all dwarves everywhere to be able to make better boots.
Of course, Toady would have to program the game to be able to change the raws on the fly, but that shouldn't be too hard. Hopefully. At the very least, a stopgap would be to automatically save, surreptitiously quit, apply raw changes and reload each time an innovation finishes.
It's worth mentioning here that I only have a very rudimentary idea of how the raws work, so I could be spouting gibberish, and I'm almost certain I should be attributing range and accuracy to weaponry not ammunition. But you guys get the idea. With these tags added to materials and these techs in the raws and doing their thing, it would be very possible to make a dawn of time mod even if it wasn't included in the main game.
Someone with more RAW experience, what do you think?