Разработка простой инди игры в прямом эфире. День 0
Это кратер Езеро, куда должен сесть марсоход Персеверанс 18 февраля.
До этой даты остался месяц и я решил наконец-то реализовать свою давнюю мечту и написать маленькую инди игру про космос и выложить ее в плэймаркет ровно 18 февраля. Дедлайн не даст откладывать идею и дальше до бесконечности, а месяц - хороший срок, чтобы успеть что-то сделать, но не потерять за это время энтузиазм работая вечерами и в выходные. И в разных мотивационных статьях пишут, что публичные обещания и отчеты уменьшают вероятность забросить начинание.
Так что начнем. Надеюсь Вам будет интересно посмотреть со стороны на разработку. И я буду очень рад, если мне удастся кого-то вдохновить на реализацию идеи, которую давно хотелось сделать, но все никак не доходили руки.
Теперь про то, что хочу сделать: программировать я умею, но в геймдеве не разбираюсь. И давно хотел попробовать flatter, так что буду писать на нем, как раз посмотрю что за зверь такой, который позволяет писать кросплатформенные (android/ios) приложения. С дизайном не дружу, так что буду делать настолько просто, насколько можно. И срок в месяц тоже сильно ограничивает полет фантазии.
В результате таких ограничений решил написать выживалку про оставленных на Марсе астронавтов, которые должны продержаться до прибытия спасательной экспедиции (такой себе "Марсианин", но без лихих поворотов сюжета).
Астронавты каждый день тратят ресурсы (кислород, еду, воду, электричество), но могут ремонтировать генерирующие ресурсы строения, чтобы поддержать их поступление. Если что-то кончится до прибытия спасателей астронавты умрут.
Из доки:
ЦУП каждый день ставит астронавтам задачи, которые у них получается/не получается выполнить, регулирует подачу кислорода/тепла и питание. И считает дни до прибытия спасательной команды.
В итоге все сделать не получится и суть игры сводится к выбиру компромиссов в том, чем пожертвовать.
Итого за сегодня успел написать грубое ТЗ по игре. Завтра хочу поставить себе среду разработки и запустить на телефоне "Hello World" написанный на flatter.
До завтра!
Проект созданный по вечерам после работы "Пожарники перезагрузка"
В игре «Пожарники перезагрузка» Вам предстоит управлять пожарными с батутом. Ваша задача не уронить главного героя и выскакивающих из окон погорельцев! Игра сделана в old school стиле.
Изначально в каждом уровне игроку дается три «летучих» пожарника для тушения. Для прохождения уровня нужно потушить все очаги огня.
В помощь пожарным будут выпадать бонусы:
• Широкий батут – батут увеличивается вдвое, пока не закончится время действия бонуса
• Второй пожарник – на экране будет одновременно два «летучих» пожарника. Тушить пожар в вдвоем быстрее, но и не уронить обоих вдвое сложнее.
• Пожарный вертолёт – пролетает над горящим зданием и сбрасывает пену для тушения. Снижает уровень пожара в два-три раза.
• Грозовая туча – вызывает дождь с грозой и полностью тушит пожар.
• Дополнительная жизнь – добавляет плюс одного летучего пожарного.
• Ракетный ранец – у летучего пожарного на спине появляется реактивный ранец. На экране игрока появляются кнопки управления полётом.
• Радиоуправляемый автоматический батут – батут в автоматическом режиме передвигается за «летучим» пожарником и исключает возможность падения, пока не закончится время действия.
В игре Вам предстоит тушить пожары на семи локациях: отель, санаторий, японский ресторан, жилой дом, старинный замок, больница и общежитие.
В окнах периодически появляются люди, заблокированные в горящем здании и задача пожарника схватить погорельца на руки и спустится с ним на батут.
Если пожарник долго не может схватить погорельца, то человек выскакивает прямо из окна и задача пожарных с батутом поймать его и при этом не уронить «летучего» пожарника.
В игре есть табличка рекордов и большое количество достижений – станьте лучшим пожарным и соберите все награды!
Буду благодарен за Ваш отзыв!
Ссылка на скачивание:
https://play.google.com/store/apps/details?id=com.LTagan.rel...
Как карантин помог мне стать разработчиком игр
Шутка, конечно. А может быть и нет. Как бы то ни было, вчера в google play появилась моя первая игра. Подтолкнуло меня к этому то, что предприятие наше в конце января разогнало всех сотрудников по собственному желанию, после чего я слетал в запланированный заранее отпуск, а потом оказался на карантине без работы. Игра проще не придумаешь — смесь тетриса и... ну... чего-то еще. Суть игры в складывании значений падающих блоков, для их уничтожения. Если поле переполнено — поражение. Конечно, это не та игра, о которой я всегда мечтал. И я делал уже более интересные демки. Но это первая игра, которую я опубликовал. Моей целью было, в первую очередь, понять процедуру того, как устроен процесс разработки и публикации, поэтому я сразу решил делать максимально простую игру. Но выпускать очередной унылый платформер или TDS не хотелось, а браться за серьезную работу вот так без опыта мне показалось неправильным. Так и появился Арифметрис. В качестве движка я выбрал Gamemaker studio 2 от yoyogames по нескольким причинам. Первая: я не программист. Огромный плюс gamemaker в том, что у него очень простой и понятный интерфейс, логика работы и свой собственный упрощенный язык программирования. Вторая причина: среда разработки у меня уже была. Несколько лет назад я уже было решил попробовать себя в индустрии, купил полный комплект первой версии студии за баснословные, кажется, 759 баксов. А позже купил и лицензию на вторую версию движка. Но всё, что я выпустил за это время — несколько проектов для джемов на форуме. Итак, движок есть, идея есть.
Игровые ресурсы.
Графику я решил для начала сделать максимально простой и не отвлекающей. Так как я графический дизайнер, эти ваши адоби фотошопы и иллюстроторы мне вполне по плечу. Но задача была не в том, чтобы сделать игру с поразительным дизайном. Поэтому всё максимально аскетично. Шрифт из числа тех, что можно использовать бесплатно. Им я не очень доволен, потому что уж очень тонкий, планирую заменить в скором времени. Кстати говоря, работа с шрифтом в движке построена следующим образом: все нужные символы переносятся на специальные атласы, превращаясь просто в растровые спрайты. Это значит, что для каждого отдельно взятого размера и начертания будут свои спрайты. И что информацией о кернинге можно подтереться. Для меня это стало ужасной новостью. Но возможно с этим можно сто-то сделать, надеюсь, что так. Потому что то, во что превращается шрифт вызывает у меня боль. Звуки подбирал из открытых источников, в основном на фрисаунде.
Игровой процесс и мои мысли насчет его улучшения.
Релизная версия состоит из единственного режима и трех уровней сложности. Программа выдает игроку задание набрать нужную сумму. Кликая по блокам, их значения суммируется, пока не наберется точно искомая сумма. Если результат будет выше, то блоки загораются красным и звучит сигнал. Сейчас я не доволен этим дизайнерским решением и переделаю его в ближайшее время. Суть в том, что сейчас игра никак не наказывает за ошибку и это позволяет халтурить и тыкая примерно наугад подбирать нужные значения. Меня такой расклад не устраивает. Планирую реализовать следующим образом: кроме того, что есть сейчас включается небольшая тряска экрана на пол секунды, во время которой блоки нельзя перевыбрать. Но это что касается классического режима, а я хочу добавить еще аркадный. В нём при переполнении суммы следующий блок будет вычитать свое значение, а не прибавлять. В это режиме также будут блоки увеличенного размера, замороженные, которые неактивные некоторое время, золотые, добирающие до нужного значения автоматически, крепкие, которые уничтожаются только после второго раза, взрывающиеся, отрицательные и удваивающие очки финального счета. Также в планах подвезти мультиплеер, где два игрока будут собирать блоки на одном поле, но у каждого будут свои очки. Правда на текущий момент я мало знаю про нетворкинг, с этим еще предстоит разобраться. Также я не доволен алгоритмом подбора задачи и раздачи значений блокам. Игра не допускает случаев, когда игрок не сможет собрать искомую сумму. Но старается слишком сильно. Я планирую поправить его, чтобы не было ситуацийЮ когда половина поля усеяна блоками со значениями 30-50, а вторая половина единицами и двойками. У меня уже есть мысли, как организовать это, сделаю в ближайших обновлениях. Кроме того я уже готов добавить поля других размеров, но еще не придумал, как причесать интерфейс под это дело, потому что главное меню и так уже щеголяет братской могилой из иконок на голове, нужно поработать над этим.
Я уже много написал, хотел рассказать, как устроена игра в техническом плане и в частности алгоритмы задач и значений блоков. Но, видимо, об этом напишу в следующий раз. Но упомяну, хотя бы, что я нашел для себя важным во время разработки:
1) Нужно фиксировать задачи и ход их выполнения. Иначе очень легко закопаться в фичи, у меня такое бывало раньше. Хорошо помогает Трелло. Пишешь, что в работе, что на ближайшее будущее, а что в хотелки. Даже если работаешь один.
2) Не нужно спешить. Очень много времени уходит на то, чтобы разобраться и переделать помойку, в которую ты превратил свой код.
3) Но и делать слишком длинные перерывы тоже не стоит. Какие-то мелочи важные забываются, если отрываешься от проекта надолго. Особенно критично, если не комментировать код, как я.
4) Комментировать код.
5) Английский язык. Я занимаюсь английским с преподавателем онлайн последние полтора года. Это сильно помогло мне, потому что на русском языке информации мало и она, зачастую, уступает англоязычной.
В качестве заключения, хочу сказать, что планирую в ближайшее время причесать Арифметрис, а потом браться за более длительные проект. Скорее всего, это будет работа над одним из проектов, которые я делал на джемы. Также если вы планируете выбирать gamemaker в качестве движка для своей игры, учитывайте, что он лучше всего подойдет для пиксельной игры и изначально заточен больше под платформеры и TDS, с моей игрой мне стоило, наверное, работать в юнити. Однако в ближайшее время не планирую переходить на другой движок, потому что задуманные проекты вполне реализуемы и на gamemaker. Всем удачи.