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

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

1
Любопытные прозрачные дыры рендеринга артефакт
Поэтому я пытаюсь реализовать "гладкую" местность в моем движке блоков, давая каждому блоку поверхности карту высот. По сути, для создания этих «карт высот» для каждого блока я создаю высоты с интервалами 0,25 по краю блока. Затем, чтобы построить вершины блока, я перебираю высоту и создаю треугольники от высоты до высоты …

3
Контур шрифта в OpenGL, FTGL
Я использую библиотеку FTGL для рендеринга шрифтов в своей игре, но я совершенно не знаю, как создать контур вокруг текста. Достижение тени может быть легко, потому что я могу просто сделать это так: (псевдокод) font.render(Color::BLACK, position.x + 1, position.y + 1); // Shadow font.render(Color::WHITE, position.x, position.y) // Normal text Но …
8 c++  opengl  gui  fonts 

3
Импорт и просмотр файлов .fbx
У меня небольшая проблема с импортом / отображением файлов .fbx. Я проверил примеры, но те, которые меня интересуют больше всего (анимация и текстура), плохо документированы для понимания кем-то, кто плохо знаком с этим, как я. Это то, что я пробовал: мне удалось получить вершины и нормали, но я застрял на …
8 c++  opengl  3d  models  fbx 

2
Серверная игровая петля
Многие Java-игры используют thread.sleep () для управления частотой кадров. Поскольку сервер не отображает графику, должен ли серверный игровой цикл продолжать работать только для расчета времени дельты? Как этот пример: long lastLoopTime = System.nanoTime(); final int TARGET_FPS = 60; final long OPTIMAL_TIME = 1000000000 / TARGET_FPS; while (gameRunning) { long now …

2
Как найти игровой сервер в сети LAN с технологией IPv6?
Еще в дни IPv4 люди просто использовали широковещательные пакеты, чтобы проверить, есть ли в сети доступный сервер, как описано в этом ответе . Но в протоколе IPv6 они отказались от поддержки вещания. Поддержка многоадресной рассылки по-прежнему доступна, но как я могу ее использовать?

3
Как рисовать 2D-изображения, используя OpenGL, в SDL?
После всего, мне удалось найти простой кусок кода, который показывает, как рисовать 2D-изображение с openGL: #include "SDL/SDL.h" #include "SDL/SDL_opengl.h" #include "SDL/SDL_image.h" const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; const int SCREEN_BPP = 32; int tex; int loadTexture(char* fileName){ SDL_Surface *image=IMG_Load(fileName); SDL_DisplayFormatAlpha(image); GLuint object; glGenTextures(1,&object); glBindTexture(GL_TEXTURE_2D,object); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); …
8 c++  opengl  sdl  windows 

2
Как помогает торможение в автомобильных гоночных играх?
Существует множество компьютерных гоночных игр, в которых есть этот уникальный помощник вождения, который помогает тормозить ваш автомобиль, чтобы вы могли безопасно повернуть его. Хотя в некоторых играх это просто «помощь», он просто поможет вашему автомобилю затормозить, но не обеспечит безопасный поворот. В то время как в других, помощь торможения поможет …
8 physics  racing 

2
Пример ориентированного на данные дизайна
Кажется, я не могу найти хорошее объяснение Data Oriented Design для обычной игры зомби (это всего лишь пример, довольно распространенный пример). Не могли бы вы привести пример Data Oriented Design для создания универсального класса зомби? Это хорошо? Класс списка зомби: class ZombieList { GLuint vbo; // generic zombie vertex model …

1
Определение того, должны ли два быстро движущихся объекта быть представлены для проверки столкновения
У меня работает базовый 2D физический движок. Это в значительной степени движок частиц, просто используются базовые формы, такие как AABB и круги, поэтому вращение невозможно. Я внедрил CCD, который может дать точные значения TOI для двух быстро движущихся объектов, и все работает гладко. Теперь моя проблема в том, что я …

1
Оптимальный размер спрайта для вращений
Я делаю игру на основе спрайтов, и у меня есть куча изображений, которые я получаю с невероятно большим разрешением, и я масштабирую их до желаемого размера спрайта (например, 64x64 пикселей), прежде чем преобразовать их в игровой ресурс, поэтому, когда рисую спрайт внутри игры, мне не нужно его масштабировать. Однако, если …
8 2d  sprites 

2
Как движки избегают «Фазовой блокировки» (несколько объектов в одном месте) в Физическом движке?
Позвольте мне сначала объяснить блокировку фазы: когда два объекта с ненулевой массой занимают одно и то же пространство, но имеют нулевую энергию (без скорости). Они вечно сталкиваются с векторами с нулевым разрешением скорости, или они просто остаются заблокированными, пока внешняя сила не взаимодействует? В своем домашнем двигателе я понял, что …

4
Идеи для алгоритма повреждения атаки (язык не имеет значения)
Я работаю над игрой, и мне нужны идеи о том ущербе, который будет нанесен врагу, когда ваш игрок атакует. Общее количество здоровья, которое имеет противник, называется enemyHealth, и имеет значение 1000. Вы начинаете с оружием, которое наносит 40 пунктов урона (может быть изменено). У игрока есть характеристика атаки, которую вы …

3
Проектирование для слабовидящих геймеров
Во всем мире число людей всех возрастов с нарушениями зрения оценивается в 285 миллионов, из которых 39 миллионов являются слепыми . - Всемирная организация здравоохранения, 2010 . (Это 4,2% и 0,6% населения мира.) Большинство видеоигр уделяют большое внимание визуальным элементам при доставке контента. Слабовидящие геймеры в значительной степени не учтены. …

2
Рулевое управление
Я сделал небольшой симулятор рулевого управления, используя алгоритм Рейнольдса Бойда. Теперь я хочу добавить функцию предотвращения стен. Мои стены в 3D и определены с использованием двух таких точек: ---------. P2 | | P1 .--------- У моих агентов есть скорость, позиция и т. Д. Не могли бы вы рассказать мне, как …

2
Raycasting учебник / вопрос векторной математики
Я проверяю этот хороший учебник по лучевой трансляции по адресу http://lodev.org/cgtutor/raycasting.html и у меня, вероятно, очень простой математический вопрос. В алгоритме DDA у меня возникают проблемы с пониманием вычисления переменных deltaDistX и deltaDistY, которые представляют собой расстояния, которые должен пройти луч от 1 стороны x до следующей стороны x, или …

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