Devlog #0 – разбор демки. Видео, скриншоты и вопросы к читателям
Модели персонажей и окружения
Создавая модели, я придерживался стилистики The Legend of Zelda, особенно ремейк Link’s Awakening – она красочная, красивая, а, самое главное для меня, простая (но я немного ошибся – выдерживать стиль простоты, воздушности и ми-ми-мишности достаточно сложно).
Изучая Blender, я понял, что 3D-моделирование — это очень круто и весело, плюсом меня закидало флешбэками из художественно школы, где мы, помимо рисования, лепили из глины, да и воспоминания черчения из школы подошли как-никак кстати.
Но в процессе создания мастер-модели героини (я не знаю, как правильно назвать высокополигональную модель, с которой потом делают упрощенные игровые объекты – поэтому называю «мастер-модель»), я осознал, что мой комп просто не тянет, что было еще одним плюсом в копилку «мультяшности» игры.
Пример таких моделей можно наблюдать на первой картинке.
Модели моделями, но как лучше «раскрасить» всю эту красоту? Я для себя отметил два пути – текстуры и заливка полигонов. Первый способ используется во всех играх – делается UV развертка модели и по ней «натягивается» картинка. Второй же способ встречается реже и выглядит не так круто на низкополигональных моделях – например, в игре Black Book (могу ошибаться, но выглядит именно так).
Поэтому я решил поэкспериментировать и создал первые две локации используя «заливку» цветом за исключением земли – это было изучение работы Terrain в Unity. И мне понравилось, особенно если модель достаточно детализированная – грибочки, зелья и колба с растением.
А вот подземелье подверглось текстурированию. Делал я это в Blender – разбил данж на три области, а каждую область на стены и пол – в итоге 6 огромных(!) текстур на всю локацию. И я сильно опечалился, когда вес проекта подскочил до 3 гигов (был около 250 мб.) – понимаете теперь почему Колда весит все больше и больше (или в Activision не слышали о компрессии).
В шоке от полученного результата, я подумал о решении проблемы – заливка текстурой в самом Unity (то, что делал в Blender, но без «запекания») и просто создать 3D-модель пола и стен с заливкой плитки и кирпичей. Но пока еще думаю над дальнейшем выбором.
Выше тест созданного в Blender материала (текстура + normal map) и примеры объектов стен и пола.
Передвижение и анимация
Какие могут быть вопросы к передвижению персонажа в игре – WASD и погнали :)
Но я увидел три пути для игры с видом сверху:
- WASD + поворот камеры и персонажа мышкой (левый + правый стик геймпада) – так сейчас реализовано (видео выше);
- только WASD (камера поворачивается нажатием A и D) – возможность передвигаться одной рукой (видео ниже - видно, что движение назад с поворотом выглядит странно);
- WASD – персонаж бежит к определенной стороне экрана, а мышь просто поворачивает камеру.
Третий вариант я сразу убрал, т.к. невозможно нормально целиться во врагов, а вот первые два меня заинтересовали, но сейчас реализовал только первый, как классический, хотя второй самому больше нравиться, т.к. отголоски «танкового» управления из классических частей Resident Evil щекочут струны ностальгии :)
А про анимацию, я думаю, можно рассказать отдельным девлогом, т.к. с ней я чуть не запарился надолго (риггинг моделей, анимация в Blender-е, попытки использовать готовые ассеты и т.д.), но решил, что для демки достаточно взять готовые из Mixamo и сделал примитивную стейтмашину в Unity.
Артефакты и предметы
Не знаю, что интересного рассказать в этом пункте про артефакты, просто такая фича есть – по умолчанию у вас медленно восстанавливается только манна, но если экипировать колбу с растением, то жизни будут регенерировать тоже.
Но можно заметить 4 слота под склянки (возможно, в будущем туда можно будет помещать предметы) – я планирую сделать крафт и убрать выпадающие хилки из врагов (вместо них будут расходники для крафта). 4 слота не случайно, т.к. биндить на крестовину геймпада самое то :)
Как вы относитесь к крафу в играх? В какой игре для вас идеальный пример?
Магия и боевка
Боевая система, как неотъемлемая часть геймплея, очень важная часть игры – поэтому хотелось сделать просто, не напрягающе и, все же, не казуально.
Хочется сделать что-то между Diablo и Hades, но без толп врагов (возможно нужно балансить в сторону живучести и подвижности врагов, но пока не об этом).
Первое, хочу сохранить динамику – отсюда каст магии делается на ходу, а сама магия не сильно дамажит и откатывается быстро.
Второе, не хочется скатываться в хардкор – враги уже достаточно живучие, и если зажмут толпой в углу, то беда. Манна, при встрече с группой врагов, заканчивается быстро – приходится рисковать и подбегать к выпавшей фляжке (но, как писал выше, механику выпадения склянок хочется избежать).
AI – гоблинов
На данный момент ИИ гоблинов ооочень тупой, так что заострять на него внимания не стоит – они нападают только если вас увидят (фикса при нападении со спины нет в демо); если потеряли вас из виду, то доходят до точки где видели ГГ и возвращаются к патрулю; патруль вокруг точки спауна в рандомном порядке; ну и куча странных действий, которые надо тестировать и ловить (например, блокируют друг друга в проходах, проходят сквозь стены и т.д.).
Так что над этим работать и работать.
Диалоги и действия с предметами
Т.к. я еще не научился делать заставки на движке, то мысль передавать информацию через текст нашел самым подходящим (да и средств, времени и сил у меня столько не найдется – к тому же проект не ААА уровня, пока что).
И как самым подходящим интерфейсом для такого взял диалоговое окно классических СRPG – вроде выглядит макет неплохо, но есть вопросики к шрифтам и цветовой гамме.
Освещение
В конце затрону освещение.
Если анимация, просто для меня сложная и трудоемкая история, а «запекание» текстур моделей расточительством ресурсов (несмотря, на то, что делается просто и быстро), то работа со светом меня в прямом смысле взбесило – «запекание» или расчет в реальном времени; быстрые или красивые тени; почему light-map криво работает; почему на одной и той же модели свет от фаербола отражается а на другой нет; какого лешего при повороте камеры свет пропадает – это просто огромная головная боль.
* * *
Спасибо за уделенное время.
Если есть пожелания или конструктивная критика, то с удовольствием почитаю ваши комментарии.
Купи себе учебник по русскому, читать невозможно
Ну, заливка стен в подземелье огромными текстурами – это дичь, конечно, если текстура умеет тайлиться. Узнай, что такое UV coordinates и как тайлить текстуру.
Это был эксперимент, поэтому и отказался от такого подхода.
Так что думаю или через тайлинг текстур делать, или просто 3D-модель использовать - первый выглядит плосковатым (даже с noraml map), а второй выглядит как расточительством ресурсов.
Привет, мне интересен твой проект, я художник и могу помочь с визуалом и уровнями