Archive: June, 2008

Задачка по физике

Space crowbarПрислали тут:

Вопрос по физике (из задачника для олимпиад по физике времен СССР):
«Может ли космонавт, быстро вращая тяжелым ломом, изменить ориентацию своего спутника?»

Надорвав живот, вылезая из под стола, я подумал: хм… а реально, может ли? Сразу вспомнилась задачка про самолет, разгоняющийся по движущейся в обратном направлении взлетной полосе.

И тут же масса вопросов:

- он сцуко тяжелым ломом будет махать снаружи или внутри? 8D
- как он будет держать его? за середину или за край?
- он будет махать в безвоздушном пространстве или в плотной атмосфере?
- будут ли его ноги жестко прикреплены к спутнику?

По идее, развив определенную скорость вращения лома вокруг себя, с прикрепленными к полу спутника ногами, астронавт начнет вращение спутника в обратном направлении. А если брутальный астронавт изменит плоскость вращения лома (блин, каждый раз представляю это и начинаю смеяться ;), то изменится и вектор вращения спутника. Только чтобы остановить вращение, необходимо будет помахать ломом в другую сторону. Или я не прав?
Сразу возникает вопрос, почему не используют такую технологию для вращения реально существующих спутников? Думаю, энергетически дешевле выпустить тонкую реактивную струю сжатого газа, чем раскручивать “тяжелый лом”. Да и месте много занимать будет…

Правильно братик заметил – и после этого “наши” люди недовольны образом советского космонавта в фильме “Армагеддон” ;)

MMO для детей

Многопользовательская развивающая игра для детей 4-7 лет - Driving Kids
Сегодня я начинаю серию (надеюсь, что это будет серия ;) статей на тему разработки MMO.

Связано это исключительно с моей работой в проекте по созданию многопользовательской онлайн обучающей игры для детей 4-7 лет.
В основном, статьи будут ориентированы на Flash-разработчиков, кое-где будет уделено внимание серверным скриптам и базам данных.

Цель этого моего начинания очень простая: хочется поделиться эмоциями (создавать такие проекты очень интересно и увлекательно), а также (по возможности) получить конструктивные отзывы от других разработчиков (ведь я уверен, что при проектировании допустил ошибки, что-то сделал не лучшим образом, где-то не знал про готовое решение и т.п.). Так что, фактически, хочется, чтобы это стало полезно для всех: кому опыт, а кому отзывы и новая полезная информация :)

Сразу хочу оговориться, что над проектом работаю не я один, а целая команда. Моя роль – архитектор проекта, с сильным уклоном в техническую часть + девелопмент движка.

Итак.

Проект называется Driving Kids (DK) и, фактически, представляет из себя многопользовательскую онлайн игру для детей в возрасте 4-7 лет. Основные акценты сделаны на обучении, развлечении и безопасности общения детей.

Проект разрабатывается с использованием стандартного набора для web-платформы:

PHP
MySQL (возможно, будет заменена на PostgreSQL)
Flash (AS 2.0 – да, третий ActionScript рулит, но в этом проекте есть специфика, о которой расскажу как-нибудь позже)

Для реализации игрового сервера, обрабатывающего сокетные соединения и реализующего обмен сообщениями, используется SmartFox Server PRO (не изобретать же велосипед, верно? ;-)

Вчера была запущена публичная демо-версия игрового мира.
Конечно, там пока пусто, но приятно видеть, как потихоньку начинает распухать таблица пользователей в базе данных ;)

Собственно, ссылка на проект: www.drivingkids.com

Рзработка ИИ в играх

Очень интересная статья о том, как разрабатываются системы искусственного интеллекта (AI)  для современных компьютерных игр.
Читать здесь.

Петросян отдыхает ф кустах, а рассылка анекдот.ру курит ф старонке

Спамеры продолжают радовать. Еще немного и я буду готов платить за эти перлы %)))
Сегодня пришло на email:

Доброе время суток!

Ваш сайт можно облагородить, разместив, различные рекламные баннеры.
Без баннеров сайт смотрится пусто.
Баннеры могут рекламировать различные отдельные услуги.
Также мы можем помочь грамотно установить их на Ваш ресурс.

Стоимость разработки от 1500 рублей.

Я, похрюкивая, сполз под стол и находился там еще некоторое время, прежде чем почувствовал в себе силы вернуться обратно ;)))

Граждане!!! Облагораживайте свои сайты баннерами! Они дюже модные, облагородят ваш сайт и наполнят его контентом… опять сполз пацтол… Установите мне грамотно свои баннеры мне на мой ресурс ;)
Да это ж новый способ зарабатывания денег! Долой UGC! Грядет Banner Genearted Content! ;))))

История одной досадной ошибки

Недавно наступл на грабли при разработке приложения в Adobe Flash. Спешу поделиться опытом.

Сделал во флэше алгоритм контроля коллизий объекта с многоугольниками, заданными вершинами в виде массива точек. Т.е. без использования мувиклипов и, соответственно, MovieClip.hitTest(). Все работает прекрасно. Но. С одним “но”:

объект, чьи движения ограничиваются картой коллизий (набор многоугольников) нет-нет, да периодически и залазит внутрь закрытых зон.

Долго чесал репу, оптимизировал движение, тестировал. По итогу пришел к одному простому выводу: Flash жестко округляет координаты объектов на сцене с точностью до 0.5, т.е., фактически, до половины пикселя.

Следующий пример дает хоршее представление о том, что происходит:

this.createEmptyMovieClip('foo', this.getNextHighestDepth());

for (var i = 0; i < 20; i++) {
    foo._x = i/100;
    trace(( i/100) + ” – ” + foo._x);
}

Вывод:

0 – 0
0.01 – 0
0.02 – 0
0.03 – 0
0.04 – 0
0.05 – 0.05
0.06 – 0.05
0.07 – 0.05
0.08 – 0.05
0.09 – 0.05
0.1 – 0.1
0.11 – 0.1
0.12 – 0.1
0.13 – 0.1
0.14 – 0.1
0.15 – 0.15
0.16 – 0.15
0.17 – 0.15
0.18 – 0.15
0.19 – 0.15Что и следовало доказать – округление.

Решение: в случае, если необходимо иметь точные значения координат объекта, не полагайтесь на свойства объекта – заведите собственные свойства (например, px для _x и py – для _y) и храните актуальные значения в них.

Спамеры-маразматики

Сегодня пришел спам:

Привет!

Решил заказать рассылку по всей Москве, посмотрим какой отклик будет.

>Здаров!
> Результат есть, звонки сегодня весь день с утра идут.
> Уже пара клиентов в офис приходили.

>> Привет!
>> Может еще заказжем у них рассылку?
>> Раз уже она окупилась!

>>> Привет!
>>> Обязательно закажем!
>>> Вот их контакты: Тел.:(xx) xxxxxxx, icq xxxxxxxx
>>>
>>> Только звони сейчас, а то у них очередь клиентов есть, чтобы пораньше рассылка прошла.

Одна вещь мне не понятна: они что, за дебилов нас держат? Или это работа спамером мозги в голове в говно превращает?

Через Вселенную

Across the Universe / Через ВселеннуюНа днях один достойный чел (спасибо тебе, достойный чел ;) посоветовал сходить в кино на фильм “Через Вселенную” (Across the Universe).

Слегка почитал и купил билеты. В Минске фильм показывали только в одном кинотеатре – Победа. Странный, надо сказать, кинотеатр. В УП “Киновидеопрокат” входит, но репертуар отличается (частенько бывает отличное кино, которое в других кинотеатрах Минска не показывают вообще), билетики старенькие, еще со времен СССР и указанной ценой 1 рубль 50 копеек ;) Я как-то спрашивал на кассе по поводу обновления оборудования и самого зала, мне сказали, что очередь еще не дошла.

В общем, и в этот раз к-т “Победа” меня порадовал. Отличный фильм. Офигительные саундтреки и песни Beatles в современной аранжировке. Приятный романтический мюзикл. Очень порадовало присутствие в кадре Джо Кокера и Боно.

Еще вот что интересно: в процессе просмотра фильма у меня не раз появлялось впечатление, что режиссер вдохновлялся бессмертным произведением The Wall от Pink Floyd и Алана Паркера. Тут вам и активные смены сцен, и резкие перепады настроения, которое подается фильмом (только что было шумно, кричали или дрались и, вдруг, становится тихо и играет медленная мелодия с соответствующей текстовкой), и звуковые эффекты пролетающего вертолета, и голос, искаженный телефонной линией, и анимированная графика. Но, конечно же, такое сходство никак фильму не повредило, а даже наоборот – сделало его более эмоциональным и эффектным.

А еще воочию узрел, что значит “кино не для всех” ;) Да-да! Даже такой классный фильм может оказаться “не для всех”. В начале сеанса рядом со мной сидели две девушки. С виду вроде нормальные, но, как оказалось – дурочки: телефоны не отключали, обсуждали рекламные ролики фильмов с полнейшим непониманием того, о чем рекламируемый фильм, ржали абсолютно не в тему. Но больше всего меня порадовало то, что они, не выдержав нагрузки на хлипкие сознания, покинули зал в разгар сцены поездки автобуса хиппи под командованием ненормального героя Боно. Видно, воспринять эту сцену они не смогли ;)

Жаль только, что в Минске “Через Вселенную” больше нигде не идет в кинотеатрах, ибо смотреть и слушать рекомендую.

Совпадения

Нравятся мне совпадения… почему-то приятно, когда они случаются. Такие маленькие и незаметные, но такие интересные, если их заметишь.
Сегодня в одном из проектов после компиляции получился Flash-ролик размером 133.333 байта :)

Вот бы мне в супер-лото совпало что-нибудь! %)

Дом из песка и тумана

Дом из песка и тумана House of Sand and Fog.

Потрясающий фильм!
Даже не знаю, как описать. Просто читайте здесь.

Смотреть обязательно.

P.S.: Нихрена не понимаю… как иногда получается в Голливуде снимать такие мощные фильмы?..