Войти

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

Статьи

Гидродинамика Шрёдингера на пальцах
Гидродинамика Шрёдингера на пальцах
В этой статье в качестве эксперимента я постараюсь максимально доступно рассказать, как работает новый метод расчёта гидродинамики, основанный на решении уравнения Шрёдингера.

Читать | Комментарии [86]
9 окт. 2019

Предрасчёт рейкаста для эффективного рендеринга травы и меха
Предрасчёт рейкаста для эффективного рендеринга травы и меха
Здравствуйте. В этой статье я хотел бы рассказать об алгоритме, который я разработал в результате своих экспериментов с предрасчётом трассировки лучей. Результат работы одной из промежуточных версий алгоритма можно увидеть здесь:

Читать | Комментарии [24]
18 авг. 2019

На пути к эффективному алгоритму Global Illumination, часть 1
Синхронизации в Vulkan
Пишем простой рейтрейсер используя 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.

Форум

В UE4 не запускается Visual Studio10 ноя. 201916:37dmitrykozyr
Я переношу проект на новый компьютер и попробовал склонировать его с гитхаба, но файл *.sln у меня в .gitignore, поэтому я нажал ПКИ на иконке проекта и иопробовал сгенерировать VS-файлы, но ничего не сгенрировалось. Тогда я скопировал проект на флешку и перенес на новый компьютер, но из движка не запускается VS (есди нажать на любой из скриптов или Open Visual Studio), а если запустить VS напрямую, то пишел, что проект пропущен.

Подскажите, как вернуть возможность работать с кодом?

1 | Sony расширяет программу PSM Dev Program на 12 стран, включая Россию
Настройка 2д проекта под разные разрешения10 ноя. 201913:24Valde113
Всем привет. Создаю не большой проект ( 2д платформер). Решил сделать сборку и посмотреть как это все будет выглядеть на ноутбуку 1366/768 . В итоге столкнулся с проблемой. Ширина камеры и разрешение не тот что нужено. Искал информацию в интернете, однозначного решения не нашел.
настройка камеры | Sony расширяет программу PSM Dev Program на 12 стран, включая Россию
скрипт камеры
+ Показать

Правка: 13:25

Нужна помощь с поиском в ширину и глубину, кто может объяснить(для поиска самого короткого пути)10 ноя. 20198:27Jesure
кто может объяснить для поиска самого короткого пути
Есть группа точек каждая соединена с соседней,  есть препятствие
Спасибо!
unity c#
[FREE] [UNITY] [Pixel-Art] Forest, desert pixel art platformer sprites9 ноя. 201917:41J-Games
Sprites to create games in the style of pixel Art.The opportunity to do the forest,the desert levels.Different kinds of plants and trees.

UnityAssetStore:https://assetstore.unity.com/packages/2d/environments/forest-dese… el-art-100700

Изображение

Камера внешнего вида в инвентори9 ноя. 20193:00Llevellyn
Хочу засунуть в инвентори ортостатическую камеру внешнего вида персонажа. Т.е . камера всегда смотрит на персонажа спереди и рендерит в текстуру, которая отображается в инвентори. Всё окружение персонажа (ландшафт, предметы, скайбокс и т п) соответственно должно куллиться, для этого все персонажи суются в отдельный layer, и камера рендерит только его. И с этим не было бы проблем, если бы инвентори можно было открыть только у одного персонажа - проблема возникает, когда 2 персонажа стоят рядом: камера в инвентори рендерит их обоих. Быстрым гуглингом не нашел ответа, как сделать так, чтобы камера рендерила только одного персонажа. Совать каждого персонажа в отдельный слой - слоев не напасешься, может быть на форуме кто то знает решение?
Bullet Physics - Libgdx - перемещение мира, а не объекта8 ноя. 201922:41Плотник
Здравствуйте. Изучаю Буллет физику(libgdx). Хочу реализовать "камеру от третьего лица", но перемещать не камеру, а мир.
Создал сцену с несколькими геометрическими фигурами. Камера смотрит в центр координат,  и может вращаться. С помощью кнопок, используя кватернион вращаю куб. Куб имеет небольшую скорость и вскоре покидает поле зрения камеры.
Далее добавил возможность выбора объектов(object.selected=true/false)
        if(gui.selectBox.getSelectedIndex()==0)
        {
            objectSphere_r.selected=true;
            objectSphere_g.selected=false;
            objectSphere_b.selected=false;
            objectSphere_y.selected=false;
            objectSphere.selected=false;
            objectBox.selected=false;
        }
        if(gui.selectBox.getSelectedIndex()==1)
        {
            objectSphere_r.selected=false;
            objectSphere_g.selected=true;
            objectSphere_b.selected=false;
            objectSphere_y.selected=false;
            objectSphere.selected=false;
            objectBox.selected=false;
        }
        ..............
        .............
Код перемещения мира:
        for(int i=0; i<instances.size; i++)
        {
            GameObject obj = instances.get(i);
            if(obj.selected)
            {
                Vector3 pos = new Vector3();
                obj.body.getWorldTransform().getTranslation(pos);
                
                for(int j=0; j<instances.size; j++)
                {
                    GameObject obj2 = instances.get(j);
                    Vector3 pos2 = new Vector3();
                    obj2.body.getWorldTransform().getTranslation(pos2);
                    Vector3 npos = new Vector3(pos2.sub(pos));
                    obj2.transform.setTranslation(npos);
                    obj2.body.proceedToTransform(obj2.transform);
                }
            }
        }
Краткое описание кода: если объект выбран, запоминаем его позицию. И из позиции всех объектов вычитаем позицию выбранного объекта. Выбранный объект перемещается в центр координат, куда смотрит камера, а остальные - куда надо.

Только после перемещения вращение куба неправильное. Куб как будто очень сильно потяжелел. Секунд пять, после нажатия кнопки, вращения не наблюдается. Но кватернион оказывается в течении этих секунд набирает скорость. И куб рывком начинает крутиться.
Вращение куба:

                Quaternion boxRot = objectBox.body.getOrientation();
    Vector3 Yup = new Vector3(0,1,0);
    Vector3 Ydown = new Vector3(0,-1,0);
    Vector3 newYup = Yup.mul(boxRot);
    Vector3 newYdown = Ydown.mul(boxRot);
    
    Vector3 Zup = new Vector3(0,0,1);
    Vector3 Zdown = new Vector3(0,0,-1);
    Vector3 newZup = Zup.mul(boxRot);
    Vector3 newZdown = Zdown.mul(boxRot);
    
    Vector3 XkL = new Vector3(-1,0,0);
    Vector3 XkR = new Vector3(1,0,0);
    Vector3 newXkL = XkL.mul(boxRot);
    Vector3 newXkR = XkR.mul(boxRot);
        
        if(gui.leftButton.b)
        {
            objectBox.body.applyForce(newXkR, newZup);
            objectBox.body.applyForce(newXkL, newZdown);
        }
        if(gui.rightButton.b)
        {
            objectBox.body.applyForce(newXkR, newZdown);
            objectBox.body.applyForce(newXkL, newZup);
        }
        .........
Необходимо, что бы куб сразу после нажатия кнопки начал вращаться. Может кто-то сталкивался с аналогичной проблемой. Куб:  btRigidBody, размеры: 1единица, масса: 1 ед.

Прошу помощи о решении проблемы | Unity | tilemap8 ноя. 201915:31Kaster00000001
  Здравствуйте, я новичок в Unity и, в процессе изучения этого движка я наткнулся на эту проблему. Tilemap на сцене просто не отображается:). Как я бы не старался, не тыкал кнопочки и не переходил по ссылкам в гугле, у меня никак не получается решить данную проблему. Вот скриншоты
1 | Sony расширяет программу PSM Dev Program на 12 стран, включая Россию
2 | Sony расширяет программу PSM Dev Program на 12 стран, включая Россию
Ищу педагога по программированию звука для Unity+Fmod8 ноя. 201911:05Lexey
Ищу человека, который мог бы обучить меня программированию в C# и в адаптации звуков в Unity 3d. Желательно с опытом работы в Fmod. Готов предложить оплату за обучении от 1500 руб\час , в зависимости от вашего опыта и компетенции. Пожалуйста, свяжитесь со мной если  у Вас будет время и желание помочь мне в этом нелегком деле. email: 
Как создать модульного персонажа в стиле Pixel art7 ноя. 201921:46Jostone
Всем привет. Начал создавать мобильную игру-платформер и для реализации одной из главных задумок нужно создать модульного персонажа в стиле Pixel art.
Размер спрайта ГГ планируется в 128х128px. Движок Unity. Под модульностью подразумеваю скелет(голого ГГ) на который можно накладывать текстуры шмоток, не дублируя текстуру всего персонажа.
Гугл выдает статьи по созданию статичного перса и то в размере 32х32 максимум.
Если кто то натыкался на статьи и информацию по даной теме буду благодарен.

Правка: 21:46

2D RayTracing существует в реалтайме в 2019?7 ноя. 201920:14Prescott
Всем привет!

Предыстория: на днях копался в Godot с 2D освещением, и появилась возможно глупая, но интересная задумка сделать освещение более реалистичным.
Под "реалистичностью" я понимаю генерацию света на игровой сцене с помощью прямых лучей от источника света + хотя бы одно-два отражения от препятствий. В РЕАЛТАЙМЕ. Хотя бы просто отражённый свет, преломления и прозрачные поверхности мне не нужны!
Все стандартные имплементированные во многих движках типы освещения весьма банальны - они не дают отражённого от препятствий света.

Поясняю что именно нужно в картинках:

+ Показать


Вопрос в том, как этого правильного освещения добиться ещё и в реалтайме?
1) Самый банальный вариант (как я и сделал) - использовать много рейкастов, но естественно это достаточно медленный способ. В той же Юнити 10 тысяч рейкастов - потолок, этого количества недостаточно чтобы мягко закрасить картинку - маловато линий, вот как это выглядит:

+ Показать


2) Пытался найти варианты в интернетах, находил 2D GlobalIllumination, например: shadertoy - но это не совсем то, тут просто мягкие тени, но отражённого от стен света нет + производительность ужасная, 5-6 объектов загружают GPU на 100%

Я конечно понимаю, возможно это не совсем нужная фишка, но всё же.
На дворе почти 2020 год, Nvidia во всю пропихивает свои RTX для трассировки лучей в 3Д, а в 2Д до сих пор ничего подобного нет? Хотя ясное дело, что в 2Д пространстве бросать лучей нужно куда меньше чем в 2Д, следовательно есть все возможности сделать реалтайм ТРУ 2Д освещение - неужели никто умный ещё такого не делал?

Правка: 20:27

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