Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение
Во! Данная серия статей будет лично для меня как раз к стати. Я начал глубинно разбираться с Unreal и наткнулся на ряд вопросов на которые мне пока не удается получить четкого ответа а именно: как правильно использовать основные модули игрового движка такие как GameMod, GameState, PlayerState, LevelBlueprint, GmaeInstance и т.д. а ведь это основные базисы на которых держится весь геймплей. Да конечно я прочитал официальную документацию по этим механикам, но так нашел развернутого примера.

Вот один из примеров того, как разные обучающие каналы на YouTube (как официальные так и русскоязычные) рассказывают о GameMod: в большинстве случаях просто создают MyGameMod, потом в настройках переопределяют PlayerController и еще что-то по необходимости, далее в ProjectSettings переопределяют GameMod на MyGameMod и все. Но GameMod создан не только для того, чтобы нем переопределять классы по умолчанию, в нем можно и какие-то графа создать а вот какие и зачем вот об это мало кто рассказывает.

Собирая информацию по крупицам лично для себя я понял некоторые аспекты использования данных механик. Попробую высказать свои мысли по некоторым из них.

GameMod
Большинство игр не ограничиваются одной картой (Level), но хотелось бы использовать одну механику для всех карт например Deadmatch. Для этих целей и придуман GameMod, в нем можно определить правила игры такие как спаун/респаун игроков/ботов, определение команд, хранение очков команды и многое другое. Один раз написав эту логику для GameMod ее можно подключить к любой карте. Также можно добавить и другие режимы такие как Захват флагов, Командный бой, прыжки на перегонки и т.д. Карты остаются, но для них можно менять режим игры

LevelBlueprint
Данный блюпринт используется только на конкретной карте и не распространяется на другие. Например: на карте с названием «Берег» есть некоторый Маяк, который через 15 минут игры взрывается и заливает всю карту зеленым ядовитым туманом, который наносит дамаг всем игрокам. Абсурдно, но для примера подойдет. Вот именно в LevelBlueprint и надо писать логику маяка. Но если у вас игра состоит только из одной карты и одного режима и в будущем не планируется ничего не добавлять, то всю логику игры можно запихать в LevelBlueprint и не создовать кастомный GameMod.

GameInstance
В GameInstance можно написать функции которые будут доступны из любой карты или игрового режима. Этот класс создается при запуске игры, и до создания всех остальных классов таких как GameMod или LevelBlueprint. Примером таких функций будут как переход на другую карту, загрузка или сохранение игры и т.п.

С остальными классами такими как GameSettings, PlayerSettings, и т.д. я не особо разбирался, но название классов говорят сами за себя, если надо хранить настройки игры, то это GameSettings, если надо хранить настройки персонажа, то это PlayerSettings.

Все что я тут написал это только лишь мои предположения и возможно я ошибаюсь.
Возможно на Хабре уже есть статьи в которых описываются базовые механики, но я на такие не натыкался. Если Вы ufna расскажите про все базовые механики будет очень полезно не только мне но и всем начинающим игроделам решившим использовать Unreal Engine. Но у вас конечно уже составлен план о чем и как писать.

Спасибо!

Спасибо за уточнение! Я так давно не использовал Mono, что даже не знал, что его больше не включают в инсталятор. А то, что у меня скрипты открываются в Mono до сих пор, это видимо наследство от предыдущих версий Юнити.
Пока эта статься находилась в песочнице, я решил поглубже изучить UE4. Когда поподробнее рассмотрел каждый инструмент такие как БП, Редактор материалов, Редактор террейна, UMG редактор, и т.д., да и поддержка по сети уже встроена в Actor, то начал понимать, что Unreal Engine сделали для людей. Когда начинаешь проект в Unity, то приходится постоянно изобретать «велосипеды».
Ну почему же нет? Специально проверил. В версии 2018.2.2f1 скрипты вполне себе открываются в Mono.
Мне больше нравится программировать под радио Vata на Promodj.com, но и там бывают тяжелые треки.
Отличная идея!

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность