Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование игр [Форум / Инфо]

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

Генетические алгоритмы в разработке игр. emptiness_rain
Генетические алгоритмы в разработке игр.
Привет детишки, сегодня я хочу рассказать вам сказку про генетические алгоритмы и их применение в игрострое.

Читать | Комментарии [62]
20 мар. 2018

Детали плавающей точки FordPerfect
Детали плавающей точки
Цель статьи - дать читателю представление о работе с числами с плавающей точкой в программировании. Предполагается дать базовый объём информации и предоставить уровень понимания, достаточный для самостоятельного проведения оценок в задачах, возникающих на практике.

Читать | Комментарии [16]
4 мая 2017

Frustum Culling _Wizard_
Стоимость OpenGL команд. _Wizard_
Rectilinear Texture Warping Mephisto std
Behavior Trees в Unreal Engine 4 std::cin
Universal Scene Description (USD) wat
Universal Scene Description (USD)
Universal Scene Description (USD) — файловый формат описания трехмерной сцены, разработанный компанией Pixar.

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

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

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

Вуду-программирование Epsilon
NetWars Engine (NWE) Бабер
Blend4Web B4W_dev
Экспорт геометрии коллизии с материалом из 3DS Max в формат XML. Aviator777
В предыдущей статье http://www.gamedev.ru/code/tip/Collision_material мы разобрали как написать простой скрипт, с помощью которого можно создать костюмный материал, но мы не разобрали, как его использовать. В данной статье мы разберём как создать скрипт для экспорта из 3DS MAX геометрии коллизии с наложенным материалом.

Читать
6 дек. 2017

Создание собственного материала для геометрии коллизии с помощью MAX Script Aviator777
3D Studio Max: Перезагружаемый плагин RmzVoid
^ Как в Xcode превратить Command Line Tool в Cocoa Application. Sergio
Microsoft анонсировала DirectX Raytracing (DXR) wat
На проходящей в Сан-Франциско конференции разработчиков игр (GDC) компания Microsoft анонсировала поддержку в DirectX 12 технологии DirectX Raytracing (DXR). Новый программный интерфейс позволяет производить просчет рейтрейсинга при помощи поддержки этой технологии в железе.

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

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

Подробнее…

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

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

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

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

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

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

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

Анонс Unity 5 Daemon19
18 марта Unity Technologies анонсировали новую версию популярного движка Unity. Кратко, что обещают:
  • Новая physically-based система материалов,
  • Real-Time Global Illumintaion,
  • Audio Mixer — новый инструмент, позволяющий работать со звуком не выходя из Unity,
  • Редактор 64bit,
  • Апгрейд PhysX до 3.3,
  • Physics 2D Effectors,
  • Поддержка WebGL — добро пожаловать в браузер без unity player,
  • Многопоточные задачи,
  • Интеграция SpeedTree,
  • Еще больше Physics2D API,
  • И многое другое.

Unity 5 | Анонс Unity 5

+ Рекламное видео с особенностями нововведений в Unity 5

Подробная информация: http://unity3d.com/5

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

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

Форум

Fresnel PBR19 сен. 201820:27MrOcelot
Должен ли металл давать белые отражения при угле взгляда близком к 90 градусам или цвет отражения должен оставаться равен F0?
Вот на этой картинке кайма медного шарика вроде-бы такого-же цвета, как и сам материал.
Изображение
Но формула Fresnel-Shlick диктует 100% отражения для углов взгляда близких к 90 градусам даже для металлических материалов.
vec3 fresnel = F0 + (vec3(1.0) - F0) * pow(1.0 - clamp(dot(-V, N), 0.0, 1.0), 5.0);
Слева fresnel, справа base * (1-fresnel)
Fresnel | Анонс Unity 5
Прицел на VR (UE4)19 сен. 201819:47DarkMaster
Подскажите? как можно сделать прицел под VR? (vive)
На данный момент реализовано простым билбодром закрепленном на камере, но он проходит сквозь объекты, а если сделать близко к камере двоится в глазах..
Нагуглил что-то про StereoLayer, но увы, чудо не произошло, вообще не ощутил изменений.. Какие варианты решения данного вопроса? Нужно просто точку в VR поверх остальных объектов... =\
Скриптинг, написание квестов и логики19 сен. 201816:17Berns
Доброго времени. Хотелось бы узнать, какие существуют модели для программирования квестов и поведения NPC, их достоинства и недостатки. На данный момент знаю два - текстовый скриптинг и разветвляющийся алгоритм. Текстовый скриптинг настораживает - интерпретация того же C++ операция не из дешевых, хотя функционал большой.  Что до второго - то по сути можно хранить в блок схеме, где к примеру в структуре указывается тип действия/условия перехода и next к следующей ветке узла, по сути можно задавать логику и квесты без программирования, как например в hiasm.
Оценить потенциал к работе над программной архитектурой19 сен. 201813:49makeacase
Предположим, нужно выбрать программиста для задачи по рефакторингу и редизайну большой подсистемы. Никто из программистов раньше такого не делал и с данной системой дела не имел. Задался вопросом: какие вопросы можно задать программисту, чтобы выяснить - есть ли у него склонности к проектированию архитектуры? Вопросы должны подразумевать возможность ответить сразу или в течение часа.
Как вы считаете, какие вопросы были бы наиболее показательны для выделения программистов склонных к порядку, систематизации, выделению абстракций и тому подобное, что повысило бы шансы на успешный редизайн программной архитектуры?
Портирование с++ движка на андроид - работа с ресурсами?19 сен. 201811:01x
1) При первом запуске доставать через AAssetManager всё из апк в обычные файлы, и затем уже будет без проблем работать обычный код с fopen.
Так и делают?
Есть ли простой способ отслеживать что в апк что-то изменилось чтобы при изменениях перераспаковать нужное?
Пример был бы кстати.

2) http://www.50ply.com/blog/2013/01/19/loading-compressed-android-a… file-pointer/
Альтернативный вариант - врапнуть макросом fopen пачкой делегатов.
Выглядит просто, но каждый раз на запуске все будет распаковываться.

3) Вроде можно apk заставить быть не запакованным, читать через zlib. Тогда ничего никуда вообще копировать\распаковывать не надо.
Кто-то пробовал?

Правка: 19 сен. 2018 11:23

Карта высот и пещеры (нависающие уступы)19 сен. 20188:50MikeNew
Если с самой картой высот все понятно, то как обычно реализует пещеры и нависающие уступы?
Как-то используют несколько слоев карт высот или просто делают отдельные модели для таких моментов?
Объясните, я и так много велосипедов изобретаю чтобы еще и этот изобрести.
Или дайте наводку на соответствующие статьи, а то нагуглить не удалось, хотя гуглю я вроде хорошо.

Спасибо за внимание.

Сложный вопрос по Релятивистской-Физике19 сен. 20186:27werasaimon
Сразу скажу если вы в идеале не понимаете СТО  , можете даже не читать данный пост!

И так в чем проблема , у нас есть твердое тело например квадрат
. А дело в том что такое понятия как твердое тело не применимо к СТО , поэтому введем  такое понятие как псевдо-твёрдое тело , это тело которое работает также как и твердое, только имеет еще одну степень свободы, эта степень свободы позволяет телу делать сокращения лоренца в ортонормированном базисе по отношению к линейной скорости , то бишь сокращения длины вдоль оси линейной скорости , локальное время тоже замедляется , но только для центра масс тела . Ну вообщем это все прекрасно работает пока мы работаем с частицами или не вращающейся псевдо-твёрдом телом  ,

Пример визуализации Лоренцевского сокращения длины, вдоль линейной скорости (v)

+ Показать


///------------------------------------------------------------------------------------------------------------///
Пример кода релятивистской физики , применимо к частицам:

+ Показать

в коде использует  матрицу Лоренца
Loretz_Boost | Анонс Unity 5

И Релятивистский закон сложения скоростей:
Сложения релятивистских скоростей | Анонс Unity 5

только имейте виду что в коде сигнатура (+,+,+,+)
///------------------------------------------------------------------------------------------------------------///

Но как только мы переходим к угловым скоростям мы встречаемся с парадоксом Эренфеста  https://ru.m.wikipedia.org/wiki/Парадокс_Эренфеста  , если вкратце то это значит если наш квадрат будет вращаться то и за радиальной скорости ребра квадрата начнут испытывать лоренцево сокращения длины, что вызывает разрыв геометрии . Чтоб этого не сталось нам нужно частично использовать математику-ОТО , а именно мы предполагаем что и за вращения пространство имеет отрицательную кривизну, то бишь тут надо применить тензор Риччи натянутый на вектора (u,v). Но мы поступим легче мы придумаем свою математику ,
Мы возьмем вектор угловой скорости (w) , ну то бишь спин вращения , ну вектор вокруг которого вращается тело, и возьмем два ортогональных вектора (u,v) к вектору  (w) и к самим себе ! И будем делать сокращения лоренца вдоль направления (u) и (v) но gamma-функцию то бишь коэффициент сокращения длины мы берём только от вектор угловой скорости (w) . Тем самым мы введем еще две степени свободы к нашему псевдо-твердому  телу .

P.S: гамма функция это просто фактор-Лоренца
Лоренц-Фактор | Анонс Unity 5
 
///------------------------------------------------------------------------------------------------------------///
Пример части кода для взятие ортогональных векторов (u,v)

+ Показать

///------------------------------------------------------------------------------------------------------------///

При таком подходе тело будет сужаться по векторам (u,v) и когда угловая скорость достигает условной границы  скорости  ( c/2*PI ) то тело так стягивается  так  что оно  станет просто линией сонаправленный с вектором угловой скорости (w) .  Этот подход не дает абсолютного соответствия СТО , так как в СТО каждая точка нашего псевдо-твердого тела должна иметь свое время, а у нас время будет зависеть только от центра масс и линейной скорости . Ну тем не менее это самое приближенное решения СТО  применимо к псевдо твердом телу !

P.S: И имейте виду что угловая скорость это аксиальный вектор и не является реальной скоростью , угловая скорость (w) это частота вращения , а верней частота вращения это длина модуль вектора  (|w|) ,
А сам вектор (w) это спин вращения.

Пример визуализации сокращения Лоренца по (u,v):
Изображение

Матрица Лоренца по (u,w) относительно (w)
часть кода отвечающий за то чтоб при большой угловой скорости (w) ,
тело сворачивалось в трубочку , как на второй анимации 

void RigidBody::FuncRealtivityShorteningOfLengthUVSet()
{
  float _dt =  dt * gamma(mLinearVelocity) ;
  IVector  u ,v ;
  float gamma_coficient = gamma(mAngularVelocity , CLightVolocity ); // gamma( w , c )
  IVector w = mAngularVelocity * _dt;
  IVector3::BiUnitGrammSchmidt( w , u , v );
  IMatrix3x3  IU = IMatrix3x3::LorentzMatrix( u , gamma_coficient); // ||u||
  IMatrix3x3  IV = IMatrix3x3::LorentzMatrix( v , gamma_coficient ); // ||v||
  mBasis  = IU * IV * mBasis;
}

Вопросы:

Может кто придумает более приближенное решения СТО применимо к твердому телу ? В чем я ошибся , что не так , почему моя модель полное г…

Как при такой математики правильно рассчитать момент импульса . Поскольку при таком подходе радиус вектор в моменте импульса будет испытывать  сокращаться лоренца по (u,v) ,
То есть точка (p) к которой прилагаем импульс будет испытвать лоренцево сокращения длины отоносительно (u,v)  то радиус вектор будет все ближе и ближе к оси вращения (w) , в зависимости от модуля (|w|) по которому  будем считать gamma-функцию (gamma(w)) . когда модуль достигает (|w| = c/2*PI) то точка (p) будет уже лежать на самой оси вращения и не будет вращаться вообще  . проблема в том что применимо к релятивистской скорости (w) предел скорости не является абсолютная  скорость света  (с)  , а скорость света разделанная на модуль  радиус вектора к точке (p) . то бишь с \ |p|sin(alpha) = ( c /  |p ^ w| )
то есть границы скорости угловой скорости выглядят применено так
  relativity_c_roatate_w | Анонс Unity 5

то бишь гамма-функция принимает вид  (1 / sqrt( 1 - v^2 / ( c /  |p ^ w| )^2 )) .
Но прикол в том что и за сокращения Лоренца по (u,w) радиус вектор будет всегда меняться в зависимости от R:(|w|)|gamma(w) . А значить тут должны быть какие то коэффициенты соотношения . Так вот вопрос какие , и как ?
Сдесь под точкой  (p) я имею ввиду не совсем просто точку (p) а плечо тела к точке (p) , тобишь (p == p - CenterMass)

На всякий случай :
4d Angular momentum as a bivector:

+ Показать


P.S как вы понимаете при таком подходе  время для каждой точки просто не возможно просчитать , так что время будет зависит только от линейной скорости  , то бишь гамма функция на которую мы умножаем время (dt = dt * gamma(LinearVelocity)) будет зависит только от линейной скорости . Потому что ума не прилажу как угловая скорость могла бы действовать на время dt так чтоб было ОК?
И да во всех визуализациях скорость света ровна единице (c=1)

Правка: 19 сен. 2018 21:42

[Unity+Android+SQLite] Не обновляется база18 сен. 201815:17smartxp
Сбилдил проект на андройд - все хорошо, все работает из базы данные считываются. Изменил базу (добавил поля), снова сбилдил - новые поля не появились в базе. Вроде в Eclipse какое-то событие можно было обработать и самому решить как обновлять базу, может и в Unity есть что-то такое?
кроссплатформенное Facebook API существует?18 сен. 201811:07leonardo98
Есть игра - на кроссплатформенном движке,
собирается на PC|iOS|Android,
при этом на iOS и Android используются разные Facebook API - свой на каждую платформу,
на iOS на objC, а для Android на Java, на PC версии Facebook не используется пока вообще.

Есть ли варианты кроссплатформенного АПИ для Facebook?

Необходимо допилить чтобы на PC тоже работало, прикручивать третий вариант АПИ - крайне нежелательное решение.

Правка: 18 сен. 2018 11:10

Шейдер океанской воды с SSS Unity18 сен. 201811:00dvornik
Использует vertex texture fetch для формы волны SM3.0 соответсвенно.
LOD для оптимизации.
Кастомную модель света

http://doctrina-kharkov.blogspot.com/2018/09/unity-ocean-water-shader.html

2001—2018 © GameDev.ru — Разработка игр