12/13/2013
A day spent mostly across the water and otherwise wandering around on various missions. I used the time left to do some sloggish updates with the personality data that didn't take much thinking power (such as which new personality facets determine which ghost types or the writing styles of books, that kind of thing). Tomorrow is only half normal, but I should get a little more done.
Большая часть дня была потрачена на водные и другие путешествия в различных миссиях. Я использовал оставшееся время чтобы сделать некоторые незначительные апдейты с личностными данными, что не требовало значительных умственных усилий (новые грани личности определяют тип приведения или почерк, такого рода вещи). Завтра буду работать только половину от нормы, но я все равно сделаю еще немного.
12/14/2013
One Another day with gallavanting around doing crayon and errands, but I managed to check off some more miscellaneous items. Fixed a problem with necromancers no longer raising the dead, made critters perform their head bumps and so on again, updated the enragement/trance code, and so on. It's notable for this release that the underlying changes to the dwarf AI have touched just about everything, so there are lots of little items like this to catch and clean up (and obviously some will be missed, as usual), but it is the thing that'll make job prioritization and a variety of other customization possible after the release.
Еще один день потраченный на рисунки и поручения, но мне удалось выполнить самые разные вещи. Поправил проблему с некромантами, которые больше не поднимали мертвых, сделал так, чтобы твари могли бить головой и т.п., обновил код транса/бешенства и так далее. Примечательно для этого релиза то, что основные изменения в дварфийском ИИ коснулись практически в всего, так что есть огромное количество маленьких вещей, которые следует отловить и почистить(и наверняка некоторые будут пропущены, как обычно), но это проблемы, которые будут приоритетными для меня, так что после релиза многое придется подгонять и допиливать.
12/15/2013
Today's project was to make good on a statement from back in May that I'd need to handle population duplication issues for all of this new fighting to work correctly. As people that have toyed around with adventure mode generally figure out sooner or later, populations tend to come back in weird duplicating ways, and that is very inconvenient when trying to clear out the sewers, etc. Now that consistent populations matter much more, the issue needed to be tackled, so I gutted various code today and built up a new system of tracking non-historical populations as they move between the three main levels of resolution (in play, as abstract building/dungeon populations, and as abstract site populations) and also as individual population members become elevated to historical status. I ran some characters around a bit and tested some population data dumps over a number of games, and things seem to be working much better. I also updated the player targeting code for shooting and throwing to respect the new conflict system — nothing special like aiming or anything, but as a side effect you can choose to shoot non-hostiles now (there is still no friendly fire if it isn't intended, but you have the option to select them).
Планом сегодняшней работы было разобраться с проблемой, о которой я писал в мае, т.е. устранить баг с дублированием населения, чтобы новая система стычек/восстаний работала как положено. Как рано или поздно замечают все, кто ковыряется с режимом приключенца, население имеет тенденцию восстанавливаться весьма причудливым образом, дублируясь. Это очень мешает, когда пытаешься "очистить канализацию" и т.п. Ныне точность учета населения важна, как никогда, и с ней надо что-то делать, так что я сегодня хорошенько выпотрошил код и создал новую систему контроля не исторического населения: теперь они переключаются между тремя уровнями абстракции (активные в игре, население здания/подземелья и население местности/поселения). Ну и личности, ставшие историческими. Я погонял несколько приключенцев, немного потестировал дампы данных о населении с нескольких миров - вроде стало работать намного лучше. Еще я обновил код, отвечающий за целеуказание при стрельбе и бросках, чтобы увязать ее с новой системой конфликтов. Это не что-нибудь прикольное вроде точного наведения и т.п., но как побочный эффект теперь можно стрелять по не-врагам (пока еще нет ненамеренного дружественного огня (видимо, случайных попаданий по своим. Прим. пер.), но вы можете выбрать их из списка).