Яку роль розвиває подія в іграх?


9

Більшість розробок додатків ґрунтуються на розробці подій, але враховуючи стиль гри в розвиваючі ігри та (часто) потребу в високій продуктивності / пропускній здатності, яку роль має розвиваючись за допомогою подій та які компроміси? Чи має більший вплив синхронізація / блокування, яке часто відбувається?

Наприклад: - Як мережа [шар] повідомляє про ігровий цикл отриманих даних? - Як фізична система повідомляє про зіткнення

Запитую, бо я пам'ятаю час, коли розробка ігор з використанням подій була суворою ні-ні. Чи змінилося це?

Відповіді:


5

Система подій потужна, і їх можна зробити дуже швидко.

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

Фізика - Зворотні виклики зіткнення, об'єкти активації або відпочинку добре переносять події. Мережа - якомога більше має бути подія (голосовий чат тощо. Виняток) Game Logic - Природно, що вона піддається моделі подій Меню та інтерфейс користувача - Працюйте блискуче в системі, що базується на подіях

Також багато сучасних консолей та середніх бібліотек використовують події.

Візуалізація та опитування пристроїв введення може бути дещо заплутаною для пристосування. Особливо, якщо ви використовуєте елементи керування рухом, оскільки події можуть вводити помітну затримку та бути протиінтуїтивно зрозумілим у форматі опитування.


4

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

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


Я не згоден, що рекомендується основний стиль циклу. Головні ігри в стилі циклу програють добре написаній грі, керованій подіями, в декількох областях: 1) в багатозадачній системі вони споживають непотрібно велику кількість процесора для фіксованого набору функцій, 2) на портативних пристроях, навіть на одиночних -задача систем, додаткове використання процесора негативно впливає на час роботи акумулятора; 3) чим простіша гра, тим більшими ці проблеми стають порівняно з правильною грою на заходах.
Сем Харвелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.