Lucky
примите поздравлянтий
Anonymous
Да, спасибо
Lucky
я всё ещё безработный
Anonymous
какую работу ищете и где?
Co(n)stantine👨‍🔬
Senior Lua Dev
Lucky
нигде, дома сижу, книжку перевожу на общественных началах. клянчу донат, но не несут пока.
Co(n)stantine👨‍🔬
что за книжка ?
Anonymous
с какого языка?
Anonymous
Санскрит?)
Lucky
с английского Мотор годот за сутки
Co(n)stantine👨‍🔬
@Lucky_Uk
Co(n)stantine👨‍🔬
что за книжка ?
Lucky
до пятого часа добрался https://books.google.ru/books?id=3gBRDwAAQBAJ
Lucky
Челлендж - переводить в день по часу. В перерывах искать деньги на еду.
Co(n)stantine👨‍🔬
О, годно
Co(n)stantine👨‍🔬
Как раз его изучаю
Co(n)stantine👨‍🔬
Godot
Lucky
https://vk.com/godot_rus_docs заходите, деньги заносите.
Lucky
В годот Lua вот-вот прикрутят через GDNative
Tverd
будет интересно, если прикрутят
Anonymous
Все никак не могу вкурить какой смысл в написании игр
Anonymous
Они же не несут полезной нагрузки
fgntfg
Для меня это релакс от сурьёзности бытия
fgntfg
ну и разминка для мозгов
fgntfg
как по мне - отличное хобби
Tverd
можно писать так - "не могу вкурить, какой смысл в %subject%". А туда алкоголь, сигареты, спорт, концерты, телевизор
fgntfg
Всё фигня, кроме пчёл.
Lucky
Для меня игры - смесь науки и искусства.
Lucky
Например цианомирские мисты Или "Project Nomads" (В движке Nebula2 тоже lua)
Lucky
4.5 часа
fgntfg
Эх, возьму корону и переделаю игрульки которые я ещё под Си писал
Lucky
Достойная затея.
Ilya
Все никак не могу вкурить какой смысл в написании игр
если про игры так, то боюсь даже спросить мнение о демосцене ;)
Anonymous
Демосцены крута
Anonymous
Ольд СКОЛ
Lucky
+1 к демосцены
Anonymous
Ребят, а почему луа входит в топ 5 языков, которые не стоит изучать в 2018?
Anonymous
Чесно говоря, я не предстовляю что на нём можно писать)
Anonymous
А его особенности? Например как у с#
Elias
Ещё особенность в том, что очень приятно и просто использовать с C++, особенно если использовать хороший биндинг. Очень легко делать биндинги уже существующих C/C++ вещей, а также добавлять скриптинг в уже написанные C++ программы. :)
Elias
😏
Anonymous
Понятно) Спасибо за объяснение) Будет 8 язык) что то он меня заинтересовал
B
Когда слышу от людей про немалое количество языков, простите, всегда вспоминаются комментаторы говорящие что начали с питона а там как по накатанной неделька на джаву столько же шарп а про плюсы так то вообще как ребенка избить 😄
Lucky
Думается мне, что все эти рейтинги языков интересны только мамкиным программистам.
Lucky
Они же их и составляют, одной рукой мышью копипастя, другой - в носу прочищая.
Snusmumriken
А я тут балуюсь с box2d. Есть тема с разрушаемыми объектами, нарезаемыми clipper'ом. Карочи, можно мутить body с кучей маловершинных фикстур, при столкновении с чем-то интересным - создавать "полигон взрыва" и обрезать им фикстуры.
Tverd
от баловник ))))))))
Tverd
кто-то обещался про карты и чанки рассказать....
fgntfg
Берешь карту, рубишь на чанки
fgntfg
😆
Tverd
/рассказ про рисование совы/
fgntfg
Tverd
во! то что нужно, только про карты и чанки такое же
Ivan
кто-то обещал ревербератор на луа написать
Tverd
это в другой группе )))))))
Snusmumriken
Ну блин, чего там рассказывать :< 1. Есть карта. Это типа табличка. Можно двухмерную (удобно для сравнения координат), можно линейную но с переводом x-y в линейное значение. Ну типа: `tbl = { {chunk1, chunk2}, {chunk3, chunk4} }` или tbl = {chunk1, chunk2, chunk3, chunk4} - с трансляцией в координаты. Чанк - это тоже табличка. На ней кусок карты. При рендере карты - проходим по чанкам которые влезают в экран и рисуем их. При генерации шумами - вычисляем абсолютные мировые координаты ячеек в чанке и загоняем в функцию генератора карты, которая принимает координаты и выплёвывает текущий блок. Если нам надо выгрузить чанки в которых нет никаких изменений - удаляем их нафиг, если надо подгрузить - генерируем по новой. Если кто-то что-то в чанке построил/изменил/перекопал - записываем в файл разницу между чанком и функцией генерации, типа только изменения. А в будущем - считываем из файла фигню, и если она есть на данных координатах - подставляем её а не содержимое функции генерации.
Snusmumriken
Изи ))
Snusmumriken
Сова готова
Snusmumriken
Co(n)stantine👨‍🔬
Это, что на луа + с/с++?
Snusmumriken
https://love2d.org Вся логика/генерация/физон на луях, рендер и события мыши/клавы - плюсы.
Tverd
Ну блин, чего там рассказывать :< 1. Есть карта. Это типа табличка. Можно двухмерную (удобно для сравнения координат), можно линейную но с переводом x-y в линейное значение. Ну типа: `tbl = { {chunk1, chunk2}, {chunk3, chunk4} }` или tbl = {chunk1, chunk2, chunk3, chunk4} - с трансляцией в координаты. Чанк - это тоже табличка. На ней кусок карты. При рендере карты - проходим по чанкам которые влезают в экран и рисуем их. При генерации шумами - вычисляем абсолютные мировые координаты ячеек в чанке и загоняем в функцию генератора карты, которая принимает координаты и выплёвывает текущий блок. Если нам надо выгрузить чанки в которых нет никаких изменений - удаляем их нафиг, если надо подгрузить - генерируем по новой. Если кто-то что-то в чанке построил/изменил/перекопал - записываем в файл разницу между чанком и функцией генерации, типа только изменения. А в будущем - считываем из файла фигню, и если она есть на данных координатах - подставляем её а не содержимое функции генерации.
благодарю, есть откуда начинать
Snusmumriken
Читай про шумы карочи, там специфическая логика но как вкуришь - становится просто и офигительно.
Tverd
чанки только граничят друг с другом или на границах накладываются?
Snusmumriken
Физон тут через hardon collider, то есть каждый кирпичик - отдельный объект в коллайдере. Это конечно можно упрощать.
Snusmumriken
Поэтому граничат.
Tverd
понятно, гуд
Snusmumriken
Для пущей оптимизации можно вычислять чанки, в которых в данный момент находится объект (ААВВ), и выдирать из чанков ближайшие кирпичи, сравнивать коллизию с ними.
Snusmumriken
Не, дорого. Когда у тебя пара сотен активных объектов - дорого.
Snusmumriken
Выстрел из дробовика парой десятков пуль превращается в Адъ. А в мультиплеере - вообще кошмар.
fgntfg
рейкастинг спасёт отца русской демократии
Snusmumriken
Нит )) Есть методы проще.
Snusmumriken
В общем, если с чанками написать методы типа chunk:getNeighbor('left') с логикой зацикленности - можно рисовать надыбать миры. Правда, область видимую камерой и обсчитываемую физоном мы получаем условно "по кругу" (на самом деле чуть иначе, вычисляя границы) от чанка в котором находится центр камеры, и объекты стоит телепортировать на краю карты на другую сторону для пущей зацикленности. Шумы тоже стоит сгладить на стыке, а то будет резкий перепад.
fgntfg
Если у тебя карта генерится шумами, то можно как в infDev (и позже) кубах
fgntfg
то бишь генерить карту только в радиусе N чанков от играка и хранить всё что нагенерил
Snusmumriken
В оперативке. На диск сбрасывать только то что игрок успел испортить, и не чанки целиком а условно списки "координаты -> изменения".
Co(n)stantine👨‍🔬
А чо как начать прогать на Love, вот скачал я love 11.0.0 win 32, там 2 бинарника love.exe and lovec.exe и при открытии появляется такое😄
Snusmumriken
Ты справился с половиной задачи