Размер
Первый блин в геймдеве) Динамичный кликер с элементами стратегии и юмором. Создание и пару советов.
Play

Первый блин в геймдеве) Динамичный кликер с элементами стратегии и юмором. Создание и пару советов.

Пару месяцев назад решил попробовать себя в игрушках на мобилках. В частности на Android. Была взята Unity 3d, C# и бесплатные ассеты в инете. И на основе урока спустя месяцы быдлокодинга появилась, вроде как, на мой взгляд, не плохая игра - кликер. Добавил юмора, анекдотов, всеми узнаваемые звуки и систему талантов и расходников. Что бы добраться до конца игры нужно раскинуть не только пальцами , но и мозгами)

Все начиналось как навязчивая идея. Последний год подсознание постоянно доставало мое сознательное тем , что я занимаюсь не тем, в данном случае сисадминством. А потом все как в тумане. Курсы С++, Unreal Engine, C# и в итоге Unity.

Запомните, если вы решили практиковаться как кодер, найдите друга художника. Ибо искать бесплатные ассеты в инетах это долго, нудно и практически всегда не то, что вы хотели. Разбейтесь в лепешку, продайте почку, ограбьте бабушку, но друга (а лучше подругу;)) художника найдите!

Всем кто хочет начать развивать в области разработки геймдева как программист рекомендую выбирать именно Unity. Во первых, по этому двиглу куча русскоязычных материалов, куча форумов и примеров. Во вторых, на Unity вы ОБЯЗАНЫ будете выучить язык и научиться писать скрипты и выучить, в конце концов, шаблоны проектирования, в то время как в Unreale есть встроенный язык визуального скриптинга Blueprints, что как бы не даст вам развиваться как программисту. Ну и в третьих, освоив Unity вы, когда вас позовут mail.ru:)), сможете не потратив уйму времени быстренько освоить тот же Unreal Engine, в виду того что синтаксис C# и С++ весьма схож, а стандартная библиотека во время работы с фреймворками (коими и являются вышеперечисленные движки) практически не используется.

И да если вы пишите сейчас игру и читаете этот пост - КЕШИНГ ПЕРЕМЕННЫХ!) Найдите в гугле что это и обязательно используйте. В разы повысите производительно игры.

А ну и работы по Unity примерно в раза 4 сейчас больше. Пока что.

Так вот, отвлекся:)

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

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

Напоминает оргазм, только более долговременный)

Собственно сама игра:

В общем, пробуйте, оценивайте. Конструктивную критику приемлю (без матов плз:))

Лига Разработчиков Видеоигр

4.6K поста 19.4K подписчика

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Не употребляйте мат без необходимости

СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

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

- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры, для этих целей больше подойдёт Discord-сервер сообщества

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.

О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

В корне не согласен про unreal engine и blueprint , без знания C# там далеко не уедешь, примитивные и однообразные шутеры можно будет пилить, но дальше ты там не уедешь

по поводу художника. я могу что то не очень сложное помочь начинающим ребятам нарисовать..

Интерфейс не очень

Собственно перерисуй гуи, доведи до ума и выложи заново. Эту версию не апдейть, она уже умерла.

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

Друже, а не подскажешь - не встречал ли ты русскоязычной литературы по Шарпу применительно к Юнити? Не видеоуроков, а именно текстовых материалов?

Я, конечно, усиленно осваиваю их документацию на оф. сайте, но из-за языкового барьера все идет довольно медленно, хотелось бы побыстрее пробежать азы (не объявление переменных, циклы и написание функций), а встроенные классы и методы, например.

Сбылась мечта детства

Это мой первый пост.

Всегда мечтал стать разработчиком игр. Но что то пошло не так. И не так давно методом проб и ошибок я все-таки выпустил свою первую игру.

На что-большое я нерешился, решил сделать маленьку и простую игру. А что может быть проще - кликер😁 выбрал тематику, в моем случаии это кролики. Что может быть проще кликай по морковкам и собирай урожай. Сделал. Как-то скучно. Решил сделать деревню кроликов🐇 Ферма с морковкой уже есть. Нужна лесопилка, ну тогда уже добавим шахту и кузницу. И по итогу у нас 4 вида ресурсов:морковка, дерево, камень, железо. А зачем нам ресурсы? Правильно прокачивать домики. А и еще склад добавил.Все идея есть механику тоже продумал. Остался вопрос за графикой. Часть гафики купил на стороних ресурсах. Часть сам рисовал. Кроликов сам рисовал. Так сказать мой первый опыт.

Получилось как то так😁

Вышло продолжение "Механического Куба"

Привет, Пикабу! Привет, мои подписчики! Наконец-то этот день настал! Я дотащил до релиза мой набор каверзных головоломок, мой олдскульный квест в сеттинге "темной научной фантастики", мою прелесть и головную боль. Е-а-а-а. [Гарольд, скрывающий боль]

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

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

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

Единственное заметное изменение - я решил отказаться от "изометрии" и перейти к классическому 2D "виду сбоку". Мне кажется, это пошло на пользу игре, мир стал более "сочным" и детализированным. Концовки, также как и в первой части, сделаны в виде мини-комиксов, в эстетике мрачных НФ рассказов. И в основном, являются оммажем на популярные литературные произведения или кино 80-х.

Игра есть на Google Play и в App Store. Ссылок не даю, так как пост не рекламный, кто заинтересовался, я думаю найдет. Это самая простая из загадок "Мех. Куба" :)

Аркадный автомат с игрой ASCIIDENT - обои рабочего стола

Когда долго работаю над одной темой, то начинаю выгорать по разным причинам. Одна из причин - истощение запаса идей. Способ преодоления: окружаю себя элементами нужной тематики. Сейчас, например, сделал обои рабочего стола с игрой, над которой работаю. Вечером сворачиваю все окна на компе и впитываю настроение.

Вот картинка в разрешении 1920х1080:

Буду рад, если понравится!

Eggs Arcade - игра в которой нужно разбивать яйца

Я делаю мобильную игру Eggs Arcade. В ней надо разбивать куриные яйца на арене.

Вы можете собрать коллекцию яиц и хранить их в гнездах.

У каждого яйца есть уникальные боевые способности.

Сейчас На арене 4 типа противников:

обычный противник - куриное яйцо, которое пытается вас ударить и разбить

Страусинное яйцо - вращается, нанося урон

Спунер - яйцо с ложкой :-) подъезжает к вам и бьет вас ложкой

Камикадзе - взрывается через несколько секунд после появления на арене.

В игре будет мультиплеер, в котором вы сможете разбивать яйца ваших соперников :-)

Игру начал делать в свободное от работы время, 2 года назад.

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

Пожалуйста оставьте ваши предложения и комментарии к игре!

Витя Б***ь!

Просто момент из игры)

“Робот Фортран, чисть картошку!” или история передвижения одного куба.

Возможно некоторые из вас знакомы с прекрасной книгой “Энциклопедия профессора Фортрана”. В ней очень доступно рассказывается об устройстве компьютера а также о том что такое компьютерный язык. Не смотря на то что книга 1991 года выпуска, по моему мнению, она является лучшим введением в мир компьютеров как для взрослых так и для детей.

Особенно мне запомнился момент из книги, когда кот Икс пытается задать программу, для чистки картошки, профессору Фортран, но простая команда “Робот Фортран, чисть картошку!” не приносит желаемого результата, “робот” начинает полировать картошку носовым платком, или же шкрябать её ручкой от ножа.

Это очень наглядный пример к выражению: “Программа делает не то что хочет пользователь, а то на что её запрограммировали”.

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

Если вкратце геймплей Build Way заключается в том, что игрок строит дорогу на пути катящегося куба, помогая ему обходить препятствия и находить различные бонусы в виде монет и ключей. То есть самим кубом мы не управляем, катиться он автоматически. Куб должен не только двигаться в нужном направлении, но и адаптироваться к выдвижению блоков на стене, тем самым меняя направление движения динамически. Казалось бы что может быть проще чем катить куб по дороге?

Но поверьте я дочь программиста и тут не все так однозначно. Не всегда просто добиться естественного поведения движения от куба. Рассмотрим несколько примеров. Чтобы двигать куб вперед будем вращать его вокруг ребр:

1) Простейший пример передвижения вперед без препятствий, для этого достаточно повернуть куб вокруг нижнего переднего ребра на 90°:

2) Допустим мы встретили препятствие и нужно на него взобраться, для этого нужно повернуть куб на 180° вокруг верхнего переднего ребра:

3) Усложним еще ситуацию, на пути нашего куба оказалась яма, что же ему делать в этом случае? На самом деле выхода как обычно минимум два - первое забить на яму и крутиться вперед вокруг переднего нижнего ребра, или же закатиться в яму. Мы выбрали второе решение, так как оно показалось нам более естественным и таким образом куб сможет посетить все закоулки в которые заведет его игрок! В этом случае мы крутим куб не вокруг его ребр, а вокруг оси X:

еще схожий пример но теперь яма не внизу, а напротив нас, теперь крутим куб вокруг оси Y:

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

Например в данной ситуации приоритет движение вперед больше чем движения назад.

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

Пару слов о том как куб анализирует объекты вокруг себя. В Unity engine есть замечательная возможность это сделать с помощью sphere cast. Простыми словами можно сказать, что куб как-бы рисует сферу вокруг себя и возвращает все объекты, которые попали или пересеклись с этой сферой. На данном рисунке видно что вокруг игрового куба находится куб сверху, снизу и снизу справа:

Все эти механики были реализованы чтобы сделать поведение куба более предсказуемым(по нашему мнению =) а также разнообразить геймплей.

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

Опыт создания первой игры под Android на Unity

Доброго времени суток, дорогие пикабушники. Множество раз я читал истории успеха (и не очень) от разработчиков (и не очень) игр - и вот настала моя очередь рассказать, что да как. Что сделал, что не сделал, что получилось легко и быстро, а где затупил.

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

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

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

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

О знакомстве с Unity

К тому моменту я мог худо-бедно сделать что-то под Android для себя. Простенькое, с кнопочками, текстовыми полями, картинками. В принципе, подойдет, чтобы делать какие-нибудь игры в слова, разгадывание ребусов и тому подобное. Но сколько раз я ни пробовал взяться за такие игры - желание быстро пропадало, потому что это тупо скучно)).

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

Какое ПО выбрать?

Мой выбор пал на вариант: "сделай все сам и бесплатно". Для создания графики использую Blender (3D), Inkscape (векторная графика) и Gimp (растровая графика). Даже папку с рабочими файлами этих программ назвал аббревиатурой - BIG.

Unity использую в связке с Visual Studio 2015 (если в команде менее 5 разработчиков, то VS также бесплатна, насколько я понял из лицензионного договора). Ну и для обработки звуков полезен Audacity. Музыку на нем, вроде как, не напишешь, но в текущем проекте пока и не надо было.

Начало пути и выбор идеи

Чтобы вообще понять, чего ждать от Unity я нашел первый же урок из разряда "игра на Unity за час" и склепал свою первую поделку, в которой что-то падало сверху, нужно было уворачиваться, не получилось - проиграл. Установил на телефон, запустил, сыграл - блаженству не было предела: теперь ты знаешь, как можно сделать игру! Оставалось лишь сделать свою, и чтобы она была интересной.

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

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

Из полученного опыта: не стоит недооценивать затраты времени.

При создании первого проекта, когда еще нет опыта и многому приходится учиться, очень сложно оценить, как быстро получится сделать рабочий вариант игры. Я для себя вывел такие правила: если создаешь версию игры "для себя", чтобы понять понравится ли она хотя бы тебе, то время, за которое ожидаешь это сделать, можно домножать на 1,5 - 2. В мечтах все просто: добавим здесь кнопку, здесь противник будет двигаться обратно пропорционально квадрату синуса расстояния до игрока, здесь сделаем бонус, который добавляет +100 к скорости, но отнимает 100 от удачи - и игра станет бомбой. Но на практике обязательно вылезут какие-нибудь ошибки. Алгоритм поведения противников будет тупить, переменным будут присваиваться неожиданные значения, один и тот же кусок кода будет вести себя по-разному в зависимости от фазы луны. Для исправления всего этого неизбежного потребуется время, полученное после домножения на 1,5 - 2.

Если же создавать версию игры "для релиза", то рабочий процесс во многом упирается в работу с графикой и анимацией (модели должны уже быть полноценными, а не примитивами из версии "для себя") и зачастую сводится к: сделать -> проверить -> переделать -> проверить -> повторить. С ростом навыка повторять нужно будет реже. Ну и еще много времени уйдет на тестирование, оптимизацию и разного рода мелкие корректировки. В моем случае, реальные затраты времени превышали оценки раза в 3 или чуть больше.

После некоторых колебаний с выбором идеи, я остановился на следующей комбинации предварительных условий:

1) незамысловатый сюжет и мир игры

2) игра с управлением в одно касание - проста в реализации, хоть и ограничена в возможностях

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

4) желательно бесконечный игровой процесс, но с возможностью использовать результаты потраченного времени

3) юмор и приколы

Обо всем по порядку

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

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

Из полученного опыта: прототип игры - очень важен.

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

После создания годного прототипа во всю началась работа с графикой. Мой личный выбор пал на вариант 3D. Во-первых, еще в школе баловался с 3DSmax, во-вторых, созданную один раз модель можно потом крутить как угодно, подбирая нужный ракурс. Но, опять же, это выбор из личных предпочтений, с 2D графикой на должном уровне не работал. Blender оказался на удивление удобным инструментом (после нескольких десятков часов привыкания), шустрым в работе и с огромным количеством обучающих материалов. Быстро получилось создать статичные модели - камыши на пруду, кувшинки, камни, облака. Анимированные модели заняли на порядок больше времени. В целом, третий пункт из предварительных условий позволил не углубляться в создание максимально детализированной графики (а в будущем и меньше проблем с оптимизацией возникает), оставаясь при этом в соответствии с концепцией игры.

Из полученного опыта: не стоит бояться изучать и делать что-то новое. Как минимум, нужно попробовать.

Помню, когда я создал статичную модель лягушки, точнее, две модели - с закрытым ртом и с открытым, когда она стреляет языком. Мне это казалось просто высшим достижением, хотя и в рамках игры выглядело, мягко говоря, колхозно. По внутренней оценке, я был способен создать анимацию 3D моделей только где-то через месяц - полтора. Однако, попробовав разобраться в скелетной анимации Blender и методами ее импортирования в Unity, я обнаружил, что создал анимированную версию лягушки уже через 3-4 дня.

Ну и заключительным этапом создания завершенной версии для релиза стало определение того варианта игры, которого будет достаточно. В процессе разработки легко увлечься, добавляя все новые и новые элементы, переключаясь с одного вида деятельности на другой, при этом дата выхода игры будет постоянно откладываться, но всегда будет "где-то через неделю". У меня это продолжалось несколько недель подряд. Чтобы завершить начатое, необходимо выполнить два условия: во-первых, решить что обязательно попадет в игру, а что обязательно останется на доработку и будет добавлено в обновлениях; и во-вторых, искоренить перфекционизм - определить необходимый уровень как будет реализовано то, что должно обязательно попасть в игру. Если пытаться сделать как можно лучше, то за это время придет видение того, как можно сделать еще лучше и так далее. В таком случае и Ахиллес не догонит черепаху.

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

Ну и последний в списке, но не последний для меня по важности пункт - юмор. Без него и сам процесс создания был бы более тяжким, и многое из того, что мне нравится в игре, не было бы сделано. Некоторые идеи приходили в голову во время работы, и затем были реализованы. Например, изначально я не планировал озвучивать лягушку как бы то ни было, но как-то раз мне вспомнилось видео с орущим сурком, которое я пересматривал десятками раз..)) ( https://www.youtube.com/watch?v=Q_Qs-FRbTzY )

Также вариантов окна с результатами совместной игры было несколько, но выбрал именно тот, который вызывал у меня самого веселье и желание сыграть еще раз, по-другому))

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

Лягуха смотрит на тебя с уважением

Немного Паучьей силы или о том как я делал свою первую игру

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

Глава 1: Зарождение идеи.

Разработка игр под мобилки меня заинтересовала еще давно, но на тот момент я еще даже не определился с жанром будущей игры (колебался между головоломкой и аркадой). Одно решил для себя точно - это игра будет сделана на моём собственном движке. Почему. Сам себя иногда об этом спрашиваю, но не нахожу ответа лучше чем "Просто захотелось". Время терять не стал и приступил к работе. На этом специфичные решения не заканчиваются. Движок писался эксклюзивно для платформы Android на java + openGl ES 2.0. Благо писать с нуля не пришлось, кое-какие наработки на с++ у меня уже были (Так-то графикой занимаюсь уже давно. Не претендую на звание эксперта, но более-менее приличный опыт получил). Время шло, движок делался, а идея игры не придумывалась. Кое-какие наброски зарождалась и через время отметались. Разработка движка уже подходила к концу (ушло примерно пол года), как вдруг мой друг предложил мне идею, которая послужила стартом для всех дальнейших разработок. Это было на паре философии (а чем там еще заниматься? =) ), он просто повернулся ко мне и сказал: "Смотри, есть идея.". Ну а я молча начал внимательно слушать. Суть была в следующем:

Прямоугольная область (т.е. весь экран телефона), огороженная со всех сторон стенками. Боковые стены бывают разных видов (для чего это нужно - чуть дальше), каждый из которых проявляется себя тем, что окрашивает стену в какой-то свой цвет. В этой области случайным образом появляется "нечто", что нужно поймать. Главный герой (далее именуемый как гг) непрерывно скачет по уровню отталкиваясь от всех стен как резиновый мячик, при этом физика столкновения с разноцветными стенками имеет каждая свой характер. Игрок управляет гг, когда тот отталкивается от этих самых разноцветных стен. Пара примеров: красная стена - гг движется вдоль стены вверх и по тапу отпрыгивает в сторону пальца, желтая стена - гг движется в противоположную сторону и управляется как в "Flappy bird" и т.д. Количество касаний стенок было ограничено и сбрасывалось как только гг ловил то самое "нечто". Цель игры - продержаться как можно дольше.

Эта идея понравилась больше чем остальные, что-то особенное я тогда в ней нашел. В этот момент решил, что медлить нет смысла и приступил к разработке. Тогда же я нашел сторонников: +1 человек в команду, программист физики. +1 человек в команду, художница. +1 человек в команду, тот самый друг, который придумал идею. Правда, к сожалению, через некоторое время автор идеи передумал участвовать и ушел из проекта. -1 человек в команде =(

Глава 2: О дизайне.

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

Изначально все вокруг было статичным. Один лишь только паук скакал по просторам своей паутины и собирал лениво спавнившихся мух. Нашим приоритетом было сделать красивую игру и поэтому такой вид был абсолютно неприемлем. Постепенно мы придумывали и внедряли в игру различные эффекты, анимации. Мир стал оживать. Сперва зашевелились под ветром листья, затем трава. Через время и сама паутина нашего гг. Здесь хотелось бы отметить, что для ветра была задана единая функция, которой подчинялись все перечисленные объекты. Таким образом все, что колыхалось приходило в некую единую гармонию. Позже в ряды этой гармонии вступили элементы главного меню подвешенные на веревках.Чуть позже ожила бабочка, которая находилась в банке в правом нижнем углу. Она начала порхать и летать по кругу. Собственно, в некотором смысле, ожила и сама банка. Для нее написал специальный шейдер, который искажал проходящий через нее свет. Таким образом "эффект линзы" возникал не только у бабочки, а у всего, что было за банкой.

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

Глава 3: Все плохо.

"Все плохо", - именно так и только так мы думали о нашем геймплее, когда он стал более менее близок к завершению. В это играть было невероятно скучно. В команде даже иногда стал подыматься вопрос: "а не начать ли нам с нуля?". Какой бы баланс в игру не привносился, какие бы новые физические свойства для цветных стен не придумывались, все равно игра нагоняла скуку еще посильнее чем матанализ. Я, если честно говоря, даже запаниковал. Но при этом всем, мы чувствовали, что потенциал у этой задумки есть, только его нужно направить в правильное русло. И тогда помог банальный анализ проблем текущего геймплея игры. Основной причиной всех проблем было то, что гг был больше безконтрольным чем управляемым. Игра напоминала лотерею: повезло - поймал муху, нет - -1 к счетчику касаний. Мы начали переделывать управление так, чтобы чувство контроля гг было более ощутимо, но это была лишь капля в море. И тогда было решено пойти на кардинальную меру: отдать игроку полный контроль над пауком. Никаких отбиваний, никаких лотерей. Тапнул пальцем - паук прыгнул в заданную сторону и схватился за край экрана. Теперь игра стала на время. Поймал муху - получил пару секунд. С небес посыпался самый настоящий мусор (огрызки яблока, банки пр.) Огрел по голове мусор - минус к времени. Когда был готов первый прототип, кроме как "вот это поворот" по-другому эту ситуацию не опишешь. Игра неожиданно стала всем нравиться. Мы стали развиваться в этом направлении и все стало постепенно налаживаться. В игре появилось множество других фишек: смена дня и ночи, другие насекомые и. ПАУЧЬЯ СИЛА!

Глава 4: Паучья сила.

Паучья сила - это ни что иное как самый настоящий баф. Бафов было добавлено всего несколько видов, но их скрытые возможности могут приятно удивить даже если кажется, что точно знаешь как они работают. Здесь же возникла новая проблема. Для более приятной игры было просто необходимо, чтобы бафы активировались не сразу как только игрок их ловил, но при этом делать для них отдельное меню нам не хотелось - это негативно повлияло бы на динамику в игре. И тогда нам на помощь пришли те самые разноцветные стенки. Ничто не проходит даром. Так и первая версия геймплея сыграла свою роль в конечном итоге. При поимке бафа цветом загоралась одна из стен и его свойство активировалось как только гг приземлялся на искрящуюся цветную поверхность.

Хотелось бы еще добавить, что в этот момент и зародилось название игры "Spider Force". До этого мы условно именовали игру как "Паук Жора". Тем не менее, после переименования, паук оставил себе назначенное с самого начала разработки имя и пребывает с ним и по сей день.

Глава 5: +1 человек в команде.

Настал момент музыкального и звукового сопровождения. И тут настала великая депрессия. Что делать? КАК, ЧТО И ГДЕ ЗАПИСЫВАТЬ? Мы немного попаниковали, но затем успокоились и снова вернулись к работе. Никто из нас троих композитором не является и поэтому мы решили от музыки отказаться. Стали записывать звуки. Это было. своеобразно. Я прислушивался к каждому звуку, который где-либо услышу. Стучал одними предметами о другие, бегал с диктофоном туда сюда, наводил на людей ужас. Даже охотился за пением птиц. Но в конечном итоге все это звучало ужасно. Выпускать игру в таком виде я никак не хотел. Проект повис в воздухе в ожидании чуда. И. неожиданно это чудо свершилось! Совершенно случайно я узнал, что друг моего друга композитор-любитель. И как вы поняли: +1 человек в команде. Почти все записанные мной звуки были выкинуты (оставлены только самые самые) и в игру была добавлена самая настоящая музыка!

Глава 6: Хеллоуин

Весь этот год (а именно столько ушло на разработку игры) мы работали на энтузиазме. Мы хотели сделать что-то вроде компании поддержки разработчиков и не захламлять игру всякой нечистью вроде рекламы. Мы сделали отдельную платную версию игры, в которой добавили визуальное оформление в стиле хеллоуина, как приятный бонус для тех кто нас поддержал. Сейчас в разработке находятся еще 2 скина. Мы планируем поддерживать как платную, так и бесплатную версии. Поэтому в будущих обновлениях, в том числе и следующем, один скин будет добавлен в бесплатную версию, а другой поселится рядом с программой поддержки инди разработчиков =) .

📎📎📎📎📎📎📎📎📎📎