Главная страница
    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.46 MB
Время: 0.039 c
2-1168108549
123451
2007-01-06 21:35
2007.01.28
Два окна.


5-1147638855
Лев
2006-05-15 00:34
2007.01.28
Нужна компонента типа TMemo но с возможностью простейшего формата


6-1156254756
Shart
2006-08-22 17:52
2007.01.28
Как забиндить TServerSocket на определённый IP?


2-1168229678
Рекорд
2007-01-08 07:14
2007.01.28
Как быстро скопировать record ?


11-1147040827
DevilDevil
2006-05-08 02:27
2007.01.28
JpegObj - требует obj файлы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский