Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

2D аркада на 3D движке (oGL). demo N1   Найти похожие ветки 

 
TButton ©   (2004-03-23 20:48) [40]

>P4 2400, geForce FX 5600 128 mb, 256 ddr
понахватали компов :)))

вот ведь интересный момент заметил, когда пользую тормозной двигатель в качестве акселератора :) при выстреле снаряд получает меньшую скорость :(
кстати, снаряд это что? ракета или снаряд?
а и еще, становится скучно из-за жесткого распределения ролей охотник-жертва, надоедает убегать (вот уж не подумал бы что надоест издеваться над компом :) а перестрелка в упор совсем не интересна.


 
wiz ©   (2004-03-23 21:24) [41]

2 TButton:

>при выстреле снаряд получает меньшую скорость
ну а чего ты ожидал, если начальная скорость снаряда определяется, как его нач.скорость в системе отсчета "Корабль" + скорость корабля (векторно)?

>ракета или снаряд?
в данный момент (по физике) это снаряд (внутреннее имя "FireBall"), т.к. своего движителя не имеет и летит только из-за сообщенной ему начальной скорости.

>становится скучно из-за жесткого распределения ролей охотник-жертва
понимаю... но ничем не могу помочь, т.к. пациент (AI противника) пока сопротивляется моим усилиям сделать его чуточку умнее ;)))

скоро (надеюсь) он научится path-find"ить и менять стиль поведения (от ситуации)


 
wiz ©   (2004-03-23 21:33) [42]

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

+научил программу выбирать (для заданного разрешения) лучшую поддерживаемую частоту обновления экрана.

теперь у меня 800x600@100Hz и при этом FPS поднялся с 60 до 100 (интересное совпадение, не правда ли)


 
TButton ©   (2004-03-23 22:25) [43]

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


 
wiz ©   (2004-03-23 23:34) [44]

2 TButton:

если стрелять в горизонтальной плоскости, то это так и есть

В системе отсчета центра масс(!!!) "корабль-снаряд" - снаряд в начальный момент времени(!!!) двигается с одной и той же скоростью (специально сейчас проверил ручками).

Загвоздка в том, что если выстрелить и двигаться с ускорением в ту же сторону (например на ракетной тяге), то "скорость убегания" снаряда будет падать. Вообще говоря, когда нибудь корабль догонит снаряд у которого нет ускорения, а только начальная скорость.

Плюс вносит смуту камера, из-за движения которой всё выглядит немного по другому.

PS: я не думаю, что сделал где-нибудь в физ.движке ошибку. Ошибиться параметром - запросто, а вот закон - это вряд ли. Всё-таки совсем не зря в нас вколачивали "механику и теор.относительности" на первом курсе :)))


 
Дима   (2004-03-25 13:32) [45]

Скинь пожалуйста исходник.
Ради интереса мне интересно, в  OpenGL я не профи, хотелось бы посмотреть как такое можно сделать.

mydim@mail.ru


 
suicide   (2004-03-25 15:40) [46]

Вот это игра я понимаю, особенно физика мне понравилась. Да и AI довольно настырный - жаль только что сквозь стены всё видит.


 
IraiZor ©   (2004-03-25 16:56) [47]

Сделай еще фон со звездами , красиво :D а так мне очень понравилось.
FPS - 60-61 P4 2400 , GeForce 4200 Ti


 
user   (2004-03-25 17:30) [48]

P1000 GeForse4 MX 440 FPS 84
                     FPS 61(demo3)

1)(demo3) красный имеет преимущество при равных условиях
  collision(вроде не верно);
2) разработать может кратковременное резкое укорение в начале  движения (героя конечно).

3) "герой" <> стены  >  "герой" <> воздух (может проработать момент)

4)Если используешь OpenGL то может false-sphere героя

glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);//  отключаем (работу с цветом)вывод в кадр
false-sphere героя
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);// включаем (работу с цветом)вывод в кадр

Предложение:
Если из Москвы и пишешь на Delphi и OpenGL есть предложение.
Одному мне не справиться проект загибается.

Есть 3D-движок(задумывалось как космическая-стратегия).
Осталось поставить динамику(стрельба или т.п. , перемещение машин с юнитами и т.п.).
Статика(сцена) I-ого уровня и элементарная динамика передвижения моделей, плавающая
камера, управление , головное 3D-меню и т.п. радости разработаны.Так-же сделаны зачатки
спец-эффектов(вода, свет[тени пока только в демо-версии] и т.п.).
"Полная" версия I-ого уровня занимает 150 Мб(статика).Есть много звукового,графического материала и динамика
моделей для 3D-Max(на разработку).Над проектом работал 1.5 года один.

Версия для Internet включает урезанный минимум(для демонстрации).
Для ознакомления можно скачать с адреса :
qbest.mail333.com/Games/...  14 файлов и разрулить в один каталог.

{к примеру: http://qbest.mail333.com/Games/DEMO.zip}
+...
+...

BASS.zip        
DEMO.zip        
Menu Texture.zip      
Mesh Texture1.zip      
Mesh Texture2.zip      
Mesh Texture3.zip      
Mesh Texture4.zip      
Mesh Texture5.zip      
Mesh Texture6.zip      
Mesh Texture7.zip      
RESURS.zip        
SOUND.zip        
Scene_Project.zip      
Scene_Project1.zip

Мой Mail: qbest@mail333.com

Повторяюсь."Версия" I-ого уровня занимает 150 Мб.
"Версия" для Internet включает урезанный минимум не имеющий почти ничего общего с демо-версией просто общее представление
о масштабах (хотя какое это представление без динамики машин и физики).

Заранее извиняюсь за обьёмы ~ 15 Mb


 
user   (2004-03-25 17:31) [49]

по прошлому предложению
иногда хост на почте уходит в отказ


 
wiz ©   (2004-03-25 20:44) [50]

2 Дима: извини, но свои исходники практически никогда не высылаю, даже друзьям :). Если нужно чем-то помочь конкретным - создавай ветку, обсудим. Если охота разобраться - смотри DelphiGFX, там не так много, как хотелось бы :), но для начала - очень даже. Отдельно хочется порекомендовать примеры Jan Horn"а, детальный разбор которых дал мне в своё время очень многое.

2 suicide, 2 IraiZor: thx

2 user:

1) проверю. (действительно такого не задумывалось)

2) подумаю. идея на первый взгляд не плоха (должна улучшиться динамика игры). Но, если это делать, то делать всем. Тем более, что физ-движок и его интерфейс построены таким образом, что изнутри (физ-движка) никак нельзя понять - бот это или герой. Все машины управляются посредством стандартного набора флажков, параметров и законов.

3) pls, можешь пояснить? я минут пять медитировал на эти неравенства, но так их и не понял (в оправдание: у меня сегодня голова уже не работает после учёбы/работы)

4) понял что ты предлагаешь, но опять-таки не понял - зачем. (Извини)

касательно предложения: очень заманчиво... но...

я живу не в Москве, а в Новосибирске. Опыт on-line разработки у меня был, правда отрицательный. Это уже одно из сильных "но"

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

Кстати, мой текущий проект для меня представляется как некоторое упражнение, или экзамен, или "проверка на прочность" в написании проекта "от начала до конца"... поэтому и выбрал жанр аркады, как один из самых простых (imho) к написанию.


 
user   (2004-03-26 03:09) [51]

на счёт 1) вообще для зрелищности и интересу герою
          может дать преймущества при движении
       2) выдели движение "героя" в отдельный класс
          или чего-то там ещё
       3) советы уже были выше не мной,проехали
       4) чтоб false-sphere героя было не видно,
          хотя видно у тебя другая задумка


 
TButton ©   (2004-03-26 06:48) [52]

> вообще для зрелищности и интересу герою
> может дать преймущества при движении

нафиг надо! и так интересно :) бедный бот и так из сил выбивается, а ты предлагаешь ему совсем шанса не давать :)


 
wiz ©   (2004-03-27 22:27) [53]

2 user:

1) вообще для зрелищности и интересу герою может дать преймущества при движении

официальная позиция: никаких преимуществ по дефолту. только системой бонусов.

2) выдели движение "героя" в отдельный класс или чего-то там ещё
зачэм, дарагой... можно всем это сделать... может даже получиться

4) чтоб false-sphere героя было не видно, хотя видно у тебя другая задумка

задумка: это Energy Shield. т.к. два куска железа/пластика/материалаX (составные части шипа) ударившиеся друг об друга (с нехилой скоростью) обязательно сплющатся... Чтобы обосновать их соударение как двух мячиков, вводится Energy Shield. Кроме того, в игре (наверное) НЕ будет классической _life_ + _shield_, только энерго-уровень щита.


 
TButton ©   (2004-03-27 22:31) [54]

щит раздолбался и любое столкновение преобразует корабль в кучу металолома. поэтому в поисках поверапа придется проявить максимум сноровки.


 
wiz ©   (2004-03-27 22:35) [55]

2 TButton : угу... "ты сечешь фишку" :)))


 
wiz ©   (2004-03-27 22:38) [56]

2 ЕИгеещт & others:

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


 
TButton ©   (2004-03-27 22:45) [57]

>угу... "ты сечешь фишку" :)))

профессия обязывает =)


 
VMcL ©   (2004-03-29 20:16) [58]

>>wiz ©  (23.03.04 21:33) [42]

>теперь у меня 800x600@100Hz и при этом FPS поднялся с 60 до 100 (интересное совпадение, не правда ли)

VSync отключать не пробовал? Очень помогает.


 
wiz ©   (2004-03-29 22:13) [59]

2 VMcL: я это и имел ввиду


 
wiz ©   (2004-03-29 22:36) [60]

2 VMcL:

С другой стороны, а "оно надо"? Сделал я поддержку extension"а WGL_EXT_swap_control и отключил VSync. Получил "некие" 150-250 экранных fps. FPS физического движка как было ~1000 так и осталось (отдельный thread), а на экране я как видел 100 кадров, так и вижу (монитор-то больше не даёт). Так что не совсем понятно - зачем...


 
AxxxE   (2004-03-30 11:31) [61]

Игра ОЧЕНЬ неплоха, мне понравилось. Разве что предлагаю стены из картонных сделать бетонными ;). У меня держит 100-70 фпс (меньше 70 - ни-ни). Дурон 750 Мгц, 256 ОЗУ, ДжиФорс2 МХ400. Можно уж сделать дамадж, несколько оружий, и исправить гравитацию - "благодаря" ей игра становится "сидячей", а хотелось бы "мобильную". Может попробовать её вообще убрать? Будет лучше для геймплея (может быть). И что тебе мешает сделать стены не только под 90, но и под 45 градусов?

P.S. А что это за пять точек в нижнем левом углу карты?


 
Инкогнито ©   (2004-03-30 17:48) [62]

Мне понравилось.
ФПС: 60-61 чередуется
P4 2400, GeForce FX 5200 128 mb, 512RAM


 
VMcL ©   (2004-03-30 19:24) [63]

>>wiz ©  (29.03.04 22:36) [60]
>С другой стороны, а "оно надо"?

Ну в твоей игре может и не надо. Это важно для таких, как Q3, CS и т. п., особенно в multiplayer.


 
wiz ©   (2004-03-30 21:31) [64]

2 VMcL: imho поднимать fps просто ради fps - не совсем правильно... если из этих 254 кадров на экране видно те же 100, то зачем насиловать мат.часть? может я какой-то момент не понял?

хотя... понял! если у меня (грубо говоря) создание картинки идёт 15ms (1.5 кадра на 100Hz развёртки), то вставляя VSync я потеряю 5ms (для выравнивания с 10ms сеткой) и вместо 1sec/15ms = 66 fps я получу 1sec/20ms = 50 fps.

Если это работает так ^^^^^^^^^, то тогда отключение Vsync - вещь правильная.

Поправь меня, если я где-то ошибся.


 
wiz ©   (2004-03-30 21:41) [65]

2 AxxxE:

>из картонных сделать бетонными
в дальнейшем они будут имитировать нужную поверхность (красноватую для Марса, белую в крапинку для Луны и.т.д.)
как ты мог заметить я не натягивал (пока) тексуры. что позволило сделать всю демку - 60kB

>Можно уж сделать дамадж, несколько оружий
Еще нельзя... я сейчас работаю над диз-доком. потом геймплей, потом моделинг кораблей/оружия. и.т.д...

>исправить гравитацию - "благодаря" ей игра становится "сидячей", а хотелось бы "мобильную".
ты учти, что сейчас вы управляете "космическим металлоломом". Мощьности этого файтера еле-еле хватает преодолеть притяжение... в настоящем бою машинки будут помощнее.

>И что тебе мешает сделать стены не только под 90, но и под 45 градусов?
я тоже об этом думал, но для этого нужно написать очень хорошо оптимизированный детектор коллизий, иначе начнёт притормаживать... не так трудно, но пока не "потел" над этим.

>P.S. А что это за пять точек в нижнем левом углу карты?
О-о-о-о!!! Это были точки для проверки позиционирования камеры и вообще пространства OpenGL. Камеру уже отпозиционировал, а точки убрал только в 4-ой (пока невышедшей) версии :)


 
VMcL ©   (2004-03-30 21:56) [66]

>>wiz ©  (30.03.04 21:31) [64]

Почитай эту статью:
http://www.nvworld.ru/docs/30fps.html


 
lyeh ©   (2004-03-31 04:17) [67]

С отключенным VSync кадры иногда будут не совпадать, это неприятно


 
wiz ©   (2004-03-31 09:16) [68]

2 VMcL: прочитал...
Честно говоря, статья оставила смешанное впечатление.
Размахивание руками для тех кому неизвестен термин "инерция глаза".
Некоторое непонимание программинга: "fps - это не только частота показа новых кадров, но и частота расчета физической модели движения объектов на игровой сцене". Фраза красивая, но уже далеко не верная, т.к. thread"ы никто не отменял и обсчет физики и опрос мыши/клавы я (вообще говоря) могу вести отдельно от render"а сцены.

Кроме того, я спрашивал совсем не про то... :)


 
smb   (2004-03-31 12:14) [69]

Radeon 9200 64 mb Pentium 2.4HT RAM 512 mb
160 к/с - средне
а на чистых местах в правом верхнем углу до 300-360 к/с
прикольно. особенно шарики. играть в волейбол можно. еслиб по сети вдвоем, точно бы с мячами играли бы :))) летаешь, пихаешь их забрасываешь противника. а то он мягкий такой. просто летает за тобой и стреляет.
- зря водомет убрал.
- как выйти из игры? кроме Ctrl-Alt-Del ;)


 
wiz ©   (2004-03-31 12:21) [70]

2 smb: Alt+F4


 
AxxxE ©   (2004-03-31 13:43) [71]

>wiz

>в дальнейшем они будут имитировать нужную поверхность
>(красноватую для Марса, белую в крапинку для Луны и.т.д.)
>как ты мог заметить я не натягивал (пока) тексуры. что позволило
>сделать всю демку - 60kB

Я не про текстуры - просто предлагаю их сделать сплошными.

>ты учти, что сейчас вы управляете "космическим металлоломом".
>Мощьности этого файтера еле-еле хватает преодолеть притяжение...
>в настоящем бою машинки будут помощнее.

А кто тебе мешает поприбавить мощности в демке, чтоб народ не мучался :) ?

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

Так у тебя уже сейчас стены не ровные, а бугристые, там есть поверхности под разными углами. Или здесь уже приняты какие-то упрощения?


 
wiz ©   (2004-03-31 13:57) [72]

2 AxxxE:

>Я не про текстуры - просто предлагаю их сделать сплошными.
это сделаем... только я хочу сделать переднюю/заднюю стенки тоже бугристыми => нужна сетка => нужен генератор сетки... А вот как красиво генерировать сетку так, чтобы было сопряжение с сеткой стенок, пока не придумал

>А кто тебе мешает поприбавить мощности в демке, чтоб народ не мучался :) ?
Считайте, что я вас недооценил :) т.к. при нормальных скоростях управлять кораблём - не самое простое занятие.

>Так у тебя уже сейчас стены не ровные, а бугристые, там есть поверхности под разными углами. Или здесь уже приняты какие-то упрощения?
как ты мог заметить - стенки на самом деле горизонтальные и вертикальные с некоторым случайным сдвигом. т.к. я контролирую максимальный и минимальный сдвиги, то я знаю прямоугольник в котором может быть стена. при положении корабля вне этого прямоугольника - коллизия с данной стеной не проверяется. таким образом при данном положении корабля я делаю всего несколько честных проверкок и проверки попадания в прямоугольники (которые очень быстрые, т.к. прямоугольники ориентированы по координатным осям).

Другие углы стен сделать можно, но для быстроты нужно знать их "покоординатные bounding box"ы" в некоторой системе координат и переходить в эту систему координат при проверке на коллизию. Это будет медленнее, чем сейчас, но (я думаю) достаточно быстро. Проблема в том, что это нужно писать :) а я пока не написал :))


 
AxxxE ©   (2004-03-31 14:27) [73]

Кстати, как ты добился таких поразительных результатов в плане объёма? Я как ни старался - писал на WinAPI, "чистый" OpenGL, отключал почти все библиотеки, такого не получал.


 
wiz ©   (2004-03-31 15:26) [74]

2 AxxxE:
---cut---
uses
 Windows, Messages, OpenGl, {дальше мои модули}
---cut---
т.е. использую всего три библиотеки (ну и System сам линкуется конечно, так что четыре). imho главное - избавиться от SysUtils и Classes.

SysUtils - это относительно просто: не используем inttostr и подобные функции.

Classes - придётся отказаться от всех VCL компонент.


 
wiz ©   (2004-03-31 15:27) [75]

2 AxxxE:
это как раз тот случай, когда из 96kB текста получается 64kB кода :)))


 
VMcL ©   (2004-03-31 15:37) [76]

>>wiz ©  (31.03.04 09:16) [68]

Рассчитывать физ. модель, может, ты будешь успевать и миллион раз в секунду. А видеть игрок будет только какие-то N FPS из них.

ИМХО, неточности в статье, конечно же, есть. Но в общем кое-что полезное в ней можно почерпнуть.

P.S. Я так понял, что в Q3 или CS ты не играл? Я недавно видеокарту дома сменил. И могу сказать, что в Q3 (даже с ботами) между плаванием от 25 до 90 FPS (в слабом режиме графики) и от 100 до 2хх (с крутым режим + 4xAA + 4xAniso) есть огромаднейшая разница в игре (прям аж почувствовал, как лучше играть стал :)


 
wiz ©   (2004-03-31 16:09) [77]

2 VMcL:

>Но в общем кое-что полезное в ней можно почерпнуть
Я не говорю, что она бесполезная, просто говорю, что она даёт простое представление о процессах CPU->монитор->глаз->мозг.

>Я так понял, что в Q3 или CS ты не играл?
Обижаете, начальник. Я не люблю их (из сетевых шутеров до сих пор предпочитаю Q2 и Q1-TeamFortress), но я их видел и не один час игрался.

Я только хочу заметить, что imho мои рассуждения "ближе к телу", чем те, что в статье...

считай так: из разбирательств с Vsync"ом и времянкой процесса я вынес свою модель "как это всё работает".

Разница действительно есть и в случае 25->90 и в случае 100->2xx.
Только в случае 25->90 ничего не надо делать (простое увеличение числа кадров улучшает плавность игры).
А в случае 100->2xx (на 100Hz-мониторе) можно попариться, но сделать, например, два кадра в одном (motion blur/trails) и этим улучшить картинку. Если ничего не делать, то твои глаза увидят те же 100 кадров (хотя посмотрев на чиселку "2xx" ты убедишь себя, что всё стало "гораздо круче" - это уже из раздела психологии).


 
VMcL ©   (2004-03-31 17:04) [78]

>>wiz ©  (31.03.04 16:09) [77]
>отя посмотрев на чиселку "2xx"

Для меня самым важным фактором является не макс. число fps и не среднее, а минимальное. По моим наблюдениям: в multiplayer шутерах  мне хватает, чтобы fps был не меньше 50..60. Хотя, как ты заметил, психологически - "чем больше, тем лучше".

Лично я считаю, что действительно чем больше, тем лучше. Вот почему: например, сейчас я просто бегу, у меня M fps. Если начнется заваруха (Q3 - куча LightningGun + куча ракет, CS - взрывы + smoke grenades), то fps падает. Если M достаточно велико, то у меня есть "запас прочности".


 
VMcL ©   (2004-03-31 17:06) [79]

P.S. Но есть "критическое значение" M, значения выше которого уже не имеет смысла достигать.


 
Morok   (2004-03-31 17:11) [80]

офтоп
чисто по ку 3 там физики зависит от ФПС не знаю как не вдавался в подробности, но знаю что оптимальная игра это 125 или 142 фпс, тогда и летаешь дальше и разпрыжка лучше и можно забираться на более высокие объекты, трики вопшем....

при низких фпс наводка мыши не точная, все зависит от сенса конечно....



Страницы: 1 2 3 4 вся ветка

Форум: "Игры";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.65 MB
Время: 0.042 c
6-1085557870
Dennisius
2004-05-26 11:51
2004.08.15
Открытие в новом окне (Зависание)


3-1090296026
din
2004-07-20 08:00
2004.08.15
Подскажите пожалуйста, что нужно установить на сервер


14-1090935859
Undert
2004-07-27 17:44
2004.08.15
Вопрос по Microsoft Exchange 2003


1-1091044820
Lego
2004-07-29 00:00
2004.08.15
Как сохранить Canvas, а потом загрузить и продолжить работу ?


1-1091117459
ИМХО
2004-07-29 20:10
2004.08.15
TThread и таймер внутри него





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский