опаньки... |
[Jul. 6th, 2019|07:10 am] |
нашёл старый-старый баг (красиво посаженый лично мной почти в самом начале ковыряния в коде): ajbsp внутри себя хранит параметры splitting plane для бсп-ноды как интегеры. ойбля.
подробнее: бсп-ноды в думе хранят вершины лайндефа, который был использован для сплита. из этих вершин вавум делает плоскость, которая потом используется при обходе дерева. и всё бы хорошо, но… в оригинальном формате уровня вершины всегда имеют целочисленные координаты. а вот в UDMF координаты могут быть дробными. однако ajbsp всё равно пихает их в инты. после чего вавумчик использует эти округлённые координаты для вычисления коэффициентов уравнения плоскости, и закономерно получает поебень.
штука в том, что standalone ajbsp не умеет в UDMF, поэтому Эндрю не парился. всё остальное там даблы, а конкретно эти координаты нигде не используются всё равно, и смысла их хранить даблом не было. когда я перетаскивал ajbsp внутрь вавумчика, я не обратил внимания. то, что UDMF-карты считаются как пиздец — это я знал. но не врубался, где именно. то, что это от округлений — было ясно, но я читал код, везде даблы — и не понимал. да и вообще я не очень понимал тогда, как работает вавумов рендер.
а сегодня посмотрел внимательно — и ёлы ж ты палы, блядь! быстренько сделал даблами — и херак! UDMF-карты, которые раньше адово глючили, внезапно стали нормально рисоваться и ходиться. заодно там был ещё один мелкобаг с лишним вызовом «чистилки» дерева, которая нужна только для негл-нод. также это, скорее всего, был и источник странных багов с неправильным определением текущего субсектора (оно тоже делается по bsp).
возможно, я ещё что-то проглядел, но уже этот фикс починил овердофига.
также сделал простенькое рихтование полученых вертексов в 16.16 — возможно, это починит рандомные «прострелы» в клипере (а может и нет, хуй знает пока). в принципе, можно и более грубо рихтовать, наверное — но я не уверен. |
|
|
игры, моды, бла-бла-бла |
[Jul. 6th, 2019|09:18 pm] |
заметка на полях: тратить усилия на поддержку модов в современных ааа-игорях обычно бессмысленно.
пояснение: создавать контент, который будет выглядеть хотя бы не очень уёбищно в такой игре — это овердохуя работы. даже модинг дума3 уже не взлетел, хотя там возможностей как в k8vavoom, а может быть и больше (сорри, не удержался). а вот новые маперы для оригинального дума появляются практически каждую неделю (literally; я почти каждую неделю вижу топик «my first map» на думворлде). ну да: многие из них исчезают после одной-двух карт. тем не менее — пробуют.
новодумный снапмап тоже не взлетел. всё-таки строить карты из префабов не то.
поэтому дум-мап-сцена не умрёт ещё очень долго. у оригинального дума низкий порог вхождения, отличный геймплей, огромная юзебаза. и хотя многие восхищаются огромными картами с кучей деталюшечек, играют в основном в намного более простые карты — для создания которых не надо вырисовывать кривульки.
не зря пипл креативит в майнкрафте: он (майнкрафт) уёбищен, конечно, но там тоже низкий порог вхождения.
summary: графоний убил мод-сцену современных больших игорей. пока не появится технология каких-нибудь воксельных миров, где можно будет ваять просто «отламывая куски породы», и автоматического детализирования — мод-сцена так и будет еле-еле подавать признаки жизни. ну, и бурлить в старой классике.
примечание: нет, новомодные «ретро-фпс» какие-нибудь не взлетят. классике прощают хуёвый графоний и ограничения именно за то, что это классика. а подделка под классику — это всегда подделка. к тому же они обычно всё равно на новомодных движках, где делать карты сложнее.
p.s.: виноват, не уточнил: это относится в основном ко всяким шутанам, причём не military. то есть, к игорям, где собирать карты из префабов неинтересно. в ропогэ история вообще другая, а в military shooters всё равно все карты одинаковые, один хуй. |
|
|