Сразу хотел бы предупредить каждого из читателей - данный пост создан в первую очередь для того чтобы сделать небольшой перерыв от Clickteam Fusion (далее CTF), выговориться, консолидировать собственную информацию и, возможно, что-либо еще.
История эта началась еще очень давно и так же быстро, на тот момент, она закончилась - я захотел сделать платформер, но не нашел конструктор, который отвечал бы необходимым требованиям под мои задачи и умения. Оглядываясь назад, скорее всего, я не так уж и сильно хотел сделать игру, потому что до CTF я так и не дошел, а остановился на других движках, которые мне совсем не подходили. Но сейчас я решил вернуться к проекту, а точнее даже к самой идее сделать игру платформер и Clickteam походит на 99% из всех поставленных задач.
Основными требованиями к конструктору были:
1) Цена
К сожалению я не успел купить его на зимней распродаже в Steam, а потом и вовсе пропустил буквально раздачу по 1$ на одном из сайтов. С другой стороны пропустив распродажу пришлось искать другие варианты для покупки. Вспомнив про бандл на humble, в который входил как раз CTF и некоторые экспортеры для него, я начал шерстить торговые площадки в поисках остатков ключей и на одном трехбуквенном сайте я нашел его по весьма сносной цене, которая была в полтора раза меньше, чем во время зимней распродажи. Что же касается других движков, то за 300 рублей ничего нет.
2) Время
Поскольку я планировал относительно простенький платформер, то мне нужен был конструктор, который я смогу сразу же использовать без какого-либо изучения встроенного скриптового языка... И данный конструктор полностью отвечает этим требованиям. Если кратко охарактеризовать CTF, то это Excel для создания игр. Около 80% всех моих задач решаются без применения каких-либо сложных формул и дополнительных плагинов.
Но самым ценным оказалось то, что мне даже не пришлось разбираться в интерфейсе - все очень логично и понятно с первых секунд.
Все дело в квадратах
Одной из небольших, как я считаю, ошибок была моя попытка начать работать сразу с текстурами и модельками. Я потерял на них относительно много времени, которое мог бы потратить на написание логики, а вместо этого сидел "рисовал" человечков в GIMP'е, которых я впоследствии все-равно буду переделывать. Но это не так страшно, потому что я вовремя одумался и бросил эту идею, при этом получив опыт работы со спрайтами в конструкторе.
Теперь же я сосредоточился на написании самой логики платформера, а все модельки свел к разноцветным квадратам (прямоугольникам).
Оранжевый слева - герой; коричневые - патрульные; светло оранжевые - дозорные; (P)istol и (R)ifle - коробки с оружием; два Х ящика друг на друге для теста; флажки - точки респаунов. Стрелки указывают направление моделей.
Ничего получилось всего лишь за первые 80 часов
Если с интерфейсом разбираться не понадобилось, то в функционал пришлось вникать, потому что каждый выбор той или иной функции ведет за собой различные последствия. Ну, я же умный! Я же посмотрел ролики на Youtube и пошел делать игру за 15 минут! Не поймите меня неправильно, в обучающих роликах нет ничего плохого, наоборот они очень полезные. Даже те, которые записаны школьниками, через фрапс и без звука в HD 420p ULTRA. Но они не дают понимания какой именно функционал тебе понадобится в разработке игры.
К примеру, насмотревшись роликов по созданию платформеров, я начал использовать Platformer Movement object - расширение, которое расширяет некоторый функционал движения игрока в мире. Но есть и обратная сторона медали: придется выставлять анимацию игрока вручную ("Я не смог автоматизировать анимацию, но воспринимайте это как свободу действия" - слова разработчика в справке); придется сделать дополнительный детектор, который будет перекрывать героя и его оружие в руках, потому что если этого не сделать, то игрок будет "проталкиваться" через текстуры из-за бага PMO; частично потеряешь функционал CTF, который придется возмещать отдельной логикой для PMO. Конечно же есть и плюсы, да, их много, но, как оказалось, практически все они мне не нужны.
Многие сейчас скажут, что это все из-за отсутствия технического задания, но будут неправы. Это все из-за отсутствия опыта и понимания работы с тем или иным функционалом, а главное осознанием когда его необходимо применять. К примеру, после 80 часов ковыряния в конструкторе, я знаю что гранату можно кинуть как минимум тремя способами: через физический движок; через жесткий Movement Path; через координаты X и Y.
На данный момент у меня 136 часов "опыта" работы в Clickteam Fusion 2.5. Я переписал около 6 раз свой проект сократив код логики в 4 раза. Отказался от более, чем 20 различных неудачных решений, в том числе, которые "пропагандируют" в обучающих роликах. И практически уже в двух шагах от создания первого уровня игры.
Пожалуй на этом я закончу свой длиннопост, а если у вас есть какие-нибудь вопросы, то по возможности постараюсь на них ответить.