Вы видите копию треда, сохраненную 10 сентября в 02:01.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Увидел в конце января новость про релиз SDL3, решил что это знак свыше, и подумал что буду делоть.
Т.к. у меня NIH синдром в терминальной стадии, движок пилю сам.
На момент написания шапки, все на супер ранней стадии, так что см. итт ниже, вдруг прогресс не стоит на месте.

Как вообще по русски gear называется? Эквип?
Ну если у тя 90% экрана занимает эта всратая травка, то можно не поскупиться и тайлинг пофиксить текстур бомбингом
Шейдеры
https://wiki.libsdl.org/SDL3/NewFeatures
Новый gpu модуль, который если я правильно понимаю общий знаменатель вулкана и прочих dx12
Новая аудио-подсистема.
И еще кило-тонна фичей.
Я по сути ничего кроме сетапа окошка, инпута, опенгл и звука не использую.
Что пилишь? Покажи что-ли.

Та по мелочи. Гробота давит.
Написал проверку сегмента против капсуля, чтобы удобней было мышкой выбирать объекты.
Добавил персам слоты эквипа, и сделал чтобы сумка была надета на персонажа, и тогда она уже показывается внизу.
Алсо вкрутил нотификации при подъеме предметов, чтобы звуки играть и всплывашку показывать что предмет добавился.
Надо теперь немножко подлатать менеджмент сессий на сервере, и садится думать что дальше по геймплею прототипировать.
Спасибо за отчёт. Люблю следить за прогрессом разработки.
>что дальше по геймплею прототипировать
Может систему баффов/дебаффов или крафтинг 🤔
Сейчас пытаюсь какой-никакой сурвайвал мод сделать.
Голод ползет вниз или вверх?, и надо ходить искать еду.
За каждую единицу голода потраченную мы получаем экспу.
При этом если ты сытый, голод тратится быстрее и регенит хп.
Мобы сейчас очень злые и отрывают ебало, поэтому от них надо пытаться убежать на спринте.
Надо придумать теперь, как из этого порочного цикла вырваться.
Может надо действительно добавить крафт, чтобы можно было хз, острую палку сделать чтобы больше урона было.
Посмотри вот эту игрушку, она оч неплохо сделана
https://store.steampowered.com/app/1635450/Longvinter/
Играл в старую версию. Было интересно. Но у меня сгорела жопа, когда я сдох и у меня все вещи своровали.
Там интересная социальная составляющая. И в целом всегда есть чем заняться.
Я планирую как и раньше не поджигать жопу людям фулдропом. Скорее всего будут локации с ним, но ты ссзб если пошел туда и потерял шмот.
Чем интересного в соц?
OpenGL
Третья и четвёртая выглядят отлично
На 3 скрине тралалело тралала? Я думал его в тюрьму посадили
Нагоняет интриги, чтобы порадовать карликов (нас).

Ой, не тот скрин приложил. Заблюренный для бусти.

Алсо сделал чтобы предметы которые в стол положили рендерились на нем.
Надо бы боевку прототипировать, но чет пока нет идей.
Ага, я уменьшил эмбиент пока пытался заматчить освещение с блендером для материалов без текстур оказалось что нужна была гамма коррекция.
>Алсо сделал чтобы предметы которые в стол положили рендерились на нем
Вот это прикольно. Нравится, когда разработчик уделяет внимание деталям.

29 files changed, 626 insertions(+), 485 deletions(-)
Берем 2д шум (1 пик из инета). Часто еще используют FBM (fractional brownian motion), чтобы получить более интересные результаты.
Дальше мапим значение шума в каждом пикселе в тип тайла.
Например, если значение шума в пикселе от 0 до 255, мы можем сказать что от 0 до 50 будет вода, от 50 до 80 песок, потом трава и т.п.
Так мы получаем "карту". Ну а дальше уже рендерим как-нибудь. Я пока что просто рендерю тайлы с переходами.
На втором пике мой старый генератор который использует diamond-square алгоритм. Принцип тот-же что и с шумом, но шум более гибкий, потому что не обязательно заранее знать размер карты.
Третий пик - тот же принцип, но вместо мапинга в конретный тип тайла, шум дает нам высоту. Дальше генерим terrain mesh и красим в шейдере мне не нравится как получилось, но щито поделаешь.

Ты начинаешь в зоне C и можешь двигаться в сторону S, где сгенеренные мобы будут жестче.
Каких-бы мне фентези мобов придумать для этих зон, как считаешь, анончик?
в зоне Б точно должно быть опаснее чем в А. при этом в А мобы не такие приставучие хоть и сильные, чтобы у игрока был азарт и возможность на границе А и Эс флексить если вдруг на Эс слишком сложно. На Б можно дальнострелов с кем-то еще, чтобы в середине А не было слишком безопасно, но около Ц больше тех, кто ближний бой
Ууух, какая всратота вышла. Надо дальше крипаться.
И то верно. Я хотел добавить рецепт сундука, чтобы в него можно было барахло складывать, и решил что замоделить свой. Но потом понял что мои текстуры совсем некуда не катят, и вот теперь прокрастинирую в туториалы по текстурированию.
Перепилил кое-какие кишки и начал добавлять ферму.

>Uncompressed Size: 32930
> zlib compressed size: 944, ratio: 0.029
zlib сжимает на 97% данные которые я передаю с сервера на клиент
Что ожидаемо, там в основном нули, потому что данные разложены так, чтобы не надо было их собирать по всей памяти, но из-за этого размер сильно распухает.
Стоит навелосипедить свой кодек ради любопыства, как думаете?
Боевку переделал на более кнопочную. Мобов стало кайтить вполне себе весело.
Пытаюсь немножко vfx делать, сделал слеш шейдер супер простеньнкий.
Надо уй подлатать и ассетов доделать.
Xatrix eto ty?
Дак сделай как в донтстарве, типо просто колизия, кликаешь и она становиться колизией в другом месте.
Или вообще не добавляй двери.
Игра про ферму же, если не от кого дом защищать то и двери нахой не нужны.
> Дак сделай как в донтстарве, типо просто колизия, кликаешь и она становиться колизией в другом месте.
Ага, скорее всего так и сделаю.
> Игра про ферму же, если не от кого дом защищать то и двери нахой не нужны.
Сетевая игра же, очень даже есть от кого защищать.
>Сетевая
Нихуя ты замахнулся.
Че прям сервера держать будешь или игроков на хамачи садить будешь?
Нихуево апнулся, даже не стыдно теперь за тебя.
ну зачем ты его так унизительно проткнул? он же был единственный, кто на этой доске ещё делал игры
>для первой части уже держу
Где поиграть-то можно? Я не понял.
>>30752
>Че прям сервера держать будешь
Проблема онлайн инди-игр даже не в том, что нужно сервер держать - это наименьшая из проблем, решается минимальными затратами (относительно всего остального). Проблема онлайна в том, что онлайн-игра должна быть заточена геймплейно на взаимодействие между игроками, иначе это уже не онлайн, а синглплеер с требованием подключения к интернету. Но если игроков нет, игра выглядит как заброшенный пустырь, и с этого пустыря все убегают, даже если задумка игры их заинтересовала, потому что без игроков в игре делать нечего. Замкнутый круг, который можно разорвать только затратным маркетингом, на который денег обычно нет.
Но даже если хватит начального капитала на маркетинг, и соберётся сколько-то тысяч начальных игроков, вылезает куча других проблем: читеры постоянно ломают игру и их тяжело отследить и прогнать; хитрые игроки находят и абузят баги, нарушая экономику или баланс; прокачавшиеся олдфаги издеваются над слабыми ньюфагами; люди проходят весь контент и уходят, если ты не можешь вываливать на них регулярные обновления; но обновления могут разочаровать. Если за онлайном не следить, он быстро умирает, даже если начиналось всё неплохо. И в одиночку за всем уследить и всё сделать физически невозможно...
Поэтому инди-игры почти не бывают онлайн, а те, что были, зачастую давно мертвы, либо умирают, либо больше не считаются "инди". Это тебе далеко не просто "сервер держать"...

Все так, через все это проходили.
Один из самых частых реквестов был "можно мне то же самое, но только оффлайн, хочу аутировать в одиночку".
В этот раз я попробую заложить возможность эвенчуал селф хостинга.
Из факапов - переход на фритуплей. Когда ты можешь создать учетку на раз два, возникает куча проблем, которые в ином случае можно просто игнорировать. Ну и экономически это тоже неоправдано, если фритуплей не был заложен в основу.
Энивейз, вероятность обсёра более 9000%, и я этим всем занимаюсь просто ради процесса, ну и олдфаги подбадривают.
> Где поиграть-то можно? Я не понял.
расходитесь, здесь не на что смотреть; app/528460/

Послеживаю за твг. А в у вас как дела?

\кстати графикой чем-то похожа на portal knights только щас заметил
И правда. Графика еще не устаканилась, и вряд ли скоро это случится. План научится таки рисовать текстуры и моделить. Посмотрим что из этого выйдет.
Дела норм. Успехов, анончик.
По дефолту будет только общий онлайн сервер.
Со временем релизну версию в которую можно будет играть локально или развернуть свой сервер при желании.
Но это не точно.


Так же их можно класть в повозку, и запрягаться в нее (самому) и тянуть. Без джойнтов в динамике это работает так себе, но пока сойдет.
Мобы делают то же самое.
Из-за этого, мобов очень легко кайтить.
Думаю, какое бы поведение/навыки дать мобам, чтобы кайтить их было сложнее.
>В текущей боевке прежде чем нанести удар, ты останавливаешься, потом делаешь замах, и только потом входит урон по сектору.
Пипец. За такое в стиме отзывы сливают до 20%...

1920x1080, 0:37
Алсо написал шейдер для импакта.

> Что мешает сделать движение и атаки независимыми?
1. Ничего не мешает, я пробовал и мне не нравится как это ощущается.
2. Будет другая динамика боя, мне пока больше нравится текущая. Ты знаешь, что если собираешься нанести атаку - ты будешь прикован к месту, более того, чар сначала повернется на нужный угол. Это делает кайтинг более сложным, плюс в пвп так веселее, потому что каждая атака это риск.
1. Это потребует более сложных анимаций для моделек, которых нет.
> Там есть вайфу материал. У тебя есть вайфу материал?
Будет. В первой части был, но пока не до этого.
На мой взгляд, задержка перед ударом - норм для супермощных приёмов а.к.а. "ультимейт" или хотя б среднемощных приёмов для контроля толпы и т.п.
Задержка перед каждым тычком зубочисткой очень раздражает. Да, ты "рискуешь", но ради чего? У этой зубочистки нет и не будет импакта. Врага не откинет, огромную толпу не засосёт в дыру, ты не нанесёшь критический урон, сносящий 99% здоровья. Смысл останавливаться, если ты мог ткнуть на ходу?
Наверное, я не являюсь целевой аудиторией, но я сравниваю с большинством экшн-игр (т.е. игры без пошагового дробления геймплея). Взять, например, стрелялки: ты можешь стрелять от бедра на бегу, но промахиваясь; можешь замедлиться, повысив свою меткость; может присесть на месте ради точного и сокрушительного выстрела, рискуя своей защитой. Аналогично с почти любой другой экшен-игрой, т.к. динамика геймплея не зависит от декораций игры.
Т.е. суть в том, чтоб оставить задержку для более продвинутых приёмов/мощных орудий, а мелкие, маломощные, базовые атаки сделать быстрыми. Естественно, в классовой игре это также зависит от конкретного класса героя, т.е. атаки мощного танка медленные, "тяжёлые", а какой-то разведчик даже ультимейты кастует быстро и легко, без задержек.
Судя по трейлеру Hades, там очень мощные атаки с одновременным движением героя сквозь врага, т.е. отсутствует "встал на месте и ткнул зубочисткой - абсолютно ничего интересного, лишь нанёс -1 hp".
>потребует более сложных анимаций
В популярных готовых движках есть "смешивание" анимаций: можно сложить движение костей с двух независимых анимаций. Вот у тебя человечек стоит неподвижно, когда бьёт рукой - кости ног никак не трогаются анимацией удара - поэтому ты мог бы автоматически создать анимацию "удар на бегу", суммировав движение нижней половины тела "бег" с движениями верхней половины тела "удар".
Т.е. тебе не нужны никакие "сложные анимации" - достаточно процедурно объединить имеющиеся. Комбинирование анимаций - вообще важная тема, независимо от графики и жанра игры, имхо. Короч, рекомендую эту фичу сделать в движке - даже если думаешь сейчас, что она никогда не нужна будет.
На мой взгляд, задержка перед ударом - норм для супермощных приёмов а.к.а. "ультимейт" или хотя б среднемощных приёмов для контроля толпы и т.п.
Задержка перед каждым тычком зубочисткой очень раздражает. Да, ты "рискуешь", но ради чего? У этой зубочистки нет и не будет импакта. Врага не откинет, огромную толпу не засосёт в дыру, ты не нанесёшь критический урон, сносящий 99% здоровья. Смысл останавливаться, если ты мог ткнуть на ходу?
Наверное, я не являюсь целевой аудиторией, но я сравниваю с большинством экшн-игр (т.е. игры без пошагового дробления геймплея). Взять, например, стрелялки: ты можешь стрелять от бедра на бегу, но промахиваясь; можешь замедлиться, повысив свою меткость; может присесть на месте ради точного и сокрушительного выстрела, рискуя своей защитой. Аналогично с почти любой другой экшен-игрой, т.к. динамика геймплея не зависит от декораций игры.
Т.е. суть в том, чтоб оставить задержку для более продвинутых приёмов/мощных орудий, а мелкие, маломощные, базовые атаки сделать быстрыми. Естественно, в классовой игре это также зависит от конкретного класса героя, т.е. атаки мощного танка медленные, "тяжёлые", а какой-то разведчик даже ультимейты кастует быстро и легко, без задержек.
Судя по трейлеру Hades, там очень мощные атаки с одновременным движением героя сквозь врага, т.е. отсутствует "встал на месте и ткнул зубочисткой - абсолютно ничего интересного, лишь нанёс -1 hp".
>потребует более сложных анимаций
В популярных готовых движках есть "смешивание" анимаций: можно сложить движение костей с двух независимых анимаций. Вот у тебя человечек стоит неподвижно, когда бьёт рукой - кости ног никак не трогаются анимацией удара - поэтому ты мог бы автоматически создать анимацию "удар на бегу", суммировав движение нижней половины тела "бег" с движениями верхней половины тела "удар".
Т.е. тебе не нужны никакие "сложные анимации" - достаточно процедурно объединить имеющиеся. Комбинирование анимаций - вообще важная тема, независимо от графики и жанра игры, имхо. Короч, рекомендую эту фичу сделать в движке - даже если думаешь сейчас, что она никогда не нужна будет.
В той же диабле перс точно так же останавливается для удара/закаста. И только некоторые скилы позволяют двигаться во время нанесения урона, типа вертушки у варвара.
В общем пока что меня устраивает как есть, а там посмотрим.
> Короч, рекомендую эту фичу сделать в движке - даже если думаешь сейчас, что она никогда не нужна будет.
Я то что нужно прямо сейчас не успеваю делать.
Пожалуй что будет сложновато. В SDL есть Renderer, но он очень простенький - по сути только прямоугольники может рисовать и картинки. Банально, текст вывести - уже придется что-то изобретать.
Если опыта мало, лучше взять raylib.

Кто-нибудь знает что делать с оклюдерами? Генерить по шедоумапе на каждый источник света? Это ж писец.
Против вернее получал званию против следовал пойти слышал ордена были он и штаба способности письмах он его что основной старших приказам рыцарей хуже мог генерал не по в подкупил генерала чтобы армии свое получить которые фейль положение.
>Насколько сложно писать игру на %любые_инструменты%
Всё зависит от игры. Крестики-нолики - очень легко. GTA 5 - очень сложно.
>>51161
>Банально, текст вывести - уже придется что-то изобретать.
Была же какая-то отдельная библиотека для TTF шрифтов?..
А, вот же она: https://github.com/libsdl-org/SDL_ttf
...ты же не изобрёл велосипед для вывода текста?..
>>51324
Зачем тебе реалистичные тени реального времени в игре с видом сверху?
Открой исходники какого-нибудь движка типа Godot и смотри, как там...
> Была же какая-то отдельная библиотека для TTF шрифтов?..
Это просто обертка поверх freetype2, которая по дефолту дает апи, которое рендерит каждую строку в отдельную текстуру.
> в игре с видом сверху?
Это 3д, камеру можно крутить, впрочем я ограничу углы наклона.
Затем что я хочу чтобы тени от костра и прочих источников света были нормальные, а не то как сейчас. Плюс, если источник света, например, внутри здания, свет не должен протекать сквозь стены.
Вы видите копию треда, сохраненную 10 сентября в 02:01.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.