sebadev

На Пикабу
Дата рождения: 9 июня
115 рейтинг 0 подписчиков 1 подписка 1 пост 0 в горячем
15

MVP — симулятор колонии с непрямым управлением

Всем привет! Я начинающий разработчик, который пытается сделать свою игру. (Нестройный хор в ответ: "Приве-е-ет, разрабо-о-отчик!..") Хочу рассказать об идее моего проекта: как она появилась, что я хочу реализовать, и показать самый первый MVP.

Идея

Всё началось с RimWorld. Это одна из моих самых любимых игр. Не думаю, что "римка" нуждается в представлении, но если вы вдруг не в курсе - расскажу двух словах. Это симулятор колонии с непрямым управлением. Под вашим попечением есть энное число колонистов ("пешек"). Вы ставите задачи на строительство, добычу ресурсов, крафт. Затем выставляете приоритеты своим пешкам - кому чем заниматься, и дальше они сами бегут что-то делать. Короче, Dwarf Fortress на минималках, евпочя.

Чем больше я играл, тем чаще ловил себя на мысли, что какие-то элементы реализованы не так, как мне хотелось бы. И главная проблема для меня: "римка" изначально в своей задумке - плоская. Мне всё время хотелось закопаться поглубже под землю или построить вокруг колонии не только стены, а сторожевые вышки (с амбразурами, конечно). Моды многое добавляют в ванилу (без них играть уже прям не интересно), но, как я понял, сделать римку трехмерной невозможно принципиально - слишком сильно придется править ядро.

И тогда я подумал: как было бы круто сделать похожую игру, но в трехмерном воксельном мире, по типу Minecraft. Чем больше я об этом размышлял, тем интереснее становилась идея. Я начал читать статьи по майнкрафтостроению - довольно увлекательно, как оказалось. Параллельно я начал придумывать, что ещё можно улучшить или добавить, и, конечно, пошёл искать - а нет ли уже игры, которая бы реализовала мои идеи. В итоге я пересмотрел кучу проектов, но каждый в чем-то меня не устраивал.

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

Going Medieval - почти хороша, но, на мой вкус, слишком сильно старается быть "красивой" (неудачно) и застряла в скучном средневековым сеттинге.

Colony Survival - очень прикольная по своей сути задумка - что-то среднее между "факторио" и "майнкрафтом". Но тут нет пешек у которых есть свои потребности, не о ком заботиться, это не совсем то, что мне хотелось бы видеть.

Noble Fates - почти идеальна в плане строительства, но там куча других вещей, которые меня бесят: надоевший до оскомины фэнтезийный сеттинг, неприятный внешний вид персонажей, слишком большой упор на графику, неприятная система прокачки и потребностей персонажей и т.п.

Stranded: Alien Dawn - очень крутая была бы игра, если бы она развивалась дальше. Сейчас у нее опять же, много недостатков: перегруженная графика, нет генератора персонажей, мало механик и др.

В общем, я решил попробовать создать свою "игру мечты" - ту, в которую мне хотелось бы играть самому. Основа геймплея - симулятор колонии с непрямым управлением персонифицированными персонажами. Сеттинг - научная фантастика: будущее, другая планета, пещерные технологии соседствуют с космическими. Мир — трёхмерный и воксельный. Графика — упрощённая, низкополигональная. Упор на строительство, добычу ресурсов, исследование технологий, крафт и путешествия по планете.

Движок

Не знаю, насколько здесь хейтят Godot (часто видел критические статьи, но не могу понять, это просто вкусовщина или есть реальные причины), но я решил пока остановиться на нем. Думал в сторону Unity, но как будто бы пока к нему не готов: высокий порог входа, С# как основной язык (который я не знаю), и не особо приятная правовая политика. MIT-лицензия в Godot выглядит поинтереснее. Немного пощупал Godot со всех сторон, и, как будто, все мои потребности на текущий момент он закрывает: производительность вполне подходящая, довольно приятный python-подобный язык как один из основных.

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

Мотивация и MVP

Я совсем не уверен, что доведу проект до конца. У меня уже было несколько игровых проектов, которые я забрасывал. Я не жалею об этом опыте - это своего рода хобби "разрабатывать игры, но не доводить их до конца" - в любом случае это интересно само по себе, как времяпровождение. Качаются программистские скиллы, растет кругозор, набивается рука. Но все-таки хочется попробовать сделать какой-то, хотя бы минимально, но работающий проект.

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

В общем, попробую идти этим путем: MVP, фиксирование результата, и посмотрим, будет ли интересно двигаться дальше.

А вот, собственно, и результат. Делал суммарно, наверное, около рабочей недели (40 часов, разбросанных фрагментарно по нескольким неделям насыщенной жизни). Вайбкодингом не брезговал, но старался в основном кодить сам - набиваю руку в Godot. Нужно небольшое пояснение, что тут у нас происходит на экране (MVP все-таки):

  • Есть плоский мир размером условных 20x20 клеток.

  • В центре карты - красный кубик "база" и шарик "пешка".

  • Вокруг разбросаны зеленые кубики - это условные "ресурсы", которые можно собирать.

  • Я могу мышкой пометить ресурсы для сбора (рядом появляется "плюсик").

  • Когда я нажимаю кнопку "Собрать", пешка сама строит маршрут, по очереди собирает ресурсы и относит их на базу.

  • Когда ресурс сгружен на базу, увеличивается счетчик.

  • По таймеру (2 секунды) игра проверяет, сколько ресурсов на карте. Если их меньше пяти - в случайные координаты (кроме центральной области) доспавниваются еще ресурсы до лимита в 5 штук.

  • Цикл "отметить - собрать" можно повторять бесконечно.

  • И… все.

Что дальше?

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

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества