Разработка игр

Q & A для профессиональных и независимых разработчиков игр

4
Избегайте двойного сжатия ресурсов
Я использую .pngs для своих текстур и использую виртуальную файловую систему в .zipфайле для моего игрового проекта. Это означает, что мои текстуры сжимаются и распаковываются дважды. Каковы решения этой проблемы двойного сжатия? Одно из решений, о котором я слышал, - использовать .tgas для текстур, но, кажется, давным-давно, с тех пор …

4
Как реализовать мягкие краевые области с частицами
Моя игра создана с использованием Phaser, но сам вопрос не зависит от движка. В моей игре у меня есть несколько окружений, по существу многоугольных областей, в которые могут перемещаться персонажи игроков и на которые они могут воздействовать. Например, лед, огонь, яд и т. Д. Графическим элементом этих областей является сама …

5
Почему современные игры не имеют дополнительных жизней? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . В конце 80-х и начале 90-х большинство игр имели дополнительную механику жизни . …

4
Из чего состоит точка зрения «второго человека»?
Традиционные повествования имеют одну из трех точек зрения: Первый человек ( I fought the monster) Второй человек ( You fought the monster) Третье лицо ( He/She/It fought the monster) Точки зрения от первого и третьего лица очень распространены в видеоиграх, но мне стало интересно, на что будет похожа точка зрения …

2
Как мне справиться с отсутствующими ресурсами?
Ваша игра ожидает загрузки определенного ресурса, но он не найден. Как справиться с ситуацией? Например: Texture* grassTexture = LoadTexture("Grass.png"); // returns NULL; texture not found Mesh* car = LoadMesh("Car.obj"); // returns NULL; 3D mesh not found Он мог быть случайно удален пользователем, поврежден или написан с ошибкой во время разработки. …

5
Каковы преимущества укупорки кадров в секунду? (Если есть)
Я работаю над простой игрой в OpenGL, использую SDL для инициализации и ввода дисплея, и, судя по всему, у меня есть две опции. Номер один просто спит для оптимального времени-кадра - theTimeTakenToRender, когда оптимальное время-кадра в секундах = 1 / theFramerateCap. (Я не совсем уверен, если это необходимо, поскольку это …
13 opengl  sdl  frame-rate  vsync 

3
Как сделать естественно выглядящие пути с A * на сетке?
Я читал это: http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html Но есть некоторые вещи, которые я не понимаю, например, в статье сказано использовать что-то вроде этого для поиска пути с диагональным движением: function heuristic(node) = dx = abs(node.x - goal.x) dy = abs(node.y - goal.y) return D * max(dx, dy) Я не знаю, как установить D, …

1
Учет волн при выполнении плоских отражений
Я изучал примеры Nvidia из SDK, в частности, проект Island11, и обнаружил кое-что любопытное в части кода HLSL, которая корректирует отражения вверх и вниз в зависимости от состояния высоты волны. Естественно, после изучения краткого абзаца кода: // calculating correction that shifts reflection up/down according to water wave Y position float4 …

2
Должен ли я использовать спрайт-листы из-за большого количества изображений или несмотря на это?
Я занимаюсь разработкой 2D-игры, и у меня много спрайтов. Я использовал 3D-анимацию и модели для рендеринга в 2D, чтобы придать им «Fallout» или «Diablo». Это также проще, чем рисовать от руки, смеется. Мне уже приходилось снижать частоту кадров до 15 кадров в секунду, что было самым низким значением, которое я …

3
Воссоздание этого плоского оттенка
Я буду держать это коротким. Как достичь эффекта, изображенного на рисунке ниже? Возможно ли это сделать в реальном времени? Это выглядит обманчиво простым, но, вероятно, это не так. Могу ли я найти какие-либо ключевые слова, чтобы получить больше информации о программировании шейдеров для достижения этого вида? Благодарю.

3
Объект из массивов или массив объектов?
Я делаю симулятор управления, что-то вроде Roller Coaster Tycoon. Я хочу знать, как лучше всего структурировать объекты моего мира, чтобы максимизировать производительность. Допустим, в моей игре 5000 человек, которых я мог бы: Создайте объект и сохраните его в массиве так; class person() { this.x = 0; this.y = 0; this.thirst …

5
Есть ли способ запретить пользователям корректировать гамма-коррекцию, чтобы «обмануть» их выход из «темной» области?
Практически в каждой игре, с которой я сталкивался, есть мрачная ситуация, предназначенная для изменения способа взаимодействия пользователя с окружающей средой, всегда есть некоторые игроки, которые включают гамма-коррекцию монитора, чтобы свести на нет желаемый эффект. Есть ли способ запретить пользователям корректировать гамма-коррекцию, чтобы «обмануть» их выход из проблемы? (темнота) Я полагаю, …

6
Почему я должен запретить торговать реальными деньгами в моей ММО?
Вскоре я собираюсь обнародовать MMO-игру, и в настоящее время я нахожусь в процессе написания условий использования, которые, как я ожидаю, будут соблюдаться игроками (без ругательств, спама, обмана ... вы понимаете). Моя игра позволяет игрокам обмениваться редкими предметами друг с другом. Я заметил, что почти во всех онлайн-играх, в которых есть …

1
Каков процесс создания игры для PS4?
Теперь, когда Sony заявила, что разработчики могут самостоятельно публиковать для PS4, я держу пари, что гораздо больше людей будут заинтересованы в производстве игр для этой платформы. Каков процесс получения SDK, документации и среды тестирования для PS4?

4
Как мне элегантно научить игроков играть?
Я думал о том, как платформеры-головоломки учат игроков, как играть. Мне нравится Super Meat Boy, особенно то, как он учит вас, не замечая, что вас учат. Это держало меня взволнованным и занятым Удовлетворение в том, что вы можете что-то выяснить самостоятельно, даже если это просто и явно вызвано дизайном уровня. …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.