Вниз
Скачать: 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.028 c
6-1156412329
AlexAlex
2006-08-24 13:38
2007.01.28
Ошибка при отмене печати из объекта TWebbrowser.


15-1167686051
Riply
2007-01-02 00:14
2007.01.28
Книга по ассемблеру.


2-1168353038
FIL-23
2007-01-09 17:30
2007.01.28
RadioButton свойство Caption в две, три строки


15-1168353459
Cooller
2007-01-09 17:37
2007.01.28
Машина Бека


2-1168473975
AnEnd
2007-01-11 03:06
2007.01.28
Как быстро скопировать record ?




   Наверх