Запитання з тегом «design-patterns»

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

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

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

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

1
Створення надійної системи предметів
Моя мета - створити модульну / максимально універсальну систему предметів, яка могла б обробляти такі речі, як: Елементи, що можна оновити (+6 Катани) Модифікатори стату (+15 спритність) Модифікатори предмета (% X шанс завдати шкоди Y, шанс заморозити) Акумуляторні товари (Чарівний персонал з 30 звичаями) Встановити елементи (обладнайте 4 частини X …

3
Я хочу позбутися моєї моделі дизайну "все-все-статична-і-глобальна", але як?
Я роблю невеликий гусеничний підйомник у просторі, і я хотів би почути поради, як зробити гарнітуру двигуна приємнішою. В основному, зараз все базується на навантаженні менеджерів: BackgroundManager: має AddBackground(image, parallax)метод створення крутих фонових ефектів. ConfigManager: читає / робить конфігураційний файл, а також містить дані, прочитані з цього конфігураційного файла. DrawManager: …

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

1
Шаблон виконання ігрових дій
Чи існує загальноприйнята модель для виконання різних дій у грі? Спосіб, коли гравець може виконувати дії, а також те, що AI може виконувати такі дії, як рух, атака, самознищення тощо. В даний час у мене є абстрактна BaseAction, яка використовує .NET-дженерики для визначення різних об'єктів, які повертаються різними діями. Це …

7
Поділ малювання та логіки в іграх
Я розробник, який тільки зараз починає возитися з розвитком ігор. Я хлопець .Net, тому я поспілкувався з XNA і зараз граю з Cocos2d для iPhone. Моє запитання, правда, більш загальне. Скажімо, я будую просту гру Pong. Я мав би Ballклас та Paddleклас. Виходячи з розвитку ділового світу, мій перший інстинкт …

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

4
Виклики функцій за кадром та повідомленнями, керовані подіями в дизайні ігор
Традиційний дизайн гри , як я це знаю, використовує поліморфізм і віртуальні функції для поновлення гри об'єктів стану. Іншими словами, один і той же набір віртуальних функцій викликається в регулярних (наприклад: за кадром) інтервалах для кожного об'єкта в грі. Нещодавно я виявив, що існує інша система обміну повідомленнями, керована подіями, …

2
Чи варто використовувати пули частинок на керованих мовах?
Я збирався реалізувати об’єктний пул для своєї системи частинок на Яві, потім знайшов це у Вікіпедії. Перефразовуючи, це говорить про те, що об'єктивні пули не варто використовувати в керованих мовах, таких як Java і C #, оскільки розподіли займають лише десятки операцій порівняно з сотнями в керованих мовах, таких як …

3
Створення Сутності як сукупність
Нещодавно я запитав про те, як відокремити суб'єкти від їх поведінки та головну відповідь, пов’язану з цією статтею: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ Кінцева концепція, про яку тут написано, - це: ОБ'ЄКТ ЯК ЧИТА АГРЕГАЦІЯ. Мені цікаво, як я можу йти про створення ігрових об'єктів як чистого агрегування за допомогою C #. Я ще …

4
Чи хороший дизайн домену для ігор?
Я щойно читав про моделі доменів, і це мене просвітило, оскільки я розробляв гру, в якій є клас, який містить лише дані (мало поведінки / методів). Я призначив роботу по обробці цих класів керівникам ... і тепер мій менеджер, схоже, схожий на об'єкт Бога. Мій ігровий об'єкт, який повинен керуватися …

3
Які існують способи відділення логіки гри від анімації та циклу малювання?
Я лише раніше робив флеш ігри, використовуючи MovieClips і такі, щоб відокремити свою анімацію від моєї логіки гри. Зараз я намагаюся спробувати свої сили у створенні гри для Android, але теорія ігрового програмування навколо розділення цих речей все ще мене бентежить. Я виходжу з тла розробки веб-додатків, що не належать …

4
Яким двигуном подобаються джерела процесів?
У двигуні Source (а це попередник, goldsrc, quake's) ігрові об'єкти поділяються на два типи, світ та сутність. Світ - це геометрія карти, а сутності - це гравці, частинки, звуки, партитури тощо (для Двигуна джерела). Кожна сутність має мисленнєву функцію, яка виконує всю логіку для цієї сутності. Отже, якщо все, що …

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