LINUX.ORG.RU
ФорумTalks

Поговорим о майнтесте и его «движке»

 , , ,


0

4

Собственно сюда я буду писать всякие интересные факты, которые можно узнать в попытках запилить мод под эту игру (пусть будет минибложек, у мертвопрога есть, у метапрога есть, теперь и у меня есть). Ну для затравочки начну с самого интересного:

1. Майнтест не умеет в альфа канал. Точнее умеет, но только для воды. В остальных случаях блок должен быть абсолютно прозрачным или абсолютно непрозрачным. Т.е. никаких вам полупрозрачностей (привет окрашенному стеклу и всяким интересным эффектам, например попытке запила инструмента, который бы показывал какие-то мультиблочные штуки, как их надо строить). А всё потому что разработчики основного движка не осилили z-буффер. Помогать им я не намерен, когда всё настолько плохо что нет полноценного z-буффера, то надо переписывать всё с нуля, а разработчиков бить по пальцам, чтобы больше не говнокодили. Такие дела.

2. Система крафта говно. Нельзя взаимодействовать с метадатой при крафте, вместо этого захардкожена починка инструмента, та-дам в коде на крестах в основном движке игры.

ЗЫ

Ребят, если вы когда-то кодите, пожалуйста, думайте головой как это делать.

★★★★★

Последнее исправление: peregrine (всего исправлений: 1)

upd

первый пункт всё же решается, через не особо документированную фичу, а именно use_texture_alpha = true, вот только искать её пришлось у сторонних разработчиков модов.

peregrine ★★★★★
() автор топика

но упомянутые тобой товарищи не допущены до толксов, ты откажешься от спецразделов?

Shulman
()

А майнтест до сих пор на Иррлихте?

А есть открытая альтернатива сделанная по уму? Периодически проскакивают воксельные хэлоуворды, то ка Годо, то на Урхо3д, и на либгдх тоже, но дальше не идёт. Оьсюда вопрос а сколько бы надо было сил и времени, чтобы форкнуть Майнтест и исправить всё?

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Много. Нужно несколько фуллтайм разрабов. У меня есть идея как можно было бы сделать на порядок лучше, но реализация в одно рыло на каком-нибудь вулкане, это несколько лет работы.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от peregrine

Ну ладно, VulkanRT. Там в пукан новую писификацию затащили, оно теперь кроссплатформенное

TooPar
()

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

Такое есть для minetest?

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

Spoofing ★★★★★
()
Ответ на: комментарий от peregrine

но реализация в одно рыло на каком-нибудь вулкане

Minetest хоть запускается.

MOPKOBKA ★★★
()

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

Не играю в кубач уже лет 10, но в оригинальном майнкрафте были кубики из стекла и льда чуть ли не с первых альф, в майнтест их что не завезли?

TheAnonymous ★★★★★
()
Ответ на: комментарий от TheAnonymous

Из коробки либо полностью прозрачный пиксель, либо полностью не прозрачный на том же стекле, но не завезли. Зато завезли разные угловые ступеньки, правда их крафтить надо, хотя они гибче становятся чем в оригинальном майне.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

Не знаю. Ванильный майн не интересен, с тем же боп-ом и кучей модов уже ничего нету на сайтах.

Майнтест весь из модов.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)

Та там даже в код смотреть не нужно, чтобы понять что это школоподелие.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от peregrine

Ванильный майн не интересен

Разве что какой-нибуть анархосервер.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от peregrine

Такое ощущение, что ты чисто о рендеренге думаешь, в то же время мне кажется, что в майнтесте тебе не нравится именно геймплей. Может с него начать? Ввести продуманную расширяемую механику, а уж рендеринг прикрутишь любой, не?

ChekPuk ★★★
()
Ответ на: комментарий от peregrine

Лучше потыкай veloren, его выгодней допиливать. Или взять хотя бы воксельный движок, на котором он написан. Кстати, он под вялендом крашится.

InterVi ★★★★
()
Ответ на: комментарий от ChekPuk

Мне интересен движок под моды в котором я мультиблоки накостылю.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от InterVi

Есть, я нашел, в первом сообщении написал как можно. Прикол в том что там оно в ряде условий глючит, когда стекло с водой и другим стеклом взаимодействует, потому фичу запрятали поглубже.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от InterVi

Раст не годится для геймдева, как и сишка. Нужны кресты или если нет упора про производительности Java/C#. ООП слишком имбовый для геймдева, где всё про объекты.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Конкретно в случае майнтеста включить сортировку полупрозрачных блоков по глубине/расстоянию.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

При том что наложение одного полупрозрачного энтити на другой имеет вот такую проблему. Конечно тут старьё в плане OpenGL, но суть осталась. Она довольно тривиальна, но её надо решать.

ЗЫ

Что говорить, я в майнтесте головой качаю и небо светлеет и темнеет )

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Ceiling_QB

Чуть медленнее и на ней намного меньше разработчиков, чем на js-е, что на самом деле критично для таких проектов как майнтест, в котором есть какой-никакой движок, а игру не завезли (при том что ему лет дофига он как альфа майнкрафта в плане контента, только без мобов). Ну и метатаблицы с таблицами из которых Lua состоит чуть более чем полностью на любителя.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от peregrine

При том что наложение одного полупрозрачного энтити на другой имеет вот такую проблему.

Если ты внимательно прочитаешь заметку, на которую ссылаешься, заметишь, что z-буфер используется только для непрозрачной геометрии. Он решает похожую проблему, да. Но она другая. И поэтому решение заточено под другую проблему. Для каждого пикселя экрана хранится цвет и глубина. Если новый треугольник генерирует пиксель с меньшей глубиной, то цвет и глубина перезаписываются. Это позволяет не беспокоиться о порядке рисования непрозрачных треугольников. Но в задаче рисования непрозрачной геометрии нет надобности хранить все загороженные треугольники. Однако если треугольники частично прозрачные, нужно хранить их последовательность, а этой информации в z-буфере нет. И места под неё даже нет.

Она довольно тривиальна

Смелое утверждение. Почему-то адекватную полупрозрачность многие считают сложной проблемой, а она, оказывается, тривиальна.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Смелое утверждение. Почему-то адекватную полупрозрачность многие считают сложной проблемой

Зависит от понимания сложной проблемы. Конкретно эту более-менее решают во всех серьёзных движках. А вот проблема которую решает GPT3 сложная.

peregrine ★★★★★
() автор топика
Ответ на: комментарий от peregrine

Конкретно эту более-менее решают во всех серьёзных движках.

Как-то решают. Но проблема от этого тривиальной не становится.

Вот, к примеру, прозрачность в Unreal Engine 4. Там сфера то появляется, то исчезает. А вроде серьёзный движок.

i-rinat ★★★★★
()
Ответ на: комментарий от peregrine

Кстати, вот сравнение Minetest со включенным и выключенным z-буфером: https://imgur.com/a/BBADPQU. Как видишь, в нормальных сборках он всегда включен.

i-rinat ★★★★★
()
Ответ на: комментарий от peregrine

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

AKonia ★★
()
Ответ на: комментарий от AKonia

три фанатичных месяца в свободное время

Можно, но надо очень точно знать стек технологий. Ну и да, очередной кривой клон майнтеста не нужен, нужна одна штука с киллер фичей, которую будет очень непросто внести в те же майн и майнтест без значительного перепахивания всего ядра этих игр.

peregrine ★★★★★
() автор топика

https://imgur.com/a/iKxfYVI

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

@peregrine, похоже, не удосужился даже минимальное исследование произвести перед тем, как громкими словами кидаться. Возможно, это когнитивное искажение, вызванное нехваткой опыта.

i-rinat ★★★★★
()

Я лет шесть назад из-за отсутствия альфа-канала был вынужден красить блоки, чередуя нужный цвет с прозрачными пикселами. Рябь была лютая! Обидно, что так и не завезли.

Princesska ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.