Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Давайте попробуем развить демку dceDemo из состава GLScene ?


Страницы:   1 2 3 4

Ктото ©   (2004-09-17 02:54:00) 

Потому, что она похожа на недоделанный игровой движок. (Графика плюс коллизии.) И можно попытаться его доделать. Или хотя бы обсудить чего ей нехвататет, чтобы стать игрой.

Сама демка dceDemo, если кто не знает, лежит тут :
http://cvs.sourceforge.net/viewcvs.py/glscene/Demos/behaviours/DCEDemo/

Я пока сделал небольшой редактор Джиэльсценовского мира, с возможностью сохранять/загружать отредактированный мир в ini-файл. Ini-файлы удобны тем, что их можно легко подредактировать ручками. Например, вставить несколько однотипных объектов с небольшим смещением координа, и таким образом получить, например забор, или несколько этажей здания. И т. п.

Скачать можно тут : http://dcegame.narod.ru/dcegame.html
Исходник к демке прилагается. В файле save.ini находится небольшой уровень, сделанный в редакторе.

Вопросы, пожелания ? СтОит ли ? Куда двигаться дальше ?


DeadMeat   (2004-09-20 19:50:00) [61]


> Из трёх ссылок две перечисленные не скачиваются.

Видимо nm моросит...


> Уровень узнал. Как ложаться текстуры ? Они же по разным
> папка раскиданы.

В нем указан относительный путь к каждой текстуре. Как и во всех моделях. Главное сами текстуры разместить правильно...., в смысле по папкам. А они изначально правильно лежат там все...


> Или как отредактировать bsp-файл ?

Любым редактором для кваки. QuArK например или Radiant...


> ли его конвертировать в 3ds, которые можно редактировать
> в МилкШэйпе ?

Оочень сомневаюсь. Дело в том, что это абсолютно разные вещи...


> Курсор лучше прятать.

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


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

Ээмм... Не совсем догнал... Во первых зачем FormKeyDown и FormResize если они будут вызываться, только в соответствующие моменты? А мышь надо фиксировать постоянно... Или в OnMouseMove... Но лучше всего не использовать все эти обработчики, потому что они "не синхронизированы" с самим GLScene. Попробуй взять любую демку, где есть кручение камеры в OnMouseMove и сделай так, чтобы вся сцена жрала побольше ресурсов... Какуюнить карту большую или проекционные тени (GLShadowVolume)... Можно еще поставить SimpleInertia на объект... И теперь при этом, покрути камеру...


> Где можно скачать последнюю версию GlScene, чтобы эта демка
> работала. Пробовал скачать у DeadMeat-a, но файл по ходу
> голимый, скачиваеться то 200kb,то 800. Ссылочку кто нибудь
> дайте плз.

Видимо все же nm.ru
Попробуй с фатала, но может там оказаться и хуже... А вообще лучше сразу с CVS... Благо последний клиент, вроде через прокси может работать...
http://www.deadmeat.fatal.ru/GLScene/Source.rar

---
...Death Is Only The Begining...


DeFenix   (2004-09-20 11:09:00) [62]

Где можно скачать последнюю версию GlScene, чтобы эта демка работала. Пробовал скачать у DeadMeat-a, но файл по ходу голимый, скачиваеться то 200kb,то 800. Ссылочку кто нибудь дайте плз.


Ктото   (2004-09-20 01:34:00) [63]

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

var
 isMouseFix : Boolean = False; // Мышь зафиксирована
 PosOfFixMouse : TPoint;        // Позиция на которой удерживаем мышь.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if (Key = VK_F3) and (GLSceneViewer1.Camera = GLCamera1) then begin // Фиксируем/расфиксируем мышь кнопкой F3
   isMouseFix := not isMouseFix;
   ShowCursor(not isMouseFix);
   if isMouseFix then SetCursorPos(PosOfFixMouse.X, PosOfFixMouse.Y)
 end;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
 PosOfFixMouse := Point(Left +ClientWidth div 2, Top +ClientHeight div 2); // Точка фиксации мыши.
end;


Ктото   (2004-09-20 01:30:00) [64]

> DeadMeat ©

> Недопонял... В смысле если он не скачивается, то.... А при
> компиляции или при запуске?

Из трёх ссылок две перечисленные не скачиваются.


> Нуу... Я ведь всегда писал только для себя. Вот в этом и
> есть моя проблема.

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


> Я уровень не рисовал, а взял готовый. У него есть все текстуры
> и они правильно ложатся.

Уровень узнал. Как ложаться текстуры ? Они же по разным папка раскиданы. Или как отредактировать bsp-файл ? Можно ли его конвертировать в 3ds, которые можно редактировать в МилкШэйпе ?


DeadMeat   (2004-09-19 09:40:00) [65]

Граждане!!! Никто не знает, с чем у Winrar ассоциируется animation.cfg??
А то пару раз сделал архив, и он (файл этот) исчез как из папки, так и из архива!!!!! На третий все нормально. Шо за чушь?? В том архиве (который выложил) его действительно нет. И в моих папках тоже!! Пришлось лезть опять в кваку и перепысывать обратно этот файл. Создал архив. Дай думаю проверю. Смотрю - НЕТУ!!! Я еще раз, тоже самое. Я с кресла сполз!! На третий раз нормально.... Мож я с ума схожу?
Какбы там ни было, вот он отдельно
http://deadmeat.nightmail.ru/animation.cfg
Как уже сказал, потом докручу все остальное...

---
...Death Is Only The Begining...


DeadMeat   (2004-09-19 09:26:00) [66]


> Файлы не скачиваются.

и

> При компиляции проекта пишет, что не может найти файла animation.cfg


Недопонял... В смысле если он не скачивается, то.... А при компиляции или при запуске?


> Изучи стандарт стилевого оформления кода : http://delphi.vitpc.com/article/coderules.htm

Нуу... Я ведь всегда писал только для себя. Вот в этом и есть моя проблема. Мало кто мой код понимает, хотя я сам в нем отлично ориентируюсь... Давно уже собирался переучиться, да все лень...

> Поставил файл animation.cfg из GLScene'овской демки Q3Demo.
> Подошёл, но криво, анимация не соответствует. Выложи лучше
> оригинальный.

Странно все это... Он там был. Но все равно выложу...


> Как отекстуривать уровни ? Не одной единственной текстурой,
> а полноценно ?

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


> И, кстати, вопрос на засыпку. Если это шутер, то где же
> стрельба ? :)

см [8] DeadMeat ©   (18.09.04 18:37), "Стрелялку тоже можно прикрутить без проблем..."
Делается это за пару тройку минут... Щас у меня инета мало осталось, поэтому смогу залить только завтра (или послезавтра)...

---
...Death Is Only The Begining...


Ктото   (2004-09-19 02:10:00) [67]


> DeadMeat ©   (18.09.04 22:16) [11]

Поставил файл animation.cfg из GLScene'овской демки Q3Demo. Подошёл, но криво, анимация не соответствует. Выложи лучше оригинальный.

Как отекстуривать уровни ? Не одной единственной текстурой, а полноценно ?

И, кстати, вопрос на засыпку. Если это шутер, то где же стрельба ? :)


Ктото   (2004-09-19 01:49:00) [68]


> DeadMeat ©   (18.09.04 22:16) [11]
> Вот *.ЕХЕ
> http://deadmeat.nightmail.ru/Project1.rar
> GLScene, который использовался -
> http://www.deadmeat.nightmail.ru/Source.rar

Файлы не скачиваются.

При компиляции проекта пишет, что не может найти файла animation.cfg .

Изучи стандарт стилевого оформления кода : http://delphi.vitpc.com/article/coderules.htm

Для сдвигания блоков по горизонтали используй клавиши Shift+Ctrl+I и  Shift+Ctrl+U


Ктото   (2004-09-19 01:40:00) [69]


> kastik   (18.09.04 15:26) [7]
> 3) Не думаю что в Сэме уровни хранятся в обычных *.ini файлах.

1. Посмотри в Vice City файлы типа *.ide и *.ipl .
2. Можешь предложить лучший способ хранения - предложи.


> Это код не из той игры, где я читаю подобным способом уровни.
> Это просто пример чтения ini файла используя модуль TIniFiles.
> Писал на "бум".

Да, ладно, на "бум". Наверное из моей демки взял. :)


> DeadMeat ©   (18.09.04 18:37) [8]
>
> > [4] Ктото   (18.09.04 01:26)
>
>
> > Ну, преврати, раз проще простого. Да выложит тут исходник.
>
> > Только ты ведь знаешь, что это совсем не просто как кажется,
>
> > и очень трудоёмко.
>
> Видимо я этого не знал, поэтому мне легче... ;-)
> На самом деле, вот это я делал гдето.... часа 3-3.5. Есть
> пара глюков, но как я уже сказал, это "некий шутер". Стрелялку
> тоже можно прикрутить без проблем...
> Управление:
> W,S,A,D - движение
> CTRL - сидение
> SHIFT - хождение
> SPACE - прыгание

Поставил скачиваться. Кстати, есть ли какие компоненты специальные, чтобы настраивать управление ? А то самому лепить как-то лень.

Кстати, не знаешь чем лучше игры потрошить ? Сэма, например, или ГТА ?


DeadMeat   (2004-09-18 22:16:00) [70]

Вот *.ЕХЕ
http://deadmeat.nightmail.ru/Project1.rar

Забыл добавить.
Управление мышью. А если кнопочку зажать, то можно камеру отдельно покрутить (GLScene-овский стандарт)

---
...Death Is Only The Begining...


Колбасьев   (2004-09-18 21:36:00) [71]

А exe нельзя, но без maps и model? А то у меня нет GLScene, а посмотреть хочеться! Да и ошибки открытия разные бывают, а так exe без проблем.


DeadMeat   (2004-09-18 18:38:00) [72]

Кстати. Больше половины всего этого, есть в демках самого GLScene...

---
...Death Is Only The Begining...


DeadMeat   (2004-09-18 18:37:00) [73]


> [4] Ктото   (18.09.04 01:26)


> Ну, преврати, раз проще простого. Да выложит тут исходник.
> Только ты ведь знаешь, что это совсем не просто как кажется,
> и очень трудоёмко.

Видимо я этого не знал, поэтому мне легче... ;-)
На самом деле, вот это я делал гдето.... часа 3-3.5. Есть пара глюков, но как я уже сказал, это "некий шутер". Стрелялку тоже можно прикрутить без проблем...
Управление:
W,S,A,D - движение
CTRL - сидение
SHIFT - хождение
SPACE - прыгание

Линк - http://www.deadmeat.nightmail.ru/minishooter.rar
GLScene, который использовался - http://www.deadmeat.nightmail.ru/Source.rar

---
...Death Is Only The Begining...


kastik   (2004-09-18 15:26:00) [74]

>Ктото   (18.09.04 07:21) [6]

Ты наверное меня не правильно понял. Дело в том, что сам модуль TIniFiles с файлами больших размеров медленно работает.

1) Эксперементы я ставил.
2) Почему игры делят на уровни я тоже знаю.
3) Не думаю что в Сэме уровни хранятся в обычных *.ini файлах.

Код:

var
 MyLevel: TIniFile;
begin
 MyLevel:= TIniFile.Create('c:\my_level.ini');
 with MyLevel do begin
   MyObject.Name:=ReadString('mysection','name','noname');
   MyObject.X:=ReadString('mysection','x','0.0');
   MyObject.Y:=ReadString('mysection','y','0.0');
   MyObject.Z:=ReadString('mysection','z','0.0');
 end;
 MyLevel.Free;
end;


Это код не из той игры, где я читаю подобным способом уровни. Это просто пример чтения ini файла используя модуль TIniFiles. Писал на "бум".

---
Я извиняюсь, но это уже, похоже, офф-топ


Ктото   (2004-09-18 07:21:00) [75]


> kastik   (18.09.04 02:50) [5]
> >Ктото   (18.09.04 01:26) [4]
>
> Я не хочу развивать спор на тему *.ini файлов. Просто я
> убедился на собственной практике в их медленной работе.
> Вот когда будет записей за несколько сотен, тогда ты поймешь,
> о чем я говорю.

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


> Просто я тоже однажды был так наивен

Запости свой код, наивный.


kastik   (2004-09-18 02:50:00) [76]

>Ктото   (18.09.04 01:26) [4]

Я не хочу развивать спор на тему *.ini файлов. Просто я убедился на собственной практике в их медленной работе. Вот когда будет записей за несколько сотен, тогда ты поймешь, о чем я говорю.

Они же все-таки не предназначены для хранения базы данных. Просто я тоже однажды был так наивен и пытался хранить в них различную информацию, как в базе данных. В итоге напоролся на грабли.


Ктото   (2004-09-18 01:26:00) [77]


> DeadMeat ©   (17.09.04 17:32) [1]
> Я не совсем догнал, как ты хочешь ее доделать?
> В принципе превратить в некий шутер проще простого...

Ну, преврати, раз проще простого. Да выложит тут исходник. Только ты ведь знаешь, что это совсем не просто как кажется, и очень трудоёмко.


> kastik   (17.09.04 20:23) [2]
> > Ктото   (17.09.04 02:54)
> *.ini - юзать для подобных целей, просто не рационально.

А ты сравни скорость загрузки демки с ini-файлом приложенном к демке, и без него, и убедишься, что оно почти не отличается.
А там 58 3ds-объектов.


miek   (2004-09-17 21:10:00) [78]

>Они очень медленные

Субъективно судишь, это смотря как грузить.


kastik   (2004-09-17 20:23:00) [79]

> Ктото   (17.09.04 02:54)
*.ini - юзать для подобных целей, просто не рационально. Они очень медленные. Дело в том, что они предназначены для хранения настроек различных, а не для хранения информации об уровне.


DeadMeat   (2004-09-17 17:32:00) [80]

Я не совсем догнал, как ты хочешь ее доделать?
В принципе превратить в некий шутер проще простого...

---
...Death Is Only The Begining...


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо