Створення гри як підручник? [зачинено]


19

Я керую клубом розвитку ігор у своїй школі, і я хотів би цього літа попрацювати над проектом, який я міг би використовувати в якості підручника наступного семестру. Я ніколи нічого подібного не робив, тому мені було цікаво, чи є у когось якісь орієнтири чи ідеї.

Що я хочу зробити в основному, це зробити дуже просту гру. Щось на кшталт стрільця зверху вниз, коли вороги прибігають, щоб ви вбили їх і забрали певне бабло. Однак я хочу, щоб все було дуже легко модифіковано. Люди в клубі мають невеликий досвід розробки ігор, тому, якби я міг налаштувати свою гру таким чином, щоб люди могли легко змінювати та додавати функціональність, це було б чудово для них.

Начебто те, щоб мати клас ворога, в якому з поведінкою легко грати, або змусити гармати стріляти по-різному / додаючи нові гармати та новий бабло. Навіть додавання нових елементів у гру. Який був би найкращий спосіб побудувати гру, щоб дозволити цей вид ковкості?


1
Подивіться на цю відповідь на переповнення стека.
Ендрю Рассел

Відповіді:


16

Традиційний спосіб досягнення цієї мети в розробці ігор - використання архітектури, керованої даними для ігрових систем.

По суті, це означає, що код не реалізує певний тип зброї (пістолет) із чітко визначеними значеннями для його дальності / пошкодження / проникнення, а він заповнює загальні поняття зброї, що має дальність (дальність / пошкодження / проникнення ...) від зовнішнього (до коду) джерела даних. Це зовнішнє джерело може змінюватися від файлів, здатних до розбору (можливо, XML), зчитуваних з диска, до двійкових файлів або елементів бази даних, створених за допомогою внутрішніх або зовнішніх інструментів самого ігрового двигуна.

Визначаючи щось на кшталт ворога, система AI може бути розроблена для підтримки деякої кількості родових поведінок (агресивних, захисних, підтримки, боягуз), які потім налаштовуються елементами, керованими даними.

My New Enemy, починається з агресивної базової поведінки AI з орієнтованими на дані значеннями для: -гробових гравців> мій рівень + X -переслідують гравців до X одиниць за межею нересту - удару, коли здоров'я <X ​​- впорядковані пріоритети здібностей (бо коли гравці занадто близько)

Більш складна схема, керована даними, може дозволити визначення конкретних точок даних (подій), де стан AI переходить (машина кінцевого стану) в інший стан (або навіть шанс переходу в один з N інших станів), що дозволяє вашим користувачам визначати складна ієрархія поведінки.

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

Досягаються бонусні бали:

  • якщо ви можете динамічно оновлювати дані та відображати зміни в ігровому двигуні без перезавантаження програми
  • якщо ви створюєте зручні користувальницькі інтерфейси над даними, що дозволяють користувачам використовувати інтерфейс для взаємодії з даними, а не безпосередньо редагувати текстові (XML або будь-які інші) файли

Для гри з підручниками, орієнтованої на більш технічну натовп, більша частина роботи припадає на розроблені класи / об'єкти, які розкривають чисті інтерфейси для розширення користувачів, які, в свою чергу, також можуть керуватися даними.


Гарна відповідь! +1
AttackingHobo

Дякуємо за ваш внесок :)! Чи трапляється вам знати сайти, які б показали мені, як реалізувати такий вид коду? Я ніколи не робив таких ігор із зовнішніми джерелами. Хоча я, безумовно, хочу, щоб вони зашифрували XNA у клубі, тому я, ймовірно, буду робити щось більше, відповідно до класів та об'єктів, які вони могли б легко успадкувати у власних класах. Але я обов'язково буду вивчати це,
Benixo

Для цього потрібен власний аналізатор конфігурації, який дозволяє завантажувати дуже прості структури, керовані даними. По суті, ключовим у будь-якому навчальному посібнику є викладання в шматки, тому абстракція абсолютно важлива. Тоді вдалою вправою може стати розробка простого GUI, який дозволяє користувачеві визначати та створювати нові типи зброї.
deceleratedcaviar

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

Процес запису / читання об’єктів на / з диска відомий як "де- / серіалізація". Ви можете знайти корисні підручники під цим терміном.
Вихід

1

Якщо ви шукаєте кілька ідей щодо того, як розпочати проект і створити його поетапно, щоб його можна було перетворити на підручник, ознайомтеся з іграми пригод програмування XNA . У автора створено кілька навчальних посібників із поясненнями та вихідним кодом, які збільшуються покроково.


0

Я б запропонував переглянути підручник з розробки ігор Java на веб-сайті www.thenewboston.com

Це може бути не саме те, що ви шукаєте, з точки зору чуваків зі зброєю та всього цього джазу, але це дає приємну покрокову розбивку ряду ключових факторів у розробці гри. Ведуча "Бакі" також має охолоджений, просто для задоволення стиль викладання. Насолоджуйтесь.

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