crypt of decay - July 6th, 2019 [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

July 6th, 2019

опаньки... [Jul. 6th, 2019|07:10 am]
[Tags|]

нашёл старый-старый баг (красиво посаженый лично мной почти в самом начале ковыряния в коде): ajbsp внутри себя хранит параметры splitting plane для бсп-ноды как интегеры. ойбля.

подробнее: бсп-ноды в думе хранят вершины лайндефа, который был использован для сплита. из этих вершин вавум делает плоскость, которая потом используется при обходе дерева. и всё бы хорошо, но… в оригинальном формате уровня вершины всегда имеют целочисленные координаты. а вот в UDMF координаты могут быть дробными. однако ajbsp всё равно пихает их в инты. после чего вавумчик использует эти округлённые координаты для вычисления коэффициентов уравнения плоскости, и закономерно получает поебень.

штука в том, что standalone ajbsp не умеет в UDMF, поэтому Эндрю не парился. всё остальное там даблы, а конкретно эти координаты нигде не используются всё равно, и смысла их хранить даблом не было. когда я перетаскивал ajbsp внутрь вавумчика, я не обратил внимания. то, что UDMF-карты считаются как пиздец — это я знал. но не врубался, где именно. то, что это от округлений — было ясно, но я читал код, везде даблы — и не понимал. да и вообще я не очень понимал тогда, как работает вавумов рендер.

а сегодня посмотрел внимательно — и ёлы ж ты палы, блядь! быстренько сделал даблами — и херак! UDMF-карты, которые раньше адово глючили, внезапно стали нормально рисоваться и ходиться. заодно там был ещё один мелкобаг с лишним вызовом «чистилки» дерева, которая нужна только для негл-нод. также это, скорее всего, был и источник странных багов с неправильным определением текущего субсектора (оно тоже делается по bsp).

возможно, я ещё что-то проглядел, но уже этот фикс починил овердофига.

также сделал простенькое рихтование полученых вертексов в 16.16 — возможно, это починит рандомные «прострелы» в клипере (а может и нет, хуй знает пока). в принципе, можно и более грубо рихтовать, наверное — но я не уверен.
Link8 meows|meow!

игры, моды, бла-бла-бла [Jul. 6th, 2019|09:18 pm]
заметка на полях: тратить усилия на поддержку модов в современных ааа-игорях обычно бессмысленно.

пояснение: создавать контент, который будет выглядеть хотя бы не очень уёбищно в такой игре — это овердохуя работы. даже модинг дума3 уже не взлетел, хотя там возможностей как в k8vavoom, а может быть и больше (сорри, не удержался). а вот новые маперы для оригинального дума появляются практически каждую неделю (literally; я почти каждую неделю вижу топик «my first map» на думворлде). ну да: многие из них исчезают после одной-двух карт. тем не менее — пробуют.

новодумный снапмап тоже не взлетел. всё-таки строить карты из префабов не то.

поэтому дум-мап-сцена не умрёт ещё очень долго. у оригинального дума низкий порог вхождения, отличный геймплей, огромная юзебаза. и хотя многие восхищаются огромными картами с кучей деталюшечек, играют в основном в намного более простые карты — для создания которых не надо вырисовывать кривульки.

не зря пипл креативит в майнкрафте: он (майнкрафт) уёбищен, конечно, но там тоже низкий порог вхождения.

summary: графоний убил мод-сцену современных больших игорей. пока не появится технология каких-нибудь воксельных миров, где можно будет ваять просто «отламывая куски породы», и автоматического детализирования — мод-сцена так и будет еле-еле подавать признаки жизни. ну, и бурлить в старой классике.

примечание: нет, новомодные «ретро-фпс» какие-нибудь не взлетят. классике прощают хуёвый графоний и ограничения именно за то, что это классика. а подделка под классику — это всегда подделка. к тому же они обычно всё равно на новомодных движках, где делать карты сложнее.


p.s.: виноват, не уточнил: это относится в основном ко всяким шутанам, причём не military. то есть, к игорям, где собирать карты из префабов неинтересно. в ропогэ история вообще другая, а в military shooters всё равно все карты одинаковые, один хуй.
Link23 meows|meow!

navigation
[ viewing | July 6th, 2019 ]
[ go | Previous Day|Next Day ]