Запитання з тегом «architecture»

Як структурований код. За запитаннями про внутрішню конструкцію ігрового двигуна.

12
Як переконатися, що фрагмент коду працює лише один раз?
У мене є якийсь код, який я хочу запустити лише один раз, навіть незважаючи на те, що обставини, які викликають цей код, можуть траплятися кілька разів. Наприклад, коли користувач клацає мишкою, я хочу натиснути річ: void Update() { if(mousebuttonpressed) { ClickTheThing(); // I only want this to happen on the …

2
Як редагувати пари ключ-значення (наприклад, словник) в інспекторі Unity?
У мене є система написання, яку я створюю, принцип такий: Кожне заклинання - це автономна збірка. Він містить сценарій з деякими властивостями (базові пошкодження, тривалість ...), які можна змінити в інспекторі. У мене перелік заклинань перераховує всі можливі заклинання в коді, який використовується в логіці гри Коли я хочу скласти …

4
Чому MMORPG все ще використовують декілька серверів?
MMORPG, деякі MOBA, такі як League of Legends або навіть StarCraft 2, зазвичай змушують вас вибрати сервер. Зазвичай вони в США, ЄС та СЕО, в MMORPG багато на місце. Я можу бачити, що це було необхідно кілька років тому, але тепер з появою AWS та подібних пропозицій, які дозволяють вам …
18 architecture  mmo 

7
Чи потрібні мені точка та векторний об’єкт? Або просто використовувати об’єкт Vector для представлення точки - це нормально?
Структуруючи компоненти двигуна, які я розробляю разом із другом (цілі навчання), я прийшов до цього сумніву. Спочатку у нас був конструктор Point, як-от наступне: var Point = function( x, y ) { this.x = x; this.y = y; }; Але їм ми почали додавати до нього трохи векторної математики, і …

6
Чи повинен наслідувати Vector3 від Vector2?
Я створюю пару класів Vector2(X & Y) і Vector3(X, Y & Z), але я не знаю, чи слід Vector3успадковувати Vector2, чи потрібно повторно реалізувати змінні члена m_xі m_yзнову? Які плюси і мінуси кожної сторони (успадкування проти перегляду). Редагувати: я використовую C ++ (VS2010).
18 c++  architecture 

3
MVC (Model-View-Controller) Архітектура ігрового двигуна - так чи ні? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Я читаю одну чудову книгу « Кодування ігор завершено» , і ця книга настійно …

4
Що я можу зробити, щоб уникнути одноразових прапорців та перевірок у всьому коді?
Розгляньте карткову гру, наприклад, Hearthstone . Є сотні карток, які роблять найрізноманітніші речі, деякі з яких унікальні навіть для однієї карти! Наприклад, є картка (звана Nozdormu), яка зменшує кількість поворотів гравця до лише 15 секунд! Якщо у вас є така велика кількість потенційних ефектів, як уникнути магічних чисел та одноразових …

5
Як ігрові об’єкти повинні усвідомлювати один одного?
Мені важко знайти спосіб впорядкувати ігрові об’єкти так, щоб вони були поліморфними, але в той же час не поліморфними. Ось приклад: припускаючи, що ми хочемо, щоб всі наші об’єкти були до update()та draw(). Для цього нам потрібно визначити базовий клас, у GameObjectякого є ці два віртуальні чисті методи, і поліморфізм …
18 c++  architecture 

3
Як кодувати UI / HUD в Entity System?
Думаю, я вже отримав ідею Entity System, натхненну Адамом Мартіном (t-machine). Я хочу почати використовувати це для свого наступного проекту. Я вже знаю основи сутності, компонентів та систем. Моя проблема полягає в тому, як поводитися з UI / HUD. Наприклад, вікно квесту, вікно навичок, вікно інформації про символи тощо. Як …

1
Як я можу реалізувати стійкий стан для об'єктів, визначених у рівні?
Я розробляю 2D Metroidvania, що складається з серії взаємопов'язаних рівнів, які можна переглянути. Кожен рівень представлений файлом Tiled TMX, в якому я вказав, де породжуються різні об'єкти різних класів спрайтів (наприклад, вороги, пікапи, важелі тощо). Запускаючи нову гру, завантажуючи збережену гру або змінюючи рівень, мій цикл гри проходить через відповідний …

4
Як я можу створити безліч різних типів атак, які можна комбінувати?
Я роблю 2-грі зверху вниз і хочу мати безліч різних типів атак. Я хотів би зробити атаки дуже гнучкими та поєднувати їх, як працює The Binding of Isaac. Ось список усіх колекціонування в грі . Щоб знайти хороший приклад, давайте подивимось на предмет Бендер з ложки . Ложка Бендера дає …

6
Чи використовуєте ви насправді схеми для моделювання ігор? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Я маю на увазі переважно UML, але будь-який метод, який працює, є життєздатним. Отже …

4
Як можна врятувати процедурний світ?
Нещодавно я читав про те, як створити процедурні світи ... але як зберегти його? У таких іграх, як Terraria або Minecraft, користувачі можуть вільно змінювати ландшафт, але цей світ неможливо відтворити з самого початку. Які методи використовуються для збереження процедурних, але модифікованих світів?

4
Ігровий движок: гідний спосіб, орієнтований на архітектуру, реалізувати підтримку сценаріїв?
Я розробляю простий ігровий движок (у C #, якщо це має значення), і не можу придумати достатньо пристойного способу реалізації сценаріїв з точки зору архітектури. Це проста стратегія на основі покрокових операцій із користувацькими, не залежними від логіки анімаціями для битв. У ньому є глобальний рівень архітектури для системних / …

1
Як застосувати орієнтований на дані дизайн із об’єктно-орієнтованим програмуванням? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я читав багато статей про орієнтований на дані дизайн (DOD) і розумію це, але …
17 c++  architecture 

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