Хочу начать заниматься руссификацией игр на некоммерческой основе. Английский знаю хорошо. Работать с файлами, шрифтами и т.д. и т.п. не могу и не хочу, хочу просто переводить. В идеале бы найти какую-нибудь небольшую тиму и с кайфом работать над переводами. Но где найти такую тиму? Где найти единомышленников? С чего вообще вкатываться и как начать этим заниматься?
На самом деле их два. Первый - выпустить игру строго под, например, 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 для изображений и байткод версий скриптов. Короче будет весело
https://gigahrush.bileter.workers.dev/
Что есть на данный момент:
1) Абсолютно бесплатная веб версия https://myindie.ru/games/game/gigahrush будет ещё полноценная пк версия ещё больших масштабов, но когда-нибудь позже.
2) А-лайв система. Каждый житель живёт и умирает в гигахруще даже когда его не видят - полностью самостоятельно. Да, в сралкере 2 не шмогли сделать, тут смогли.
3) Графика в процессе запила, сейчас по большей части процедурная.
4) Текст в лучших традициях потраченного повествования.
Свой 2,5D движок, поддерживающий одновременно симуляцию 16 тысяч жителей гигахруща.
Если есть желание посодействовать, то милости просим в нашу дружную команду строительства гигахруща.
Описание: Идёт по дороге Шалтай-Болтай на встречу приключениям.
Жанр: Полторамерный по-экранный платформер
Страничка: http://regames.ru/fun/shaltay/
Прогресс: Сделано 12 из 60+ игроэкранов.
0) Название игры
1) Движок
2) Жанр
3) Сингла/Мультиплеер
4) Краткий лор
5) Прочее (на усмотрение)
Шапка: https://hipolink.me/godothread
Предыдущий 81: >>1092274 (OP)
---
Maintenance release: Godot 4.7.1: https://godotengine.org/article/maintenance-release-godot-4-7-1/
Все версии, скачать: https://github.com/godotengine/godot-builds/releases
Из прочих обновлений:
— Добавлены здания академии и мастерской единорогов, в первой идут полезные улучшения, во второй — создание машин
— В портале есть улучшения единорогов и силовой щит для зданий и башен
— Самим единорогам добавлен силовой щит и групповое выделение, а также индикаторы изученных способностей по цветам
— Группы единорогов теперь могут перемещаться, не путаясь в четырех копытах, включая диагональное движение
— Полноценные задания на картах, включая необязательные и журнал сообщений
— Вся системная игровая обвязка с главным меню, настройками, профилем игрока и даже отключением озвучки единорогов
— Множество исправлений и улучшений, включая графику и звуки.
Сама игра была полностью переработана в движок на связке C++/ZetScript и теперь возможности по созданию кампании возросли безмерно. Исходный код проекта остается открытым, доступен на github.com/tereshenkovav/UnicornExpansion по лицензии MIT0
Сборки сейчас выполнены для Windows 10/11 (требуется 64-битная версия), Linux (аналогично нужны 64 бита), а также, всякими хитростями, для Windows 7 (требуется максимальное число обновлений системы, иначе не запустится).
Где можно скачать проект, без SMS и регистраций :-)
- В релизах гитхаба, последний релиз - 0.4.1 github.com/tereshenkovav/UnicornExpansion/releases/tag/v0.4.1
- На сайте itch, страничка игры tav-developer.itch.io/unicorn-expansion
Следующая остановка - буду делать уже большую кампанию и улучшать визуал/озвучку, сейчас даже нет менеджера источников звуков, отчего на любом расстоянии от игрока события звучат с одинаковой громкостью, это прям заметно. Работы еще много.
Теперь участникам даётся время поиграть во всё до 14 августа включительно, чтобы составить своё мнение. Затем (или, вероятно, раньше) им будет доступна форма для голосования - проголосовать надо до 17 августа, 23:59 МСК включительно.
!!! Warning! Осторожно! Uwaga! В треде конкурса присутствуют любители устроить срач и помешать нормальному общению участников. Просьба не кормить троллей: игнорировать, не вступать в перепалки и сразу репортить. Спасибо!
Финалки - https://turbo.jam.gd/ru/v0/blog/16-final-versions
Регламент конкурса - https://turbo.jam.gd/ru/v0/rules
Прошлый тред >>1100400 (OP)
Сап, двач. Очередной тредик очердного маминого игродела. Решил я как-то вкатиться в геймдев и срубить легкого бабла. 2 года пилил всратую казуалку для социалок (хотя эффективные менеджеры с умным видом называют это «мидкором»). Итог предсказуем: знатно обосрался и заработал ровно 0 рубасов. На завод идти неохота, поэтому я плюнул на тренды и решил делать то, от чего у меня самого встает.Пока кодил казуальный кал, успел с нуля собрать свой движок (C++ OpenGl/WebGl) и наклепать тонну спайн-анимаций. Естественно, цветастые пухляши для мрачного дарк-фэнтези не годились. Пришлось устроить им тотальный рескин и переписать логику. Попутно выкинул на мороз поддержку первого WebGL. Оставил только WebGL 2, ибо нехуй поддерживать древний кал мамонта, когда хочется графона и красивых шейдеров.Короче, перерисовал локации, наваял шейдеров, собрал билд. Демка готова, тестите.Говном не кидаться (хотя на что я рассчитываю), ссылка ниже
!!! Warning! Осторожно! Uwaga! В треде конкурса присутствуют любители устроить срач и помешать нормальному общению участников. Просьба не кормить троллей: игнорировать, не вступать в перепалки и сразу репортить. Спасибо!
Сдавать игры сюда - https://turbo.jam.gd/ru/v0/submit-game
Демки (38 штук) - https://turbo.jam.gd/ru/v0/blog/11-demo
Регламент конкурса - https://turbo.jam.gd/ru/v0/rules
Прошлый тред >>1098558 (OP)
Привет, меня зовут Александр.
В небольшой геймдев команде я отвечаю примерно за всё, что связано с визуалом и звуком, и ещё частично игровым дизайном. 3D модели, анимация, VFX, SFX, музыка и много чего ещё. Хочется всё уметь, делать быстро и красиво, а в наличии две руки и одна голова. Как со всем этим справиться? Пытаюсь разобраться. Здесь собираю заметки о том, как куб из Blender постепенно превращается в игровой мир и оживает на движке Bevy.
Список можно найти здесь https://turbo.jam.gd/ru/v0/blog/11-demo
Напоминаю, финальные версии игр принимается до 7 августа 2026 года, 23:59 МСК включительно.
релизнутой, в процессе или из фантазии.
Может какие-то гайды есть, основополагающие принципы и т.д. и т.п. Беглый гуглеж мало что дал полезного. Не так ищу или реально ничего нет?
Этот тред буду использовать как блог разработки. Игра про порядочного гражданина, сбежавшего из психдиспансера. По счастливой случайности в соседнем городе оказалась родная бабка, у которой можно пожить, но придется смириться с ее старческими просьбами. По факту сюжета не будет.
Геймплейно в духе Postal 2 с примесью My summer car. Основой будет эксплоринг локаций и расчлененка местного населения.
Сеттинг в стиле пост-ссср. Фишкой будет подталкивание гг к насилию, через очереди, ахуительные истории от НПЦ, не дослушав которые, или убив их, нельзя продвинуться дальше и т.д.
Рабочее название: Torjok/ Escape from Torjok/Sheezoid
Естественно в соло сделать ни postal 2, ни my summer car за вменяемые сроки невозможно, поэтому будет скачено и куплено все что только возможно. Если какие-то идеи будут слишком сложны для реализации/затратны по времени, придется от них отказаться.
Потрачено на текущий момент: $94.35
Долго блевал от лапши в уе, но все-таки пересилил себя. Через неделю начал понимать в нодах, и в структуре. Расковырял Horror Engine, и в целом оказалось все не так плохо.
Цели проекта:
1) Запилить демку за вменяемый срок, и вывалить в ерлиаcес в стим
2) Заставить кого-нибудь поиграть в игру
3) Заработать на пиво
Что имеем на данный момент:
Основа игры это эксплоринг+насилие, поэтому решил начать с эксплоринга. Слепил из ассетов и уроков открывание дверей, тумбочек/шкафов, подъем и кидание легких объектов, перетаскивание тяжелых. Начал разбираться в спавне и декалях.
Дальше в планах система оружия, кулачный бой/мили/огнестрел. Разваливающиеся тела НПЦ, динамические кишки, сжигание/обосывание/возможность харкать в людей. Потом система квестов, создание локаций, и наполнение игры контентом.
Тема конкурса: Больше сила — Больше ответственность
Подробнее + ачивки: https://turbo.jam.gd/ru/v0/blog/9-theme
Регламент конкурса: https://turbo.jam.gd/ru/v0/rules
Всем удачи на конкурсе!