Войти

Программирование игр

Статьи

На пути к эффективному алгоритму Global Illumination, часть 1
В этой статье мы рассмотрим небольшой исторический контекст разработки алгоритмов global illumination, а также поразмышляем, какими свойствами должен обладать оптимальный алгоритм расчёта global illumination.

Читать | Комментарии [88]
22 апр. 2019

Синхронизации в Vulkan
Синхронизации в Vulkan
Одно из важных отличий Vulkan от более старых графических API, это больший контроль над синхронизациями как с CPU, так и внутри GPU. И как всегда многопоточность и синхронизация — это достаточно сложная тема. Стоит помнить, что драйвер Vulkan не обязан оптимизировать вызовы API, поэтому для максимальной производительности синхронизации должны быть расставлены наиболее оптимальным образом.

Читать | Комментарии [36]
26 фев. 2019

Пишем простой рейтрейсер используя Vulkan Raytracing
Введение в Vulkan Raytracing
Генетические алгоритмы в разработке игр.
Детали плавающей точки

Термины

Universal Scene Description (USD)
Universal Scene Description (USD)
Universal Scene Description (USD) — файловый формат описания трехмерной сцены, разработанный компанией Pixar.

Читать
5 июня 2018

Verge3D
Verge3D
Verge3D - трёхмерный движок для веба, использующий технологию WebGL. Основан на Three.js, от которого отличается наличием реалистичных материалов, визуальным редактором логики Puzzles, средой создания приложений и более тесной интеграцией с программами моделирования Blender и 3ds Max. 14 декабря 2017 года в рамках проекта был запущен облачный сервис Verge3D Network для публикации и распространения 3D-приложений.

Читать | Комментарии [19]
8 дек. 2017

Вуду-программирование
Blend4Web
Forward+

Подсказки

Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Привет всем! Сейчас я поделюсь с вами способом добавления кастомных типов исходников в MS Visual Studio.

Читать
20 ноя. 2018

Экспорт геометрии коллизии с материалом из 3DS Max в формат XML.
Создание собственного материала для геометрии коллизии с помощью MAX Script
3D Studio Max: Перезагружаемый плагин

Новости

Ray Tracing Gem. Доступно бесплатно!
Опубликована PDF-книга «Ray Tracing Gem. High-quality and real-time rendering with DXR and other APIs» на 600+ страниц, подготовленная NVIDIA и разными специалистами из области рейтрейсинга. Можно скачать отсюда:
https://link.springer.com/book/10.1007/978-1-4842-4427-2

Ссылка | Комментарии [7]
4 мар. 2019

Microsoft анонсировала DirectX Raytracing (DXR)
На проходящей в Сан-Франциско конференции разработчиков игр (GDC) компания Microsoft анонсировала поддержку в DirectX 12 технологии DirectX Raytracing (DXR). Новый программный интерфейс позволяет производить просчет рейтрейсинга при помощи поддержки этой технологии в железе.

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

SEED-screenshot | Microsoft анонсировала DirectX Raytracing (DXR)

Подробнее…

Ссылка | Комментарии [503]
20 мар. 2018

О дизайне игровых подсистем в 2048 Tournament
Опубликован доклад по итогам разработки игры 2048 Tournament. В нём секции о естественной и искусственной сложности, о принципах дизайна систем, о типах ошибок, о декларативном формировании сценария действий, о том, как у нас работает конечный автомат и о паре архитектурных трюков.

P.S. Не забудьте включить полноэкранный режим просмотра.
Ссылка на доклад: http://www.goo.gl/6DoH7R

2048_tournament_postmortem | О дизайне игровых подсистем в 2048 Tournament

Ссылка
27 янв. 2015

Sony расширяет программу PSM Dev Program на 12 стран, включая Россию

PSM Logo | Sony расширяет программу PSM Dev Program на 12 стран, включая Россию

Как сообщается на портале Playstation Mobile Developer Portal, 29 мая 2014 года Sony Computer Entertainment Inc. расширила программу PSM Dev Program на 12 стран, включая Россию, а PlayStation Store для PSM будет запущен в 4 новых странах 22 июня 2014 года.

Участие в этой программе даёт доступ к PSM Publisher License, которая необходима для разработки приложений при помощи PSM SDK и Unity for PSM, а также к возможности публиковать эти приложения в PS Store для PSM.

Всего на данный момент программа PSM Dev Program действует на территории 32 стран, а контент для PS Store для PSM в ближайшем будущем будет доступен пользователям 22 стран. При этом PS Store для PSM в данный момент не доступен российским пользователям.

Ссылка | Комментарии [18]
30 мая 2014

Программирование игр — создание компьютерной программы (программного обеспечения) с помощью языков программирования. В программирование игры, или создание игрового движка, входит программирование геймплея, создание 3D или 2D графики (при помощи OpenGL или DirectX, которые можно скачать бесплатно), поддержка физики и звукового сопровождения, обеспечение взаимодействия пользователя с игрой и с другими пользователями сетевой или онлайн игры, написание утилит и экспорта из пакетов моделирования, таких как 3DS MAX и Maya. Наиболее популярные среды для программирования игр: MS Visual Studio и Delphi.

Форум

Помогите, пожалуйста, с SFML.21 мая 201920:16sampl_e
Я делаю 2D игру с видом сверху с SFML. Мне нужно сделать одну вещь, но я не знаю как. Может кто-то знает, как это делается и может поделиться статьей или гайдом. Буду очень благодарен. Проблема: Вид сверху на игрока. Есть тело, у него имеются конечности. Их надо как-то анимировать, т.е. анимация использования предметов, ударов, ходьбы и т.д.. Но так же на эти конечности можно надевать броню и одежду. Броню и одежду надо анимировать тоже. Как это можно сделать? Т.е. мне надо создать что-то вроде скелета с возможностью "надевания" других текстур поверх. Еще раз спасибо.
Открытый проект "Крестики нолики"21 мая 20190:58tac
Меня тут спровоцировали комментарием о ИИ шахмат и т.д. С другой стороны, в целях познакомится и что-то сделать вместе, я периодически, не теряю надежду найти новых людей и что-то сделать вместе.

Вот такая идея:
1. Делаем реализацию "крестиков-ноликов" на Unity
2. Показываем реализацию минимакса - ИИ для крестиков/ноликов (если кто не в курсе, он же лежит в основе шахмат)
3. Есть куда стремится - "3D крестики нолики" с произвольной длиной поля ... другие игры, вплоть до шахмат ... (шахматы я сам наверно не потяну, но если были бы напарники - то скорее да, давно хотел ... )


Другой бонус - простые вещи будем выкладывать с открытым кодом .. пока лето, наверно мало кого интересует, ну так я не спешу - к осени скажем наметим цели и задачи ... Думаю кто хотел бы повращаться вокруг ИИ-шарищих дядек, да и сами дядьки приглашаются к столу :)

С теме же кто выживет после "осеней сессии крестиков-ноликов", я бы пошел в сторону искусственных нейронных сетей ...

Правка: 1:01

Программка для радио?20 мая 201915:40Beginerok
Есть радио программа-плеер которая вещает на сервак, суть в том что нужна программа которая возьмет из определенной директории(их там много) и за рандомит песни и есть вставки из другой директории с болтавней все это в mp3, но есть условия
9:00-10:00 - music
10:00-(endependent from file) болтовня обычная
(endependent from file)-11:30 - music
11:30-(endependent from file) болтовня
(endependent from file)-12:00 - music
сам файл в формате m3u8
#EXTM3U
#EXTINF:12,джингл1
C:\Users\User\Desktop\РАДИО\джингл1.mp3
#EXTINF:438,Relaxea - Sunshine Delight
Z:\Автоматизация\музыка для радио\Chillout after work\After Work Chillout\001_Relaxea_-_Sunshine_Delight.mp3
#EXTINF:222,Minka - Little Cat
Z:\Автоматизация\музыка для радио\Chillout after work\After Work Chillout\002_Minka_-_Little_Cat.mp3
#EXTINF:962,Богданова
Z:\Радио\Рубрика Наперекор судьбе\Богданова.mp3//болтавня
........
нужно по длительности определить и подобрать и желательно чтобы разная была при каждом запуске также есть джингл 12 секундный который можно вставлять по несколько раз есть не хватает например минуты.
На каком языке накатать и функции какие? например я могу на с++ написать но я не знаю функции для поиска всех мп3 файлов в директории и поддиректориях и поределение длины файла
P.S.
Алгоритм такой:
1.Добавляем в вектора всю музыку и во второй болтавню(рекурсивно обходя директории и их поддиректории)
2.Открываем файл fopen(playlist.m3u8,"w");
Вставляем строку fwrite("#EXTM3U@);
Какой-то функцией определяем длину которая тоже в векторе еще одном будет, либо вектор состоящий из
struct
{
std::string filename;
float length;
}
3 Подбираем длины чтобы был час по длительности с рандомом по выборке
4. Пишем
frite("#EXTINF:"+vector.length.toString()+","+vector.filename);
frite(vector
.filename);
5. Вставляем из вектора с болтавней одну композицию
frite("#EXTINF:"+vectortalk
.length.toString()+","+vectortalk.filename);
frite(vectortalk
.filename);
6.Повторяем предыдущие шаги с подборкой длин по расписанию
Well done!
Пересечение плоскости и помятого кубика (шестигранника)20 мая 201911:34Meow
Добрый день!

Возникла задача найти пересечение "помятого" кубика и плоскости. Помятого в том смысле, что вершины смещены от их начальной позиции в кубике. То есть это будет шестигранник, у которого каждая грань определяется четырьмя вершинами, но не обязательно все четыре лежат в одной плоскости. Что-то похожее на это Asymmetric Hexahedron.

Плоскость задается через коэффициенты общего уравнения плоскости:
Ax + By + Cz + D = 0
Шестигранник задается координатами восьми вершин.
В результате нужно получить полигон - пересечение этого шестигранника и этой плоскости.
Допускается, что результат может быть не очень точным.

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

Проблема в том, что кубиков может быть много - миллиарды. Алгоритм работает долго. Может кто-то знает, как можно улучшить алгоритм?

Update1. Забыл написать, что кубик может быть не выпуклый. Если грань совпадает с секущей плоскостью, то ребра грани должны войти в результирующий полигон.

Правка: 14:47

Lightmap+Diffuse (Можно ли обьединить лайтмапу и карту диффуз в одну?)20 мая 20194:19Mike_515
Привет всем! Хочу попробовать слить lightmap и Diffuse в одну карту. Если кто-то знает как это сделать, подскажите пожалуйста... если так вообще делают и это возможно

Правка: 4:59

Маленькие вопросы по Ultimate++19 мая 201920:34Vitorio
Пишу тулзу для себя на Ultimate++. Фреймворк понравился лаконичностью конструкций, обширными возможностями работы с изображениями, большим количеством разных UI (и не только) компонентов, кроссплатформенностью. Я в нём еще не полностью освоился и нужна помощь.

Есть задача создать окно свойств объекта, в котором 2 колонки "Property" и "Value".
Значение в колонке "Property" это просто статический текст.
Значение в колонке "Value" может быть представлено Edit-ом, DropBox-ом в зависимости от того, что за свойство указано в той же строке в к колонке Property.
Предполагаю, что для реализации такой штуки можно использовать ArrayCtrl.

Пример такого окна (области):

+ Показать

Советы по поводу архитектуры онлайн игры?19 мая 201919:49Beginerok
Уже есть идеи по поводу архитектуры, ну там вначале игра под Винду, она подключается к удалённой базе данных, символы получаем и отрисовываем и так каждый раз(клик),собственно база данных mysql, удобна тем что сайт для регистрации на томкате, жава веб приложухи(jsp) используют эту базу(уже есть код), сам удаленный сервер пока не ясно на линухе или венде, клиент игры на цэ два плюца opengl тоже под венду и линух(уже есть код). Не ясно как подключить visa,master card и прочее. Правильно ли это?
расчитать масштаб по расстоянию в перспективной аналогично масштабу ортогональной проекции19 мая 201915:29slax
Привет
Переносил отображение экранного текста, из ортогональной проекции, для VR в перспективную проекцию.
похожие размеры текста получились при зависимости масштаба тескта как
length(textpos-campos)/(screenWidth/5)
размеры текста в центре экрана похожи, но на краях маштаб больше примерно в 1.5
как его скорректировать?

Правка: 15:29

Выбор технологии для игры/теста18 мая 201923:48dimas09
Есть цели сделать игру для тренировок слов, где анимированый герой будет говорить вступительное слово каждые следующий уровень и показывать карточки слов.
Анимация нужна довольно примитивная, никакой физики и взаимодействия с анимированым героем не предпологается.

Еще проблема, что игра должна встроится в существующее Android/iOS приложение.
Первое, что приходит на ум Unity, но как по мне это как стрелять с пушки по воробьям.
Какой инструмент посоветуете для такой задачи?

[dx11] UAV depth в pixel shader артефачит18 мая 201920:30BorisV
Понадобилось реализовать z-test не трогая глубину объекта для тесселируемой воды, в пиксельном шейдере вывожу глубину объекта как objdepth = int(pos.z/pos.w*scaling) сравнивая с UAV, записывая туда же. Почему-то выдает немного мерцающие артефакты обратной стороны других поликов кое-где, смотрите скриншот. Пробовал реализовывать через InterlockedMin(UAV0[uv], objdepth, oldval), вроде ситуация улучшается, но все таки есть. На Radeon HD7670 эти баги не вижу. Есть какие-нибудь идеи?
RWTexture2D<uint> UAV0;
//...
//PS:
int  uavsrc=UAV0[uv];
if (objdepth >= uavsrc) discard;
UAV0[uv]=objdepth;
Изображение

Правка: 19 мая 2019 11:43

Зеркало казино Украины http://casino-cleopatra.net/zerkalo , Рокс казино зеркало