Re
Тем не менее, к пайплайну это относится примерно никак. Графический пайплайн — это буквально последовательность: 1. Разметка вао-вбо и прочих буферов 2. Отправка в эти буферчики данных 3. Запуск какой-нибудь шейдерной программы 4. Получение результатов 5. Повторить по необходимости. Всё. Если что, напоминаю: разные движки как правило напротив максимально абстрагируются от этого барахла, позволяя переключать бэкенды (опенгл-вулкан-метал-директикс-программный рендеринг) чуть ли не на лету. Вычисление физики на другом ядре или на гпу? Нет разницы. В движке это будет одним и тем же, просто функции "вычислять" по-разному называются — одна отправляет на другое ядро, другая отправляет на видяху. Движку вообще пофигу. Графическому пайплайну что характерно тоже.
Ты пропустил пункт командных буферов. Которые можно свапать и дальше выполнять асинхронно, использовать в многопотоке. Можно долго говорить о пайплайнах, их много и каждый имеет место быть. Компьюты это не бонус, это то на чем многое строится дальше. Многие системы и они должны знать о твоем рендеринге. Потому что внезапно от твоей логике на компьюте будет решаться что будет рендерится. Если у тебя рендеринг в другом потоке... В общем все это единый механизм. Разница начинается с поддержки дров, как это работает на GPU \ CPU. Как ты можешь или не можешь реализовать те или иные фичи. Где и какие устройства будут это поддерживать и как тебе это контролировать. То есть все. OpenGL идет на спад и будет идти, это факт. Можно защищать его сколько угодно и использовать, пока тебе это нравится или есть ТЗ. Для меня очевидно что будущего за ним нет. Разница между OpenGL и условным SDL GPU велика. Результаты тоже в среднем лучше. Второе тонкий слой над похожими современными API. Батчинг делается по разному на OpenGL \ Vulkan и на втором это можно сделать намного перспективнее. Но это все детали реализации игрового. Но мы что то отдалились от реальной сферы применения. Компьюты и OpenGL это только ПК(с некоторыми оговорками). Что уже убивает многое и мне даже этого факта достаточно что бы не тратить время на него. При том что если брать только ПК и сравнивать OpenGL 4 \ DX 11.Второе сильно лучше работает и бонусом закрывает некотрые консоли. Нормально работает с DXVK. То что на OpenGL можно сделать многое и в среднем это даже будет работать. Согласен. Но для будущего это лично мне не по пути. Через 5 лет я вижу себя в 3д, на движке в котором OpenGL нету. Для своих поделок мне OpenGL тоже не особо перспективен. Добавлю что все это важно для меня не с точки зрения разработчика движка, мне это все важно с точки зрения разработчика игры! Я не хочу думать как внедрить компьюты в рейлиб например. В ловке 12 я беру и юзаю, знаю что есть нюанс совместимости и учитываю только его. Примерно как в Годоте, имхо поудобнее даже. На рейлибе я должен плясать между разными версиями либы, что уже немного не удобно. От этого дальше и строится вся моя позиция по поводу движка, апи, паплайна. Я не хочу тратить лишнее время на выкрутасы, придумывания велосипеда или еще чего то. Мне нужна технология в которой я уверен и она помогает реализовать мои идеи. И тут для меня Love2D начинает выигрывать с обычного рисования спрайтиков. В том числе благодаря вулкану. Тесты были с разыми беками ловки. У вас может быть иная позиция, иные цели, иные задачи. Все это понятно. Для меня факт что OpenGL для меня не актуально. Даже если концептуально можно что то повторить, технически это разный опыт. В целом лично я кажется все сказал, для себя закрою тему, а так готов послушать ваши истории, цели, мотивации.
Snusmumriken
Ты пропустил пункт командных буферов. Которые можно свапать и дальше выполнять асинхронно, использовать в многопотоке. Можно долго говорить о пайплайнах, их много и каждый имеет место быть. Компьюты это не бонус, это то на чем многое строится дальше. Многие системы и они должны знать о твоем рендеринге. Потому что внезапно от твоей логике на компьюте будет решаться что будет рендерится. Если у тебя рендеринг в другом потоке... В общем все это единый механизм. Разница начинается с поддержки дров, как это работает на GPU \ CPU. Как ты можешь или не можешь реализовать те или иные фичи. Где и какие устройства будут это поддерживать и как тебе это контролировать. То есть все. OpenGL идет на спад и будет идти, это факт. Можно защищать его сколько угодно и использовать, пока тебе это нравится или есть ТЗ. Для меня очевидно что будущего за ним нет. Разница между OpenGL и условным SDL GPU велика. Результаты тоже в среднем лучше. Второе тонкий слой над похожими современными API. Батчинг делается по разному на OpenGL \ Vulkan и на втором это можно сделать намного перспективнее. Но это все детали реализации игрового. Но мы что то отдалились от реальной сферы применения. Компьюты и OpenGL это только ПК(с некоторыми оговорками). Что уже убивает многое и мне даже этого факта достаточно что бы не тратить время на него. При том что если брать только ПК и сравнивать OpenGL 4 \ DX 11.Второе сильно лучше работает и бонусом закрывает некотрые консоли. Нормально работает с DXVK. То что на OpenGL можно сделать многое и в среднем это даже будет работать. Согласен. Но для будущего это лично мне не по пути. Через 5 лет я вижу себя в 3д, на движке в котором OpenGL нету. Для своих поделок мне OpenGL тоже не особо перспективен. Добавлю что все это важно для меня не с точки зрения разработчика движка, мне это все важно с точки зрения разработчика игры! Я не хочу думать как внедрить компьюты в рейлиб например. В ловке 12 я беру и юзаю, знаю что есть нюанс совместимости и учитываю только его. Примерно как в Годоте, имхо поудобнее даже. На рейлибе я должен плясать между разными версиями либы, что уже немного не удобно. От этого дальше и строится вся моя позиция по поводу движка, апи, паплайна. Я не хочу тратить лишнее время на выкрутасы, придумывания велосипеда или еще чего то. Мне нужна технология в которой я уверен и она помогает реализовать мои идеи. И тут для меня Love2D начинает выигрывать с обычного рисования спрайтиков. В том числе благодаря вулкану. Тесты были с разыми беками ловки. У вас может быть иная позиция, иные цели, иные задачи. Все это понятно. Для меня факт что OpenGL для меня не актуально. Даже если концептуально можно что то повторить, технически это разный опыт. В целом лично я кажется все сказал, для себя закрою тему, а так готов послушать ваши истории, цели, мотивации.
Бтв. Технологии существуют чтобы решать конкретные проблемы. Не "крутые штуки это крутые штуки потому что это круто", а "у меня есть проблема, и я хочу её решить". Пока, я увидел только проблему "рейлиб не протянул (элементарный кейс) из 2000 спрайтов на экране, а лове потянула". Это — совсем не то что требует вулканов. И точно не требует компутерных шейдеров.
Vlad
Так никто же не говорит не используйте. Я лишь указал что технические вопросы есть и они не пользу рейлиба. Про обучение тоже вопрос в перспективе спорный. Пайплайны меняются и технологии тоже. Инди геймдев и так застрял в opengl, в котором тяжко поддерживать кроссплатформенный код. Так что методика обучения на старом тоже вопрос дискуссионный. И никто ничего не обсирал, это сухие факты. Сама по себе мысль меньше значит хуже, не здоровая. "Только рейлиб устарел, в три раза менее производительный и в целом имеет явный акцент на петы. А на ловке делают игры. Вот и думай..." Технически устарел, ты сам это утверждаешь. Производительность сам можешь посмотреть. По готовым играм кажется все понятно. Можно сравнить по ITCH. Не понятно где принижают что то? Кто то сказал плохо рейлиб нельзя использовать? Или что это кусок плохого кода? Но если ты посмотришь ветку выше, ты найдешь сообщение где что то обсерают. Как всегда сообщение непонятно зачем.
Ты сейчас привёл свою цитату и сказал, что я это говорю. Шиза, да?
Re
Ты сейчас привёл свою цитату и сказал, что я это говорю. Шиза, да?
"Рейлиб в целом — это проект одного человека, который всячески старается избегать сложных в поддержании фич. " Я это говорил к этому.
Vlad
Лол
Vlad
Вы меня простите, но это уже конченная логика
Re
Технически устарел. Никто не говорил мешает или нет. Называю вещи своими именами. Хотя стоп. Спрайтики рисует хуже.
Vlad
Так никто же не говорит не используйте. Я лишь указал что технические вопросы есть и они не пользу рейлиба. Про обучение тоже вопрос в перспективе спорный. Пайплайны меняются и технологии тоже. Инди геймдев и так застрял в opengl, в котором тяжко поддерживать кроссплатформенный код. Так что методика обучения на старом тоже вопрос дискуссионный. И никто ничего не обсирал, это сухие факты. Сама по себе мысль меньше значит хуже, не здоровая. "Только рейлиб устарел, в три раза менее производительный и в целом имеет явный акцент на петы. А на ловке делают игры. Вот и думай..." Технически устарел, ты сам это утверждаешь. Производительность сам можешь посмотреть. По готовым играм кажется все понятно. Можно сравнить по ITCH. Не понятно где принижают что то? Кто то сказал плохо рейлиб нельзя использовать? Или что это кусок плохого кода? Но если ты посмотришь ветку выше, ты найдешь сообщение где что то обсерают. Как всегда сообщение непонятно зачем.
Вот этого я тоже не понял. Где эта мысль звучала?
Snusmumriken
Технически устарел. Никто не говорил мешает или нет. Называю вещи своими именами. Хотя стоп. Спрайтики рисует хуже.
Ты делаешь на раулибе любой опенгловый пайплайн который хочешь. Автор просто этим не занимается. Разным людям (и разным движкам) могут потребоваться разные пайплайны. Для решения разных, игроспецифичных проблем.
Re
Это как то меняет тот факт что не рисует? Есть технология А и технология Б. Б работает лучше. Зачем мне брать А и изобретать колесо?
Snusmumriken
Там больше библиотек, там уже написана собственно движковая часть, там есть курсы. Так почему?
Re
Почему ты на лове2д а не на юнити, когда юнити работает лучше?
юнити работает не лучше. в этом отношении
Snusmumriken
юнити работает не лучше. в этом отношении
Раулиб тоже работает не хуже. Оно немного в другом направлении.
Snusmumriken
Просто конкретно тебе, конкретно в твоём случае, конкретно с твоим объёмом знаний и навыков и хотелок что-то писать и хотелок чего-то НЕ писать — зашла ловка. Это буквально всё.
Vlad
Почему ты на лове2д а не на юнити, когда юнити работает лучше?
Мне кажется, не стоит кормить этот спор. Он слишком любит спорить насчёт таких вещей.
Re
Просто конкретно тебе, конкретно в твоём случае, конкретно с твоим объёмом знаний и навыков и хотелок что-то писать и хотелок чего-то НЕ писать — зашла ловка. Это буквально всё.
скорее статистически ловка для игр из под коробки. рейлиб сделай сам. скорее для обучнеия. немного веба и джемов. не для полноценных игр, как показывает практика.
Snusmumriken
скорее статистически ловка для игр из под коробки. рейлиб сделай сам. скорее для обучнеия. немного веба и джемов. не для полноценных игр, как показывает практика.
Ловка тоже ещё какой "сделай сам". Ты пробовал там делать 3д? Я — да. У раулиба это внезапно из коробки. У ловки нужно изобретать СТОЛЬКО велосипедов, и столько ручками прописывать пайплайнов, что ты задолбаешься.
Snusmumriken
скорее статистически ловка для игр из под коробки. рейлиб сделай сам. скорее для обучнеия. немного веба и джемов. не для полноценных игр, как показывает практика.
Поэтому статистика не котируется. Они просто немного про разное. Раулиб пытается поддерживать всё подряд "но слабо", если ты хочешь углубления — делаешь сам. Лове2д строго фокусируется на 2д, а остальное ты делаешь сам.
Snusmumriken
Притом, у тебя настолько простенькие примеры, что они легко реализуются и там и там. Просто в раулибе надо чуть больше разбираться, а в лове чуть больше автоматики под твой конкретный случай.
Re
Поэтому статистика не котируется. Они просто немного про разное. Раулиб пытается поддерживать всё подряд "но слабо", если ты хочешь углубления — делаешь сам. Лове2д строго фокусируется на 2д, а остальное ты делаешь сам.
Если честно я не очень понимаю этого. ловка. Отличный текст. Примитивы со сглаживаниям(у рейлиб только с автосглажвианям). Очень легкое апи для шейлеров. Физика. Разные спрайтбатчи и работа с ними. Системы частиц на CPU. Можно еще что нибудь вспомнить. Рейлиб 3д, все остальное уступает имхо. Lua тоже сильный плюс в разработки игры. Есть конечно исключения. вы например фанат C# \ С++ или еще чего то такого. То тогда рейлиб смотрится получше. Надеюсь к 13 версии ловку тоже отделят от Lua.
Vlad
Вангую, динамический язык без типизации
Re
Ты буквально цитируешь меня: Раулиб пытается поддерживать всё подряд "но слабо", если ты хочешь углубления — делаешь сам. Лове2д строго фокусируется на 2д, а остальное ты делаешь сам. И конкретно тебе, конкретно в твоём случае зашла лове2д.
Я ее воспринял немного иначе. мол есть 3д, 2д и все подряд. Но там нет физики, систем частиц... в общем не важно. ДЛя меня это сильно разные инстурменты. Отдельнее ловки есть в роадмапе насколько я помню. И да, я считаю что язык Lua уже немного устарел. Я считаю что такая хорошая основа, может ложится в основу других движков и все это пойдет напользу.
Snusmumriken
Луа физически не может устареть.
Re
Луа физически не может устареть.
Для тебя. Для других может.
Snusmumriken
Форма колеса — может устареть?
Snusmumriken
Устаревание — это пожалуйста в сторону тех кто бегает и прыгает за модными фишечками. Раст — может устареть, потому что он соревнуется. Плюсы — могут устареть потому что они в целом тоже соревнуются. А ещё местная стдлиба зависит от железок и оси и версий установленных библиотек. Луашка физически не может устареть.
Re
Форма колеса — может устареть?
Lua не форма колеса. Love2D это Luajit. Без него все сильно грустнее. И в целом по этой причине есть ряд платформ где ловка работает хуже. Да и в целом, lua скрипты да. Мне нравится. Полноценные системы, нет. При этом Lua как язык многих реально отпугивает. Будь Love2D отделена, она бы получила дополнительную популярность. Что немаловажно.
Vlad
Пойду я отсюда, пока опять ругаться не захотелось..
Snusmumriken
Lua не форма колеса. Love2D это Luajit. Без него все сильно грустнее. И в целом по этой причине есть ряд платформ где ловка работает хуже. Да и в целом, lua скрипты да. Мне нравится. Полноценные системы, нет. При этом Lua как язык многих реально отпугивает. Будь Love2D отделена, она бы получила дополнительную популярность. Что немаловажно.
Каким волшебным образом, в 2003 году работал, например Crimsonland, где было буквально по 2-3к анимированных монстриков с искуственным интеллектом на экране в 2003 году на офисной машине, а количество новых декалей в секунду зачастую переваливало за пару сотен? На третьем пентиуме? С 128 мб оперативки? (опенгл кстати) Не потому что там сишка.
Re
Каким волшебным образом, в 2003 году работал, например Crimsonland, где было буквально по 2-3к анимированных монстриков с искуственным интеллектом на экране в 2003 году на офисной машине, а количество новых декалей в секунду зачастую переваливало за пару сотен? На третьем пентиуме? С 128 мб оперативки? (опенгл кстати) Не потому что там сишка.
Ты явно думаешь что мир будет жить как раньше. Но этого к сожалению не будет. Мир игр , это мир хитов. Где ты или попадаешь в яблочко или увы пролетаешь. Время самое ценное и к сожалению популярность инструмента сильно улучшает экосистему.
Daniil
Немного не в контексте. Но заметил, что у меня снова пропал канал pro.lua... Вам там не одиноко в этом pro.lua? :-) Что-то мне подсказывает, что оттуда выкинуло и забанило не только меня, с таким странным охранным ботом-то...
Re
Это абсолютно не связано с технологиями, особенно сейчас.
Это сильно зависит. Как думаешь, сколько людей напишут скрипт на луа. И сколько людей соберут рейлиб. сделают туда красивые шрифты, допилят его под себя и.тд. и.т.п
Snusmumriken
там кстате не мало, но точно не могу сказать исходники движка не видел.
Ноль. И тех и других и третьих. И базовые шейдерчики из стора.
Snusmumriken
у тебя есть исходники GameMaker?
Я имел ввиду игру. Но гамак в 2013 году не использовал никаких компуте шейдеров, тогда и концепции такой не было.
Re
А какие хорошие альтернативы видятся?
Из языков? не очень понял к чему вопрос
Snusmumriken
было в DX.
Вулкан выпущен в 2016, игра на версии гамака 2012-2013
Snusmumriken
было в DX.
Но ты не видишь сути. Делай сраную игру. Графон и список технологий не делает их хитами.
Snusmumriken
Крузис — нафиг никому не был бы нужен если бы не рекламная кампания размером с космос. Да, на графоне там был акцент. Но рекламную кампанию никто не отменял.
Snusmumriken
И наоборот. Никто не мешает тебе сделать хит из палочек и точечек на опенгле. Вон, Тоби Фокс справился.
Snusmumriken
Графический пайплайн и игры — связаны КРАЙНЕ мало и опосредованно.
Re
не понял как связан DX \Vulkan? Но да ладно. При чем тут графон. Графон должен работать на огромном кол-ве устройств. GameMaker работает так что на нем не разработчик, может написать вменяемую игру и она будет работать на большинстве устройств. так же как в годот. и апогей всего этого юнити которая на 3 головы выше. ВОТ ЧТО ВАЖНО! Что ты взял технологию и она работает для 90% аудитории. Инди хит не станет хитом,если лагает. А человек который делает игру. не может вечно оптимизировать мелочи.
Snusmumriken
Проблемы перформанса — решаются не подключением дикого количества технологий, а прости пожалуйста, применением собственной головы, и НЕ вычислением лишнего.
Snusmumriken
Порой с дымом и зеркалами, ну и насрать.
Re
Ты сейчас буквально говоришь, тратить больше времени на то, что уже должно работать из коробки. Особенно в 2д. Ты предлагаешь тратить больше времени на инструмент. Я предлагаю выбрать лучший инструмент. У всех свой путь.
Snusmumriken
Ты сейчас буквально говоришь, тратить больше времени на то, что уже должно работать из коробки. Особенно в 2д. Ты предлагаешь тратить больше времени на инструмент. Я предлагаю выбрать лучший инструмент. У всех свой путь.
Ты предлагаешь тратить больше времени на инструмент. Не надо выдумывать мои слова за меня. Подразумевается, что рассуждения на тему "современности" движков и их пайплайнов — не относятся к играм. Подразумевается, что рассуждения на тему "производительности" — не относятся к играм. Подразумевается, что список использованных технологий не относится к "хитовости" игр. Подразумевается, что прослойки не заменяют разработчика. Гений напишет три строчки которые будут лагать на китайском квантовом суперкомпутере за 1кккк млрд баксов. Применяющий мозги на чём угодно напишет принципиально что угодно, и будет работать нормально.
Snusmumriken
У раулиба нет ничего что помешает тебе написать на нём хитовую игру, работающую везде. У лове2д тоже. Да и у юнити. Даже у пико8.
Cloop210
Че ты там строчишь, боюсь представить
Snusmumriken
for y = 1, image:getHeight() do for x = 1, image:getWidth() do love.graphics.points(x, y) love.graphics.present() end end
Вообще, лове2д попытается это хотя бы забатчить. Раулиб в целом тоже.
Snusmumriken
Ну вообще играет, как раз present разорвёт батчинг, но и пиксели будут выводиться совсем по одному. Если мы хотим выводить цельную картинку, придётся перемещать презент наружу цикла.
Snusmumriken
Ну вытаскивать его из цикла.
Laimadoo
А разве она будет очищаться?
Snusmumriken
А разве она будет очищаться?
Презент привязан к фреймрейту. Будет не цельная картинка а довольно медленно заполняющаяся, как подгружающийся джыпег. Со включённым всинком, будет скорость заполнения в 30-60-120-144-240 пикселей/сек.
Snusmumriken
Laimadoo
А, ну так я так и планировал
Laimadoo
вообще vsync вырубаем и будет быстрее
Snusmumriken
вообще vsync вырубаем и будет быстрее
А надо? Я предпочёл бы ещё sleep'ов рандомных раскидать.