Комментарии 14
Писать кубический мир на джава - ошибка
Писать кубический мир на юнити - фатальная ошибка
Почему?
юнитибой или защитник джавы?
Вроде бы очевидно по результатам 7DaysToDie , что юнити не для специфичных миров, и у нее была бы куда больше производительности, если бы они взяли на деньги с китстартера разработчика для своего движка, пока еще проект вырос, но в итоги получили, что с 13 по 14 альфу был огромный провал без обновлений, потому что они пытались хоть как-то оптимизировать то, что сделали
юнитибой или защитник джавы?
Ни тот ни другой.
Хорошо, юнити не годится, на а джава чем плоха? Minecraft на java написан вообще-то
И что это говорит?) Майнкрафт BE и на плюсах написат тоже, что дальше?)
Писать кубический мир на джава - ошибка
Т. е. создатели Minecraft Java Edition ошиблись и выбрали не тот ЯП?
microsoft не создатели майнкрафта, они его приобрели уже готовым не в состоянии переписать) поэтому есть БЕ версия
upd. Почему то прочитал ,что ты про майков, но да, люди ошибаются, (Он один делал, никаких создателей в мн.числе) Нотч сделал вещь на джаве по приколу на джаве и она взлетела, у него не было времени и желания учить плюсы, чтобы сделать "правильно"
То что майн популярен , не заслуга джавы, он был бы популярен и на другом ЯП, (тут имхо)даже больше популярен из-за большей производительности и стабильности с модами , будь он на плюсах
Ну я могу на всякий случай рискнуть оставить это вот, но там прямо вообще жесть для фанатов лоу-левела и максимальной производительности (даже когда она в ущерб привычной камере), поэтому вряд ли оно будет сильно в тему. Но…
В целом, если кому-то интересно, но непонятно — спрашивайте :) Но, думаю, у всех и от своих идей-то башка трещит и пухнет, куда уж там мне подкидывать %)
с многопотоками? какая версия гл? суть в том, что дистанцию 256 чанков не надо добиваться в main thread, надо дописать диспетчер-менеджер чанков, который смотрит в мир и в потоках формирует чанк(по-сути инкапсуляция мешера и генератора с сохранениями/загрузками) или 2(скейл только количество воркеров - чанков инкапсулируемых) или 4(скейл только количество воркеров - чанков инкапсулируемых) относительно игрока- тоесть игрок в центре, там на моей тачке если отрубить синхронизацию вертикальную при такой системе 2000-3000 фпс
разница при таком подходе будет только либо использование DSA либо списки-листы по старинке(тогда на легасях тоже заведется), либо 3.3
тоесть у нас многопоточная буферная цепочка обработки чанков
собрали чанк блоков в воркере получили ответ, в другом воркере собрали меш, и он в рендере, и так далее
или у вокрера есть 2 состояни генерировать и мешить(это воркер таск)
соответственно туда заносим уборщика мусора по метке индексов-треугольников, и таким макаром метим в обновлении, система сама пересобирёт помеченные чанки )
тоесть у нас отрисовка по ограниченой дистанции вокруг игрока идёт(потомучто зёрнышко известно) или по пометке пересборки соседей от текущего чанка
это будет работать как во многих проектах в том числе и оригинале, тоесть на примере полёта, подлетая к опр дистанции, впереди чанки появятся по зерну, сзади отгрузятся на диск или удалятся
получается, у нас меняется только буфер количества вершин и индексов, ну там если будете так делать увидете, но работает реально клёво
А тут добавляются нормали, я до конца не понимаю как они работают, но нормали должны быть перпендикулярно плоскости квадрата.
Может сначала надо понять, а потом писать?
Что бы дать инструкцию "как собрать автомобиль", не обязательно разбираться как работает карбюратор. Согласен?


Minecraft на Unity. Построение одного чанка