MightyThews (часть первая)
Я Начал учиться кодить в начале 2014 года, что называется, наживую. Сделал попытку собрать небольшую игру с видом от третьго лица, но уперся в графику, которую никак не мог вытянуть.
К осени я бросил потуги доделать игру и решил накодить небольшой платформер. По всем параметрам он должен был оказаться более простым в разработке.
Через полторы недели собрался какой-то начальный функционал:
Решив не останавливаться на одних прыжках и лазанью по стенам, я просидев еще три дня и добавил трубу, по которой можно лазить. И ящик, который можно двигать. Соответственно вместе с анимациями для главного героя.
Если кому-то интересно как крыса вращается вокруг трубы и у нее не едут лапы - это обычный рутмоушен в Unity3d. Рут скелета крысы ползет вверх, вращается и тащит ее за собой. Проигрывание анимации можно остановить в любом месте и она повиснет на столбе с той стороны, с которой остановилась.
Результат меня устраивал и я накидывал сверху разные геймплейные фичи. Например проходы под землей для скрытного режима, от которых у меня осталось только это видео:
Ввиду отсутствия опыта в разработке сложного функционала, я засрал весь код этими проходами и запутался в своей писанине. И в итоге их пришлось выкинуть по ряду других причин.
Далее я ударился в кастомизацию персонажей, которая по началу давалась легко, так как я просто запихивал все возможные объекты в персонажа и скрывал\показывал нужные в определенный момент.
Когда какая-то кастомизация была готова я решил сделать первый шаг к чему-то осмысленному и прилепил в игру других персонажей, оружие и диалоги.
Комплексные вещи я делать не умел, поэтому вместо диалогов я сделал простые монологи, которые читались из xml и вызывались по тригеру. В тригере прописывалось какой монолог должен открыться и какой персонаж с какой стороны должен стоять.
Через какое-то время мне пришла в голову идея системы односложных квестов.
Квесты состояли из нескольких монологов, которые соответствовали состоянию квеста. состояний было четыре:
0 - Мы еще не брали квест.xml
1 - Мы взял квест, но не выполнили условия.xml
2 - Мы взяли квест и выполнили условия.xml
3 - Мы сдали квест.xml
В этом видео показываются все четыре варианта монологов:
Раз квесты готовы, значит пришла очередь боевки.
Боевка была сделана процентов на десять и оставлена в покое до тех времен, когда у меня накопится побольше знаний.
Раздумывая над боевкой я сделал поиск пути напарнику. Как правильно накодить поиск пути я тогда понятия не имел и пришлось выдумывать систему самостоятельно.
Напарник следит за передвижениями игрока, если игрок приземляется или прыгает - ставит в этом месте точку и бежит от этой точки, до следующей. Все прыжки и подтягивания обрабатываются сложной системой IF'ов и рейкастов. Если персонаж бежит и по рейкастам видит что нужно прыгать - прыгает. Если повис на уступе - залезает на него.
По сути это был обычный игрок, но с дополнительным логическим контроллером, который нажимал кнопки на основном скрипте.
На этом у меня пока все, остальное выложу завтра.
Лига Разработчиков Видеоигр
7.3K поста22.4K подписчик
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"