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

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

3
Путаница по поводу GLViewport
Я надеюсь, что кто-то может помочь мне понять GLViewport и что произойдет, когда мы изменим его размер Это проиллюстрирует мою путаницу .... Итак, здесь я застрял в середине экрана. Если мой GLViewport соответствует ширине и высоте устройства, я получаю то, что находится на первом (левом) изображении. Именно то, что я …

4
Как я могу сравнить два кватерниона для логического равенства?
Я пытаюсь написать несколько юнит-тестов и понимаю, что не знаю, как сравнивать кватернионы. Мне нужно знать, представляют ли два кватерниона одинаковую ориентацию (объект будет смотреть одинаково). С векторной позицией я бы просто сравнил детали и проверил, что они достаточно близки, но для кватернионов значения могут сильно отличаться. Как я могу …

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

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

3
Функция SDL для загрузки PNG
Сейчас я изучаю SDL 2.0, и я видел этот метод для загрузки BMP: SDL_Texture* LoadImage(std::string file) { SDL_Surface *loadedImage = nullptr; SDL_Texture *texture = nullptr; loadedImage = SDL_LoadBMP(file.c_str()); if (loadedImage != nullptr) { texture = SDL_CreateTextureFromSurface(renderer, loadedImage); SDL_FreeSurface(loadedImage); } else std::cout << SDL_GetError() << std::endl; return texture; } Как я …
9 c++  sdl 

2
Распределение сущностей в системе сущностей
Я совершенно не уверен, как я должен распределять / напоминать свои сущности в моей системе сущностей. У меня есть разные варианты, но у большинства из них, похоже, есть минусы, связанные с ними. Во всех случаях сущности похожи на идентификатор (целое число), и, возможно, с ним связан класс-оболочка. Этот класс-обертка имеет …

3
Генерация случайных карт в стиле Zelda
Я пытаюсь случайным образом сгенерировать карту комнат, соединенных дверями, и мне удалось сгенерировать одну из них, используя этот код: public void generate(GameContainer gc) { rooms = new ArrayList<Room>(); startingRoom = new Room(0); startingRoom.setPosition(viewport.getCenterX(), viewport.getCenterY()); lastRoom = startingRoom; rooms.add(startingRoom); int roomsize = 25; for (int i = 0; i <= (1000 …

3
Как убрать дрожание с входа движения?
Я пишу мод Minecraft, который поддерживает ввод с Razer Hydra . Это пара контроллеров движения (по одному на каждую руку), которые обеспечивают невероятно точную информацию о положении и повороте. Для целей этого вопроса, вращение правого контроллера по оси Y заставляет персонажа игрока смотреть влево или вправо (рыскание), а вращение по …

2
Должен ли я использовать базу данных SQL для хранения данных в настольной игре? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки игр для Stack Exchange. Закрыто 2 года назад . Разработка игрового движка Я планирую компьютерную игру и ее движок. Будет трехмерный мир с видом от …

2
Рендеринг 3d объекта на 2d поверхность (встроенная система)
я работаю над встроенной системой, и в свободное время я хотел бы проверить ее возможности рисования. Речь идет о микроконтроллере ARM Cortex M3, подключенном к плате EasyMX Stellaris. И у меня есть небольшой экран TFT 320x240 :) Теперь у меня есть немного свободного времени каждый день, и я хочу создать …

3
Как я могу привязать положение игрового объекта к сетке?
Я делаю игру, которая включает в себя элементы геймплея "падающий блок". Проблема в том, что я не совсем уверен, как сделать так, чтобы блоки привязывались к какой-то сетке, другими словами, я не уверен, как он выберет ближайшую ячейку к своей позиции. Блоки не привязываются непрерывно к сетке (т.е. они подвержены …

1
Угол между двумя точками
У меня есть персонаж, который ходит по случайным точкам в моей комнате в Unity. Проблема в том, что он всегда обращен в одном направлении, я хочу написать в C # фрагмент кода, который будет определять направление, в котором находится персонаж в данный момент, и положение цели, а затем вычисляет угол …
9 unity  rotation 

2
Могут ли противные агенты подбрасывать монеты?
Я думал об одноранговых играх, рассматривая простую игру с подбрасыванием монет. Вы открываете свою версию P2PCoinFlipping Beta 2.3, и она отображает список серверов имен игроков. После выбора ближайшего сервера появляется табло из самых счастливых игроков. Вы выбираете игрока с самым высоким рейтингом, и игра начинается. С тех пор, как вы …

1
Box2D разница между WorldCenter и позицией
Так что эта проблема была братской уже пару дней. Прежде всего, в чем разница, скажем, между Body.getWorldCenter () и Body.getPosition (). Я слышал, что WorldCenter может быть связан с центром тяжести или чем-то еще. Во-вторых, когда я создаю Box2D Body для спрайта, Body всегда находится в левом нижнем углу. Я …

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

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