Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Putnam

Pages: [1] 2 3 ... 6
1
DF Modding / As of 50.09, you can now add new music/sound files
« on: June 29, 2023, 08:53:09 pm »
Code: [Select]
music_file_d

[OBJECT:MUSIC_FILE]

[MUSIC_FILE:SONG_GAME_CLASSIC]
    [FILE:song_game.ogg]
    [TITLE:song_game]
    [AUTHOR:Tarn Adams]

[MUSIC_FILE:SONG_TITLE_CLASSIC]
    [FILE:song_title.ogg]
    [TITLE:song_title]
    [AUTHOR:Tarn Adams]
Here is a sample music file. It goes in the `sound` folder. Sample mod that adds the old classic music back in a couple of circumstances. You can use these MUSIC_FILE references like you would reference any of the hardcoded tracks. The same works for SOUND_FILE, of course, and you can use that anywhere, too.

It got lost in all the other stuff added to 50.09, I think, haha

2
DF Suggestions / Remove doctor-associated labors
« on: December 09, 2022, 08:24:16 pm »
Right now diagnosis and I think bone setting and surgery are tied to location assignments: without a location assignment, there will be none of these done. But there's also a labor, which if it's disabled on said dwarves, those things will also not be done. There's no labor for tavern workers, so there shouldn't be one for these.

3
DF Dwarf Mode Discussion / Pathfinding is not a major cause of FPS death
« on: November 16, 2022, 01:32:54 am »
Source: I actually profiled the game, which is the only way to actually determine what is slow in a program.

Pathfinding is slow, yes. It's hilariously slow. The thing is, it doesn't happen often at all. When it does, fortresses drop to sub-single-digit FPS levels. This usually happens because you're using tightly closed doors. Don't do that.

Pathfinding happens so rarely that my profiling has shown it contributes to about 6% of an individual tick's processing time. This is compared to the largest cause, one whose contribution to total CPU usage actually grows faster than pathfinding and one that is still the slowest thing in early game: units checking other units for line-of-sight/proximity checks (running away from hostiles etc), which is more like 20%. The truth is that FPS death is not a matter of multithreading pathfinding or anything like that, it's a combination of just about everything in there.

Not to say there isn't some major high-level optimizations to be made. A lot of the CPU time in unit checks is wasted in branch misprediction due to the fact that it's checking the units vector and just skipping everything that happens to be inactive/caged/a ghost; if those units' indices (or pointers to them, as the case happens to be, unfortunately) were simply cached in a vector that contains only active/uncaged/non-ghostly units, that would be avoided and the game would probably run quite a bit faster.

In general, just, like. Trying to optimize a program without profiling is just... blind flailing at nothing of consequence. If you want to contribute to figuring out what is causing FPS issues, first you have to figure out how to actually use the tools that let you find out what's causing FPS issues. I don't know if this is a gatekeepy viewpoint, but I've seen people so hyperfocused on pathfinding, which does not cause FPS issues except in extreme edge cases and tightly-closed door mishaps, that they seem to be convinced that fixing the pathfinding will fix the FPS issues.

It won't. Pathfinding is not a major contributor to FPS issues. Sorry, people have just been wrong about this the whole time. You can get an FPS boost from fixing up pathfinding a bit--6% is 6%, reducing that helps!--but FPS death will set in just as it does now, even with magic oracle pathfinding that takes 0 time. It's not a pathfinding issue.

If I seem bothered by this, it's because I pondered the pathfinding a good deal too before I actually bothered to do the bare minimum work in actually figuring out why the game runs slowly and learned that, no, pathfinding has basically nothing to do with it. I literally had to be handed a save that had a pathfinding edge case (24 tightly-closed doors) before I even found the pathfinding function, since it's buried so deep due to its, again, not being a major use of CPU time.

4
Making new thread because there's a whole lot of new toys to play with, more than we've gotten in any update since 0.34.01.

Creating items and creatures with interactions. Proper healing syndromes. Reactions that can have their skill requirements adjusted. Randomized transformations. A DEFEND USAGE_HINT so that creatures can use interactions when they're starting combat instead of when they're fleeing or, even worse, on their enemies. The future is now.

I'll actually start myself: what are the arguments to IE_ITEM_QUALITY? The only example given is ARTIFACT, so I would assume the rest are EXCEPTIONAL, MASTERWORK etc. but it could be e.g. numbers instead.

Similarly, there's CE:HAVE_FAST_EFFORTLESS_GAIT_SPEED. Is there anything else like this?

EDIT: Screw it, datamined a bit.

Code: [Select]

IS_HIST_STRING_2
IS_HIST_STRING_1
IS_TRIGGER_STRING_THIRD
IS_TRIGGER_STRING_SECOND
MUNDANE_RESEARCH_POSSIBLE
SUPERNATURAL_LEARNING_POSSIBLE
MUNDANE_RECORDING_POSSIBLE
MUNDANE_TEACHING_POSSIBLE
IT_LOCATION
Interaction
Source
IS_SECRET
token
not
found
CONTEXT_CREATURE
CONTEXT_REGION
SAVAGE_ALLOWED
GOOD_ALLOWED
GOOD_ONLY
EVIL_ONLY
IS_SPHERE
SAVAGE_ONLY
IS_SECRET
IS_SECRET_GOAL
I_SOURCE
EXPERIMENT_ONLY
UNDERGROUND_SPECIAL
REGION
DISTURBANCE
SECRET
CREATURE_ACTION
INGESTION
SYN_INGESTED
SYN_INHALED
SYN_NO_HOSPITAL
interaction_layer
***
Error(s)
finalizing
the
interaction
[INTERACTION:
[OBJECT:INTERACTION]
PROPEL_UNIT
RESURRECT
CREATE_ITEM
SUMMON_UNIT
ADD_SYNDROME
CHANGE_ITEM_QUALITY
CHANGE_WEATHER
HIDE
Unrecognized
Interaction
Source
Type:
EXPERIMENT
LOCATION
I_TARGET
I_EFFECT
Unrecognized
Interaction
Target
Type:
RAISE_GHOST
ANIMATE
BIOME_DESERT_BADLAND
BIOME_SHRUBLAND_TROPICAL
BIOME_DESERT_SAND
BIOME_DESERT_ROCK
BIOME_OCEAN_TEMPERATE
BIOME_OCEAN_TROPICAL
BIOME_SUBTERRANEAN_WATER
BIOME_OCEAN_ARCTIC
BIOME_FOREST_TROPICAL_DRY_BROADLEAF
BIOME_FOREST_TROPICAL_CONIFER
BIOME_GRASSLAND_TEMPERATE
BIOME_FOREST_TROPICAL_MOIST_BROADLEAF
BIOME_SHRUBLAND_TEMPERATE
BIOME_SAVANNA_TEMPERATE
BIOME_SAVANNA_TROPICAL
BIOME_GRASSLAND_TROPICAL
BIOME_LAKE_TEMPERATE_BRACKISHWATER
BIOME_LAKE_TEMPERATE_FRESHWATER
BIOME_LAKE_TROPICAL_FRESHWATER
BIOME_LAKE_TEMPERATE_SALTWATER
BIOME_LAKE_TROPICAL_SALTWATER
BIOME_LAKE_TROPICAL_BRACKISHWATER
BIOME_RIVER_TEMPERATE_BRACKISHWATER
BIOME_RIVER_TEMPERATE_FRESHWATER
BIOME_SUBTERRANEAN_LAVA
BIOME_SUBTERRANEAN_CHASM
BIOME_POOL_TEMPERATE_BRACKISHWATER
BIOME_POOL_TEMPERATE_FRESHWATER
BIOME_POOL_TROPICAL_FRESHWATER
BIOME_POOL_TEMPERATE_SALTWATER
BIOME_POOL_TROPICAL_SALTWATER
BIOME_POOL_TROPICAL_BRACKISHWATER
CONTEXT_MATERIAL
FLOW
IE_INTERMITTENT
IE_TARGET
IE_LOCATION
IE_IMMEDIATE
IE_PROPEL_FORCE
IE_ARENA_NAME
CONTEXT_BP
CONTEXT_ITEM
CONTEXT_CREATURE_OR_LOCATION
CONTEXT_LOCATION
IT_LOCATION
token
not
valid
RANDOM_NEARBY_LOCATION
IT_MATERIAL
IT_MANUAL_INPUT
BIOME_SWAMP_TROPICAL_SALTWATER
BIOME_SWAMP_TROPICAL_FRESHWATER
BIOME_MARSH_TROPICAL_FRESHWATER
BIOME_SWAMP_MANGROVE
BIOME_FOREST_TAIGA
BIOME_MARSH_TROPICAL_SALTWATER
BIOME_FOREST_TEMPERATE_BROADLEAF
BIOME_FOREST_TEMPERATE_CONIFER
BIOME_MOUNTAIN
EQUIPMENT
BIOME_TUNDRA
BIOME_GLACIER
BIOME_SWAMP_TEMPERATE_SALTWATER
BIOME_SWAMP_TEMPERATE_FRESHWATER
BIOME_MARSH_TEMPERATE_SALTWATER
BIOME_MARSH_TEMPERATE_FRESHWATER
HAS_ANY_SUPERNATURAL
ALL_CASTES_ALIVE
HAS_ANY_GRAZER
HAS_ANY_HAS_BLOOD
HAS_ANY_LOCAL_POPS_CONTROLLABLE
HAS_ANY_IMMOBILE
HAS_ANY_LOCAL_POPS_PRODUCE_HEROES
HAS_ANY_OUTSIDER_CONTROLLABLE
HAS_ANY_DEMON
HAS_ANY_FLIER
HAS_ANY_NIGHT_CREATURE_HUNTER
HAS_ANY_NIGHT_CREATURE
HAS_ANY_NIGHT_CREATURE_NIGHTMARE
HAS_ANY_NIGHT_CREATURE_BOGEYMAN
HAS_ANY_CARNIVORE
HAS_ANY_NIGHT_CREATURE_EXPERIMENTER
CAN_SWIM
CURIOUS_BEAST_GUZZLER
HAS_SECRETION
CURIOUS_BEAST_EATER
INTELLIGENT_SPEAKS
HAS_ROTTABLE
AQUATIC_UNDERSWIM
INTELLIGENT_LEARNS
HAS_ANY_RACE_GAIT
HAS_ANY_GRASP
HAS_ANY_SLOW_LEARNER
HAS_ANY_FLY_RACE_GAIT
CANNOT_BREATHE_AIR
CAN_BREATHE_WATER
CURIOUS_BEAST_ITEM
CURIOUS_BEAST
HAS_ANY_INTELLIGENT_LEARNS
SMALL_RACE
OCCURS_AS_ENTITY_RACE
HAS_ANY_VERMIN_HATEABLE
HAS_ANY_CURIOUS_BEAST
HAS_ANY_LARGE_PREDATOR
HAS_ANY_NATURAL_ANIMAL
HAS_ANY_BENIGN
BIOME_RIVER_TROPICAL_FRESHWATER
BIOME_RIVER_TEMPERATE_SALTWATER
BIOME_RIVER_TROPICAL_SALTWATER
BIOME_RIVER_TROPICAL_BRACKISHWATER
MATES_TO_BREED
TWO_GENDERS
HAS_FEMALE
HAS_MALE
HAS_ANY_UTTERANCES
HAS_ANY_COMMON_DOMESTIC
HAS_ANY_FEATURE_BEAST
HAS_ANY_INTELLIGENT_SPEAKS
HAS_ANY_UNIQUE_DEMON
HAS_ANY_TITAN
HAS_ANY_MISCHIEVIOUS
HAS_ANY_NOT_LIVING
HAS_ANY_SEMIMEGABEAST
HAS_ANY_MEGABEAST
HAS_ANY_VERMIN_MICRO
HAS_ANY_POWER
HAS_ANY_CANNOT_BREATHE_WATER
HAS_ANY_NOT_FIREIMMUNE
HAS_ANY_NOT_FLIER
HAS_ANY_CANNOT_BREATHE_AIR
FOG_MIST
STRATUS_NIMBUS
FOG_THICK
FOG_NORMAL
IE_REMOVE_WEATHER
IE_ADD_WEATHER
IT_AFFECTED_CREATURE
Target
Token
not
found
FRONT_OCCLUDED
FRONT_COLD
CUMULUS_MULTI
CUMULUS_MED
CIRRUS
CUMULUS_NIMBUS
STRATUS_PROPER
STRATUS_ALTO
Unrecognized
IT_REQUIRES
token:
FIT_FOR_RESURRECTION
Unrecognized
IT_FORBIDDEN
token:
IT_FORBIDDEN
IT_CANNOT_HAVE_SYNDROME_CLASS
IT_CANNOT_TARGET_IF_ALREADY_AFFECTED
Unrecognized
corpse
target
affected
creature
token:
Unrecognized
corpse
target
affected
caste
token:
IT_IMMUNE_CREATURE
IT_AFFECTED_CLASS
IT_REQUIRES
IT_IMMUNE_CLASS
NO_AGING
MORTAL
FIT_FOR_ANIMATION
STERILE
HAS_GLOW_COLOR
HAS_GLOW_TILE
HAS_SOUND_PEACEFUL_INTERMITTENT
HAS_SOUND_ALERT
HAS_GRASP
VERMIN_GOBBLER
HAS_RACE_GAIT
HAS_FLY_RACE_GAIT
HAS_PUS
HAS_BLOOD
HAS_CHILDSTATE
HAS_BABYSTATE
CAN_SWIM_INNATE
HAS_SOLDIER_TILE
HAS_COLOR
HAS_TILE
IE_ITEM_QUALITY
IE_ITEM
IE_CHANGE_QUALITY
ARTIFACT
IE_GRIME_LEVEL
IE_SET_QUALITY
FRONT_WARM
IE_SYNDROME_TAG
IE_FORBIDDEN_CREATURE_FLAG
IE_CREATURE_FLAG
IE_FORBIDDEN_CREATURE_CASTE_FLAG
IE_CREATURE_CASTE_FLAG
IE_ALL_SLOW_EFFORTLESS_GAIT_SPEED
IE_HAVE_FAST_EFFORTLESS_GAIT_SPEED
IE_MAKE_PET_IF_POSSIBLE
IE_TIME_RANGE

Here's all the new filter tokens for transformations, presumably for use with CREATURE_FLAG and FORBIDDEN_CREATURE_FLAG
Code: [Select]
HAS_ANY_SUPERNATURAL
ALL_CASTES_ALIVE
HAS_ANY_GRAZER
HAS_ANY_HAS_BLOOD
HAS_ANY_LOCAL_POPS_CONTROLLABLE
HAS_ANY_IMMOBILE
HAS_ANY_LOCAL_POPS_PRODUCE_HEROES
HAS_ANY_OUTSIDER_CONTROLLABLE
HAS_ANY_DEMON
HAS_ANY_FLIER
HAS_ANY_NIGHT_CREATURE_HUNTER
HAS_ANY_NIGHT_CREATURE
HAS_ANY_NIGHT_CREATURE_NIGHTMARE
HAS_ANY_NIGHT_CREATURE_BOGEYMAN
HAS_ANY_CARNIVORE
HAS_ANY_NIGHT_CREATURE_EXPERIMENTER
CAN_SWIM
CURIOUS_BEAST_GUZZLER
HAS_SECRETION
CURIOUS_BEAST_EATER
INTELLIGENT_SPEAKS
HAS_ROTTABLE
AQUATIC_UNDERSWIM
INTELLIGENT_LEARNS
HAS_ANY_RACE_GAIT
HAS_ANY_GRASP
HAS_ANY_SLOW_LEARNER
HAS_ANY_FLY_RACE_GAIT
CANNOT_BREATHE_AIR
CAN_BREATHE_WATER
CURIOUS_BEAST_ITEM
CURIOUS_BEAST
HAS_ANY_INTELLIGENT_LEARNS
SMALL_RACE
OCCURS_AS_ENTITY_RACE
HAS_ANY_VERMIN_HATEABLE
HAS_ANY_CURIOUS_BEAST
HAS_ANY_LARGE_PREDATOR
HAS_ANY_NATURAL_ANIMAL
HAS_ANY_BENIGN
BIOME_RIVER_TROPICAL_FRESHWATER
BIOME_RIVER_TEMPERATE_SALTWATER
BIOME_RIVER_TROPICAL_SALTWATER
BIOME_RIVER_TROPICAL_BRACKISHWATER
MATES_TO_BREED
TWO_GENDERS
HAS_FEMALE
HAS_MALE
HAS_ANY_UTTERANCES
HAS_ANY_COMMON_DOMESTIC
HAS_ANY_FEATURE_BEAST
HAS_ANY_INTELLIGENT_SPEAKS
HAS_ANY_UNIQUE_DEMON
HAS_ANY_TITAN
HAS_ANY_MISCHIEVIOUS
HAS_ANY_NOT_LIVING
HAS_ANY_SEMIMEGABEAST
HAS_ANY_MEGABEAST
HAS_ANY_VERMIN_MICRO
HAS_ANY_POWER
HAS_ANY_CANNOT_BREATHE_WATER
HAS_ANY_NOT_FIREIMMUNE
HAS_ANY_NOT_FLIER
HAS_ANY_CANNOT_BREATHE_AIR
Here's all the weathers:
Code: [Select]
FOG_MIST
STRATUS_NIMBUS
FOG_THICK
FOG_NORMAL
FRONT_OCCLUDED
FRONT_COLD
CUMULUS_MULTI
CUMULUS_MED
CIRRUS
CUMULUS_NIMBUS
STRATUS_PROPER
STRATUS_ALTO

There's also: IE_ALL_SLOW_EFFORTLESS_GAIT_SPEED, like HAVE_FAST_EFFORTLESS_GAIT_SPEED

5
DF Suggestions / Solutions for mod merging
« on: March 04, 2019, 07:31:05 pm »
The raw files are difficult to work with in code, and the game does not support merging of two mods which change the same object (necessary for any mod that adds reactions to dwarves). PyLNP attempts this with standard 3-way merges of text files, but it fails way too often to be useful. There are a few solutions I've thought up for this, ordered mostly by how suggestiony it is for DF itself:

1. Write an entire raw parser in Python, manually implementing each individual token, then having a standardized exporter of its internal format. You have to manually write down every token, then put them together in a way analogous to how DF itself parses the raws. DFHack already has DF's memory mapped out for loaded raws, so that's not much of a problem, but manually putting down every token and how they relate to the individual parts is super annoying. However, this can already be done by someone willing to take the dive into tedium. I keep thinking I might be that person, but I'm not.

2. Just open up the raw parser for perusal and copying. Obviously I can't know how viable this is.

3. As 1., but have Dwarf Fortress include exporting to some standard format each individual object type and token; someone'd still have to write the separate parser, but not having to manually implement each token would be of great help.

4. Rather than raw duplication spitting out an error and causing weird off-by-one indexing errors, have raws in later files override raws in earlier files as if it were part of the same object. This is actually pretty weird in concept, since there'd e.g. be no way to remove a token from an existing file, such as if one wants dwarves not to have strange moods.

EDIT: 4.5. Have a more proper raw patching system to allow for addition and removal of tokens in existing objects without having to destructively overwrite the files that contain them. This is probably the way to go, considering steam workshop.

5. Spirits of programmers long passed crying for a proper scripting language etc. etc., would be a total overhaul in how everything works and break all existing mods.

6
Sorry for the minorly clickbaity title, but that's what it is. It's not finished, in the sense that most of the game's features are not usable through it, but it works, it has few issues besides incompleteness and I feel like a total moron just letting it languish on my github without telling anyone.

Github

7
It strikes me as odd that a human, elf or troll can be born alcoholic. Not just that, but it sort of causes a negative effect double-dip on dwarves due to both unfocusing due to lack of alcohol and alcohol dependence. On top of that, alcohol is the only thing that has a DEPENDENT tag and the only thing of its type that has a need associated. This is not ideal for modders. On top of that, the ALCOHOL_DEPENDENT tag only requires DRINK items be imbibed, regardless of whether the DRINK be alcoholic; again, strange in a modded game. I have not tested this, but I would assume the "Drink Alcohol" need acts the same way.

Suggestions for rework:

1. Addiction-as-mechanic for ingestible syndromes with some sort of new token associated with syndromes for physical dependency and IMMODERATION and SELF_CONTROL taken into account for mental dependency; remove [ALCOHOL_DEPENDENT] and replace with [DEPENDENT:SYN_IDENTIFIER], which has similar effects but with the given SYN_IDENTIFIER (so, for dwarves, [DEPENDENT:INEBRIATION])
2. Remove the need entirely and add [DEPENDENT:SYN_IDENTIFIER]
3. Just remove the need

Earlier in the order being more ideal. Of course, removing alcohol dependence from dwarves is right out.

8
DF Suggestions / Material property-related limitations on reaction reagents
« on: December 24, 2015, 01:23:02 am »
I've been making some real-life instruments, and came across a minor problem (minor in the sense that it won't really stop me): I can't set a minimum or maximum tensile strength for reagents or tools. For example:

Code: [Select]
[REACTION:CREATE_PIANO_WIRE]
[NAME:make piano wire]
[BUILDING:METALSMITH:NONE]
[REAGENT:A:150:BAR:NO_SUBTYPE:INORGANIC:NONE]
[MINIMUM_TENSILE_YIELD:155000] would allow iron, bronze, bismuth bronze, steel, adamantine
[MINIMUM_TENSILE_STRAIN_AT_YIELD:10] keep adamantine out, since perfectly rigid instrument strings makes... i don't know, physics breaks at that point
[PRODUCT:100:1:TOOL:PIANO_WIRE_PUTNAM:GET_MATERIAL_FROM_REAGENT:A:NONE]
[FUEL]
[SKILL:METALCRAFT]

Technically this is doable now with reaction classes, but it doesn't seem very useful to have to add a reaction class to every single material with a sufficiently high compressive fracture or whatever you're looking for.

10
This topic has been moved to DF Suggestions.

I am completely unsure as to why I posted it in general discussion.

http://www.bay12forums.com/smf/index.php?topic=149938.0

11
My material helper has evolved to the point where I can now get better representations of RL metals than Dwarf Fortress actually has. More importantly, it allows me to make bronze have proper values.

Code: [Select]
[IMPACT_YIELD:602000]
[IMPACT_FRACTURE:843500]
[IMPACT_STRAIN_AT_YIELD:899]
[COMPRESSIVE_YIELD:602000]
[COMPRESSIVE_FRACTURE:843500]
[COMPRESSIVE_STRAIN_AT_YIELD:899] 67 GPa
[TENSILE_YIELD:172000]
[TENSILE_FRACTURE:241000]
[TENSILE_STRAIN_AT_YIELD:156] 110 GPa
[TORSION_YIELD:172000]
[TORSION_FRACTURE:241000]
[TORSION_STRAIN_AT_YIELD:384]
[SHEAR_YIELD:172000]
[SHEAR_FRACTURE:241000]
[SHEAR_STRAIN_AT_YIELD:384] 44.8 GPa
[BENDING_YIELD:172000]
[BENDING_FRACTURE:241000]
[BENDING_STRAIN_AT_YIELD:156]

I got this from this page's data on bronze's shear modulus. The bulk modulus was calculated with the equation , where E is the young's modulus and G is the shear modulus (accounting for significant figures, of course).

Steel also has bad data, so here's steel with proper shear modulus value:

Code: [Select]
[IMPACT_YIELD:1505000]
[IMPACT_FRACTURE:2520000]
[IMPACT_STRAIN_AT_YIELD:940]
[COMPRESSIVE_YIELD:1505000]
[COMPRESSIVE_FRACTURE:2520000]
[COMPRESSIVE_STRAIN_AT_YIELD:940] 160
[TENSILE_YIELD:430000]
[TENSILE_FRACTURE:720000]
[TENSILE_STRAIN_AT_YIELD:225] 200
[TORSION_YIELD:430000]
[TORSION_FRACTURE:720000]
[TORSION_STRAIN_AT_YIELD:538]
[SHEAR_YIELD:430000]
[SHEAR_FRACTURE:720000]
[SHEAR_STRAIN_AT_YIELD:538] 80
[BENDING_YIELD:430000]
[BENDING_FRACTURE:720000]
[BENDING_STRAIN_AT_YIELD:215]

Steel already had bulk modulus and young's modulus known in the files, so I could easily get the shear modulus by , where K is bulk modulus and E is young's modulus.

And bone, too!

Code: [Select]
[IMPACT_YIELD:200000]
[IMPACT_FRACTURE:200000]
[IMPACT_STRAIN_AT_YIELD:500]
[COMPRESSIVE_YIELD:200000]
[COMPRESSIVE_FRACTURE:200000]
[COMPRESSIVE_STRAIN_AT_YIELD:500] bulk modulus 40 GPa
[TENSILE_YIELD:115000]
[TENSILE_FRACTURE:130000]
[TENSILE_STRAIN_AT_YIELD:575] young's modulus 20 GPa
[TORSION_YIELD:115000]
[TORSION_FRACTURE:130000]
[TORSION_STRAIN_AT_YIELD:1643]
[SHEAR_YIELD:115000]
[SHEAR_FRACTURE:130000]
[SHEAR_STRAIN_AT_YIELD:1643] shear modulus 7 GPa
[BENDING_YIELD:115000]
[BENDING_FRACTURE:130000]
[BENDING_STRAIN_AT_YIELD:575]

Used game values for strength (which are all correct, upon verification) along with this research paper's data for Poisson ratio and Young's modulus, which can be calculated to bulk modulus and shear modulus by and , respectively (where ν is poisson's ratio and E is Young's Modulus).

Obsidian, too:

Code: [Select]
[IMPACT_YIELD:1000000]
[IMPACT_FRACTURE:1000000]
[IMPACT_STRAIN_AT_YIELD:3846]
[COMPRESSIVE_YIELD:1000000]
[COMPRESSIVE_FRACTURE:1000000]
[COMPRESSIVE_STRAIN_AT_YIELD:3846] bulk modulus 26 GPa
[TENSILE_YIELD:35000]
[TENSILE_FRACTURE:35000]
[TENSILE_STRAIN_AT_YIELD:53] young's modulus 66 GPa
[TORSION_YIELD:35000]
[TORSION_FRACTURE:35000]
[TORSION_STRAIN_AT_YIELD:114]
[SHEAR_YIELD:35000]
[SHEAR_FRACTURE:35000]
[SHEAR_STRAIN_AT_YIELD:114] shear modulus 30.7 GPa
[BENDING_YIELD:35000]
[BENDING_FRACTURE:35000]
[BENDING_STRAIN_AT_YIELD:53]

Poisson ratio 0.08. Poisson ratio and shear modulus, so I am way too lazy to photoshop right now, here's a table of every equation at the bottom of this page:

https://en.wikipedia.org/wiki/P-wave_modulus

All elasticity data auto-calculated with my material helper, but it's best to post the equations involved anyway.

12
DF Suggestions / Rawifying relationships
« on: March 07, 2015, 01:33:45 am »
Inspired by http://qntm.org/gay, a write-up on gay marriage (and beyond) in databases.
Spoiler: Original post (click to show/hide)


13
Utilities and 3rd Party Applications / Markavian's CMV movie editor
« on: January 07, 2015, 05:30:29 pm »
https://github.com/Markavian/CMV-Editor
http://mkv25.net/dfma/cmveditor/

I think I may be the only person who has ever used this, which is odd, because it's pretty damn useful.

I can sorta write C♯, but the general structure of a C♯ program is alien to me. Also, programming image editors is alien to me.

14
This is a choose-your-own-adventure made with my Homestuck Mod. I can't really describe it better than that. You don't need to know anything about Homestuck to contribute! I can work with most of what you give me. MSPA forums thread.

Your name is Glafli Unnask.

You are a peasant in Shockedlathered, a trollish hamlet, and you have never strayed far from home. You are a worshipper of Hestur, the god of war.

You've finally got your equipment together, such as it is. Now it's time for action and adventure! In the rush of excitement, you've forgotten where you were going to go.

Hmm. Where are you going to go? Perhaps your friends can help you out.

You are in a COZY LOG HOUSE. From here, you can see neighbors Baroli, Herido, Veinna, Deysti, Geging, Aldask and Vøkita. Obvious exits are EAST and WEST. The door EAST is ajar; outside, you can see the snow-covered environment.

What do you do?

Spoiler: EQUIPMENT (click to show/hide)

Spoiler: SKILLS (click to show/hide)

Spoiler: Appearance (click to show/hide)

15
Masterwork DF / No more derails: my complaint topic.
« on: September 26, 2014, 05:32:16 am »
I think that Masterwork--not the mod itself, but the levels above that, the GUI included--is something that is, in general, poisonous to the modding community.

In fact, I think the GUI is the single worst part of the mod. It's not the GUI that I'm complaining about, however. In fact, that's a good idea.

The races are the problem.

Again, not a problem with the raws, but with they way they're packaged. The races are basically standalone mods included as part of the Masterwork whole. There is a not-insignificant (relative to the total population) amount of DF players that, like me, refuse to play Masterwork primarily on ideological grounds. Unlike me, they tend not to do anything about it, I guess because they're not quite as invested in the modding community. Due to this, those people will never see Masterwork's races due to a flat refusal to try Masterwork despite it being... not one mod. This divides mods into two camps, Masterwork and non-Masterwork; such a division is not good for the community.

Due to this fact, the races would work better as a standalone package, not part of Masterwork. There's no reason to include them in Masterwork except that some of them happen to use stuff that Masterwork already uses; perhaps there's some odd sense of inclusionism or something I'm missing entirely, but I really don't see why other entire mods with entirely new themes need to be included in Masterwork.

I've decided to stop work on Fantastic and mod collections for this exact reason; there are whole mods hidden in both those and Masterwork that people will never get to see simply because they're mods hidden within another mod. This just makes the whole thing more confusing for people. Thus, quite counter-intuitively, the GUI is one of the least user-friendly things around for people who want to try mods.

Unfortunately, I have no call to action for this. I'm not in control of the GUI, nor the races. Even if I were in control of the GUI, I would find it very difficult to say to all of the people who had designed races for Masterwork to just pack it all up and move it to vanilla. I do think, however, that the modding community in general would benefit from not having what is, at this point, essentially two separate mod releases subforums, one of which just happens to have a name associated with it.

Note that this is my complaint about the GUI specifically; I have other grievances about the community as a whole, but you can see those just about everywhere, so I decided to start this topic up with a new one.

I wasn't warned to do this (I haven't even derailed much recently), just felt like it was getting annoying.

If I ever feel an urge to derail something again, I'll just quote it, post the quoted reply in here than quote the reply into the original topic, with an encouragement to continue discussion here if at all.

Pages: [1] 2 3 ... 6