Комментарии 5
Спасибо. Как раз сейчас решил серьезно взяться за геймдев, а это означает глубинное изучение движка. До этого на Unity разрабатывал не парясь свои скрипты(вытаскивал всё ровно на знаниях программирования, чего хватало). И эти вопросы — как достойный ориентир для изучения. Думаю, если пересобрать структуру статьи и немного дополнить, выйдет отличный путеводитель в мир разработки игр.
Уважаемый, прекрасная статья.
Являюсь джуниором, и буду искать ответы на вопросы про архитектуру.
Дико плюсую, мечтаю увидеть подобную статью по каждому профессионалу, состоящему в индустрии. Было бы офигенно такое увидеть даже по тем кто не работает с движком, а менеджерам и прочим.
пысы. Есть доступный ресурс с хоть сколько детальными пайплайнами/процессами по разработке или напрямую разработке в UE?
Являюсь джуниором, и буду искать ответы на вопросы про архитектуру.
Дико плюсую, мечтаю увидеть подобную статью по каждому профессионалу, состоящему в индустрии. Было бы офигенно такое увидеть даже по тем кто не работает с движком, а менеджерам и прочим.
пысы. Есть доступный ресурс с хоть сколько детальными пайплайнами/процессами по разработке или напрямую разработке в UE?
Во! Данная серия статей будет лично для меня как раз к стати. Я начал глубинно разбираться с 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. Но у вас конечно уже составлен план о чем и как писать.
Спасибо!
Вот один из примеров того, как разные обучающие каналы на 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. Но у вас конечно уже составлен план о чем и как писать.
Спасибо!
Есть команда из двух начинающих геймдевов/художников с интересным концептом игры.
Они ищут программиста или двух под Unreal Engine 4 или Unity для участия в хакатоне gamenode.org.
Они туда едут так и так, потому что сами немного могут кодить на UE4 Blueprints, но с программистами уверены, что смогут побороться за несколько номинаций сразу :)
Может есть такие же отчаянные, как эти ребята и захотят на три дня смотаться в Минск?
Они ищут программиста или двух под Unreal Engine 4 или Unity для участия в хакатоне gamenode.org.
Они туда едут так и так, потому что сами немного могут кодить на UE4 Blueprints, но с программистами уверены, что смогут побороться за несколько номинаций сразу :)
Может есть такие же отчаянные, как эти ребята и захотят на три дня смотаться в Минск?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Джентльменский набор программиста UE4, ч. 1