« Мои игры - не покупают, мой английский отстой!Новости 19-04-2011 - FLG & Upcoming events »

Хитрые решения #1: Pixel size one

2011-04-20

Permalink 12:26:21, by Badim Email , 5 words   Russian (RU)
Categories: top-games

Хитрые решения #1: Pixel size one

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

Вот например взять - Bullet Heaven.

Хитрость: область колизии для героя 1 пиксель. И тогда можно вообще не расчитывать их! а для расчета не попал ли в беду герой - просто смотреть альфа канал пикселя где находиться герой, и потом делать его бессмертным(тогда расчет колизий максимум происходит раз в несколько секунд).
Выгода: почти бесконечное количество вражеских обьектов на сцене. Выглядит феерически!

Trackback address for this post

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

7 comments

Comment from: Regul [Visitor] Email · http://www.regul-flash.com
*****
Я что-то туплю. По описанию метод должен быть супер, но я не понял принцип. Можно ещё раз для тупых?
2011-04-20 @ 19:23
Comment from: Badim [Member] Email · http://www.elite-games.net
@Regul: Все враги и пули находяться в одном контейнере. вместо вычисления растояний используется метод - getPixel в координатах героя для контейнера с врагами. Если цвет не равен пустышки - значит герой получает в лоб. не имеет значения сколько врагов или пуль летят в игре - проверяем только один пиксель всегда. все просто =)
2011-04-23 @ 01:17
Comment from: гость [Visitor]
конкретно в bullet heaven жмем shift и видим зону этого волшебного пикселя
2011-04-23 @ 10:39
Comment from: Regul [Visitor] Email · http://www.regul-flash.com
*****
Да, действительно круто! Спасибо :-)
2011-04-23 @ 16:00
Comment from: shaman4d [Visitor] · http://vertexform.com
*****
Дейтсвительно непонял преимущества. Это же как hitTest. или чтото другое подразумевается? Потому как что от того что мы взяли координаты героя если он обладает размерами?
2011-04-27 @ 16:26
Comment from: Explo [Visitor] · http://explogames.com
Думаю, сильно производительность не вырастет, ведь во Флеше основная нагрузка идёт от рендера, а не от скрипта. А если на экране будет тысяча пуль - рендер будет сильно напрягаться.
2011-04-27 @ 16:54
Comment from: Badim [Member] Email · http://www.elite-games.net
@shaman4d - нет, разница как раз в математике - или вы проверяете один ОБЬЕКТ против всех:герой 10*10 против 50 обьектов 20*20, или вы проверяете 1*1 против 800*600.

@Explo - зависит от игры и логики. В данном случаи, если делать через колизии как для больших игр(с размерами обьектов и тп) - скрипт затупит больше рендера.
2011-04-27 @ 20:41

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
PoorExcellent
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)