Це гарна ідея спростити ігровий движок, керований персонажами, до того, коли зайве вивчити сценарії / програмування?


9

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

Тепер мені цікаво, оскільки я знаю програмування, чи мені ще пощастить, ніж тим, кому потрібно вивчити програмування, перш ніж знати, як щось зробити. Навіть сценарії, написані на зразок Unity, не для дітей, і, на моє відчуття, вони, як правило, диктують свої способи робити. Це не стосується таких двигунів, як Ogre або Irrlicht.

Зараз я думаю, що керовані персонажами ігри займають велику частину ігрового ринку. Чи вважаєте ви, що це гарна ідея зробити ігровий двигун, орієнтований на управління персонажем, який дозволяє лише будувати AI для виключення нічого іншого?

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


'Основний' 3D-двигун не величезний, а C ++ - жахливий для прототипування. Спробуйте для цього Python.
Качка комуніста

Відповіді:


6

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

Звичайно, деякі речі вимагають програмування (особливо отримання миші для FPS.) Однак блендер вже включає в себе Python, і сценарій Python дуже добре прив’язаний до моделі, тому вам ніколи не потрібно замінювати сенсорні приводи на Python. Натомість ви просто переходите від дуже простого контролера "проходження" до повного сценарію Python, який може прочитати всі датчики в сцені і передати управління всім виконавчим механізмам.

Цілком можливо здійснити створення прототипу гри за кілька днів у Блендері (я зробив це для проекту в місцевому дитячому музеї минулого року.)

Звичайно, ніщо не замінює старе ноу-хау програмування, і врешті-решт, розробнику потрібно розуміти програмування.


Це було б цілком приємно використовувати цей ігровий движок з кодом замість коробки ... можливо, це недостатньо чисто для використання, але мені цікаво ...
jokoon

4

Незалежно від механізму введення, в кінці дня вам все-таки потрібно налаштувати якийсь спосіб розповісти грі, яка логіка. "Сценарій" - це хороший розмовний термін для цього. Так що я в основному не погоджуюся з твердженням, що ви можете щось спростити до того моменту, коли вам не потрібно знати "сценарії".

Незважаючи на це, не всі сценарії потрібно робити з текстовою мовою програмування. Була проведена певна робота (але не дуже багато) над створенням системи візуального сценарію. Інструментальний сценарій рівня Unreal, Kismet, є досить хорошим прикладом. Джерело двигуна має аналогічну механіку, але він використовує об'єкти у світі замість плоскої площини.

В основному у вас є вікна, які ви перетягуєте в якомусь середовищі, де є входи та виходи. Якщо вам потрібен якийсь вид розгалуження, у вас є поле, в якому є один вхід і кілька виходів. Ці результати можуть переходити до дій, пов’язаних із ними (наприклад, "перейти до цієї точки", "сказати цей рядок", "задати це питання" тощо). Зазвичай це значно нижчий бар'єр для входу, щоб щось зробити і працювати візуальною мовою, оскільки вам не потрібно знати ключові слова чи синтаксис, у вас просто обмежений набір полів, з яких вибираєте, з яких усі визначають поведінку, і ви просто з'єднайте їх разом.

Однак, на мою думку, двигуни візуального сценарію насправді не варті проблем. Вам потрібно вміти мислити структурно та логічно, щоб успішно сказати двигуну, що ви хочете робити. Якщо ви можете подумати так, то перехід з ящиків із введеннями / виходами на основні операції розгалуження та виклики функцій на мові сценаріїв не є великою справою. Насправді через деякий час візуальна його частина, ймовірно, перешкоджає. Плюс, це набагато більше роботи з боку двигуна. Вам потрібно виконати такі дії, як реалізація скасування, копіювання / вставлення, можливо, є деякі функції вищого рівня для організації сценаріїв. За допомогою текстової мови ви можете залишити все це в IDE.


Ви маєте на увазі, як нереальний Кісмет?
DeadMG

1

Загалом це буде компроміс. Якщо ви справді хочете зняти необхідність робити будь-які сценарії, ви, як правило, будете говорити про створення якогось інтерфейсу, який складе сценарії разом у фоновому режимі (або просто з'єднайте логічні об’єкти чи що ні). Є цілі ігри, де в цьому полягає вся суть, чітко визначене середовище, де ви перетягуєте функціонал, щоб побачити, як він взаємодіє з ним.

Зрештою, це завжди буде торгівля. Чим простіше ви намагаєтеся зробити інтерфейс тим простішим, що створюються через цей інтерфейс.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.