Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
2-1168197505
anton773
2007-01-07 22:18
2007.01.28
разобрать число


8-1149167642
Morgan128
2006-06-01 17:14
2007.01.28
Совершенно сумасшедший вопрос


15-1168438608
vasIzmax
2007-01-10 17:16
2007.01.28
"...свиные консервы..." :)


2-1168362269
Cj
2007-01-09 20:04
2007.01.28
Получение пути фаила программы (процесса)


15-1168004495
Slider007
2007-01-05 16:41
2007.01.28
С днем рождения ! 5 января




   Наверх