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

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

2D аркада на 3D движке (oGL). demo N1


Страницы:   1 2 3 4 5 6 7 8

wiz ©   (2004-03-19 16:49:00) 

Решил представить широкой общественности tech-demo вещицы, которую недавно начал писать.

Итак, tech-demo N1: "Физика и немного графики" (45 kB)

http://www.chat.ru/~wad_fox/sd.exe

После скачивания и выполнения, можно начинать закидывать автора (т.е. меня) помидорами и прочими подручными вещами. Конструктивное закидывание приветствуется.


wiz   (2004-04-03 15:09:00) [61]

2 VMcL: а разницы? ну сэкономлю я 100kB на exe'шнике... ресурсы всё равно много больше...


VMcL   (2004-04-03 14:50:00) [62]

>>wiz ©  (02.04.04 22:57) [86]

Ну не беда. Ты на exe'шник UPX натрави.


wiz   (2004-04-02 22:57:00) [63]

2 AxxxE: ну я даже и не знаю :). как говорил один великий (жаль не помню кто) "Эксперимент - критерий истины"

кстати, я тут добавил в свою демку GLext и JPEG и всё :(( exe'шник ~250kB.


AxxxE   (2004-04-02 15:10:00) [64]

>[74]

???

>только учти, что куча модулей юзают SysUtils и Classes. Те же
>Forms...

Так у меня и формс отключены, VCL при программировании OGL не использую


wiz   (2004-04-02 07:55:00) [65]

2 AxxxE: пятая.

только учти, что куча модулей юзают SysUtils и Classes. Те же Forms...


VMcL   (2004-04-01 20:21:00) [66]

>>AxxxE ©  (01.04.04 19:36) [82]

[74]


AxxxE   (2004-04-01 19:36:00) [67]

А у тебя какая дельфя (версия)?. У меня состав тот же, но из 100кб текста (с прочими модулями) получается 200кб кода :(. Вот я тыркаюсь уже давно и никак не пойму, в чём прикол. Ты уж извини, что вопрос не в тему :).


wiz   (2004-03-31 17:28:00) [68]

2 VMcL:

>Если M достаточно велико, то у меня есть "запас прочности".
с этим нельзя спорить :)


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

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

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


VMcL   (2004-03-31 17:06:00) [70]

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


VMcL   (2004-03-31 17:04:00) [71]

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

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

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


wiz   (2004-03-31 16:09:00) [72]

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 15:37:00) [73]

>>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 15:27:00) [74]

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


wiz   (2004-03-31 15:26:00) [75]

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

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

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


AxxxE   (2004-03-31 14:27:00) [76]

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


wiz   (2004-03-31 13:57:00) [77]

2 AxxxE:

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

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

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

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


AxxxE   (2004-03-31 13:43:00) [78]

>wiz

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

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

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

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

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

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


wiz   (2004-03-31 12:21:00) [79]

2 smb: Alt+F4


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

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


Страницы:   1 2 3 4 5 6 7 8

Наверх

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