Является ли хорошей идеей упростить игровой движок, управляемый персонажами, до такой степени, что нет необходимости изучать сценарии / программирование?

9

Я помню, и я все еще думаю, что невозможно даже создать прототипированную 3D-игру для тестирования просто простых поведений без использования гигантских инструментов, таких как Unity, или без знания обширного программирования на C ++, шаблонов проектирования, приличного или базового 3D-движка и т. Д.

Теперь я задаюсь вопросом, поскольку я знаю программирование, могу ли я быть более счастливым, чем те, кому нужно изучать программирование, прежде чем узнавать, как что-то сделать. Даже скриптовые движки, такие как Unity, не для детей, и, на мой взгляд, они склонны диктовать свои способы ведения дел. Это не относится к таким двигателям, как Ogre или Irrlicht.

Теперь я думаю, что игры, управляемые персонажами, занимают большую часть игрового рынка. Считаете ли вы хорошей идеей создать игровой движок, ориентированный на управление персонажем, который позволяет строить ИИ, исключая что-либо еще?

Когда я говорю «прототип», я также имею в виду «универсальный» в том смысле, что можно быстро выбрать из набора параметров игрового процесса, таких как менеджер сцены, POV камеры игрока, элементы управления, некоторые базовые столкновения / физика и интеграция. базового рулевого управления (например, OpenSteer). Основная идея состоит в том, чтобы создать песочницу для AI, но в 3D, чтобы ее можно было продемонстрировать без ограничений 2D (а также сделать ее более подходящей для создания прототипа в 3D для 3D-проекта вместо 2D).

jokoon
источник
«Базовый» 3D-движок невелик, а C ++ ужасен для создания прототипов. Попробуйте Python для этого.
Коммунистическая утка

Ответы:

6

Мне очень нравится недооцененный игровой движок в Blender. (http://www.blender.org) Модель сенсорного контроллера-исполнительного механизма действительно проста в использовании даже для непрограммистов, и можно сделать достаточно законченную игру (перемещать анимированного персонажа, стрелять из оружия, уничтожать цели , показать счет, следить за здоровьем, сбросить уровень или перейти на новый) без какого-либо программирования вообще.

Конечно, некоторые вещи требуют программирования (особенно получение ввода мышью для FPS). Однако, Blender уже включает Python, и сценарии Python очень хорошо связаны с моделью, поэтому вам никогда не придется заменять сенсорные приводы на Python. Вместо этого вы просто переключаетесь с очень простого «сквозного» контроллера на полный скрипт Python, который может считывать все датчики в сцене и передавать управление всем исполнительным механизмам.

Вполне возможно создать прототип игры за несколько дней в Blender (я сделал это для проекта в местном детском музее в прошлом году).

Конечно, ничто не заменяет старые добрые ноу-хау в программировании, и в конце концов, разработчик должен понимать программирование.

Два пи
источник
Было бы неплохо использовать этот игровой движок с кодом вместо ящиков ... возможно, он недостаточно чист, чтобы его использовать, но мне интересно ...
Jokoon
4

Независимо от механизма ввода, в конце концов, вам все равно нужно установить какой-то способ рассказать игре, что такое логика. «Сценарии» - хороший разговорный термин для этого. В общем, я не согласен с утверждением, что вы можете что-то упростить до такой степени, что вам не нужно знать «скриптинг».

При этом не все сценарии должны выполняться с помощью текстового языка программирования. Была проделана некоторая работа (но не так много) по созданию визуальной системы сценариев. Средство сценариев уровня Unreal, Kismet, является довольно хорошим примером. У движка Source аналогичная механика, но он использует сущности в мире, а не на плоской плоскости.

По сути, у вас есть коробки, которые вы перетаскиваете в какой-то среде, которая имеет входы и выходы. Если вам нужен какой-то ответвление, у вас есть поле с одним входом и несколькими выходами. Эти выходные данные могут перейти к действиям, к которым привязаны данные (например, «перейти к этой точке», «сказать эту строку», «задать этот вопрос» и т. Д.). Обычно это значительно более низкий барьер для входа, чтобы что-то запустить и запустить на визуальном языке, поскольку вам не нужно знать ключевые слова или синтаксис, у вас просто ограниченный набор полей для выбора, из которых все имеют определенное поведение, и вы просто соедините их вместе.

Тем не менее, я считаю, что движки визуальных сценариев действительно не стоят того. Вы должны уметь мыслить структурированно и логически, чтобы успешно сообщить движку, что вы хотите сделать. Если вы можете так думать, переход от блоков с входами / выходами к базовым операторам ветвления и вызовам функций на языке сценариев не так уж сложен. На самом деле, через некоторое время визуальная часть этого, вероятно, становится помехой. Плюс, это намного больше работы на стороне двигателя вещей. Вы должны сделать такие вещи, как реализовать отменить, скопировать / вставить, возможно, иметь некоторые функции более высокого уровня для организации ваших сценариев. С помощью текстового языка вы можете оставить все это в IDE.

тетрада
источник
Вы имеете в виду как Нереальный Кисмет?
DeadMG
1

Это будет вообще компромисс. Если вы действительно хотите избавиться от необходимости создавать какие-либо сценарии, вы обычно будете говорить о создании какого-то интерфейса, который будет объединять сценарии в фоновом режиме (или просто соединять логические объекты или что-то еще). Существуют целые игры, в которых весь смысл игры, четко определенная среда, в которой вы перетаскиваете функциональность, чтобы увидеть, как она взаимодействует с ней.

В конце концов, однако, это всегда будет компромиссом. Чем проще вы пытаетесь сделать интерфейс, тем проще вещи, создаваемые этим интерфейсом.

Джеймс
источник