"Патриот" - кампания для T2 в разработке

Автор Zontik, 29 февраля 2012 09:58:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Zontik

Все пойдет в релиз, фразы заняли свое законное место в архиве. Там тоже были свои сложности, насколько я помню, но все преодолели совместными усилиями.
Дайте глазам отдохнуть! Тёмное место

Zontik

Давненько сюда не заглядывал. Но вот назрел повод: история, которой хочется поделиться.
Вчера вечером работал в одной локации, выделенной с помощью инструмента Area. Это означает, что вся остальная часть уровня была деактивирована, проще говоря - временно превращена в твердое тело. Ну то есть ее как бы и нет совсем: она не обрабатывается движком, не отображается в окне редактора и вообще не мешает жить.
Я настраивал одну довольно хитрую систему, а в ходе испытаний приходилось стрелять из лука в цель, достаточно мелкую, чтобы часто промахиваться. В локации пока нет ни одного AI - их очередь еще не пришла; правда, незадолго до того я поместил одного персонажа на уровень, чтобы проверить его реакцию. Проверил и вышел без сохранения. То есть на описываемый момент локация была совершенно пуста, а соседние - полностью отключены.
Мне трудно описать свое изумление в момент, когда, в очередной раз промахнувшись с выстрелом и спровоцировав громкий лязг стрелы о железо, я услышал сзади торопливые шаги, чье-то угрюмое бормотание - и обернулся как раз вовремя, чтобы увидеть обрушивающийся на мою голову молот.
Тут я допустил глупость. Надо было немедленно вызвать подмогу в виде консоли и потребовать у наглеца документы, отдав команду set game_mode_backup 0. Но я растерялся и испугался, поэтому, не долго думая, сбежал в параллельную реальность, экстренно покинув игровой режим. И вот тут-то озадачился по-настоящему. Обшарив всю локацию, я не обнаружил никаких признаков живых существ. Я сделал это дважды, потом вернулся к работе (уже поминутно озираясь, словно параноик), а перед завершением сеанса решил еще раз все проверить свежим взглядом. И снова безуспешно. Прошелся по всем помещениям сначала в игровом режиме - но, понимая, что достаточно разумный AI может легко от меня спрятаться, повторил операцию в 3D-окошке.
Никого.
И на данный момент объяснения этому событию у меня нет. Есть, правда, крайне неубедительная версия - что он каким-то образом просочился из соседней локации. Правда, AI, находящиеся в твердом теле, не активны и не реагируют на раздражители. У них даже анимация отключена. А без анимации им и с места не сдвинуться.
Есть и еще одна версия, которая мне совершенно не нравится: произошел какой-то неочевидный сбой, после которого, вообще говоря, не стоило бы сохранять уровень, рискуя его совсем погубить. Но сделано-то было достаточно много, и достаточно нудной работы. Жалко просто так взять и всего лишиться из каких-то невнятных опасений.
Сохранил на всякий случай обе версии: до и после инцидента. "До" - означает еще до того, как я добавил в локацию первого AI. Это единственное слабое место во всей истории: я все-таки его добавлял, ну а что не сохранился потом - всегда же можно сказать, что я ошибся. И действительно, со стопроцентной уверенностью я уже ничего утверждать не могу. Правда, если бы я сохранился, AI должен был бы остаться хоть где-нибудь, правда?
Наверное, я все же продолжу работать дальше, как если бы ничего не случилось. Буду периодически озираться в игровом режиме и просматривать вид сверху на предмет поиска паразитных AI. И скорее всего, я ничего не найду. И более чем вероятно, что с уровнем все в порядке, а ничего подобного больше не повторится.
Вот только не нравится мне этот мистический оборот. Потому что против мистики я не знаю никаких команд. Ну разве что... авада кедавра.
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: Zontik от 19 декабря 2017 09:58:59
Сохранил на всякий случай обе версии: до и после инцидента. "До" - означает еще до того, как я добавил в локацию первого AI.
Ну а если просто удалить непися в послешной версии?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Scrp007

ЦитироватьИ на данный момент объяснения этому событию у меня нет. Есть, правда, крайне неубедительная версия - что он каким-то образом просочился из соседней локации. 
И вот он тоже сейчас сидит там и думает - что же это было за привидение, куда оно исчезло и зачем искушал его Строитель...
На свете так устроено — правильный путь сначала кажется неправильным. Чтобы испытать нашу веру.

Zontik

Так некого удалять. Ни в одной сохраненке его нет. Он присутствовал только в оперативной памяти, а на диск вообще не записывался ни разу.
Надо будет проверить внешность персонажей из соседней локации, ближайших. Мало ли что нельзя, вдруг при определенных условиях можно?
Цитироватьчто же это было за привидение, куда оно исчезло и зачем искушал его Строитель...
Смех смехом, а у меня бывает похожее ощущение после очередного Alt-E. Вышел и думаешь: как они там без меня?
Но в этот раз было иначе. Я почувствовал себя застигнутым на месте преступления, поскольку прекрасно осознавал: то, что я там делаю, не может понравиться обитателям.
Дайте глазам отдохнуть! Тёмное место

nemyax

Цитата: Zontik от 19 декабря 2017 14:50:50
Так некого удалять. Ни в одной сохраненке его нет. Он присутствовал только в оперативной памяти, а на диск вообще не записывался ни разу.
Могли и правда забыть обнулить где-нибудь память или указатель. А непись по тому адресу ещё лежал невредимый, вот и пролез. Мало ли как они памятью управляют.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Zontik

Проверил смежную область. Рожи по соседству совершенно незнакомые, да и не могли они пролезть никак. И уж тем более услышать шум.
Чудны дела твои, Строитель!
Дайте глазам отдохнуть! Тёмное место

Призрак Boris'а3000

Цитата: Zontik от 19 декабря 2017 09:58:59
Мне трудно описать свое изумление в момент, когда, в очередной раз промахнувшись с выстрелом и спровоцировав громкий лязг стрелы о железо, я услышал сзади торопливые шаги, чье-то угрюмое бормотание - и обернулся как раз вовремя, чтобы увидеть обрушивающийся на мою голову молот.


А ты что, не обессмерчен в редакторе?
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Zontik

По умолчанию - нет. Да и с какой стати обессмерчиваться, если нет угрозы?
Иногда пользуюсь, конечно, чтобы посмотреть - а что будет потом. Но это редкие единичные случаи. А вообще знание о собственном бессмертии здорово расхолаживает, поэтому я никогда не поставлю его по умолчанию. Это еще больше вобьет клин между мной и игроком.
Дайте глазам отдохнуть! Тёмное место

Chuzhoi

Цитата: Zontik от 19 декабря 2017 09:58:59
В локации пока нет ни одного AI - их очередь еще не пришла; правда, незадолго до того я поместил одного персонажа на уровень, чтобы проверить его реакцию.
А тот, которого помещал - был именно такой, который нападал? С молотом?

Цитата: Zontik от 19 декабря 2017 09:58:59
Проверил и вышел без сохранения.
То есть совсем вышел из редактора или просто перезагрузил карту?
Лично я придерживаюсь версии, которую nemyax изложил: персонаж остался в памяти и еще раз предстал тобой как призрак из прошлого. Либо произошел какой-то штучный глюк, который проявляется раз в столетие, и какой-нибудь персонаж (любой) просто телепортировался из любой части карты. Бывает всякое.

Zontik

ЦитироватьА тот, которого помещал - был именно такой, который нападал? С молотом?
Именно. В других частях карты такие тоже имеются, но очень далеко. Услышать не могли, добежать бы не успели, и вообще они были в отключке.
Цитировать
ЦитироватьПроверил и вышел без сохранения.
То есть совсем вышел из редактора или просто перезагрузил карту?
То есть просто закрыл окно редактора. Если ты помнишь, он при этом не выдает традиционного предупреждения "ААААА! СОХРАНИТЬ ЗАБЫЛ!!!" Закрывается молча.
Мог он при таком условии остаться в памяти? В принципе - почему бы и нет, компьютер-то я не перезагружал. Более того, тут же запустил редактор снова.
Цитироватькакой-нибудь персонаж (любой) просто телепортировался из любой части карты.
Говоря по правде, подсознательно я давно ждал чего-то подобного. Но тут уж больно ситуация была подходящая, поневоле задумаешься. Я тут, видите ли, уверенный в собственной безнаказанности творю всякие еретические вещи. При этом прекрасно понимаю, чем занят. И тогда вдруг появляется ОН.
Эта игра никогда не перестанет меня удивлять.
Дайте глазам отдохнуть! Тёмное место

Chuzhoi

Цитата: Zontik от 21 декабря 2017 10:09:16
То есть просто закрыл окно редактора. Мог он при таком условии остаться в памяти? В принципе - почему бы и нет, компьютер-то я не перезагружал.
В принципе - да, мог. Насколько я помню из тех времен, когда занимался C/C++, при закрытии программы память, занимаемая ею, освобождается, но не обнуляется (если, конечно, программа сама не позаботилась об ее обнулении) - то есть все данные, с которыми работала программа, остаются в памяти, хоть и считаются бесполезным мусором. При повторном запуске эта же область памяти снова может быть отдана этой программе, и может случиться так, что программа - если она продумана и написана не очень хорошо - снова примет этот мусор за имеющие силу данные. Тем более что в C/C++, когда выделяется память под переменную, структуру или объект, никакого обнуления не происходит - переменные по умолчанию заполнены мусором и их корректное обнуление/заполнение целиком лежит на плечах у программиста (это было в свое время решено из соображений производительности в ущерб безопасности). Так что такое, теоретически, вполне могло случиться. И, возможно, случилось практически.

Zontik

Цитироватьпеременные по умолчанию заполнены мусором
Да, знакома такая вещь. Даже на уровне редактора работа с переменными непременно требует задания начального значения. Да взять хоть класcическое quest_create_mis goal_state_1 0. Можно проигнорировать ввод этой команды. Но тогда рано или поздно неизбежно кому-то повезет, и цель окажется выполненной прямо при старте игры. Или проваленной.
В общем, я понял одно. Существование призраков в игре можно считать доказанным.
Дайте глазам отдохнуть! Тёмное место

Soul_Tear

У, всего лишь простынь. А картинки где? :no:

Zontik

Дайте глазам отдохнуть! Тёмное место