Разработка мобильной игры в сеттинге страдающего средневековья [пост #1]
предыдущий пост здесь.
Программист игры Сергей делится с нами своими переживаниями:
Эта средневековая сова... Она... Она порой отображает мое внутреннее состояние...
Маргиналии неимоверно восхитительны!
Лично меня в маргиналиях очень сильно цепляет спектр изображенных эмоций, порой даже слитых воедино: от комично-нелепого удивления/страха/грусти (нужное подчеркнуть) до абсолютного спокойствия/умиротворения/смирения или расслабленности...
Питомцы-компаньоны.
В общем-то, говоря о игре, мне в какой-то момент захотелось, чтобы главный герой сражался с противниками не в одиночку, а чтобы у него был кто-то вроде компаньона. Так и пришла идея добавить в игру питомцев. Во-первых, они своим бы присутствием давали бы какие-то бонусы главному герою во время боя. А во-вторых, расширяли бы спектр эмоций, представленных на главном экране игры. В таком случае, например, игроку предоставляется картинка, где, как правило, злобный, агрессивный монстр сражается со смиренно-спокойным главным героем, у ног которого находится верный питомец с проявлениями страха/паники на лице (морде?).
Вот вам примеры питомцев:
И вот так выглядит главный экран игры (кхм... у игры главный экран один, ниже просто два его скриншота :) ):
Элементы игрового экрана.
На всякий случай объясню что здесь к чему. Не бойтесь, всего 11 пунктиков ;)
Так-так-такс.. На игровом экране мы имеем:
1. Броня -- показатель защищенности главного героя. Уменьшается после каждой атаки противника. Бой проигран, когда показатель достигает нуля.
2. Монеты -- игровая валюта. Зарабатывается в бою, тратится в магазине.
3. Указатель -- двигается по кругу. Игроку следует коснуться к экрану, когда указатель находится над целью, чтобы совершить атаку.
4. Цель -- цель. (Цель).
5. Счетчик (запас здоровья врага) -- уменьшается после каждой удачной атаки главного героя. Бой выигран, когда показатель достигает нуля.
6. Главный герой -- персонаж, которым управляет игрок (якобы, ага).
7. Оружие -- покупается в магазине.Увеличивает наносимый за одну атаку урон главного героя. Некоторые экземпляры во время боя предоставляют главному герою бонусы.
8. Щит -- покупается в магазине. Увеличивает максимальный показатель защищенности главного героя. Некоторые экземпляры во время боя предоставляют главному герою бонусы.
9. Питомец -- покупается в магазине. Во время боя предоставляет главному герою бонусы.
10. Противник -- атакует после того, как вы промахиваетесь (касаетесь экрана в момент, когда указатель не находится над целью). Имеет свой запас здоровья и наносимый урон.
11. Кнопка главного меню.
Базовый геймплей.
Указатель (меч) двигается по кругу. И в момент, когда он окажется над целью, игрок должен коснуться экрана. Нынешняя цель исчезает и появляется новая.Это все повторяется, пока счетчик в центре круга (запас здоровья противника) не достигнет нуля.
Виды атак.
В игре есть два вида атак: точная и обычная. Если во время касания игроком экрана указатель (меч) находится точно над центром цели, то совершается точная атака. Если же не точно над центром, но все же попадая в цель, то обычная атака.
Точная атака поощряется выпаданием монет и срабатыванием некоторых бонусов оружия/щитов/питомцев.
Бонусы.
Как было сказано, некоторое оружие и щиты и абсолютно все питомцы предоставляют главному герою бонусы.
Например:
+1 единица урона за каждую точную атаку.
+12% вероятности совершения точной атаки.
+2 монеты каждые 3 секунды боя.
-5% скорости игры.
+10% расстояния к цели.
противник получает урон, когда атакует.
+1 единица брони каждый 5 секунд боя.
Игровой магазин. Оружие, щиты, питомцы.
Сейчас в игре есть 25 экземпляров оружия, 25 щитов и 10 питомцев, которые поделены на 5 уровней.
Часть из них -- обычные предметы и доступны после достижение необходимого уровня (коричневый фон).
Некоторые становятся доступными после покупки любых 2 из 3 предыдущих предметов и еще некоторые -- после получения какого-то достижения (ачивки).
Достижения.
В игре представлено 30 достижений. Их можно условно поделить на две категории: обычные и скрытые.
Обычные – условие их получения известно игроку сразу.
Примеры обычных достижений:
Собрать 15 монет за уровень.
Совершить серию из 3 точных атак подряд.
Одержать победу с 5 разными питомцами.
Скрытые – игрок знает лишь о наличии некоего достижения, но условия его получения узнает лишь тогда, когда его выполнит.
Примеры скрытых достижений:
Умереть 667 раз.
Проиграть один и тот же уровень 50 раз.
Умереть 30 раз, когда у врага осталась 1 единица здоровья.
Поведение указателя.
Дабы разнообразить геймплей в игре реализовано три модели поведения движения указателя.
1. Однонаправленное движение. Попадания по цели не изменяют направление движения указателя.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/05/28/3/1527474030159855081.jpg)
2. Направление движения меняется на противоположное после каждого попадания по цели.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs9.pikabu.ru/post_img/2018/05/28/3/1527474058126476114.jpg)
3. Изменится ли направление движения решается случайным образом после каждого попадания.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs10.pikabu.ru/post_img/2018/05/28/3/1527474050162076268.jpg)
И вдоволь наигравшись, мне стало этого мало.
Ведь к трем поведениям довольно быстро привыкаешь да и хочется чего-то более интересного.
Усложнения геймплея.
И понеслась...
1. С приближением указателя цель становится невидимой (прозрачной).
Само собой, что скорость становления прозрачной и момент начала этого процесса регулируются, чтобы со временем попадать становилось все сложнее.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/05/28/3/1527474076128917503.jpg)
2. Ускорения/замедления указателя во время движения.
На гифке не так хорошо чувствуется, но, когда указатель теряет равномерность движения, играть становится ощутимо сложнее.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/05/28/3/1527474131136822549.jpg)
3. Цель двигается навстречу указателю.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/05/28/3/1527474121116938688.jpg)
4. Цель совершает качающиеся движения.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs8.pikabu.ru/post_img/2018/05/28/3/1527474142198079406.jpg)
5. Цель стремительно отдаляется от указателя перед тем, как он достигнет цель.
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs10.pikabu.ru/post_img/2018/05/28/3/1527474185182263622.jpg)
Эти простые усложнения (ага, простые, да-да, усложнения)) могут комбинироваться. Таким образом у цели и указателя появляется более сложное поведение.
Например, прозрачность + движение:
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/05/28/3/1527475252181436338.jpg)
Или прозрачность + движение + качания:
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs10.pikabu.ru/post_img/2018/05/28/3/1527475261184869421.jpg)
Или вот собрал мелкий уровень для демонстрации разных поведений:
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs11.pikabu.ru/post_img/2018/06/10/6/152861881714951998.jpg)
Уровни.
Сейчас в игре есть 200 уровней, каждый десятый из которых – сражение с боссом. Босс отличается от обычного противника повышенным уроном и более сложной логикой поведения указателя и цели + отсутствием права на ошибку (т.е. даже никакой ваш щит вас не спасет, если промахнетесь).
Помимо этого, каждые 10 уровней объедены тематически.
Например:
Первые 10 противников – улитки. И десятая улитка – вооруженная щитом и мечом, мерзко улыбающаяся улитка-босс.
Следующие 10 противников – кролики. И десятый кроль – стероидный, ушастый кроль с огромным мечом.
Уровней 200, нарисованных противников 80.
Хм, кажется, чуть-чуть не сходится. Так что, как разберусь с технической частью, продолжу дальше рисовать (воровать) персонажей с средневековых маргиналий.
Покажу вам примеры этих самых противников. Кстати, как раз по одному из каждой из 8 тематических групп. Вот:
Особенности геймплея (чего пытаюсь достичь).
Имеем:
-- разнообразные бонусы у оружия, щитов и питомцев;
-- разнообразные модели поведения указателя и цели;
-- наличие как обычных противников, так и боссов;
-- относительно высокие цены на оружие, щиты, питомцев.
В итоге, я попытался создать необходимость комбинировать бонусы от оружия, щитов, питомцев таким образом, чтобы изымать из этого максимальную выгоду. То есть, в зависимости от конкретной ситуации собирать, например, экипировку для наибольшего заработка монет/наибольшего нанесения урона/упрощения поведения указателя и цели/ наибольшего повышения запаса брони и тд. Естественно, чтобы собрать набор получше, нужно купить вещей побольше и подороже, а для этого нужны монеты. Таким образом игровой цикл потребностей и замыкается.
Пару слов о разработке.
Занимаюсь игрой уже пол года как. Причем большая часть времени ушла именно на графическую составляющую игры.
Игра разрабатывается на движке Defold. Почему? Наткнулся на него случайно (подсмотрел у парочки небольших геймдев команд), зашел на сайт, посмотрел, погуглил и решил тоже попробовать. Прочел книгу и пару статеек по Lua, и начал понемногу писать игру. Даа, определенно есть что-то крутое в изучении чего-то нового.
Фидбек.
Очень круто да и не менее полезно слышать отзывы касаемо того, что ты сделяль. (как бы очевидно и банально это ни звучало).
Сидишь себе такой весь из себя разработчик игор, смотришь на свою игру -- и всё супер, всё как и должно быть. Потом собираешься это кому-то показать и "хм, это странновато выглядит", "это бы поправить", "это тут вообще не к месту" и тд. А как показываешь, так и еще обнаруживается незамыленными взглядами ряд мелких и не очень моментов.
Например, момент с восприятием происходящего и с анимациями.
Я был уверен, что вопросов касательно геймплея возникать не будет, ведь подобные механики отнюдь не новы. И после публикации гифок натыкался на вопросы "круто! но что здесь происходит?".
Так что теперь думаю над хотя бы небольшим туториалом внутри игры.
Сюда же и анимации. Это у меня в голове попадание по цели указателем напрямую связанно с нанесением удара главным героем по противнику. Для других же это не является очевидным. Вот здесь видна и явная необходимость рисованных анимаций атаки и получения урона.
Я уже делал пару попыток в анимацию, но результатом не остался доволен. Атаки происходят очень часто и порой даже одна за одной с мизерным промежутком. В итоге, дерганье внизу экрана очень сильно отвлекает внимание от верхней части экрана с кругом и целями (по сути, наиважнейших элементов игры). В общем, буду еще пробовать.
Так что если вам есть что сказать -- смело говорите ;)
Игра продолжает находиться в разработке и конкретно сейчас выглядит как-то так:
BOSS FIGHT!
![Разработка мобильной игры в сеттинге страдающего средневековья [пост #1] Страдающее Средневековье, Длиннопост, Игры, Разработка, Разработка игр, Gamedev, Marginaliahero, Средневековье, Гифка](https://cs10.pikabu.ru/post_img/2018/06/10/6/152862437918886584.jpg)
Marginalia hero. Разработка мобильной игры. Пост #0
Картинка для привлечения внимания.
На самом деле [спойлер] эти персонажи тоже будут в игре (смотри конец поста).
Вступление.
Привет. Я -- студент, учусь на программиста и попутно увлекаюсь разработкой игр, как бы громко это ни звучало. В геймдеве опыта довольно немного, было до этого несколько попыток, но ни во что серьезное это не вылилось. Почему? Как по мне, так причина в том, что по неопытности замахивался наочень трудоемкие проекты. И поначалу всё довольно круто, ты горишь своей идеей, продумываешь как это всё будет. Потом начинаешь это воплощать и спустя какое-то время, когда запал угасает, понимаешь, что уже потрачено не мало времени, а впереди еще куча работы, несоизмеримая с проделанной. И что еще серьезнее - осознание того, что сделать всё, как это задумывалось, не хватает умений. И это не говоря уже о качестве результата.
В общем-то, таким образом ко мне начало приходить осознание того, что следует начать с чего-то малого. Самое забавное, что и в предыдущих проектах я так же был полностью уверен, что начинаю с малого. Я ведь прочел кучу форумов и гайдов для новичков! Вдоволь посмеялся над энтузиастами, которые, не имея никакого опыта, собирают команду для создания ААА ММОРПГ с корованами и всем прочим. "-- Ну я то не такой, как они. У меня то мелкий проект"... А в итоге наступил на те же грабли (ну если не на те же, то на чуть поменьше).
Геймплей.
Желание заниматься играми не угасало и я решил взяться за проект еще мельче. Ну вот в этот то раз действительно мелкий. Было принято решение сделать игру для мобильных. Ух, насмотревшись на игры Ketchapp'a, где всё так просто, со вкусом, затягивающе, захотелось и мне сделать что-то подобное. И начал я смотреть в сторону игр, которые играются одним нажатием (образно, на самом деле не всегда одним, и не всегда нажатием). И присмотрелась мне далеко не свежая, но выстрелившая в своё время игра Pop the lock. Вот так она выглядит:
Розовый указатель двигается по кругу, и, когда он находится над целью (желтый круг), нужно нажать на экран. И продолжать так, пока счетчик в центре круга не дойдет до нуля. А после этого новый уровень, где начальное значение счетчика на единицу больше предыдущего раза.
Но выбрал эту механику для своей игры я не сразу. Лишь после того, как наткнулся на Ютубе на игру Questy Quest. Вот вам и ее скриншот:
Ее базовая механика такая же, как и у Pop the lock. Но помимо круга были добавлены и другие траектории движения указателя, и что более значительно - элементы РПГ. Тоесть теперь действо подавалось не как вскрытие замка, а как сражение главного героя с монстрами, счетчик замка стал запасом очков здоровья врага и появилась возможность прокачивать главного героя, тратя заработанные монеты на его экипировку.
И вот неплохо так залипнув в Questy Quest я загорелся желанием сделать что-то свое похожее на это. Делать всё точь в точь было не интересно.
Проанализировав выше упомянутые игры, сделал выводы, что идея добавления РПГ элементов довольна крута. Моя цель, как игрока, была не в достижении как можно более высокого уровня, а в прокачке персонажа, что, на мой взгляд, куда более увлекающе. Но к сожалению, влияние прокачки персонажа на геймплей было очень мало. Это давало лишь увеличение области, в которую следовало попасть для удачного совершения атаки. В этом плане куда более интересными были кратковременные бонусы (зелья, что покупались за монеты): удвоение урона, дополнительная жизнь, замедление времени. Применять их можно было лишь в начале уровня.
На этом, пожалуй, здесь и заканчивается всё РПГ и весь геймплей. Разве что стоит еще отметить тот факт, что вещи экипировки покупались не напрямую, а выигрывались с некоторым шансом. Это еще какое-то время удерживало мой интерес к игре.
Итак, целью стало сделать игру похожую на Questy Quest, но при этом:
1. разнообразить геймплей и прокачку.
2. усилить влияние прокачки.
3. не забросить разработку.
Сеттинг.
Боже, как же я тащусь со средневековых маргиналий! Это те рисунки, которыми украшали средневековые рукописи. Вот некоторые примеры:
Эти лица... Эти взгляды... Эти эмоции... У меня просто нет слов. Непередаваемый восторг и восхищение.
В общем, вопрос с выбором сеттинга был решен. Но остался еще вопрос куда сложнее...
Графика.
Где брать графику? Денег на художника нет, знакомых друзей-художников, согласных работать за идею и рисовать как я хочу, тоже нет. Что касается моих умений, то с традиционным рисунком умений также нет, с цифровым -- были попытки в пиксель арт для предыдущих проектов (ага, классика -- начинающий инди и пиксель арт...). Интерес к рисованию все же был. И как то случайно в разговоре со знакомым художником узнал об Иллюстраторе... И тут я понял что должен был узнать о том, как создается векторная графика куда раньше. Ну всё, вопрос с графикой решен. Дело за малым, осталось только научиться рисовать (сарказм).
Начал я смотреть туториалы. Понятно, что не умея рисовать, самому выдумывать персонажей и рисовать их с нуля довольно сложно (так, чтобы результат выглядел интересно и качественно). А вот разрисовывать фигуры, имея уже готовые контуры -- немного проще. И начал я осваивать векторную графику таким образом:
1. искать подходящие картинки маргиналий.
2. обводить их контуры.
3. разукрашивать своими силами.
Немного набив руку на перерисовке персонажей, щиты для главного героя и элементы интерфейса рисовались уже из головы.
Вот одна из первых моих векторных работ для игры (справа)))):
Собственно, перед вами главный герой. И вот не так давно я его перерисовал. И добавил еще в Фотошопе текстурку бумаги и потертости:
Также, вот вам несколько враждебных(?) персонажей: улитки и утка.
И кролики! Куда же без них, если речь о маргиналиях?
И то как игра выглядит сейчас:
На этом заканчиваю этот длиннопост. Спасибо за прочтение!
п.с.: следующий пост посвящу движку, механикам, геймплею.
Страница игры в Twitter: вот здесь.