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.

Messages - Maklak

Pages: 1 ... 9 10 [11] 12 13 ... 94
151
Mod Releases / Re: Fallout: Equestria (v0.30c) Pinkie Pie is Watching
« on: July 26, 2014, 05:37:01 am »
> I  thought i read somewhere that that was the reason they were holding off on updates,
> so they could dedicate time to fixing whats already there instead of adding new things
As far as I remember, Lycaeon said that he just didn't have the time and energy to develop this mod and that real life took over.

> Could there be an option to pick the Cutie Marks of the ponies you start with? It gets tedious
> to constantly restart to look for the right combinations of cutie marks.
Nope, DF doesn't support it. So unless someone writes a dfhack script or some other tool to mess with castes and attributes, you have to take what you've got or re-roll. That said, it isn't terrible. Even if you don't get the right CM, it is good enough to have a pony of the right race for the job. It may also force you to change your strategy a bit, if you for example get 2 spearponies or something.

> Hey, is it normal for Glowing Ghouls to one shot unarmored ponies, and for a feral ghoul to beat
> a legendary fighter that was recently exposed to said ghoul?
Yep, ghouls are pretty overpowered and scary. Glowing ones have an interaction that cripples all ponies nearby, although Power Armour and Hazmat Suits can protect from that, I think. With blobbing up and getting some lucky shots with rifles you might be able to do something with ghouls in the caverns, but in my experience they tear up even the kind of military that can solo raider squads and keep up with Steel Rangers.

Normal ghouls are pretty bad news too, especially if there is a bunch of them (there always is).

Finally, there are Feral Minotaur Ghoul Reavers, semi-megabeasts who can kill or cripple in one hit. They can be overcome with zerg-rushing them, but expect a few casualties among soldiers with poor shield user and dodge.

(reply to removed removed)

152
Mod Releases / Re: Fallout: Equestria (v0.30c) Pinkie Pie is Watching
« on: July 06, 2014, 03:31:20 am »
> > When she and the team wakes up, parts of their bodies will turn into living creatures
> That's horrifying.
It's basically the only way to spawn new items that involves creatures. There is even a missile that works by separating a body part that seeks target and explodes into dust... which has the unfortunate side effect of regenerating the robot that fired that missile. Anyway, to me the weirdest part was that the ponies stuffed the stuff that spawned from an expedition into coffins, if I remember correctly.

> First, when crafting guns that require schematics (like the combat rifle), do you need a schematic for every build
Schematics are preserved, but there are two problems with them:
* There are few of them, so if you have a stockpile that accepts schematics, one of them will sometimes be reserved for hauling and be unavailable for a job.
* If you profile your workshops to accept only from certain stockpiles, you must do that for all input materials, including schematics.
So probably the sanest way to deal with this is to only have one workshop that makes guns and, not profile it for stockpile and not have a stockpile that accepts schematics. That way they will end up inside the workshop, which is where you want them anyway.

> And for hologem crafting and the such, where do I find clear lenses?
I'm pretty sure, I wrote a guide for this somewhere, but couldn't find it now.
IIRC, there are two kinds of lenses: Clear glass and pristinine diamond. You get diamonds from rock crushing and MAS crates (good luck with that) and they are required for the most advanced stuff. You get clear glass lenses from clear glass industry. I distinctly remember having a magma kiln, magma glassworks and 20+ sand bags in my largest stable. Anyway, I forgot what I needed them for. I didn't make that many AMRs, so I probably needed them for arcane research or something.

When it comes to military, have a melee squad and a ranged squad. It will take years for ranged squad to be any good, but you can later build a concrete wall with fortifications and tell them to "defend burrows" on top of it. If you get a pony with a sniper CM, give him a hunting (not combat) rifle. Basically hunting and AMR rifles use sniping skill, while other ranged weapons use guns skill.

153
Since I got 2 PMs, I just dropped here for a moment and skimmed the last post.

DF wiki once said something about skill levels having a cap at legendary+5 and that quality doesn't improove beyond lvl 20 skill. So I assumed it is reasonable to cap skills there, even if the XP says "level 35" or something else ludicrous.

> However, other parts of the formula are not capped.  Resulting in simulated levels being returned of 30 vs a raw level of 1
I'm not sure what you mean here?
* If function simulate_skill_gain returns more than 20.0, then there is an error in code somewhere in there and debugger should help find it.
* Attributes? Hard capped at 5000.
* Traits? Capped, either yes or no.
* Personality? Capped, 1-100.

> As a level 8 and level 18 are passed up by lower %'s when doing a labor optimization.
For the same learning rate, the function should be monothonically increasing with XP untill lvl 20, where learning rate no longer matters. Maybe theyse guys are passed because they have weak attributes, or too many labours already enabled?

> Splinterz pointed out that the simulated formula returns values above 20 (as high in 30 in my case).
This shouldn't be so. Can you give me the input data for which it fails? And value of max_xp? Besides, it divides by 20.0, so it should return values in <0, 1>

By the looks of it, the easiest fix would be to replace the last line "return ret;" with "return ret <= 1.0 ? ret : 1.0;" but that wouldn't really fix a bug, just mask it.

As for transformation in general, what do you want to accomplish? What skill level at 100% learning rate should return 0.5? Once you decide, it can be adjusted with choosing the right xp_sim, but that's a bit more involved than a quickie I'm writing here. It needs bisection on a weighted mean of levels where their weight is how much XP you need to get to the next level. More or less.

> are we basing sim_xp on 29000 or the highest xp a player has?
sim_xp should be a constant. Sensble values are in <5000, 29000> range.

154
OK, now I understand a bit more and disagree less with your methods, although not quite agree with them.

Yep, (value / max{values}) or my formula for value and skill rate for skills would often result in pretty low skill ratings all arnoud, which would have to be aggregated with a relatively heavy weight. But since I weight skill much above anything else when it comes to labours, I didn't have an issue with it.

Using median as 50%, highest as 100% and 0 as 0% sort of works, except for a few anomallies for low number of Dwarves, similar values, etc. For important skills and 30+ population it should kinda work. Except I can fish out "average for this population" just by looking at (value / max), which also gives me a sort of an "objective" measure of how good the current population is at some taks.

I think we understand "skewed" data differently. For me a population with 0-3 skill is not skewed, it is just how it is. For you it is skewed towards lower values. For me scaling these guys to 0->0, 3->100% is skewed because it hides the information about how good they are objectively, not just relative to each other.

If your optimiser works best with having 50% be the median of the current population, then I don't really have enough info to argue, but I would stil prefer having an alternate rating that I can choose to display, which is pretty much a weighted arithmethic mean of skill rating (with 100% only for 20 skill), attribute rating (value / 5000, weighted for each role), speed and prefenrences. With all the work you did, this should be fairly simple to add.

Quote
When you have all your dwarfs at the same skill level (whether their all level 20 or level 0).  A player would see that all his dwarfs are equal if he sees them all at 50 percent. Unfortunately this is a behaviour of normalizing. Its not bad in itself. It just means it makes no difference who you assign to the task because they are all neutral for said skill.

A player would also see a bunch of 10% OR (in another fort) a bunch of 70% to be about equal, without turning both groups into all 50% (where 50% means different thing in each group).

Quote
i may end up trying to get speed in there as well, but after looking at some dfhack scripts, it's affected by a lot of variables (attributes, terrain, syndromes, curses, and more). but maybe to start just pulling the caste's speed token would help.
There should be a final speed / turn delay somewhere in DF variables, unless it is calculated on the fly by a C function and not cached somewhere in Creature's struct. The important factors are SPEED token, agility, strength, weight of worn equipment and injury (Crutch walkers are slower), so I guess it makes sense if dfhack library can't fetch it.

Quote
your skill simulation is still in there as well, so if you changed the weight on the skill rate, it actually does what it sounds like you expect: simulated fast dwarves are instantly identifiable due to higher role ratings.
Good to hear that. I came here in the first place because my guys had 0 skill, but vast differences in learning rates. Come to think of it, attributes have learning and decay rates too, but those are more difficult to factor in, because attributes train slowly for everyone except military.

Well, you seem to have figured out what you want to do and I'm not able to make a contribution at this point. Maybe I should read up on this ECDF.

I was going to propose that the aggregate function raises sub-ratings to the power determined by their weights, then takes a root of that value of the power of sum of those weights, but that would promote all-arounders (must have decent skill, stats and traits), while weighted arithmethic mean is more forgiving about really poor values when others are high to compensate. Plus it's weights are much simpler to understand. Anyway, I thing I'm blabbering and I'm tired. so goodnight.

155
The order of paragraphs is somewhat random and they're poorly edited, but I finally have some time and energy now.

Hm, this quantile normalisation would be an answer to a problem with weighting entrance exams I've seen a few years ago (there were 5 tests with 50 questions each, everyone took 2, then they multiplied the results, divided them by means for the tests you took and multiplied that by 2500 which gave the final score).

I do not think that quantile normalisation is a good way for sorting INSIDE a role (as it looses information and just gives the order), but if you want to compare roles to each other (weighting them by priority, so that soldiers are more important then farmers), then yes, I think this would work to a degree, but it has it's anomalies, especially for low population. If there is a big gap in skill (say 1+ really good at it and 1+ really bad), that gap won't show in the results. This is why I would prefer normalising everyone's score in a category to 0 - 100, where 100 is current best and 0 is literaly 0 (with no one being this bad). That way I would see a gap (if any) and make a more informed decission.

Quantile normalisation might work as part of aggregating skills, attributes and traits into a final score, I guess.

Another consideration is that quantile normalisation seems made for comparing a small number of data sets. You have so many that a rapid change of values within one (such as a squad dying), won't really show in the means for each rank.

For things like traits / preferneces, I think you'll just need a vector of arbitrary weights for each role, then do a cross product and factor that into the overal rating. It's far from ideal, but it should kinda work. In other words treat each trait as a 0 or 1 (or if you prefer 0 or 100%), then multiply them by arbitrary weights (defined for each role, most of them 0, they can be negative for undesired traits), sum up the results and add that to the final score with a smallish weight.
If you want, you can even sort of scale this "dot product of traits and weights" to 0-100% by taking -sum {abs(weigth)} as 0% and sum{abs(weight)} as 100%. Once you have that, just aggregate it with the skills and attributes into final score.
Quote
if a dwarf has a preference, then it's % value = 1/(# of preferences in role - # of preferences that don't exist in population) % for each preference he has.  This can be used as a simple additive/subtractive value from the role calculation used for ((attributes * weight) + (skills * weight) + (traits * weight)) / (sum of weights) [...]
Ah, you've figured out something like that already.

Quote
Max-min conversion = (x - min)/(max-min)
For attributes, It would be easy to scale them to the current highest, maximum highest for the species (min {5k, 2*max_starting_attribute} or just 5k. Then just give everyone an "attribute rank" of att/max, which would always be bigger than 0 (except odd cases in mods).
My method is better because if the population is oscillating around maximum (say 1200-3000 range), they will all get high scores (66 - 100%), which will not hide information when aggregating with other criteria and result in a more accurate final score and I don't think it can be improved upon.

To me it seems that you fiddle with the numbers until you get something you like without giving it a deeper thought on how or why. By looking at the last 10 or so posts it is obvious to me thet the results are mangled and I shouldn't trust them. This makes me much less eager to suggest anything. I agree with anything that tussock said about it.

Another reason I don't contribute more is that while the problem is certainly interesting and I learned some maths, optimisation and operational research during my studies, I don't have the energy nor the time to work on it. It took me 10 days to even answer. But then I admit that skewed or not, a working labour optimiser would be a useful thing. Especially for newbies or 150+ Dwarves where you don't really care anymore.

Quote
But a high Agility skill 15 miner will easily beat a high Strength skill 25 miner to the job and also mine faster than them until their endurance and persistence comes into play and various ones head off for a drink before finishing.
I've conclusively proven through tests that speed (factring in agility, strenght and SPEED token) improves the speed of working at workshops. My conclusion is that (almost) all actions take a certain amount of "turns" and speed lowers the delay between those turns. So speed should be a factor unto itself for any role and improve all roles equally.

Quote
Like, if my best dwarf is only 37% of the estimated maximum combination of numbers, that could be handy to know.
Yes, this. Also, if I have someone at 235% I don't really care about it being higer than 100%, just that this guy is really good. http://en.wikipedia.org/wiki/Udarnik (That was a joke.)

Quote
Normalising everything, it just seems like you're taking what little accurate data you do have and hiding it under more layers of ... I struggle to find a kind word.
Yep. Just keep it simple and scale by (value / max_value) for every number for everyone. Aggregating this will be more accurate than the complicated thing you're trying to do. Sure, you might not like having a 100% and a 0% everywhere, but I'd find it more informative to know that all my guys kinda suck at this job, so I can pick the most useless ones or that I gave a group of good candidates, then a gap, then poor ones.

Your typical response to criticism is "but we're working hard and our formulae work, how dare you say they have no merit". Well, my answer is that is not how I would go about solving this problem, but you're free to try. Yelling at you would only confuse you and make me look like an asshole.

Communication with you is also difficult. For example your graphs and streams of pre-processed numbers aren't adeqately described and I often can't even guess what I'm looking at. A graph of 1-0 on y axis and what I assume to be spreadsheet row number on the x axis tells me almost nothing. Well, if those are ordered, then ecdf is at least monothonic, while the orange line looks like random noise. But this is really not the level of information, I'd like to derive from a graph and I can't really have an informed discussion without understanding what I'm looking at na what you're doing. At the very least add a 3rd line thats basivally (value / highest_value_everywhere).

I do admire your dedication, though. I have trouble working on one project for a week. 

Finally, too much maths can be a bad thing. It introduces more work and more possible errors where a simpler method would suffice.

Quote
Almost each and every question I've asked on stats.stackexchange I have failed miserably to communicate properly, but I have found my own answers.

The problem is how ecdf returns a %.  It works fine when the data is somewhat distinct uniformly.  [Distinct] Meaning more or less a majority of distinct comparable values.  When you have a set of data that are all the same, or a majority are the same, and if these values are 0 or if these values are either low in the distribution or high in the distribution, can have an affect on the %.
Yep, this is pretty much my argument why this skews the results as compared to simple (value / max).

Quote
Rank() in excel returns the ordinal position of a value from a set of values in a list.  If there is a tie, it returns the earliest position, and skips the next position as it has been taken up by the tied value.  So... if 2 values are ranked at rank 3, the next rank displayed is rank 5.  Another example is if two values are ranked at rank 36, the next rank would be 38; if 3 values were tied at rank 36, the next rank position reported would be rank 39.
Well then, learn some real math software or a scripting language and stop using Excell. Matlab / Scilab / Octave should work pretty well.

Quote
It also means the labor optimizer will treat a [starting embark] population with no shearer skills (a skill only role at the time of this writing) as a 50% drawn value vs 0%.  It's basically saying, this person is neither bad, nor good at this job compared to the rest of the population (as in they are all tied).  This is an important distinction in the behvaior of the labor optimizer, as before no skill meant 50%.  However, as soon as a dwarf starts to improve in that skill, you'll notice a 100% value and a ~<50% value for the rest.  This means during labor optimization, those who are considered truly bad at a job compared to the rest of the population will be scored lowered than these neutral values.  Which means the labor optimizer will assign neutral jobs before bad jobs.  It also means when looking at the screen 50% = good, and your labor optimizer shouldn't be overexhausted to assign values below 50% (as in trying to assign too many labors).
I find this highly undesireable behaviour and it is not how my formula worked at all. For a skill, it was supposed to give 100% only for level 20, then lower (but never quite reaching 0) values as the skill and it's learning rate drop. Then 0 for 0 skill and 0 learning rate.
Telling me everybody has 50% to begin with, then differentiating the values (but always giving me a 0% and a 100% from that point on) is highly confusing. I'd much rather see 5-20% fit on unskilled Dwarves, then the values eventually increasing as they skill up. I mean if a role has a 12.4%, an 8.7% and 2 times 5% (4 Dwarves total for simplicity), that gives me a reasonably good idea of the situation, when I compare to another role. For example I might have someone really talented with spears to the point that it's worth it to make another squad. If all military roles are 0 for current lowest and 100 for current highest, I won't notice it.

Hm, I guess one idea would be to display a score based on (value / max), but highlight them green / red based on how good a Dwarf is compared to other Dwarves within the same role, so that in my earlier example the 12.4% guy gets a green and 2 times 5% get a red.

For a labour optimiser, some roles ashould be more important then others (either by listing them in order or giving them weights), There should be a cap on how many roles a Dwarf can have (or a max counter with roles having different scores). There should also be a counter for how many Dwarfs are needed for a role... and a lot of other variables, but from what I see, you just display the suggestions, not autocommit them to DF.

156
@Telgin:
Hehe. A few years back, I had an urge to finally learn a GUI toolkit to actually be able to write progams with buttons, labels and all that cool stuff. My language of choice was C/C++. I spent a few days deciding which GUI library to learn (QT 4, WxWidgets, SDL 1.2, Allegro, GTK, ...) and got so confused that I chose FLTK in the end (QT is the correct choice).

Now to get it to run I already had MinGW installed, so I tried ./configure and make and... nope, it needed zlib. Then some other libraries. Then an install script for one of those libaries needed a util that injects include and library directories into commands (pkgconfig, I think). All in all it took me about 3 days to resolve all the issues, get FLTK to compile and most of the example programs to run without crashing and I sort of lost motivation afterwards. The list of GTK dependencies was even more scary. Ugh. At least this experience helped me resolve some library dependencies when compiling a project at my first job.

A while later I tried to get Perl to run PerlTK GUI on Windows and... it had a dependency on X-Server, even  though it was supposed to be cross-platform. I gave up. Fsck yourself, Perl.

At my current job I'm working on a C# Windows service billing module that reads stuff from 2 databeses (plus 1 table each from 2 other databases), computes some payments if there are unprocessed tasks in one of the tables, then writes the results to a database. It is currently sitting at around 5k lines of code (according to Visual Studio metrics) and I keep refactoring it and adding stuff to the point that I no longer remember how it all works.
Anyway, my boss tried to install the thing at our client through a remote desktop and we sat for hours and kept bumping into issues like "OK, I need these 4 connection strings", "I need these 30 views in database", "Huh, this table is named differently. And it has one column that's called differently. Whatever, I'll just change our local database to match theirs.", "OK, to start a Windows service you need to run $ installutil <file> from developer command prompt as administrator", "Look, I need a hundred rows of the price tree from our testing database, otherwise it will just throw an exception". Now, these are just the issues with my module. Installation instructions for all of it is approaching a point where it is hard to keep track of all these small issues. Oh and the project is delayed, so 2 weeks ago we were assigned additional programmers who all write their own modules and make ass-umptions (that was a pun) about the rest. Oh joy. I guess there isn't much point in asking for a pay rise (that was a joke).

157
Thistleknot asked me for input on labor optimization, but I just don't have the energy to read through the last two pages. so I don't even understand what you're doing and what you want done.

The problem of allocating Dwarves to jobs is a difficult one, but I have a few ideas which probably won't be of much use.

For something fully automated, you'd need to monitor the time a Dwarfs spend working, how many jobs there are and how long do they wait to get done. Based on this, some Dwarves could get some of their jobs disabled, while idling / peasant population got some labours enabled. But this is probably beyond what you're trying to accomplish here.
It should be a tad easier to just display this statistics and let the player decide "I want between these 2 numbers in this labour" and prefer enabling jobs on idlers. But this is still a difficult problem, especially if you want to take individual Dwarves suitability for various jobs int account.

If sorting by suitability for a job is all you want, then it is an aggregate of a few components:
* How high the skill is. Or rather how long it will take to max it out. I've given some formulas for taking into account the skill learning rates some time ago. Also, low skill combined with very low / disabled learning rates for the caste should pretty much disqualify a dwarf from a labour. (Which is why I prefer geometric (multiplicative) mean to arithmethic (additive) one. (The weights are the powers to which you're raising components)).
For a role you might want a combination of skills.
* Speed, based on caste SPEED, agility, strength, body mass and maybe a few other factors. You'd want to keep the worn equipment weight mostly out of the equation, except if you want to take armour user into account too. Anyway, speed is faster movement, faster attacks and I've conclusively proven that it also means workshop jobs get finished faster. That is, time to finish a workshop job takes a set number of actions, modified by skill. The faster a dwarf is, the less cooldown between actions and the job gets done faster.
* Attiributes and personality Stronger and tougher soldiers are better, Dwarves with high Artistic versatility make better engravings, Epmathic and Dutiful doctors and nurses are better and so on. I think you already did that part.

Anyways, I feel a bit apologetic about not contributing anything useful this time, but I don't have the energy and willpower it would take me to do so, and we'd probably argue anyway. I have a raging anger problem. (That was a pun.) Heck, I barely even visit the forum these days. Besides, I don't use the optimizer myself and just sort by skill. I also haven't used any recent version of DT and stick to v20 which had pretty much everything I needed.

158
I installed perl 5.6 with MinGW a while ago and it stayed. I may be upgrading this computer soon, so I don't feel like upgrading the software. Plus perl 5.6 works well enough for my needs, even though I miss on a few features like switch statements, // defined-or and so on.

Huh, I'm chasing numbers with "@" and they go lower when I catch them.
Code: [Select]
..................2.....................
........................................
.......................####+#####.......
.......................#..#.....#.......
.......................#..#..5.5#.......
..............1@.......####.....#.......
.......................#.2#.4...#....1..
..........5............#..#4.3..#......5
.4......#+#####........###+###+##.2.....
........#.....+..##++###.....3..........
........#.3.5.#..#3#####................
........#.....#5.#.##+##..............4.
........#.....+..#2#..#######...........
........#2....#..#.#..#.1...####+#......
........#######..#.#52#.....#.5..#......
..2..............+###+#.2...#51.2#......
......................#.....#..5.#......
................1.....+...22#3...#......
......................######+#####......
.............3..........................
......1.................................
.......................................>
LV:4 HP:18 >a

159
That looked to ridiculous not to see what it does, so I've run it and:

Bareword found where operator expected at game.pl line 2, near "s/(\d)/$1+$_/erg"
syntax error at game.pl line 2, near "s/(\d)/$1+$_/erg"
Execution of game.pl aborted due to compilation errors.

I think, I've copied it correctly, so maybe perl 5.6 doesn't like it for some reason. Oh well, it is so obfuscated that I won't even try to figure out the error.

160
DF General Discussion / Re: DFDB Remake (moved)
« on: May 29, 2014, 06:16:42 pm »
> Sometimes when you are developing something like this you get lost and forget about what you where trying to do.
I know, having another person comment from a different angle is very useful.

> I got inspired to do this when i first saw the tables made by your scripts in Masterwork's manual.
Heh, nice to know. It also shows how much I neglected my project over the past year, if you managed to do all this and I'm less than halfway done.

> You have lots of experience doing parsers.
Not really. I haven't read any books on the subject and don't even know how things like Parse::RecDescent or yacc work. All I did was parse some text with regexps and put the results in nested arrays and associative arrays. Technically this is fairly easy, but it is a lot of butt in the chair work and a lot of code. Magmawiki was pretty helpful with which tokens are the most important, but I'm partly walking in the dark here. For me, actually knowing the RAWs is a more critical skill for my (and this) project than slicing it up with regexps.

> You are more than welcome to join the project if you would like to create parsers in PHP that could extract data from the raws to an associative array.
Nah, IIRC you already got a Perl teacher who is way ahead of me on the team. Besides, I have little time and motivation these days, never even touched PHP and would rather finish my own version.
If you see anything in my scripts that you'd like to copy, feel free to do it.

My idea for a parser has evolved from full frontal spaghetti code into more modular approach:
* One function to get next token. It is a bottleneck and should be fast, preferably even not based on using a regex to fetch stuff inside [] or the thing that unget token put back. It takes care of opening slurping and closing input files, so tokens are seen as a continious stream with some special tokens "__EOF__" in between.
* One function to unget a token, so that get_token returns it next - this is a very useful feature for backtracking.
* One hash (associative array) of "Master Tokens" - things like PLANT CREATURE ITEM_... and so on.
* One master function to read data. It looks for master tokens, then calls a specific function to read a plant, animal, creature or whatever.
* A number of functions to read specific RAW items, like a plant or a trap component. They return (or store in a global array) associative arrays filled with data from RAWs. These functions should be in their respective modules/classes, along with functions for printing, storing in databse or whatever else you need. They can call some other specialized functions, like "read weapon attack" or "read interaction".
* Since there are so many DF tokens and I'm lazy, I don't read them all. Instead, the "Master function" ignores everything that's not a master token. Specialized functions ignore unrecognized tokens, but on an end of file or a master token unget that token and return so that master can sort things out.
* Avoid regexps where a simple string comparison will suffice. Also, part of the token before the first colon can be obtained at the beginning of a switch statement, then compared multiple times.
* I'm not using a database and you might have some trouble with this approach, because some things I print as columns are actually made of arrays, associative arrays, or multiple scalars under different names, which in a DB this is solved by throwing more tables at the problem.
* I considered writing a function to print a table from an associative array, but it proved to be too much work, compared to every item type having it's own function to print a table without translating it to some intermediate representation first. Those functions use a bunch of global configuration variables that tell them how to begin table, separate columns, etc.

> I am struggling to choose where this thread belongs... It started in the Creative Section, then moved here... hahaha
The most intuitive place for me is "Utilities and 3rd party applications", since that's what this is. I only managed to find it, because of the link in your old thread.

I complain a lot, but I like how pretty and user friendly your tables are (and on a web server, which I don't know how to set up), but not the amount of info provided. Tools to give advice on what is good and what can be worn with what would be great.

Another useful feature would be for items to have links to other items, for example an interaction or reaction chain would be easily navigable with just relative links and anchors on IDs. (I insist on listing IDs in my scripts because then are very useful to modders / advanced users).

> I find that in the current version relevant elements stand out more and the data is thus easier to read. The new interface is a bit too plain or generic.
It is Windows 8 ugly, but functional. I assume there will be a graphical overhaul, but I'd rather see more info in general and no row limit than prettier icons.

161
Updated creature script. Megabeasts and Semibegabeasts are now part of creature class and not misc tokens, sorting is now possible by more columns and importing CSV to a Spreadsheet is supposed to work better, except that it is now worse. This is surprising, because I remember testing this before and spreadsheet treated everything between quotes as one string, even if it had line breaks. Oh well, no one seems to use these scripts to import DF data into a spreadsheet anyway.

162
DF General Discussion / Re: DFDB Remake (moved)
« on: May 29, 2014, 12:14:36 pm »
Comparing this to my somewhat similar, but less user friendly scripts (Which it appears only I and Meph can use.)

http://dfdb.info/
* This is overloaded with graphics and doesn't have enough info (no attacks for example).

http://s503556695.mialojamiento.es/masterwork/items/axes
* 10 items per page as default is insanely low. Fortunately I can set it to a 100, which is still low, but with your division by weapon skill into separate tables it works. Unfortunately it resets to 10 when I navigate the pages.
* I any case, I prefer one big table of weapons, sortable by weapon skill. (Or several tables on one page.)
* Combine Name and Adjective columns - you'll get one free column. In general, I've found that I needed to find ways to conserve horizontal space in my tables.
* Search filter and sorting by columns are nice features. If you can do this, then maybe you could also add a bunch of checkboxes on top to select which columns to display. (I can't really have those features in my scripts due to my lack of skill in Javascript. Well, search works by <Ctrl+F> and I had a sortable table script somewhere, I guess.)

I'm interested how you intend to handle materials. Reading INORGANIC and MATERIAL_TEMPLATE is not a big deal, but there are things like leather, cloth and other materials which I'm unsure how to handle.

In any case, you've motivated me somewhat to keep on working, even though your tool(s) will ultimately win.

BTW, why is this thread in General discussion and not in Modding->Utilities and 3rd party applications?

163
Glad to hear that.

BTW, I'm pretty sure, I've seen a pegasus just hoovering in mid-air and getting thirsty. He managed to land eventually, I think :) And yeah, Derpy flier pathing was a major source of ?fun?, especially with aboveground forts.

164
DF General Discussion / Re: DFDB Remake (moved)
« on: May 27, 2014, 04:17:12 pm »
Posting to watch... although I question why you use so many frameworks for something that would work fine with a bunch of linked static html4 pages, which is my idea of doing something similar. 

165
See if this works then: [abh-wz]

Pages: 1 ... 9 10 [11] 12 13 ... 94