Розробка ігор

Питання та відповіді для професійних і незалежних розробників ігор

5
Як створити новий GameObject, не додаючи його на сцену?
Я створюю те, що по суті є моєю власною збірною системою. Ігрові об’єкти визначаються за допомогою файлу даних, читаних людиною. Я хотів би створити порожній GameObject, завантажити його з компонентами, визначеними у файлі даних, і мати його готовим і чекати Instantiate()дзвінка. Однак щоразу, коли я використовую GameObject go = new …

1
Як фігури (прямокутники) працюють у квадратиках?
Мені сказали, що квадратичне дерево є ідеальною структурою даних для моєї гри, але у мене виникають проблеми з розумінням того, як саме фігури працюють у квадратичних деревах. Я роблю це в JavaScript, але я думаю, що ці питання можуть стосуватися чотирьох дерев будь-якою мовою. Я думаю, що я здебільшого розумію, …

1
Спиритові текстури аркуша, що підбирають краї сусідньої текстури
У мене є власна спрайт-процедура (openGL 2.0), яка використовує простий аркуш спрайту (мої текстури розташовані горизонтально поруч). Наприклад, ось тестовий спрайт-лист з 2 простими текстурами: Тепер, що я роблю при створенні свого об’єкта OpenGL спрайт, - це вказати загальну кількість кадрів у його атласі, а під час малювання вказати, який …

6
Як отримати піксель до шестигранних координат на шестигранній карті на основі масиву?
Я намагаюся зробити піксельну функцію координації для шістнадцяткової карти, але я не отримую математику правильно, все, що я намагаюся, здається, трохи відключено, і приклади, які я знайшов, ґрунтувалися на обведених центральних картах. Під «масивом на основі» я маю на увазі спосіб впорядкування шестигранців, див. Рис. Найбільш точний результат, який я …

3
Поради щодо зв’язку між компонентною системою сутності в C ++
Прочитавши декілька документації про сутність-компонентну систему, я вирішив застосувати шахту. Поки що у мене є світовий клас, який містить сутності та системний менеджер (системи), клас Entity, який містить компоненти як std :: map, та декілька систем. Я тримаю сутності як std :: vector у світі. Поки що жодних проблем. Що …

2
Який найкращий метод оновлення уніформи шейдера?
Який найбільш прийнятний спосіб оновлювати матриці шейдерів та чому? Наприклад, на даний момент у мене є Shaderклас, який зберігає ручки до програми шейдерів та уніформи GLSL. Кожен раз, коли я переміщую камеру, мені потім доводиться передавати нову матрицю перегляду в шейдер, тоді кожен інший об'єкт світу я повинен передавати матрицю …
10 opengl  shaders  glsl 

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

4
Як я можу обробляти різні розкладки клавіатури?
Скажімо, у мене гра, яка використовує елементи керування WASD на макеті QWERTY. Намагаючись використовувати ці елементи управління, скажімо, макет Dvorak не є ідеальним (еквівалентно <A:HQWERTY). Очевидно, я хотів би використовувати ті ж фізичні ключі, що і QWERTY ( ,aoeна DVORAK). Я придумав кілька можливих рішень: Змусити користувача використовувати QWERTY очевидно, …
10 keyboard 

2
Як можна отримати орієнтацію з матриці перетворення?
У мене є матриця трансформації 4х4 М, і я хочу з’ясувати форму кулі при перетворенні М. (Сфера знаходиться в початку і має радіус 1.) Я знаю, що можу знайти центр, просто помноживши M на (0,0,0,1). Однак радіус стає проблемою, оскільки M може скосити і обертати сферу. Як я можу дізнатись …

3
Елегантна автоматизація
Я шукаю інформацію про те, як люди впроваджують автоматичне використання у своїх іграх на основі плиток. Поки я завжди імпровізував це з купою твердо кодованих висловлювань "якщо ... ще ...", і тепер я вирішив, що настав час знайти якесь більш елегантне рішення. Я пішов шукати в Інтернеті приклади реалізацій автотилізації …

12
Як я можу запобігти читам для зміни пам’яті?
На сьогоднішній день існує багато програм для зміни пам'яті ( Cheat Engine & co). Чи є ефективний спосіб зберегти постійну змінну фактично постійною? У мене було дві ідеї: Створіть окремий потік, оновлюючи постійну змінну до постійного значення, наприклад, 200 щохвилини. Проблема: Можна також змінити друге значення. Збережіть значення на сервері. …
10 anti-cheat 

2
Чи багаторазове успадкування не вирішує всіх проблем, які роблять сутні системи?
Питання досить самопояснюється: чи не багаторазове успадкування не вирішує всіх проблем, які також вирішують сутні системи? Я просто згадав термін під назвою "багаторазове успадкування", і це, здається, вирішує багато проблем з набряком, які накладає класична спадщина.

1
Як інвертувати колір фонового пікселя
Я пишу редактор ігор та карт за допомогою Java та jMonkeyEngine. У редакторі карт у мене є пензлик, зроблений за допомогою каркасної сфери. Моя проблема полягає в тому, що я хочу зробити його видимим скрізь, тому хочу перевернути колір пікселя "позаду" цієї кисті. Я хотів це зробити з фрагментом шейдера …

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

2
Як реалізувати взаємодію між деталями двигуна?
Хочу задати питання про те, як повинен здійснюватися обмін інформацією між частинами ігрових двигунів. Двигун розділений на чотири частини: логіка, дані, інтерфейс користувача, графіка. На початку я здійснив цей обмін через прапори. Наприклад, якщо новий об'єкт доданий у дані, прапор isNewу класі об’єкта буде встановлений як true. А після цього …
10 c++  architecture 

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