Медленно пиздим о движках, возможностях и программировании игр. Это второй перекатный движкосрачный тред и утонувший почти движкостроительный, который нахуй никому не усрался. Продолжаем обсирать юнити и годот, либо хвалить то или другое в зависимости от своих предпочтений. Вообще, раз умные такие тут все собрались, взяли бы да и запилили свой двачедвижок идеальный все вместе, без пропукиваний.
>>697130 → >Скорее так, есть сложные материалы и есть более простые, если металличность еще нужна практически всем, то эмиссия уже нет. Поэтому всем давать полный шейдер все включено было бы неоптимально. >>697130 → То есть шейдеры обычно распределяются по материалам, а не объектам, верно? Типо, распределение идет так - дерево один шейдер, металл - другой, а стол или стул - похуй, главное вершины чтобы правильные передались
>>697130 → >Шейдер водички это в первую очередь отражения солнышка под хитрыми углами от волн, и движение этих самых волн, а еще всякие преломления, пена, каустика, круги и т.д. а также отражения берега. Эммм, а можно подробнее? Интересно, но не понимаю. Шейдеры же только вершины двигают и пиксели красят, откуда эти преломления, отражения, пена и прочее?
Потому что их подгружает и использует код эмулируемой игры, а вангователь где иикогда и из каких файлов игра захочет их использовать программировать еще не научились.
На реальном железе игра просто грузит уже скомпиленные под тамошний амуде. При эмуляции их нужно перевести в GLSL а потом скомпилить драйверу видеокарты.
>>697166 >Потому что их подгружает и использует код эмулируемой игры, а вангователь где иикогда и из каких файлов игра захочет их использовать программировать еще не научились. ей нахуй знать где и когда их использовать будут? У тебя есть glsl код? Ну так компилируй сиди, чо тебе еще надо, когда спросят - выдашь то, что накомпилировал
Почему все движки такая переусложненная хрень? Хочется просто писать draw() и все Или rect(80,80,100,100) и не думать ни о чем, а под капотом где надо будет спрайт батчинг и другие штуки. Хочется просто писать игры а не листать game programming gems 3 за хуй знает какой год Запилите уже что то простое но капец какое быстрое, создайте на этом самые базовые игры (пакман, мультиплеерные шахматы, тетрис) и все вы восхитительны
То есть это ортогональные понятия. Шейдер - программа, материалы - то, что с помощью них реализуется и показывается визуально. Чо та не понял все равно, можно пример?
Если тебе интересно то иди на Shadertoy и смотри как там с помощью пиксельного шейдера народ разную магию делает, там же можно и поковырять. Да не, там сложно все, наверняка, еще и на английском. Ну объясни ты мне, хоть поверхностно, в двух словах, как это работает. Если бы тебе надо было, ну разве бы я тебе не рассказал, как с помощью шейдеров генерится сцена в openGL
>>697176 Движки это в разы проще. Я вот связался с проектом на three hs, прототип делаю в движке и там это просто накидать на сцену нод, без движка потом это все приходится писать руками, килотонны текста, куча геометрии и матеши, звездос.
>>697158 Да, сначала даже делают сортировку по материалам. У дерева и металла скорее всего будет одинаковый pbr bsdf шейдер просто с разными параметрами блестючести, а вот у полупрозрачной вазы свой. А у человеческой кожи еше один, со своими наворотами. >>697159 Чет лень, раскрашивание пикселей это в том числе свет с учетом нормалей.
>>697181 Создать класс, изьебываться с шаблонами и прочей мутью, читать блог создателей факторио, вы совсем ? все УЖЕ должно быть встроено под капот. Покажите мне хоть одну рабочую хуйню на которой хоть что то можно сделать. За 40 лет развития плюсов ничего рабочего так и неп оявилось Каждый раз люди вынуждлены писать обертку над SDL or OpenGL. Сколько было тредов о том, что человек спотыкнулся об какую то хрень именно ПРОГРАММНОГо характера.
Сравните простую вещь - сколько вам потребуется шагов на создание машинки стоящей на травке в Юнити и в иделаьном движке в юньке вы откроеде тяжеловесный редактор (на старых компьютерах подлагивает) потом IDE (в юньке нельзя писать код) далее импорт потом написание кода на шарпе. Теперь что вы сделаете тут:
car = import3d(car.blender)
loop { drawModel(car) }
Все! Такого нет нигде, никто так и не создал простого функционального быстрого движка с большим количеством примеров.
>>697189 А теперь добавь анимацию работы подвески, симуляцию двигателя, коробки и дифференциалов, симуляцию трения шин с учетом типа поверхности под ними, обнаружение столкновений, и чтобы все это нормально работало на высоких скоростях.
А когда закончишь с этим, приступай к звуку двигателя, следам от шин, дыму от выхлопа и скользящих шин.
Когда справишься, посади в кабину человека и чтобы он руль крутил как надо.
>>697189 > car = import3d(car.blender) > loop { > drawModel(car) > } такое примитивное говно плюс минус и есть в каждом движке/фреймворке от самых групных, до мелких и совсем васянских
>>697189 >drawModel(car) Ты долбоеб и не понимаешь, как компьютер работает. Что должен твой конструктор делать? Куда он эту модельку поставит вообще? Где трава, блядь?
>>697189 Согласен, возможно, я когда-нибудь и сделаю что-то такое. Мне геймдев не очень нравится, вместо этого я делаю свой язык программирования . Он уже почти готов, осталось ещё процентов 60 дописать компилятор. Так вот, после создания моего языка программирования и его компилятора-интерпретатора, я собирался сделать форматы файлов, использующие его встроенную версию для исполнения кода. Одним из первых таких проектов сделать что-то типа shader-toy для генерации картинок или видео из кода. Учитывая то, что мой ЯП имеет мультивекторные инструкции (можно в одну строку провести операцию над большим количеством элементов), то его теоретически можно исполнить ускоряя на видюхе или, хотя бы, на всех ядрах процессора, а перенося в виде байткода или самого кода, использовать и всякие SIMD и другие расширения вашего процессора. А новыми проектами это мой собственный веб с моим маркдаун-лангуаджем и -скриптами. Этот веб будет базироваться на моей ГУИ-библиотеке, которая базируется на SDL2 и моём графическом движке. Так вот, из этого всего может быть, выльется клон флеша и для него надо будет сделать что-то типа объектов, имеющими модель (спрайт, векторный спрайт, 3D-моделька с анимациями) и код и они уже будут исполняться внутри фреймов моего веба и таким образом можно будет создавать игры и запускать используя мой единый монополичный, безопасный и флексибл мойвеб-браузер. То есть это ассеты на моих языках и ваших дравейблах+соундэйблах, исполняемые, возможно, системами (как-то сюда ECS впихнуть?) и рисуемый камерой моего графического движка используя бекенд софтрендер-рейтрейсера (прототип готов), GLSL-рейтрейсера (прототип готов), софтрендер-растеризатора (прототипа нет) или OpenGL (или Vulkan?)-растеризатора (прототипа тоже нет).
>>697273 >в движке без редактора все длеается за пять секунд не делается. дебил >я тебе привел пример блять Пиздишь, ты привел мысли из головы своей, даун
Могу сделать годный двиг (полный аналог движка Painkiller с редактором) за 4 месяца. На это мне нужно 350 тыс. руб, чтоб съебать с вонючего завода и год не работать.
>>697445 Не можешь. Я понимаю, что ты витаешь в мире маня-фантазий, но возвращайся к реальности. Если бы мог - тебе бы не составило труда устроиться на зарплату в 300к/наносек вместо завода.
>>697478 Да нет же могу, за 4 месяца. Мне важна непрерывность, ибо необходимость тащиться на завод очень сильно демотивирует и не дает нужной степени сосредоточения. Я не люблю отрываться от интересных важных дел. Будучи 10 дней на больничном мне удалось сделать 15% функционала.
>>697273 >в движке без редактора все длеается за пять секунд но нормальных движков без редактора быстрых и простых нету Так стоп. Если этих движков НЕТУ. То откуда ты знаешь, как там делается?
>>697275 >и они уже будут исполняться внутри фреймов моего веба и таким образом можно будет создавать игры и запускать используя мой единый монополичный, безопасный и флексибл мойвеб-браузер >мойвеб >мой единый монополичный Был человек, который свою операционку писал. И там в ней свой язык написал, и сам на нём игру делал. Потом вполне ожидаемо шизик стал бомжом и долго скитался. Пока не попал под поезд. Ссылка на вики: https://en.wikipedia.org/wiki/Terry_A._Davis
>>697641 >То откуда ты знаешь, как там делается? В маня-фантазиях безыгорной чмоньки с двача всё просто - игры делаются за 5 секунд, только ты начал фантазировать про игру, хуяк, щелкаешь пальцами и она создаётся сама, материализуется из твоих фантазий. И ничего делать не надо.
>>697646 Есть и местный пример, известный Никита Садков. Он до написания ОС не дошёл, не хватило мозгов, но язык сделал и теперь велосипедит на нём свой движок. Как ни странно, тоже шиз, если кто не в курсе.
>>697774 >Как ни странно, тоже шиз, если кто не в курсе. Подозреваю что многие тут дипломированные в пнд шизы. Вижу их на раз. Большинство просто не палится. Не тот диагноз которым хвастают.
>>697787 Мне стало ощутимо больно от просмотра. Видимо там шиза совсем съела человека. Чёт подумал что не хотелось бы окончить также. Интересно, мои игры также выглядят для стороннего наблюдателя?
Продолжаем обсирать юнити и годот, либо хвалить то или другое в зависимости от своих предпочтений.
Вообще, раз умные такие тут все собрались, взяли бы да и запилили свой двачедвижок идеальный все вместе, без пропукиваний.