Понедельник, 21.08.2017, 09:40 На сайте время по Москве
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 6123456»
Форум » Мастерская/Workshop » Проекты Tuner's Edge/Tuner's Edge Projects » Game Engine Programming by }0RIC)-(
Game Engine Programming by }0RIC)-(
}0RIC)-(Дата: Воскресенье, 05.08.2012, 20:45 | Сообщение # 1
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Начну все заново и с толком.
Почитав в интернете про всякие разные движки, решил что писать все в одной куче нерационально, да и вообще не обосновано.
Движок наверное будет иметь самую логичную структуру:

Графический движок
| Физический движок
| /
Программный центр - Звуковой движок
| \
| Пользовательский интерфейс
Скриптовая система

1)Графический движок: Вся графика, модели, шейдеры, пост-эффекты, итд.
2)Физический движок: Твердые тела, деформируемые тела, веревки, вода, в общем вся физика и динамика.
3)Звуковой движок: Ну естественно загрузка и буфферизация звуков, воспроизведение, остановка.
4)Пользовательский интерфейс: Меню, консоль, загрузочные экраны итд.
5)Скриптовая система: Сюжетная линия.
6)Программный центр: Ядро всей игры, точка входа в программу.

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


Сообщение отредактировал }0RIC)-( - Воскресенье, 05.08.2012, 20:47
 
}0RIC)-(Дата: Понедельник, 06.08.2012, 08:29 | Сообщение # 2
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Начну с программного центра.
Его задача пока создать класс игры, с помощью которого я и буду все делать.
Пока в него входят 4 метода:
1)Загрузка *.cfg файла.
2)На основе этих данных создать класс окна и само окно.
3)Вход в цикл обработки сообщений
4)Выгрузка всего, освобождение памяти, удаление всех созданных интерфейсов.

кому интересно, прикрепил ехе-шник, для него нужна последняя версия DirectX9.0 и Дистрибутив С++ x64/ x86

Программный центр готов, при каждом добавленном блоке буду его редактировать.
Теперь займусь простецкой графикой, файлом моделей.
файл с моделью пока будет достаточно простым:
short количество объектов
[ первый объект
----byte длинна имени объекта
----string имя объекта
----short порядковый номер родителя
----float3x4 матрица
----short кол-во треугольников
----short кол-во вершин
----vertex[] все вершины
----index[] все индексы
]
[ второй объект
----byte длинна имени объекта
----string имя объекта
----short порядковый номер родителя
----float3x4 матрица
----short кол-во треугольников
----short кол-во вершин
----vertex[] все вершины
----index[] все индексы
]
[ третий объект
...
]
...
Материалов пока не будет, будет свет от одной лампочки (пока)


Вот что пока. Создание интерфейса Direct3D, обновление кадров (заливка цветом)
Приступаю к загрузке модели и созданию подвижной камеры
Прикрепления: 7591592.rar(14Kb)


Сообщение отредактировал }0RIC)-( - Понедельник, 06.08.2012, 08:31
 
}0RIC)-(Дата: Понедельник, 06.08.2012, 14:00 | Сообщение # 3
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Загрузил пробную модельку, сделал подвижную камеру, добавил еще один блок "InputEngine" добавляющий устройства ввода, ехе-шник прикрепил.

Управление: WSAD на клавиатуре - перемещения камеры, Shift - ускорение, мышка - вращение
Буду писать функцию выгрузки модели и всего GraphEngine.
Прикрепления: 4324887.rar(63Kb)


Сообщение отредактировал }0RIC)-( - Вторник, 07.08.2012, 09:23
 
}0RIC)-(Дата: Вторник, 07.08.2012, 10:43 | Сообщение # 4
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
И так, готова функция выгрузки моделей и выгрузки всего граф.движка. можно приступать к физическому движку)
 
[A][L][E][X]Дата: Вторник, 07.08.2012, 13:37 | Сообщение # 5
Evolution
Группа: Администраторы
Сообщений: 2385
Статус: Offline
}0RIC)-(, Да ты монстр)

 
}0RIC)-(Дата: Четверг, 09.08.2012, 08:44 | Сообщение # 6
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Ну вот, начал с моделирования кинематики материальной точки. Добавил возможность действия сил на эту точку. ехе-шник прикреплен.
Есть шарики разной массы.

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

При нажатии на пробел на шарики действует сила (из неоткуда, просто сила) направленная вверх. т.к. шарики разные, то ускорение придаваемое этой силой будет разное для всех шариков. (закон Ньютона: a = F / m)

P.S. масса шариков увеличивается слева на право.
Прикрепления: 8311419.rar(53Kb)
 
alexeyДата: Четверг, 09.08.2012, 13:27 | Сообщение # 7
Генерал-лейтенант
Группа: Пользователи
Сообщений: 710
Статус: Offline
Ебать, да ты мозг, жесть просто, бывают же умные люди...

 
}0RIC)-(Дата: Четверг, 09.08.2012, 13:34 | Сообщение # 8
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
alexey, ой да ладно ты :D. На очереди debug-режим, изображающий все силы, ускорения, скорости.
 
}0RIC)-(Дата: Четверг, 09.08.2012, 16:12 | Сообщение # 9
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Готов debug-режим. Синие векторы - силы, желтые векторы - ускорения, зеленые - скорости.
Управление:
Управление камерой - прежнее
Пробел - сила 16(Н) вверх
Стрелка влево - сила 4(Н) влево
Стрелка вправо - сила 4(Н) вправо
Стрелка вверх - сила 4(Н) вперед от начального положения камеры (от себя)
Стрелка вниз - сила 4(Н) назад от начального положения камеры (на себя)
(Н) это Ньютоны если что smile

Ну и небольшая сценка, для разнообразия:


На сегодня все, завтра займусь обнаружением столкновений и самой физикой столкновений.

И это, качаем, камментим, у кого глюки, у кого не работает, а то у меня все норм, а у других не знаю)
ехе-шник:
Прикрепления: 7569869.rar(62Kb)


Сообщение отредактировал }0RIC)-( - Четверг, 09.08.2012, 16:44
 
}0RIC)-(Дата: Среда, 15.08.2012, 08:43 | Сообщение # 10
=\Good-Racer/=
Группа: Tuner's Edge
Сообщений: 921
Статус: Offline
Более-менее разобрался с физикой столкновений мат. точек, единственная проблема, которая возникла - столкновение с перекрытием:

при перекрытии если ничего не делать то объекты связываются и потом двигаются как одно тело одно в одном, выглядит ужасно) при таком перекрытии я просто отодвигаю тела друг от друга в направлении разлета, как мне кажется рационально.
скрин:

управление:
камерой - WSAD + Shift + мышка
самым первым шариком - влево, вправо, пробел(прыжок)
добавление новых - ентер.

Переберу сам код расчета физики и приступлю к "Твердым телам" с вращением, трением итд.

ехе-шник:
Прикрепления: 4706829.rar(62Kb)


Сообщение отредактировал }0RIC)-( - Среда, 15.08.2012, 08:44
 
Форум » Мастерская/Workshop » Проекты Tuner's Edge/Tuner's Edge Projects » Game Engine Programming by }0RIC)-(
Страница 1 из 6123456»
Поиск:


Эксклюзивные моды для San Andreas и NFS © Все права защищены. Дизайн данного сайта Полностью Принадлежит Администратору Сайта Эксклюзивные  моды для San Andreas и NFS 2017 | Сайт оптимизирован под браузер Opera ,Firefox. Sitemap | Sitemap-forum.
Дизайн данного сайта полностью принадлежит администратору сайта.