Текущий архив: 2004.09.26;
Скачать: CL | DM;
ВнизGLScene Новая демка "FireBrand" Tank Demo Preview Оцните Найти похожие ветки
← →
Алекс А (2004-05-11 02:31) [0]На сайте GLScene появилась : http://glscene.sourceforge.net/index.php
Вот ссылка на скачку. http://glscene.sourceforge.net/misc/FireBrand-Preview.zip С исходником.
Танк ездит, стреляет, правда пока без снарядов. В принципе может быть заготовкой для создания собственной игры, если на то у кого есть желание. Всё лучше, чем с нуля. Добавить снаряды, противников, и можно воевать.
← →
Алекс А (2004-05-14 04:42) [1]Никого не вдохновило ?
А я слегка доделал демку. Теперь из танка может стрелять снарядами по шарам и набирать очки. Получился простейший вариант игры. Зацените, если кому интересно. : http://tankgame.narod.ru/tankgame.html
Распакуйте экзэшник в папку с игрой и запустите.
Управление WSAD, башней QERF, выстрел - пробел.
← →
имя (2004-05-15 12:06) [2]Удалено модератором
Примечание: Неделя отдыха.
← →
A22 (2004-05-17 03:09) [3]не работает, в архиве только екз, игра попросила еще файлы
← →
DeadMeat © (2004-05-17 21:08) [4]Дык надо всё скачать сначала с http://glscene.sourceforge.net/misc/FireBrand-Preview.zip
А потом с http://tankgame.narod.ru/tankgame.html (что как я понял уже у вас есть)
После всех этих комбинаций всё вместе совместить...
Кстати дема ничё... Можно сетевую танковую стрелялку сделать, если немного упростить...
---
...Death Is Only The Begining...
← →
Алекс А (2004-05-18 01:47) [5]
> DeadMeat © (17.05.04 21:08) [4]
> Дык надо всё скачать сначала с http://glscene.sourceforge.net/misc/FireBrand-Preview.zip
> А потом с http://tankgame.narod.ru/tankgame.html (что как
> я понял уже у вас есть)
> После всех этих комбинаций всё вместе совместить...
Совершенно верно. Просто ресурсы всё равно одни и теже, а занимают они давольно много.
> Кстати дема ничё... Можно сетевую танковую стрелялку сделать,
> если немного упростить...
Прежде нужно сделать там возможность добавлять дополнительные танки. Хотя бы два для начала. А то боя неполучится.
И придумать какую-то проверку, чтобы танки не проезжали друг сквозь друга.
← →
DeadMeat © (2004-05-18 09:01) [6]Ну столкновение танков можно сделать простым GLCollisionManager. А добавление... добавление в принципе не тяжело я думаю... Я уже писал некое подобие шутера... Так там добавлялось нужное количество ACTOR-ов, когда подключались клиенты... Только вот всё тормозило при передаче по сети... Но это было давно. Щас может смогу сделать без тормозов... Надо проверить...
---
...Death Is Only The Begining...
← →
КиТаЯц (2004-05-18 09:42) [7]Я здесь писАл уже про добавление-удаление. Топик что-то типа "GLScene как правильно удалить объект" или что-то вроде того...
← →
Алекс А (2004-05-20 05:34) [8]
> DeadMeat © (18.05.04 09:01) [6]
> добавление в принципе не тяжело я думаю... Я уже писал некое
> подобие шутера... Так там добавлялось нужное количество
> ACTOR-ов, когда подключались клиенты...
Тут в игре управление пушкой, гусеницами, вычисление высоты в пространстве, спецеффекты, снаряды свои, и ещё куча всего. Это не так просто сделать.
> КиТаЯц (18.05.04 09:42) [7]
> Я здесь писАл уже про добавление-удаление. Топик что-то
> типа "GLScene как правильно удалить объект" или что-то вроде
> того...
Это к чему ?
← →
КиТаЯц (2004-05-20 07:18) [9]
> Алекс А (20.05.04 05:34) [8]
> Это к чему ?
Это к тому, что было сказано:
> Прежде нужно сделать там возможность добавлять дополнительные
> танки.
А я как раз пробовал добавлять-удалять новых актеров в GLScene, о чем в указаной теме и написал буквально следующее:
Вот так я добавлял:var NewEnemy: tGLActor;
begin
NewEnemy:= tGLActor(GLScene1.Objects.AddNewChild(tGLActor));
NewEnemy.Name:="Vrag"+inttostr(nomer); // глобальная переменная типа "табельный номер" :)
with NewEnemy do begin
LoadFromFile("файл");
...
// задаем свойства
...
end;
end;
А вот так Vrag as Trup :) без проблемм удаляется...var ToDel: tComponent;
begin
ToDel:= nil;
ToDel:= GLScene1.FindSceneObject("Vrag"+inttostr(nomer));
if ToDel <> nil then ToDel.Destroy;
end;
← →
DeadMeat © (2004-05-20 21:25) [10]> [8] Алекс А (20.05.04 05:34)
> Тут в игре управление пушкой, гусеницами, вычисление высоты в пространстве, спецеффекты, снаряды свои, и ещё куча всего. Это не так просто сделать.
А кому сейчас легко...?? Я код самой демки ещё не смотрел, но подозреваю, что его модифицировать будет не очень сложно... Программа будет обрабатывать только один танк, а остальные будут просто рисоваться в своих координатах, и со своими направлениями... ИМХО конечно, но это не должно быть чрезвычайно сложно... Я так делал в своей мини игрушке - одним клиентом обрабатывается только один ACTOR, а остальные своими клиентами... потом каждый из них отсылает такую инфу, как положение, направление и анимация... Здесь разница небольшая...
---
...Death Is Only The Begining...
← →
Sanek_metaller © (2004-05-21 00:29) [11]А где вообще можно скачать GLScene для D7?
Я и поисковнике искал,на оффициальный сайт зашел,а там хрень какая-то...
← →
Алекс А (2004-05-21 02:22) [12]
> КиТаЯц (20.05.04 07:18) [9]
> А я как раз пробовал добавлять-удалять новых актеров в GLScene,
> о чем в указаной теме и написал буквально следующее:
Это не правильный подход. Потому, что два раза грузятся одни и теже ресурсы танка.
Правильный подход - это использовать проксиобжект для всего уже загруженного танка со всеми его наворотами. Делается одной строчкой. Проблема - пересчитать это всё под другую точку в пространстве.
> Sanek_metaller © (21.05.04 00:29) [11]
> А где вообще можно скачать GLScene для D7?
http://cvs.sourceforge.net/viewcvs.py/glscene
> DeadMeat © (20.05.04 21:25) [10]
> А кому сейчас легко...?? Я код самой демки ещё не смотрел,
> но подозреваю, что его модифицировать будет не очень сложно...
> Программа будет обрабатывать только один танк, а остальные
> будут просто рисоваться в своих координатах, и со своими
> направлениями...
Вычисление направления и позиции делается вот так :tankVW.Progress(deltaTime, newTime);
ACTTank.Position.Y:=( tankVW.Nodes[6].Location[1]+tankVW.Nodes[0].Location[1]
+tankVW.Nodes[8].Location[1]+tankVW.Nodes[2].Location[1]
+tankVW.Nodes[10].Location[1]+tankVW.Nodes[4].Location[1])*(1/6)-0.45;
ACTTank.Up.AsAffineVector:=MinusZVector;
ACTTank.Direction.AsAffineVector:=
VectorCrossProduct(VectorSubtract(VectorAdd(tankVW.Nodes[0].Location,
tankVW.Nodes[6].Location),
VectorAdd(tankVW.Nodes[4].Location,
tankVW.Nodes[10].Location)),
VectorSubtract(VectorAdd(tankVW.Nodes[0].Location,
tankVW.Nodes[4].Location),
VectorAdd(tankVW.Nodes[6].Location,
tankVW.Nodes[10].Location)));
Можете это объяснить ?
И вообще всё что в ОнКрэйт написано относительно tankVW не очень понятно. Куча векторов, нодов, контактов. Потому и непонятно как это сделать для второго танка.
← →
КиТаЯц (2004-05-21 07:24) [13]
> Правильный подход - это использовать проксиобжект для всего
> уже загруженного танка со всеми его наворотами. Делается
> одной строчкой. Проблема - пересчитать это всё под другую
> точку в пространстве.
Какой строчкой? Пример можеш привести?
← →
Алекс А (2004-05-21 07:54) [14]
> КиТаЯц (21.05.04 07:24) [13]
> Какой строчкой? Пример можеш привести?
Создаёшь TGLProxyObject через и в его свойство MasterObject ставишь DCTarget . У тебя получается второй танк. Только в позишн запиши небольшое смещение, а то танки будут друг внутри друга и не увидешь их.
← →
КиТаЯц (2004-05-21 09:24) [15]2 Алекс А (21.05.04 07:54) [14]
ОК. А как его потом "замочить"?
← →
КиТаЯц (2004-05-21 09:55) [16]2 Алекс А (21.05.04 07:54) [14]
Не. Не пойдет через TGLProxyObject.
При изменении свойств MasterObject-a меняются и свойства сомого TGLProxyObject. Ну, типа бежит актер и его двойник туда же, а должен на месте стоять. Мне кажется прокси само то будет для статичных объектов... заполнения ландшафта: создал дерево, потом насоздавал проксиобъектов и раскидал их рендомом по карте... А для актера прокси не годится.
← →
КиТаЯц (2004-05-21 09:56) [17]Да, в тему...
А НЕ ПОРА МОДЕРАТОРАМ ОБ ОТДЕЛЬНОЙ ВЕТКЕ ДЛЯ GLScene ПОДУМАТЬ?
← →
DeadMeat © (2004-05-21 12:12) [18]> [12] Алекс А (21.05.04 02:22)
> Можете это объяснить ?
А зачем...?? Не ну понять конечно это хорошо... Но я ещё раз говорю, зачем делать полную обработку второго, третьего и т.п танков... Ведь полностью обрабатывать надо только один танк - свой, а остальные будут обрабатывать остальные клиенты... Ведь почти любой объект можно описать всего лишь 2-двумя параметрами - положение и направление... Так вот эти параметры каждой запчасти и надо передавать по сети и уже учитывая их, обрабатывать остальные танки...
---
...Death Is Only The Begining...
← →
DeadMeat © (2004-05-21 12:13) [19]>[17] КиТаЯц (21.05.04 09:56)
Да, в тему...
А НЕ ПОРА МОДЕРАТОРАМ ОБ ОТДЕЛЬНОЙ ВЕТКЕ ДЛЯ GLScene ПОДУМАТЬ?
Было бы неплохо... Ведь есть тема КОМПОНЕНТЫ, КОL, FreePascal и т.п. А GLScene давольно быстро набирает обороты...
---
...Death Is Only The Begining...
← →
КиТаЯц (2004-05-21 12:47) [20]Вот именно, а http://glscene.sourceforge.net/ попросить чтобы на своем сайте линку повесили что-то типа "GLScene Russian forum"
← →
Sanek_metaller © (2004-05-22 01:03) [21]>http://cvs.sourceforge.net/viewcvs.py/glscene
Это чё все по одному файлу качать?
← →
Алекс А (2004-05-22 01:36) [22]
> КиТаЯц (21.05.04 09:24) [15]
> 2 Алекс А (21.05.04 07:54) [14]
> ОК. А как его потом "замочить"?
Неужели самому непонятно ? Убрать из MasterObject"а DCTarget . Или удалить сам TGLProxyObject .
> Не. Не пойдет через TGLProxyObject.
> При изменении свойств MasterObject-a меняются и свойства
> сомого TGLProxyObject. Ну, типа бежит актер и его двойник
> туда же, а должен на месте стоять. Мне кажется прокси само
> то будет для статичных объектов... заполнения ландшафта:
> создал дерево, потом насоздавал проксиобъектов и раскидал
> их рендомом по карте... А для актера прокси не годится.
Ну вот ты и сделал для себя массу открытий, которые другие и так давно знают.
>Мне кажется прокси само
> то будет для статичных объектов... заполнения ландшафта:
Отдельно башня танка, и корпус танка - два статичных объекта ...
В общем смогёшь сделать дополнительные танки - напиши.
Мелкая анимация типа качания травы, или антены танка, или ещё чего может быть у всех предметов одинаковая, что уменьшает объёмы рассчётов.
> DeadMeat © (21.05.04 12:12) [18]
> > [12] Алекс А (21.05.04 02:22)
> > Можете это объяснить ?
> А зачем...??
Ответ вопросом на вопрос, со всеми вытекающими.
> Sanek_metaller © (22.05.04 01:03) [21]
> >http://cvs.sourceforge.net/viewcvs.py/glscene
> Это чё все по одному файлу качать?
FAQ читай, программу используй :
http://glscene.sourceforge.net/faq.htm#160801-1
← →
DeadMeat © (2004-05-22 18:07) [23]> Алекс А (22.05.04 01:36) [22]
Ответ вопросом на вопрос, со всеми вытекающими.
Эээ.. Не понял...
← →
Polymorph (2004-05-23 09:56) [24]Ну дак чё, модераторы, как на счёт отдельной ветки форума по GLS? По моему идея классная, я знаю уже много русских прогеров парятся на ихнем английском форумею Поддержите РУССКИЙ GAMEDEV!
← →
kas-t (2004-05-24 01:10) [25]Если нужно то я тоже готов отдать голос ЗА! такое предложение! :)
← →
Алекс А (2004-05-24 03:22) [26]
> DeadMeat © (22.05.04 18:07) [23]
> Эээ.. Не понял...
А зачем писать фразы "А зачем?" ?
Если человек знает как сделать второй танк, то он пишет, а если не знает, то пишет "А зачем?".
Вражеские танки надо сделать или ненадо? Или вообще хоть какие-нибудь враги нужны или не нужны? Или будет просто огромая пустыня Сахара, и в ней лишь пара одиноких танков ищет друг друга? В любой приличной игре должны быть искусственные противники по которым можно было бы пострелять. Считаю это просто бесспорным.
> kas-t (24.05.04 01:10) [25]
> Если нужно то я тоже готов отдать голос ЗА! такое предложение!
> :)
А я бы посоветовал для начала сделать FAQ по GLScene, хотя бы как с CVS скачивать, а то спрашивают чуть ли не в каждой ветке.
← →
DeadMeat © (2004-05-24 16:26) [27]> [26] Алекс А (24.05.04 03:22)
Я кажется уже писал как реализовать второй танк (см [18] и [10])... И именно так я его и реализовал. Вот через пару дней допишу сетевую часть (просто проверять негде) и выложу с исходником...
---
...Death Is Only The Begining...
← →
Micah'GF (2004-05-24 20:39) [28]а у меня так и не запустилось ничего... :(
вылетает, много раз, глюча..... (раз десять винда выдает окно с просьбой "отправить разработчиков")
Винда ХР
← →
имя (2004-05-31 09:47) [29]Удалено модератором
Страницы: 1 вся ветка
Текущий архив: 2004.09.26;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.041 c