Я слышал о дизайне, управляемом данными, и некоторое время изучал его. Итак, я прочитал несколько статей, чтобы получить концепции.
Одна из статей - Data Driven Design, написанная Кайлом Уилсоном, Как он описал, мне кажется, что код приложения (т.е. код для управления ресурсами, такими как память, сеть ...) и код игровой логики должны быть разделены, а код игровой логики должен управляться внешними источниками данных. В этот момент я могу представить, что разработчик написал бы своего рода редактор игры, который принимает внешние данные об игровых объектах (такие как информация о персонажах, информация об оружии, информация о карте ...). Дизайн сценария будет написан на языке / инструменте, написанном программистом, чтобы позволить игровому дизайнеру создавать взаимодействие между игровыми объектами. Дизайнер игры будет использовать существующий / пользовательский язык сценариев для написания сценария для игры или инструмент перетаскивания для создания игрового мира. Примером инструментального подхода, который я могу вспомнить, является World Editor, который обычно упаковывается вместе с играми Bliizard.
Тем не менее, другая статья против использования Data Driven Design, «Дело против Data Driven Design» . Автор предлагает не позволять игровому дизайну руководствоваться данными, потому что на разработку игры потребуется больше времени, так как игровой дизайнер несет бремя программирования. Вместо этого будет программист игры, который будет свободно программировать игру из эскиза и будет проверен разработчиком игры после завершения программирования игры. Он называет это программистом. То, что я думаю об этом методе, похоже на то, что я делал раньше: игровая логика - это само приложение, в отличие от приведенной выше идеи, приложение - редактор игр, а настоящая игра разработана на основе этого инструмента.
На мой взгляд, первый способ представляется более разумным, поскольку компоненты игры можно использовать во многих проектах. Со вторым методом, который противостоит дизайну, основанному на данных, код игры принадлежит только этой игре. Вот почему я думаю, что в Warcraft так много игровых жанров, как, например, оригинальный Warcraft и различные пользовательские карты, и одна из самых известных: DOTA, которая фактически определяет новый жанр. По этой причине я слышал, что люди называют World Editor игровым движком. Это правда, каким должен быть игровой движок?
Итак, после всего этого, я просто хочу проверить, есть ли какой-либо недостаток в моем понимании этих идей (управляемых данными, программистских накопителей, сценариев и т. Д ...)?