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

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

5
Керування системою введення з клавіатури
Примітка. Мені доводиться опитувати, а не робити зворотні дзвінки через обмеження API (SFML). Я також вибачаюся за відсутність "гідного" звання. Я думаю, що у мене тут два питання; як зареєструвати вхід, який я отримую, і що з ним робити. Обробка вводу Я говорю про те, як ви зареєстрували, наприклад, що …

2
Як я уникаю писати класи менеджерів?
Я, здається, читаю, що це погана ідея використовувати XxxManagerкласи стилів у програмуванні ігрових механізмів, але навіть коли я намагаюся уникати їх використання, я завжди стикаюся з тим, що містить усі актори / сутності / світові локації та діє на них, що в кінцевому підсумку є Managerif якщо іншою назвою. Це …

3
Визначення активів у ігровому двигуні?
Я хочу визначити свої завантажені активи, але не знаю, який саме вибрати. Є 2 варіанти: Ім'я (рядок) Це найпростіший, а також швидкий з не упорядкованим_мапом (O (1)), але шлях повільніше, ніж за допомогою цілих чисел. Легко зрозумілий в коді. Цілі особи Найшвидший. Не зрозумілі в коді. Я знаю, що рядки …

4
Як ви дозволяєте записати мережевий код на пізніших етапах розробки?
Наразі я перебуваю на ранніх стадіях написання гри, яку, врешті-решт, захочу вдосконалити в більшості аспектів. Як я можу пропустити написання мережевого коду, але залишаючи його досить легко реалізованим, тобто не потрібно переписувати всю гру лише для того, щоб додати її. Що я маю пам’ятати? У мене є компонентний малюнок, де …

2
Як буде реалізована система знімків стану ігор для мережевих ігор у режимі реального часу?
Я хочу створити просту багатокористувацьку гру в реальному часі клієнт-сервер як проект для мого мережевого класу. Я багато читав про багатокористувацькі мережеві моделі в реальному часі і розумію взаємозв'язок між клієнтом і сервером і методи компенсації відставання. Я хочу зробити щось подібне до моделі мережі Quake 3: в основному, сервер …

3
Чисте функціональне програмування та ігровий стан
Чи існує загальна методика обробки стану (загалом) у функціональній мові програмування? Існують рішення в кожній (функціональній) мові програмування для управління глобальним станом, але я хочу уникати цього, наскільки я міг. Всі стану в чисто функціональному порядку є функціональними параметрами. Тому мені потрібно поставити весь ігровий стан (гігантську хешмап зі світом, …

2
Які переваги використання системи ідентифікатора юридичної особи?
Зараз я читаю книгу Гра програмування AI за прикладом. У книзі згадується присвоєння унікальних ідентифікаційних номерів кожній суті в грі. Часто, коли суб'єкту А потрібно звертатися до об'єкта B , A отримує посилання на B , надсилаючи ідентифікаційний номер B до класу EntityDatabase . Цей клас отримує ідентифікаційні номери та …

3
НАЙКРАЙНО плутати через ігровий цикл «Постійна швидкість гри Максимальна FPS»
Нещодавно я прочитав цю статтю про ігри Петлі: http://www.koonsolo.com/news/dewitters-gameloop/ І рекомендована остання реалізація мене глибоко бентежить. Я не розумію, як це працює, і це виглядає як повний безлад. Я розумію принцип: оновлюйте гру з постійною швидкістю, і все, що залишиться, надайте гру якомога більше разів. Я вважаю, що ви не …

1
Як я можу чітко та елегантно обробляти дані та залежності між класами
Я працюю над грі 2d вгору в SFML 2, і мені потрібно знайти елегантний спосіб, коли все буде працювати і поєднуватися разом. Дозвольте мені пояснити. У мене є ряд класів, які успадковують абстрактну базу, яка забезпечує метод малювання та метод оновлення для всіх класів. У циклі ігор я закликаю оновлення, …
12 c++  2d  architecture  sfml 

4
Залежність кругового класу
Це погано мати 2 класи, які потрібні один одному? Я пишу невеличку гру, в якій у мене є GameEngineклас, у якого є кілька GameStateпредметів. Для доступу до декількох методів візуалізації ці GameStateоб’єкти також повинні знати GameEngineклас - значить, це кругова залежність. Ви б назвали це поганим дизайном? Я просто прошу, …
12 c++  architecture 

1
Як зберегти синхронізовану структуру даних по мережі?
Контекст У грі, над якою я працюю (свого роду крапка та натисніть графічну пригоду), майже все, що відбувається в ігровому світі, контролюється менеджером дій, який структурований приблизно так: Наприклад, якщо в результаті вивчення об'єкта персонаж повинен привітатись, пройтися трохи, а потім сісти, я просто породив наступний код: var actionGroup = …

4
Об'єктно-орієнтований OpenGL
Я деякий час використовую OpenGL і прочитав велику кількість навчальних посібників. Крім того, що багато з них все ще використовують фіксований конвеєр, вони зазвичай кидають усі ініціалізації, зміни стану та малювання в один вихідний файл. Це добре для обмеженого обсягу підручника, але мені важко розробити, як його масштабувати до повної …

2
Чи можу я зійти з розуму з поводниками подій? Чи я йду «неправильним шляхом» зі своїм дизайном?
Напевно, я вирішив, що мені дуже подобаються обробники подій. Я, можливо, трохи страждаю від паралічу аналізу, але я стурбований тим, щоб зробити свій дизайн непростим або наштовхнутись на якісь інші непередбачені наслідки моїх дизайнерських рішень. В даний час мій ігровий двигун виконує базовий спрайт-рендерінг за допомогою панорамної накладної камери. Моя …

2
Правильний спосіб абстрагувати контролер XBox
У мене є контролер XBox360, який я хотів би використовувати як вхід для програми. Що я не можу розробити - це найкращий спосіб викрити це через інтерфейс. За лаштунками клас, який обробляє контролер (и), покладається на стан кнопки опитування. Я спочатку спробував щось посилання: Event ButtonPressed() as ButtonEnum де ButtonEnumбув …

2
Питання щодо архітектури ігор з XNA
Тож я нарешті зібрався зіграти з XNA і погукав із створенням 2D гри (у мене є маса мистецьких активів від друга, який розробив її на iOS) Багато речей, здається, легко зробити і вийти з коробки, однак я залитий натхненим купою речей, оскільки більшість літератури (книги, які я придбав, наприклад) не …

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