![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Давайте попробуем развить демку dceDemo из состава GLScene ?
Ктото © (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...