Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Игра типа Worms   Найти похожие ветки 

 
Ricks ©   (2006-03-10 11:19) [0]

Привет всем!
Народ, кто знает, как в таких играх (worm, tanks, итд итп) реализуется ландшафт? И как он потом обрабатывается? Ведь не массив же это ведь, хранить и обрабатывать массив, скажем 640x480 точек, это согласитесь..... :(


 
Nic ©   (2006-03-10 13:31) [1]

Может быть векторная геометрия?


 
Булат Шакиров ©   (2006-03-10 14:00) [2]

http://delphigfx.mastak.ru/2d/004/2d_4.htm
Принцип такой же


 
KreeS ©   (2006-03-10 14:56) [3]

нет,  Worms общет попиксельный


 
Ricks ©   (2006-03-10 18:37) [4]


> Булат Шакиров ©


> Nic ©


не то и не другое!

Действительно, эти ландшафты обсчитываются попиксельно. Но только вопрос как?

А если вспомнить старую досовскую игру "Tank Wars" так там вообще после взрыва КАЖДАЯ точка ландшафта падает!


 
grisme ©   (2006-03-10 18:40) [5]

а зачем хранить ВСЕ, можно хранить только точки крайние-поверхность, по которой червяк ползет.


 
XProger ©   (2006-03-10 19:55) [6]

grisme, пожёг ты землю, появились зазубрины... в итоге имеем кучу геометрии и при этом, многоугольники далеко не всегда будут правильными... ;)

Ricks, что как? Есть "БУМ!!!" всё что в радиусе взрыва - чистится... следовательно и колизий с очищеными местами не будет. А ландшафт можно делить на секции...


 
Ricks ©   (2006-03-10 21:58) [7]

Так вот меня и интересует, как именно определить тот самый "БУМ!!!" и почистить местность вокруг него...
У меня появилась мысль, что местность можно хранить в какой-то картинке типа маски (ч/б), может это поможет?


 
XProger ©   (2006-03-10 22:20) [8]

Мдя...
if pixels[x, y] <> clBlack then
 for j := y - BoomRadius to y + BoomRadius do
   for i := x - BoomRadius to x + BoomRadius do
     if sqrt(sqr(i - x) + sqr(j - y)) <= BoomRadius then
       pixels[i, j] := clBlack;
Самый простой пример, без каких-либо проверок... ;)


 
antonn ©   (2006-03-11 06:57) [9]

XProger ©   (10.03.06 22:20) [8]
scanline рулит :)


 
XProger ©   (2006-03-11 14:48) [10]

antonn, ни то, ни другое не рулит ;) А это - так, пример...


 
Yeg   (2006-03-17 14:53) [11]

У WondeRu был пример на его сайте: www.wonderu.com, вроде. Там на GLScene разрушающийся ландшафт.



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

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
11-1146387189
gugua
2006-04-30 12:53
2007.01.28
Движение курсором мыши над ListView в режиме VirtualListView


15-1168411061
pavel_guzhanov
2007-01-10 09:37
2007.01.28
Наверное еще не все потеряно :o))


9-1142843534
Lambda
2006-03-20 11:32
2007.01.28
Файлы в GLMaterialLibrary из потока


2-1168376056
Евгений Р.
2007-01-09 23:54
2007.01.28
Непонятно в Local SQL


2-1168419274
СержК
2007-01-10 11:54
2007.01.28
Как развернуть свернутое приложение поверх всех окон