Серия «Разработка Игр»

DinoRunner отредактировано

Для ЛЛ ссылка на игру тут

DinoRunner отредактировано Технологии, Разработка, Unity, Инди, Не Steam, Gamedev

Привета! Так случилось что я решил поднять градус разработки и взялся делать проект по крупнее чем простые аркадки, там не то что бы ААА тайтл, но требования я взял для себя по выше.

И не успел я начать как взявшись за управление, обнаружил что в недавнем DinoRunner я настолько закостылил управление, что это даже неприлично. Поясню, управление динозавром было реализовано постоянными импульсами пока скорость не достигнет заданной. Из-за этого появлялась большая инерция и управление было в край неудобным. А так как мне ещё дали обратную связь по игре, я решил всё же поправить положение и сделать игру более удобной.

Так же были ублюдочные коптеры, которые летали из одной точки волнообразным движением, из-за чего задумка появления коптеров на рандомной высоте терпела фиаско. Опять же было поправлено.

Ну и переработал само управление. Теперь не надо бежать персонажем, он бежит постоянно сам. Играется теперь всё двумя кнопками, так сосредоточенность на избегании препятствий выше, ну и ближе к референсу.

Спасибо за внимание, буду рад почитать ваши комменты, я ещё вернусь!

Показать полностью 1

DinoRunner релиз моей поделки

Привета! Для ЛЛ, я сделал уже вторую игру, поиграть можно тут

DinoRunner релиз моей поделки Разработка, Нейронные сети, Технологии, Unity, Gamedev, Инди, Компьютерная графика

Я наконец закончил уже вторую по счету игру. Графика как и в прошлый раз была любезно предоставлена нейросетями. Но в этот раз пришлось изрядно повозится, т.к. анимации я делал всё ещё сам.

Напридумывал много сложностей. Из-за этого управление получилось немного неудобным в мобилках. А конкретно, т.к. был реализован двойной прыжок, пришлось прыжок вывести на отдельную кнопку, хотя без него можно было играть буквально одним пальцем в любой точке экрана. Спорное решение.

Динамический квадрокоптер, тоже довольно извращенская реализация полёта квадрокоптера, увеличила сложность игры, и из-за него пришлось вводить дополнительно наклон головы. Ориентировался я в этот раз на побег Плотвы из киберпанка.

С одной стороны можно было сделать автобег, а с другой стороны тогда преследователь (а он есть кстати) потерял бы смысл, т.к. вероятность того что он догонит игрока стремится к 0.

В целом хоть и много спорных механик и управления, я неплохо поупражнялся в разработке. База из предыдущей игры очень пригодилась, думаю следующий проект будет более продуманный и удобный, т.к. унаследует уже новую базу с довольно разнообразным управлением.

Спасибо за внимание, буду рад почитать ваши комментарии.

Показать полностью 1

Динораннер дневник разработки, часть 3

Вот и подходит к концу разработка простенького раннера.

Предыдущий прогресс

Все планы намеченные были реализованы. Получилось сделать бесконечную локацию. Управление осуществляется на базе физического движка, а не трансформаций, как было в Racing 1.0. В целом, вся разработка предсказуема и практически не возникало каких-то супер сложных проблем.

Динораннер дневник разработки, часть 3 Разработка, Технологии, Нейронные сети, Творчество, Длиннопост

Когда хотел сложностей, а всё пошло по плану

Что планировал в новом этапе:

Разнообразить врагов, сделать несколько видов, обязательно всем сделать анимации.

Потому что основная профессия у меня, художник по анимации, и в этой игре хотелось применить этот навык максимально.

Немного упростил алгоритмы, что-то переработал, сделал удобнее, гибче.

Динораннер дневник разработки, часть 3 Разработка, Технологии, Нейронные сети, Творчество, Длиннопост

Мышь копается в моём коде

Большую часть времени конечно заняло шлифовка алгоритмов и универсализация скриптов. За то, возможно они подойдут для следующей игры, которая только в стадии черновика, но нынешние алгоритмы (а возможно и другие наработки) вполне возможно мигрируют в следующую игру.

Спасибо за внимание, подписывайтесь, следите.

P.S. немного крипоты

Динораннер дневник разработки, часть 3 Разработка, Технологии, Нейронные сети, Творчество, Длиннопост

Преследователь, вид не конечный

Сделан был значит преследователь, с простейшим алгоритмом, постоянно двигаться за игроком по прямой. Но в момент прыжка этот кусок костыльной магии решает делать рывок, почему, зачем а главное как, непонятно. На вид, из монитора вылазить не планирует, но всякое возможно. Веду наблюдение. Состояние 8 из 10, лёгкая усталось.

Показать полностью 3

Продолжение поста «Моя первая игра»

Продолжение поста «Моя первая игра» Gamedev, Unity, Разработка, Нейронные сети, Длиннопост, Ответ на пост

Отдебажено

Короче, я допустил несколько ошибок. Первая и ключевая была, что я выложил пост за несколько часов до ОЧЕНЬ хайпового события, и собстна мало кто пост увидел, а из тех кто видел вряд ли интересовала какая-то игрушка.

Плюс, оказалось что я выкинул игру с багом. Кривая и нерабочая таблица рекордов. Ну и крайне высокая сложность, обусловленная кривым алгоритмом спавна противников (он на самом деле и сейчас не идеален, но стало сильно лучше).

Кто не читал предыдущий пост, почитайте, кто в игру не играл, поиграть можете тут

Зачем я это делаю? Да прост, потому что могу и хочу.

Комментарии где хотите оставляйте.

Показать полностью 1

Звер для дино раннера

Звер для дино раннера Разработка, Нейронные сети, Технологии, Gamedev, Unity, Видео, Без звука, Длиннопост

Красавичка помогла сгенерить нейросеть

Здаровеньки! Так получилось, что я внезапно для себя снова залетел в разработку игр. На мой взгляд достаточно неплохо вышел Racing 1.0 в который можно поиграть тут. Т.к. цель была просто сделать игру в паре с нейросетями в кратчайший срок. Она была выполнена, и мне понравилось.

И я решил не останавливаться. Во первых писать скрипты это не плохая разминка для мозга. А во вторых, я решил сделать небольшую пачку простых игр для дочки, что б она могла зайти и без проблем поиграть с любого устройства, ткскзть убить время в поездке или скучной очереди.

И вот, следующим что я решил делать, оказался динораннер, такой как в хроме.

Звер для дино раннера Разработка, Нейронные сети, Технологии, Gamedev, Unity, Видео, Без звука, Длиннопост

Но т.к. хочется какого-то вызова. Я решил повысить уровень графики. И вот что вышло.

Звер для дино раннера Разработка, Нейронные сети, Технологии, Gamedev, Unity, Видео, Без звука, Длиннопост

Предполагаемая локация

Я решил сделать её в аниме стиле. Т.к. нейросети хорошо работают с этим стилем. Игра получится яркой и красочной. Что в целом то меня устраивает. Дочь кстати динозавра одобрила лично. Так что придётся ему бежать этот забег.

А кстати вот и он. Т.к. я кое-что понимаю в анимации, я подготовил нашего дино-товарища и начал работу над его анимациями.

Это был небольшой анонс, ориентировочно планирую за пару недель с игрой управится. Но ничего не обещаю естестна. Прогресс буду выкладывать что б срубить плюсцов и почесать чсв.

P.S. Если выбрал неудачно сообщество, перенесите по-братски куда надо.

Показать полностью 3 1

Динораннер прогресс

Привета! Прогресс по динораннеру.

Какие сложности я себе придумал?

  • Сделать локации "объемными" так называемый эффект параллакса

  • Переделать управление на физический движок

Объемную локацию собрать было не сложно. То что нейросеть мне сгенерировала, я сначала сделал зацикленной текстурой, потом разделил на 4 слоя и дорисовал детальки.

А вот сложно оказалось сделать её бесконечной. Если в Racing 1.0 зациклить локацию было совсем просто, т.к. она представляла из себя одну и ту же текстуру. То тут появились сложности, я честно как то не могу сообразить алгоритм, по которому можно зациклить локацию. Но думаю в ближайшее время найдётся решение.

Динораннер прогресс Разработка, Технологии, Нейронные сети, Творчество, Видео, Без звука, Вертикальное видео, Длиннопост

Кстати динозавр таки побежал. Впереди ему добавится ещё парочка анимаций, но это уже ближе к стадии шлифовки проекта.

На сегодня у меня стоит задача натянуть всю предыдущую базу на новую игру. Подогнать под горизонтальный формат догонялок. Ну и по возможности решить проблему с бесконечной генерацией локации.

P.S. Пока писал пост, управление уже переделал и адаптировал. Осталось подтянуть интерфейс с предыдущей игры и решить проблему с бесконечной генерацией.

Показать полностью 1 1

Моя первая игра

Привета, пикабу! Авторского контента желаете? Добро пожаловать! Это история как я провёл забавную неделю с Unity3D, и даже сделал простую игрушку. Если не хотите читать, то поиграть можно тут

Моя первая игра Gamedev, Unity, Разработка, Нейронные сети, Длиннопост

Неавторский контент

Сидел однажды я, играл на троне в ретро-консольку. И вспомнилось мне, что ажно 10 лет назад, увлекся я разработкой игр. Глаза горели, руки чесались. Но навыков кот наплакал. И хоть нещадное штудирование мануалов по Unity3D давало какие-то результаты, до готовых проектов было не то что как до Китая, а как до соседней галактики.

И вот взгрустнув по былым временам, я подумал, а чо? Сейчас есть нейросети, которые ускорят креативные изыскания, глаза уже так не горят, ААА проекты делать руки не чешутся. Почему б немножко не пошалить, так, просто ЧСВ почесать. И решил сделать тайм-киллер, простую бесконечную гонку.

И понеслась.

Забракованные варианты локаций

Первым делом полез в Fooocus генерировать локации.

Первые результаты были прям ВАУ. Но я быстро смекнул что делать из этого повторяющуюся текстуру мне будет накладно по времени или деньгам. Поэтому решил немного упростить задачу.

На удивление, за счёт нейросети удалось буквально за пару часов получить достойный результат, и я отправился писать первые скрипты. В целом там ничего сложного, я много читал и смотрел видео, о том как раньше делали игры и примерно представлял какие алгоритмы мне понадобятся. Были некоторые сложности с тем что Unity из-за более гибких алгоритмов ломал механику, но мне удалось с ним договориться.

Моя первая игра Gamedev, Unity, Разработка, Нейронные сети, Длиннопост

Unity я пришел договориться

Потом пошел автомобиль и его механика. И тут возникли некоторые проблемки, дело в том что у меня не получалось объяснить нейросети что мне нужен вид автомобиля абсолютно сверху. И она постоянно норовила наклонить камеру.

Сотни тысяч клонов уже готовы, миллион на подходе милорд

Каким-то несусветным чудом, нейросеть выплюнула всего ОДНУ нужную картинку. И мы поехали дальше. Алгоритм машинки тоже немножко попил крови, но тут сказались мои навыки программиста, ибо учился я примерно так

Моя первая игра Gamedev, Unity, Разработка, Нейронные сети, Длиннопост

Честно спёр с яндекса, который спёр с пикабу, который наверняка спёрли откуда-то ещё

Спустя некоторое время, игра обросла каким-то духом и костямиылями. Было нагенерено парочка иконок. И что-то начало вырисовываться.

Но чёрт меня дёрнул разнообразить противников в игре и добавить грузовик. 1 день, который можно было потратить, написав полезный код, был потрачен на бессмысленные попытки заставить нейросеть правильно сгенерировать грузовик, и она так и не смогла. Больше таких ошибок не допускал.

На удивление, дальнейшая разработка пошла практически без проблем. Код спокойно тестировался, баги устранялись, всё притиралось и подгонялось. Несмотря на то, что пару раз пришлось буквально сносить половину кода, настроение было бодрым, ведь рисование было на аутсорсе.

После того как 90% задуманного было реализовано, я решил добавить музыки. Естественно т.к. я не музыкант, обратился к нейросети по имени Riffusion. Она делает довольно короткие мелодии, но спустя пару генераций, я выбрал кое-что на свой вкус и даже получилось её зациклить. Хоть сам Unity в итоге не смог нормально зациклить воспроизведение.

Наступила пора тестов. У меня есть группа товарищей, которые невольно оказались альфа-тестерами. Я дал им погонять тестовый билд. И, вышло даже неплохо. Я получил отзывы, и пошёл вносить правки. Следующие пару дней я только и занимался, что балансировал механики, и добавлял то что просили в отзывах.

В целом было весело, ребята играли, давали объективную обратную связь. Но в итоге я слегка увлёкся. И в один момент было решено сделать онлайн таблицу рекордов. Я конечно уже горевший энтузиазмом и чесавший руки, побежал изучать вопрос. Но потратив целый день и попытавшись провернуть пару довольно сложных манёвров. Я решил что пока не стоит, т.к. игру нужно было немного причесать, и не хотелось всё бросить и перегореть прям перед самым концом. Таблицу рекордов я сделал, но как говорится "это не баг, это фича", игра при перезапуске каждый раз её сбрасывает, как в старые добрые на картриджах.

В игре наверняка ещё есть баги о которых я не знаю, но я решил закончить на том что есть. Цель была просто сделать законченную игру, в удовольствие, без каких-то дальнейших планов. Возможно я её ещё доработаю, возможно нет, а может сделаю ещё игры, кто знает.

Если у вас есть какие-то предложения, пожелания, вопросы, пишите в комментарии, я их люблю, с удовольствием почитаю. Возможно украду ваши идеи и добавлю их в игру, заработаю миллиарды и уеду на панамере в закат. На этом я с вами прощаюсь, ссылку на игру ещё раз продублирую.

P.S. да, игра на самом деле не первая, но фактически это первая законченная игра.

P.P.S ВАЖНО!!! Игра может делать вид что не грузится, но я просто не сделал прелоадер. Весит около 11 мб, поэтому проявите терпение. И да, игра доступна в браузере, как на пк так и на телефонах

Показать полностью 10
Отличная работа, все прочитано!