вторник, 29 апреля 2008 г.
пятница, 18 апреля 2008 г.
Система взаимодействия
четверг, 17 апреля 2008 г.
Векторное движение
Реализован алгоритм векторного перемещения объекта.
Пример работы тут:
http://zed.rmap.ru/files/sample1.zip
среда, 16 апреля 2008 г.
3D координаты в Экранные
Вот и написал ф-ию перевода 3д Координат в Экранные.
Обратная ф-ия тут: http://galaxonline.blogspot.com/2008/04/blog-post_5151.html
public static Position2D ScreenFrom3D(Vector3D pos, Matrix4 camWorldMatrix, Matrix4 camProjectionMatrix, Matrix4 camViewMatrix, Dimension2D screenSize)
{
Position2D res = new Position2D();
Matrix4 MatrixViewWorld = camViewMatrix * camWorldMatrix;
Vector3D VectorOut = MatrixViewWorld.TransformVect(ref pos);
res.X = (int)Math.Round(((VectorOut.X / VectorOut.Z) * camProjectionMatrix.GetM(0, 0) + 1.0f) * (float)screenSize.Width / 2.0f);
res.Y = -(int)Math.Round((((VectorOut.Y / VectorOut.Z) * camProjectionMatrix.GetM(1, 1) - 1.0f) * (float)screenSize.Height / 2.0f));
return res;
}
Обратная ф-ия тут: http://galaxonline.blogspot.com/2008/04/blog-post_5151.html
Статичная камера и перемещение
Сделана статичная камера и перемещение. Посмотреть пример работы можно тут:
http://zed.rmap.ru/files/mooving3d.zip
http://zed.rmap.ru/files/mooving3d.zip
вторник, 15 апреля 2008 г.
Необходимо сделать
Перед началом реализации клиент-сервер приложения необходимо сделать некоторую часть клиента.
1. Сделать статичную камеру.
2. Сделать перемещение камеры по клику мыши.
3. Продумать и определить структуру карты галактики.
1. Сделать статичную камеру.
2. Сделать перемещение камеры по клику мыши.
3. Продумать и определить структуру карты галактики.
Задний фон
Космичиские величины
В игре "Космические рейнджеры" использовался масштаб кораблей к планетам 3/1 (2 корабля = 1 планете). Естественно это не верно, но для динамичной Аркадо-стратегии это подойдет.
3D Движок
В Качестве 3D двигателя для проекта будет использован IrrlichtNETCP.
Адрес проекта: http://irrlichtnetcp.sourceforge.net/wiki/index.php/Main_Page
Как надо рисовать Двигатели у кароблей
Вот тут показано как надо рисовать двигатели у кароблей:
http://www.linux.org.ru/gallery/bigBng5Sv.png
http://www.linux.org.ru/gallery/bigBng5Sv.png
Координаты
Долго бились над переводом координат из 3-х мерной системы в 2-у мерную и обратно.
И Вот наконец-то!
И Вот наконец-то!
/// Расчет проэкции точки экрана на плоскость z=0
Matrix4 camProjectionMatrix,Matrix4 camViewMatrix,Dimension2D screenSize)
{
Vector3D vPickRayDir;
Vector3D vPickRayOrig;
Matrix4 m = camViewMatrix;
m.MakeInverse();
vPickRayDir.X = vX * m.GetM(0, 0) + vY * m.GetM(1, 0) + vZ * m.GetM(2, 0);
vPickRayDir.Y = vX * m.GetM(0, 1) + vY * m.GetM(1, 1) + vZ * m.GetM(2, 1);
vPickRayDir.Z = vX * m.GetM(0, 2) + vY * m.GetM(1, 2) + vZ * m.GetM(2, 2);
vPickRayOrig.X = camPosition.X;
vPickRayOrig.Y = camPosition.Y;
vPickRayOrig.Z = camPosition.Z;
float t = -vPickRayOrig.Z / vPickRayDir.Z;
float Px = vPickRayOrig.X + vPickRayDir.X * t;
float Py = vPickRayOrig.Y + vPickRayDir.Y * t;
return new Vector3D(Px, Py, 0);
}
Galax
Galax - космичиский симулятор, с ролевыми и экономическими элементами. В Основе игры положен сюжет космического симулятора "Космические Рейнджеры".1. Средства разработки
1.1 Выбрано средства разработки кода Microsoft Visual Studio 2008. (www.microsoft.com)
1.2 3D Враппер IrrlichtNETCP (http://irrlichtnetcp.sourceforge.net/wiki/index.php/Main_Page)
1.3 База Данных MySQL (www.mysql.com)
2. Разработка концепции
2.1 На первой стадии разработки системы необходимо определить вид планетарно-игрового экрана. Масштабы объектов и игровую механику.
3. Необходимые инструменты для разработки
4. Клиент-Сервер (Данные и протоколы)
Подписаться на:
Сообщения (Atom)