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

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

1
Генерация местности на GPU
В моем движке я создаю бесконечную местность с использованием алгоритма шума Perlin, рассчитанного на CPU. Создание ландшафта происходит так: Если камера находится рядом с незагруженным патчем, создайте его Вычислить шумовой массив 513x513 с заданными границами Вычислить нормали, касательные, бинормальные, индексы Передать данные в VBO Плюсы: Нужно только сделать, когда это …
9 terrain 

2
Как я могу опубликовать результаты на Facebook из игры LibGDX для Android?
Я использую LibGDX для создания игры для Android. Я не делаю HTML-бэкэнд игры. Я просто хочу, чтобы он был в магазине Android Google Play. Можно ли опубликовать результаты в Facebook? И если так, как я могу это сделать? Я искал и нашел решения только для веб-игр.

5
Сколько уровней я должен сделать?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Одна из проблем, с которой я сталкиваюсь во многих своих играх, - это попытка решить, сколько уровней добавить в мою игру. Это …

2
Как мне симулировать качающийся маятник?
Я хочу смоделировать веревку с прикрепленным грузом, раскачиваясь взад-вперед, как маятник. Любая реальная физика излишня; это просто бесконечно повторять одно и то же движение. JQuery обладает легкостью "свинга", аналогичной тому, что я ищу. Как это работает? Я думал о вращении с одного угла на другой Math.easeOutExpo, но настоящие маятники облегчаются …

2
Voxel Face Crawling (упрощение сетки, возможно использование жадного алгоритма)
Изменить: это только для моего собственного опыта обучения, это не из соображений производительности, я задаю этот вопрос. Это касается Minecraft-подобного двигателя местности. Я храню блоки в блоках (блоки 16x256x16 в блоках). Когда я генерирую кусок, я использую несколько процедурных методов, чтобы установить ландшафт и разместить объекты. При генерации я сохраняю …

2
Когда я должен представлять точки и размеры как структуры?
Как часть моей простой среды разработки игр на Ruby 2D, мои игровые объекты имеют положение (значения x и y) и размер (ширина и высота). class MyGameObject attr_accessor :x attr_accessor :y attr_accessor :width attr_accessor :height ... Другой подход, который я видел, рассматривал позицию как Pointструктуру, а размер как Sizeструктуру: Point = …

1
Разрыв координат текстуры с мипмапами создает швы
Я только начал изучать openGL и получаю этот артефакт при текстурировании сферы с помощью мипмапов. В основном, когда фрагмент выбирает край моей текстуры, он обнаруживает разрыв (скажем, от 1 до 0) и выбирает наименьшее mipmap, которое создает этот уродливый шов: уродливый шов http://cdn.imghack.se/images/6bbe0ad0173cac003cd5dddc94bd43c7.png Поэтому я попытался вручную переопределить градиенты, используя …

2
Как я могу определить области, заполненные водой?
Я хотел бы улучшить мой маленький игровой движок с помощью приятной на вид симуляции воды Чтобы начать работать над этим, мне нужно найти правильный способ представления воды в игре. К сожалению, я не знаю много разных представлений, поэтому я спрошу вас. Есть похожий вопрос, который я задал некоторое время назад. …

2
Как можно распространять настольную Java-игру без зависимости от времени выполнения Java?
Можно ли превратить приложение Java в автономный пакет, который запускается «из коробки»? Конечный пользователь не должен устанавливать какую-либо Java JRE, а установщик не должен содержать JRE и устанавливать его для пользователя. Конечный дистрибутив должен содержать собственный исполняемый файл (возможно, по одному для каждой из Windows, Mac и Linux), а также …

1
2D Водный профиль верхней поверхности
Я пытаюсь создать эффект толщины поверхности воды с помощью вершинно-фрагментного шейдера. Я нахожусь в трехмерной игровой среде, но это вид с прокруткой, так что вид "2D". Вот хороший урок по созданию такого эффекта в реальном 2D с использованием фрагментного шейдера. Но это не может быть использовано в моем случае, я …

3
Как избежать удушения?
Я пишу сетевую игру для iOS. При отправке пакетов с GKMatchSendDataReliable(что я предположил, был UDP с написанным их собственным кодом приема пакетов) со скоростью 60 пакетов в секунду (так 16 мс между соседними пакетами), среднее время пинга быстро ухудшается: я открыл 7 матчей GameCenter ниже (один за другим) ) и …
9 networking  udp 

1
Есть ли игровой движок, способный воспроизводить настоящий стереозвук? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

2
Диагональная линия визирования с двумя углами
Прямо сейчас я использую линейный алгоритм Брезенхэма для прямой видимости. Проблема в том, что я нашел крайний случай, когда игроки могут смотреть сквозь стены. Происходит, когда игрок смотрит между двумя углами стены с зазором на другой стороне под определенными углами. В результате я хочу, чтобы плитка между двумя стенами была …

1
Оптимизация производительности шейдера с тяжелыми фрагментами
Мне нужна помощь в оптимизации следующего набора шейдеров: Vertex: precision mediump float; uniform vec2 rubyTextureSize; attribute vec4 vPosition; attribute vec2 a_TexCoordinate; varying vec2 tc; void main() { gl_Position = vPosition; tc = a_TexCoordinate; } Фрагмент: precision mediump float; /* Uniforms - rubyTexture: texture sampler - rubyTextureSize: size of the texture …

2
Как я могу найти угол запуска снаряда?
Я делаю 2D игру, в которой юниты стреляют друг в друга стрелами. Я знаю позицию стрелка и цели и начальную скорость снаряда. Я хочу знать, какой угол должен иметь снаряд, чтобы приземлиться на цель. Цель может быть на другой высоте, чем стрелок. Подводя итог, я знаю v0, R и g …

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