Доска создана для обсуждения вопросов, связанных с разработкой компьютерных игр. Постинг высокохудожественных webm, движкосрач вне спецтреда и прочая токсичность наказуемы. Аргументированная критика приветствуется.
С 07.02.2025 12:00 по МСК до 21.02.2025 12:00 по МСК будет проведен конкурс Two Weeks Games 29! Это конкурс игр, где приветствуются все: от кодеров вечных велосипедных движков до любителей Ren'Py. Любые жанры и движки разрешены, главное — сделать игру по теме. Можно участвовать соло или в команде.
Темы конкурса: Босс подземелья, Мутация и адаптация. В приоритете на призовые места будут те игры, авторы которых постараются нормально раскрыть обе данные темы одновременно.
Судьи - Gologames, Андрюша и Котёл.
Основной призовой фонд на момент 07.02.2026: 7000 рублей.
Конкурс проходит в течение двух недель. Участник или команда должны объявить о своём участии в течение первых семи дней до 14.02.2026 23:59 по МСК, отправив прототип (демоверсию) своей игры. Соответственно, в последний день конкурса в 12:00 по МСК должна быть отправлена уже финальная версия, иначе вы выбываете из конкурса.
Голосование судей и участников, дошедших до финала, пройдет в период с 23.02.2026 по 01.03.2025. Голосование будет завершено 01.03.2025 18:00 по МСК. Итоги будут подведены в тот же день в 20:30 по МСК.
Задача конкурса - сподвигнуть людей на создание своей игры. Конкурс дружелюбен к новичкам и какого-то суперкачества от игр мы не ждём. Мы надеемся на спокойный формат конкурса, без великих драм и срачей. Не беспокойтесь, ваша игра не останется незамеченной.
Распределение призового фонда и номинации: 1 место – 50% основного рублевого фонда. 2 место – 30% основного рублевого фонда. 3 место – 20% основного рублевого фонда.
Пополнение фонда: 1. В любой момент до окончания конкурса, вы можете пополнить основной призовой фонд в рублях или крипте на любую сумму.
Реквизиты для пополнения фонда: 4100 1781 0315 29 - кошелек ЮМани рубли UQCHT-lSFYjSpbWNwiiR8CSYTIWHlSVgULEGLt9x9m4kivef - кошелёк USDT TON
Отправка игры: 1. Игра отправляется на почту организатору. Отправляйте игру ссылкой на одно из облаков. ЯДиск, Google Drive, Mega, Dropbox или другие адекватные. Лучше всего Mega - бесплатные 20 Гб это круто! 2. Игра должна быть упакована в архив, желательно избежать применения инсталляторов. По названию архива должно быть понятно, что в нём за игра. 3. Вес игры не должен быть более 10 Гб. Билд игры не должен содержать лишнего неиспользуемого контента вроде папки из unity "do not ship", также по возможности используйте сжатие спрайтов/музыки. 4. Рекомендуется приложить к билду скриншоты вашей игры и обязательно сделать readme.
Правила конкурса: 1. Игра должна быть создана в рамках конкурса. В самой игре должно быть упомянуто, что игра сделана для этого конкурса. Выдавать чужую игру за свою посредством минимальных к ней доработок, не допускается. Также к конкурсу не допускаются моды на чужие игры 2. Игра должна соответствовать теме конкурса, а также иным условиям, указанным в посте с объявлением темы конкурса. 3. Команда для разработки одной игры - до 3-х человек, считается за одного участника. Одна команда или соло участник - одна игра. При участии командой, приз делится на всех в равных пропорциях. 4. Длительность игры - не менее 5 минут. В идеале 15-20 минут, за это время игру или какой-то её уровень должно быть можно пройти до конца, и сделать выводы обо всей игре, либо должен закончится 1 раунд. Судьи будут обозревать ваши игры в пределах 20 минут, помните это! 5. Игра должна быть проходимой и играбельной, не содержать критических багов припятствующих её прохождению. 6. Игра точно должна запускаться на 64 битных Windows 10/11, если будет запускаться на Linux - это также приветствуется. В игре не должно быть вирусов, майнеров, вишмастеров etc. Обязательно проверьте свой билд на VirusTotal. Судьи не обязаны запускать игру, если большое количество антивирусов ругается на неё при проверке на VirusTotal, это может привести к вашей дисквалификации. 7. Игра должна быть полностью работоспособной без подключения к интернету. Если игра мультиплеерная, вы обязаны приложить файлы сервера игры к билду и добавить в неё возможность играть с ботами. 8. Контент игры может быть либо сделан участником, либо допускаются и поощряются ассеты, нейроконтент и контент под свободной лицензией из сторонних источников. Использование чужого контента под свободной лицензией, ассетов и нейроконтента необходимо задокументировать в readme и указать авторство. 9. Музыку рекомендуется делать с помощью нейросетей (таких как Suno AI и т.д.) или самому. Стримеры так же обязаны не включать игре иное музыкальное сопровождение, кроме задуманного автором, если в ней используется авторская музыка. Вы можете использовать в игре чужую музыку или 18+ контент, но при наличии в игре таких вещей, необходимо внедрить режим скрытия такового контента для стримеров и ясно предупредить в readme, чтобы стримеры не получали DMCA претензии или претензии за 18+. 10. Оценка любого судьи в два раза весомее, чем оценка обычного участника. Судьи могут участвовать в конкурсе, но с условием, что в случае победы они не имеют право получить денежный приз (в том числе за ачивки). 11. Каждый участник, сдавший финальную версию и не дисквалифицированный за грубое нарушение правил, по желанию может оценивать игры других участников (и свою) в итоговом голосовании, хотя и не может номинировать себя на какие-либо номинации. 12. Призы за крипто-ачивки могут быть получены только на кошельки USDT TRC-20. Рублевые призы могут быть гарантированно получены на кошелек Юмани (без комиссии) либо по достижению договорённости с организатором на бусти (с комиссией). Так же бусти всех разработчиков и стримеров, принявших участие в конкурсе, будут оставлены в конце конкурса, с целью возможности для зрителей дополнительно их поощрить. 13. Время на оценку игр может быть сокращено за счет 1-3 доп.дней на разработку, при необходимости, хотя мы и постараемся такого избежать. 14. Участник, по желанию, может сменить название своей игры после отправки демоверсии и до отправки финальной версии. При этом в readme должно быть указано старое название.
>>1074595 >Нульч был норм оргом На фоне такого и бродячая собака будет норм. >просто оставь, как было и будет норм Нульч как раз и не может с этим справиться и тоже делает хуйню.
Хочу пилить игру мечты - и чтобы мне донатили на запил игры мечты. Дайте пожалуйста примеры игроделов, которые пилят игру и ведут блоги / твиттеры / телеги / тиктоки для продвижения продукта - и имеют успех на этом поприще.
>>945852 Да даже не так было важно что будет сказано а то кто скажет Потому что именно Хаджикано успокаивала меня в начальных классах словами Я считаю что твоя родинка замечательная Фукамачи Если бы это сказал ктото другой это звучало бы как дешёвое утешение То что это произ несла Хаджикано которой не нужно быТамеики сделала глоток и поставила бокал на стол Когда официант вышел Тамеики заговорила снова ло выслуживаться или когото ублажать придавало искренности тем словам Она позволила мне поверить что в этом мире есть хотя бы один человек который не осуждает моё родимое пятно
>>945566 (OP) Сядь мамке на шею. Считай она будет тебе донатить, пока будешь пилить игру мечты. Потом отблагодаришь её, когда разбогатеешь. Всё по чесноку.
Сап гдач. Представляю вашему вниманию игру «ВЕЧЕРИНКА ЧЁРНОГО ГЕРОЯ», фэнтезийную «JRPG», сделанную на RPG Maker VXA. Получился безумный коктейль из разных тематик. Что вы увидите в данном творении: Юмор. Занимает большую часть игры. В основном, посвящен интернету разных эпох. В том числе, есть разные двачерские шуточки. В качестве врагов можно встретить швайнокарася, червя-пидора, пориджа, педобира, упячку. Из играбельных персонажей есть: Алекстайм, Юрий Степанович Рыбников, Ozon671games. Большинство NPC разговаривают цитатами из разных известных (и не очень) мемосов. Одна из последних локаций отсылает к различным крипипастам типа «безногим», «6996», «Вайомингский инцидент», «Mereana mordegard». В целом, получается своеобразная солянка из разных интернет –шуток, нашедших своё воплощение в фэнтезийном мире. Хентай. Во многом, игра вдохновлена потоком японских хентайных игр на RPG Maker’е, в основном, жанра NTR. Поэтому, и тут контент соответствующий. На данный момент здесь 8 NSFW-сцен. Первая повторяет фрагмент мемного порева «Грязная оргия доктора Ануса», героиня дрищет в ведерко. Остальные сцены – анальная ебля и различные варианты изнасилований, дрочка, обсыкание. В дальнейшем планируется добавить много других извращений. Серьёзная сторона. Сюжет повествует о том, как протагонист вместе со своей сестрой и возлюбленной идут в город за покупками, но по ошибке попадают в другой, нищий и бандитский город, и происходит всякая чертовщина. Они встречают местного лидера – «Чёрного героя», попадают на деньги, и приходится выкручиваться, также выясняется, что город покинуть не так-то просто. Позже происходит нападение армии мертвецов, а дальше начинается ЖЕСТКИЙ ЧМОР, юмор выветривается, игра становится жестокой и депрессивной. Геймплей типичный для подобных игр – мы управляем группой из 1-4 персонажей, бегаем по локациям, деремся с врагами, прокачиваемся, смотрим заставки, продвигаемся дальше по сюжету. Игра сделана так, чтобы сильно не напрягать – фармить не нужно, можно пройти с минимальной прокачкой. Враги не нападают из «ниоткуда» как во многих JRPG, да и убежать от них легко. Для разбавки есть несколько мини-игр, например, Pacman-подобная локация, и отлов петухов. Всю оригинальную графику персонажей, порно-сцены и т.д. рисовал сам. Есть несколько исключений в виде портретов незначительных персонажей, + герои типа Алекстайма – по сути, обводилки. Игровая графика (тайлсеты, спрайты-чибики, враги) по большей части, взята из интернета, где-то тоже рисовал сам. Музыка, звуки – взяты из интернета, или из других игр. Время прохождения: 8 часов и более. Сюжет не закончен, продолжение следует. Буду рад любым вашим отзывам и идеям на будущее.
Пытаюсь загрузить файлы, скриншоты в панель создания проекта, как тут все кнопки убираются и появляются только после перезагрузки страницы.А если файл и загрузился, то стоит галочка "запретить скачивание" и убрать ее невозможно и кнопки снова исчезают. Я что-то пропустил? Если можете расскажите/объясните пожалуйста
Всем здравствуйте, посоветуйте пожалуйста девблог раста на мой пк, пишу ночью, поэтому не могу системные характеристики написать. На 240 девблоге на минимальных настройках и разрешении максимум было 90 фпс. Но на компе 16 гигов оперативы, процессор какой то XEON 12 ядер 24 потока на частоте 2.70 работает, видеокарта 550 ti. Буду очень рад если посоветуете.
Жоске кодер ищет работу (могу работать за идею, пока делать нечего). Стек - Java, javascript, rust, pyhon. Какие-нибудь крутые идейки принимаю (даже плагины для майнкрафта)
>>1072971 на расте скрипты для автоматизации писал, на питоне ботинков для тг/дискорд в основном, чутьчуть игры делал и таже автоматизация. На js сайты делал. Крч бОльшую часть задач смогу выполнить.
В общем в момент общения с подружкой игра может рандомно вылететь, при этом ни ошибок ни странного поведения перед этим не возникает. Сколько ни тестил, при компиляции и запуска из движка такого не случается никогда, а в релиз версии сука случается. Тестеров особо нет, так что, кому не в падлу будет, помогите найти при каких условиях вообще случается вылет и вылетит ли вообще у кого-то. Лайфхак для скипа ночи в главном меню нажать ctrl+z появится кнопка скипа. Скачать можно с итч ио. https://totallynotstrayfrog.itch.io/paint-the-fear-in-watercolor
прикольная штука. но что тут особо делать - не понял. прочел на форуме про ужасы в 3:00, зашёл в ванную - пусто. из шкафа вылез монстр и застрял в светильнике. осталось стоять до утра. дальше стало лень мотать время и ждать. в общем, я не понял в чем моя задача. я не понял как монстр мешает мне эту задачу выполнить, и как с ним справляться кроме ожидания. и я не понял зачем и чего мне ждать. пока что игра не работает
лучше сделай на хорошем литературном русском, и переведи какой-нибудь нейросеткой. не говорю врубать графоманию по-полной, просто текст на плейсхолдеры похож, чем на живой текст
архивирование в zip уменьшает размер игры в 3 раза
>>1072851 ты видимо судил только по первой ночи, она нужна только чтобы ознакомиться с первым монстром и что его можно выманить из шкафа и чтобы игрок понял что в игре есть свет и его можно включать, иначе ничего не будет видно, а так же понял сколько вообще идёт ночь, игра начинается со второй ночи где поялвяется второй монстр на 3-й третий собственно, а так да первую ночь можно просто простоять, но я вроде писал в треде про ctrl-z в главном меню, чтобы её скипать, потому что баг с вылетом случается только при диалоге с подружкой
Как обстоят дела с генерацией ассетов для инди игр? Делает ли кто нибудь игры полностью на сгенерированных ассетах, или всё таки стоит изучать Blender?
Стоит, даже если делаешь на сгенерированных ассетах. Нейронки не умеют в ретопологию, тебе всё равно придётся вилкой за ними чистить. И иногда проще с нуля самому всё сделать.
Данный тред создан с целью обсуждения правил будущего конкурса, а также с целью кооперации разработчиков и возможности им найти команду на будущий конкурс.
Предварительно с 01.02.2025 12:00 по МСК до 15.02.2025 12:00 по МСК будет проведен конкурс Two Weeks Games 29! Это конкурс игр, где приветствуются все: от кодеров вечных велосипедных движков до любителей Ren'Py. Любые жанры и движки разрешены, главное — сделать игру по теме. Можно участвовать соло или в команде.
Тема конкурса будет объявлена в момент его старта как и список ачивок, а полный список судей и окончательная редакция правил будут оглашены 25.01.26.
Конкурс проходит в течение двух недель. Участник или команда должны объявить о своём участии в течение первых семи дней до 08.02.2026 23:59 по МСК, отправив прототип (демоверсию) своей игры.
Задача конкурса - сподвигнуть людей на создание своей игры. Конкурс дружелюбен к новичкам и какого-то суперкачества от игр мы не ждём. Мы надеемся на спокойный формат конкурса, без великих драм и срачей. Не беспокойтесь, ваша игра не останется незамеченной.
Стартовый основной призовой фонд: 4000 рублей и 10 USDT. Фонд для ачивок будет расписан позднее.
Пополнение фонда: 1. В любой момент до окончания конкурса, вы можете пополнить основной призовой фонд в рублях или крипте на любую сумму. 2. До 01.02.2026 12:00 по МСК, отправляя 1000 руб и более или 10 USDT и более, вы можете сами предложить ачивку, на которую они пойдут. Для этого после пополнения свяжитесь с организатором через телеграм @romanseopro или почту [email protected] и укажите название ачивки (оно должно быть приличным), а также как можно подробнее опишите условия её получения.
Реквизиты для пополнения фонда: 4100 1781 0315 29 - кошелек ЮМани рубли UQCHT-lSFYjSpbWNwiiR8CSYTIWHlSVgULEGLt9x9m4kivef - кошелёк USDT TON
Если вы ищете команду на этот ТВГ, вы можете заполнить небольшую анкету и оставить её прямо в треде, или отправить её организаторам которые могут попробовать (но без гарантий) подобрать вам команду.
1. Желаемая роль в команде (программист, артист, геймдизайнер, etc.) 2. Ваши навыки: 2.1. Умение создавать игры на движке (Юнити, Годот, Анрил, свой, не умею и т.д.) 2.2. Арт скилы (пиксели, 2д, 3д) 2.3. Дополнительные скиллы (композитор, геймдизайн и т.д.) 3. Примеры работ если есть и желаете показать (не обязательно) 4. Хотите вступить в чью-то команду или у вас уже есть идея игры на конкурс под которую вы ищете команду. Если есть, то распишите вкратце по желанию. 5. Контакты для связи с вами (телеграм, почта).
Также до 25.01.2026 мы ведем набор в судьи.
Мы открыты к сотрудничеству. Если у вас есть идеи, выход на другие сообщества инди-разработчиков, на спонсоров или опытных инди-разработчиков которые могут принять участие в конкурсе в качестве судей, свяжитесь с нами.
Контакты, куда отправлять заявки в судьи, анкеты на поиск команды, а также любые предложения насчет сотрудничества и конкурса: Почта организаторов - [email protected] Телеграм для связи - @romanseopro
По традиции продолжаем кидать скриншоты и видео со своими достижениями и/или деградацией. Мотивируем, советуем, хвалим, конструктивно критикуем — без фанатизма! Разработка игры продолжается, пока в разделе есть хоть одна не доведенная до бамплимита Cубшота.
Раз ТВГ не удался, то начну тред собственной игры мечты.
Плод внебрачной связи Kerbal Space Program и игр жанра Tower Defence. Строй свою башню из составных частей, отбивай волны врагов, спаси анимешный клуб тяжёлой артиллерии от неминуемого закрытия.
Хочу сделать упор на песочность сборки, чтобы турели можно было делать сильно разными.
Что готово: -- Можно летать камерой. -- Можно собирать конструкции из частей -- Детали: блок, база, вращающаяся база, турелька обычная -- СЮЖЕТ (аниме)
>>1071727 >он стреляет в ответ по турелям Обдумывал, что будет, если у турели сломается один промежуточный блок, соединяющий остальные?
Типа: >АБВГД После поломки "В" на сцене останется: >АБ_ГД Если А - это фундамент, что станет с "ГД"?
Варианты, например: - соединится с последним крепким блоком (АБГД); - отвалится и будет физически мешаться на полу; - отвалится и взорвётся, нанеся урон и исчезнув; - отвалится и целиком, бесшумно исчезнет.
>>1071874 >Или у тебя нет независимого урона по блокам? Есть. Обдумывал. Пока разрываюсь между "отвалится нанеся урон по башне" и "Отвалится и исчезнет". Пока склоняюсь ко второму, однако есть вот какие соображения. 1) В KSP отвалившиеся штуки можно возвращать, забирая часть потраченных на них денег. Это как будто бы очень крутая идея и надо будет её спиздить. Но вот будет ли надо для возвращения что-то делать или за отломанные блоки тебе будут просто возвращать часть денег -- хз. 2) Мешаться под ногами там нечему, потому что это всё-же тавердефенс. Если только мешаться врагам как стена, лол. Можно подумать на эту тему. 3) Взрывать башню отвалившимся куском это прикольно, но хороший вопрос как игроку это менеджить. Если развить эту идею то можно, например, "Взрываются только турели, а строительные блоки просто падают", чтобы была мотивация не ставить турель к самому началу башни. Можно поэкспериментировать с этим...
Доброго времени суток, геймдев-анончики. Даже можно сказать, делаем. Собралась небольшая команда из 7 человек: я – кошелек, геймдизайнер, нарративный директор, почти сценарст (и пытаюсь быть продюссером), основной прогер-тимлид (миддл), его подопечный джун, пара художников, один из которых UI-дизайнер и два аниматора-3д модельщика. На музыке стоят Maidcore-артисты, на данный момент участвуют в проекте Chikoi The Maid, Dorei The Maid, Ozoi The Maid и Scythe of Luna. По жанру – ритм-слешер в 2.5D (фиксированная сбоку камера, передвижение только по осям X и Y). Дописан диздок до необходимой на данный момент части, прописан лор вселенной, имеется почти готовый сценарий пролога, надо отредактировать. С начала месяца перешли в активную, насколько себе можем позволить, стадию разработки, есть первые концепт-арты. Ниже концепт-арт Аки, падшего ангела тире паразита ГГ. Если кто желает посмотреть на диздок и лорно-сценарный документ, прошу в ЛС телеги, двач не принимает файлы
Мнение, замечания, критика, возможные шансы на успех?
Сап, аноны. Как можно реализовать механику серфинга интернета? Хочу сделать игру про шизичку сталкершу которая выслеживает адрес рандома в интернете. Можно ли такое закодить на ренпай или лучше на другой движок перейти? Что-то похожее есть в needy girl overdose, но я конечно по другому хочу сделать. Как мне сделать имитацию интернета с сайтами? Как сделать имитацию гугл карт похожую на настоящие? Просто накидайте как вы бы реализовали в теории
Всем привет! Коротко - работаю программистом на галере, девушка хочет освоить 2D и UI, чтобы помогать и получать копеечку, сама академ.худождик т.е база имеется. Столкнулся с тем, что понятия не имею, как помочь ей вкатиться. Конкретная ситуация: нужен тайлсет для проекта (трава и грязь), осознаю, что все, что могу, это показать ей пример. На вопрос "что такое тайлсет" я ответил, но вот "в каком разрешении" меня малость поставил в ступор, так как я привык работать с тем, что дают дизайнеры, нарезать через слайсер, и особо не задумывался, а какими вообще могут быть тайлы. По итогу сидела, вырисовывала 8 тайлов 256x256, ну ладно думаю, в теории должно работать, движок не запрещает такие размеры. Тестирую и понимаю, что центральный тайл не бесшовный, на мой вопрос "почему" хлопает глазами и спрашивает, "а как мне в 9 разных ячейках сделать все бесшовным"? Тут уже глазами начал хлопать я, ведь, действительно, а как? В общем, уперлись. Я пытаюсь найти обучающий материал, почти все адекватное на английском. Я на нем говорю свободно, все мои туториалы на английском, но вот девушке очень некомфортно, да и материал подразумевает владение какой-то базой, с чем у нее проблемы (те же ролики по тайлам подразумевают, что ты уже умеешь их рисовать). Так вот. Посоветуйте пожалуйста курсы или книги, очень желательно на русском языке, которые могли бы дать базовые знания по 2D с уклоном в геймдев (спрайты, тайлы, локации). Нужно какое-то объяснение тому, почему не нужно тратить 3 часа на отрисовку дерева на 4К холсте, который весит 30 МБ, а в игре займет клетку 100x100 пикселей. Я то в движке все ужму, обрежу и установлю как надо (чего порой только художники не присылают), но хорошо было бы ей самой владеть всеми знаниями, чтобы не тратить свое и мое время на ненужные действия. P.S: По возможности посоветуйте нейронки или модели с civitai, способные копировать стиль и создавать ассеты по TxtToImg или ImgToImg. В какой-то момент может понадобится, условно, сотня однотипных столов, и мне бы не хотелось, чтобы она каждый из них отрисовывала, проще ведь ей отрисовать 5-10, скормить их нейронке, а уже нейронка сделает остальные. Во всем вышеперечисленном я могу ошибаться, так как моя задача это писать код, поэтому открыт к диалогу.
>>1070683 Зависит от того, насколько ты безрукий. Потому что если ты безрукий - то лучше заказать фастфудную доставку. А если у тебя есть руки (ты художник) - то лучше найти в команду раба-прогера, а самому творить (в т.ч. с нейронками, просто у тебя есть руки чтобы потом эту нейронку починить/использовать ее как реф). Опять же, это ловушка - думать что нейродебил за тебя все сделает и сделает быстро. Есть места которые нейродебилу вообще недоступны, и тебе придется начать свой пайплайн разработки не с кубов, а с генерации ассетов, потому что если ты не сможешь сгенерировать ассет под кубовую механику - этой механики в игре очевидно не будет.
Как поднять бабла?
Аноним31/07/24 Срд 16:41:23№968463Ответ
Короче, остался месяц до школки, хочеца немного денег нарубить. Хотя бы косаря 2 за август, но как бы и курьером не хочется идти (уже не возьмут, ибо времени мало осталось). Поэтому решил пойти в помойную часть геймдева, типа яндекс игр и роблокса. По ЯИ: Какой движок лучший для клепания однотипного мусора? Я немного изучал геймейер, одну игру сделал на нем для джема (с командой). Вчера начал изучать годот. Еще нашел движок дефолд, вроде совсем простой.
По боблоксу: 1. Что с переводом на карту и как вообще тут получает деньги? Знаю лишь, что игроки покупают за робуксы предметы и как там дальше? 2. Насколько сложно там игры делать?
По обеим площадкам: 1. Вообще есть смысл вкатываться или у меня только на базовое обучение всему время уйдет и лучше потратить время на егэ 2. Нужно клепать простые игры, типа кликеров для яи или эскейпы для роблокса. Но сколько шансов, что моя игра вообще хоть что-то заработает?
Итак, дорогие друзья. Да-да, поздравьте меня. Я наконец нашёл единственный способ уничтожжить статтеринг. На самом деле их два. Первый - выпустить игру строго под, например, 60 гц и принудительно переключать режим монитора игрока (и надеяться, что такой режим поддерживается). И второй, который скорее всего придумали и до меня, но мне за всё это время он не попадался. Итак, в чём соль. Что же такое етот ваш статтеринг? Представим, что у вас есть спрайт персонажа, который движется по экрану. Суть в том, что экран поделен на пиксели, и спрайт как бы прыгает от одного пикселя к другому. допустим, персонаж движется 1 пиксель за кадр. Значит на 60гц мониторе персонаж продвинется за секунду на 60 пикселей, а не 120гц мониторе - на 120. Но мы ведь хотим, чтоб на любой частоте персонаж двигался с одинаковой скоростью. Очень распространенный вариант - умножать скорость на дельту (время между кадрами). Но это и вызывает статтеринг. Потому что ваше расстояние может получиться не ровно 1 пиксель, а 0.7, например. И если вы каждый кадр будете прибавлять 0.7, то увидите следующую картину позиций спрайта: 0, 0.7, 1.4, 2.1, 2.8 при округлении в меньшую сторону получится: 0, 0, 1, 2, 2 видите? в позиции 0 спрайт отрисовывался 2 кадра, в позиции 1 - 1 кадр. потом в позиции 2 опять два кадра. эта неравномерность ведёт к неприятным для глаза рывкам, всё выглядит дёрганым. fixed timestep создан больше для внутренней логики и никак не уничтожает статтеринг. Если у вас игра гладкая и в ней используется вся сетка пикселей (да еще и subpixel rendering), то эффект не так заметен. если же вы делаете pixel perfect игру с условным виртуальным разрешением 320x180, и отрисовываете персонажа чётко в больших виртуальных пикселях, то рывки будут очень заметны. Ну так вот, как же я решил проблему. Очень просто - я намутил обычный пропуск кадров. Только его цель - не повышение производительности, а устранение статтеринга. Тупо берем нашу базовую частоту за 30 гц. Теперь смотрим частоту обновления экрана игрока и находим ближайшее целое значение с нашим шагом. то есть нам доступны такие частоты как 30,60,90,120,150 и т.д. Если угадали с частотой - замечательно, просто пропускаем столько обновлений логики, сколько шагов нам потребовалось. То есть на экране 30гц мы ничего не пропускаем. на экране 60гц мы пропускаем кадр через раз. на экране 90 гц мы пропускаем 2 кадра через раз. если же у игрока монитор оказался 75 гц, что не делится ровно не тридцать, то просто берем ближайшее к нему значение. Это либо 60 либо 90. И всё, дальше по той же схеме. Таким образом состояние всегда будут обновляться равномерно. единственный минус - на мониторах вроде 75, 100, 144 гц, игра будет идти немного быстрее или немного медленнее. самый ужасный случай - 75 гц, так как он равномерно отдален от 60 и 90. значит игра будет идти на 25 процентов быстрее/медленнее. но по мере возрастания герцовки эта разница становится всё меньше. например при частоте 135гц у нас снова одинаково далеко и до 120 и до 150, но теперь разница в скорости будет уже не (75/60), а (150/135), что и без калькулятора понятно. Да, этот способ не подходит для мультиплеерных игр или игр, где важна одинаковая скорость. Спидраннеры могут выставлять нужный режим монитора при надобности. Но вот в играх, где скорость в 75% некритична, это топ способ уничтожить статтеринг. Игра выглядит идеально стабильной. Да, не 60 гц, но на тру пиксель арт стиле вы и так бы не сделали большую частоту. подумайте сами, если у вас сетка 320x180 и вы хотите выжать реальные 60 фпс, значит самое медленное движение в 1 пиксель за кадр даст вам прохождение пути в 60 пикселей за секунду. Это треть высоты. Довольно быстро. условные медленно падающие снежинки вы так не сделаете. 30 гц за базу я взял, потому что это хороший делитель для существующих 60, 90, 120 гц, и при этом не слишком маленький как 15 гц. Так что такие дела. Спустя 2 года борьбы с микростаттерингом, я наконец-то победил его. Ура! В следующих постах расскажу вам про мой топ движок на C + SDL3. Я намутил форт подобную 16 битную виртуальную машину с банковой системой, синтез звука, сжатие lz4 для изображений и байткод версий скриптов. Короче будет весело