plakhov: (Default)
[livejournal.com profile] dabino напомнил про subj.
Искренне завидую тем, кто найдет время поучаствовать. Игра простая (чтобы понять правила, достаточно посмотреть демонстрационное видео), интересная (про межпланетные войны), неглупая. Пошаговая, с полной информацией, но классический минимаксный перебор не пройдет: на каждый "полуход" придется перебрать очень много разных возможных действий.

Я вот прямо об этом защищал диссертацию, которую никто нигде не применяет, к сожалению, потому что Россия что-то передумала готовиться к атомной войне с участием Скайнета, Периметра и ОБЧР.

В контесте я бы воспользовался плодами науки, и сделал бы вот что.
Borg cube своими руками )

Сим победиши
plakhov: (Default)
А расскажите мне про конфликт mail.ru с Game Insight, про уход Мацанюка с должности вице-президента, и про роль во всем этом Алисы, Леонида, ну там студии 13Рентген, Баделина, и прочих. Это ведь пилотная серия нового сезона, да?
plakhov: (Default)
Из обновления #14 для Starcraft II Beta:
"Скорость передвижения ультралисков повышена с 2.25 до 2.9531"

А в православной индустрии остался хоть один дизайнер, который хотя бы примерно предполагает, откуда могла взяться такая цифра, и каким должен быть производственный процесс, позволяющий её получить?
plakhov: (Default)
http://users.livejournal.com/_winnie/235976.html?replyto=2813128

[livejournal.com profile] _winnie: Мы своих пользователей очень любим.
"здаров можете исправить оштбку в игре на 1 локи чуть ниже мёртвого горада у пляжа где черепаха ползают там ежи есть вот 1 ёж неработает с собиранием утеряных таваров каробки рароче они пропали исправьте ато хринова там бабло дают проста особено для мелких удобный ёж некво калить ненад тупа сабрал те заето бабки и опыт щеслива"

[livejournal.com profile] plakhov: По-моему, отличный багрепорт - и описание, и что имеем vs что ожидалось, и how to reproduce
[livejournal.com profile] alll: Жалко евгенику записали во вселенское зло - адекватной реакцией на такой багрепорт может быть разве что вызов бригады из подотдела очистки.
[livejournal.com profile] surok: А у вас есть слаженная команда из дешифровальщика и переводчика, чтобы в этом разбираться?

По-моему, все, кто выше и ниже меня - мерзкие снобы. А вы как думаете?
plakhov: (Default)
Черт, как жалко её все-таки. Я всё понимаю, бизнес-модели у неё не было никакой в принципе; тем не менее, свои деньги причастные получили, кто-то больше, кто-то меньше; ну, решили, что дальше поддерживать бессмысленно. Но всё равно, какая игра была. Так и нету ведь ничего даже близко похожего по качеству, до сих пор.
plakhov: (Default)
Их неожиданно много.

Перечисляю в порядке убывания моей оценки того, насколько интересно было бы в нем поучаствовать сферическому читателю данного ЖЖ:
1) Яндекс запустил "Интернет-математику 2010". По-моему, она даже интереснее, чем прошлогодняя, и "ближе к жизни". Нужно предсказывать пробки в Москве.
2) Алёна разместила у себя вопросы для собеседования AI-программистов в игровой индустрии. Не соревнование, но использовать этот пост для того, чтобы померяться в комментариях, можно.
3) Yahoo запустил соревнование по ранжированию, как две капли воды похожее на яндексовскую "Интернет-математику 2009". Даже формат данных тот же самый.
4) Горячие уральские робототехники, о которых я недавно писал, тем временем допилили свой эмулятор робота, и свой вариант управляющей программы для него уже можно писать.
5) И, кстати, в "Интернет-математику 2009" по-прежнему можно сабмитить результаты, чем [livejournal.com profile] alsafr недавно и воспользовался для небольшого defacing'а таблицы результатов :)

pike

Feb. 19th, 2010 01:07 pm
plakhov: (Default)
Скриптовый язык со статической типизацией (додумались тоже).
Сделали наконец-то такой синтаксис объявления типов переменных, параметров или возвращаемых значений:
int|float x;

Отлично. Им осталось сделать для себя еще два открытия, первое:
atom A; // тип A с единственным значением A()

и второе, чуть сложнее:
void Func(int|float х) { ... }
void Func(string х) { ... }

int|float|string x = ...;
Func(x); // ошибка типизации, если подходящих overload'ов больше или меньше одного

И тогда bye-bye Java:
string|EndOfFile|IOException ReadLine(file f);
(checked exceptions, говорите? ну-ну)

bye-bye проблемы с магическими числами:
int|None OptionallyReturnsInt(...);

bye-bye C++ (ни темплейтов, ни вирт. методов после этого уже не нужно),
и т.п.

А, ну да, еще транслятор в С нужен, конечно. Компилятор тут вряд ли осилить.
Весь геймдев нужно будет срочно на этот язык переводить.

Но этого не случится. А жаль.

A.M.A.

Oct. 2nd, 2009 04:04 pm
plakhov: (Default)
Если кто-нибудь о чем-нибудь хотел меня спросить, или что-нибудь сказать, или о чем-нибудь поговорить, но повода не было, можете сделать это сейчас. А то я подумываю, не бросить ли ЖЖ нафиг в пользу RL. Да и вообще, жизнь коротка.

Изначально комментарии скрываются, но только на всякий случай (ну мало ли о чем вы там спрашивать собираетесь).

Ask me anything.
plakhov: (Default)
(интересно будет только тем, кто понимает, как примерно устроен российский геймдев)

Молодой темный маг готовится провести ритуал вызова демонов и пишет о том, как мощь Вельзевула поможет простым крестьянам возвыситься не хуже, чем в Иране и Северной Корее. Горожане негодуют и обличают примерно сто постов подряд, объясняя, что мрачные странники в черных плащах с капюшонами, желающие целовать чорта в жопу, вольны делать это в частном порядке, а их к этому занятию привлекать нечего. Затем появляется барон и высказывает интерес к готовящемуся ритуалу, за что получает кучу плюсов от ровно тех же горожан (одно из наиболее ярких исключений). Соседские бароны откровенно потешаются над присутствующими (чем, впрочем, занимаются на данном ресурсе на постоянной основе). Появляется темный повелитель Лабиринт, объясняет детали послежизненного пути типичного черного мага, а также то, зачем вообще требуется подобный ритуал, кого, в какие именно места и в каком порядке требуется целовать, и т.п. Повелитель ненапряжно использует в речи цифры в миллионы золотых, свысока одобряет действия падавана, а затем изящно превращает остаток обсуждения во флейм на несвязанную тему.

Очень занимательно, особенно со стороны.
plakhov: (Default)
EA's Battlefield 2 дает неожиданные указания игроку.

http://thedailywtf.com)
plakhov: (Default)
Расскажу об одном интересном баге из моего геймдевелоперского прошлого.

История одной рассинхронизации )
plakhov: (Default)
Думаю, кому-то из тех, кто рано бросил читать комментарии к посту про скрипт, будет интересно прочитать разговор Тимура Бухараева, старшего AI-программиста "Аллодов" (правильно?), с Димой Тюревым, ведущим программистом нескольких ММО-проектов "Никиты" о "скриптовой" системе Аллодов Онлайн.

Большая часть беседы лежит здесь: http://dobrokot.ru/dump/timur_turev_trigger_battle.html
За приведение текста в порядок спасибо [livejournal.com profile] _winnie.
plakhov: (Default)
Год назад я ушел из геймдева. Пока не забыл, допишу все нетривиальное, что я еще помню об играх.

Третья часть дзэна с опозданием на год (предыдущие серии см. тут). Игровой скрипт )
plakhov: (Default)
<хвастовство>

Кодобаза, которую я, [livejournal.com profile] orvind, [livejournal.com profile] bandures и другие писали на прошлом месте работы для Nintendo DS, оказалась вполне пригодна для портирования на iPhone без потери фичей: http://www.ru-iphone.com/node/3594
И одновременно - на WiiWare (ссылки не будет, вам придется верить мне на слово).

Это вам не PC/XBox/PS2 :)

</хвастовство>

На самом деле, конечно, код сам по себе - всего лишь набор байтиков, самая портируемая программа та, которая ничего не делает, а все эти новые версии - заслуга Димы, Алёны, и остальной команды, оставшейся в Вогстере.

Но мне это напоминает мне об одной загадке: ну почему для каждой мобильной игрушки не выпускать web-страничку с ней же в форме апплета? Ну да, мало у какого пользователя установлен Java runtime, ну и что? Это же все равно бесплатно. Для Entis Fantasy (а это MMO все-таки, со сложными интерфейсами и с необходимостью возиться с сертификатами для разрешения доступа по TCP) у меня портирование заняло полторы недели при том, что я раньше апплеты не писал. Неужели мобильные игры так плохо пишут?

linkdump

May. 20th, 2009 08:27 pm
plakhov: (Default)
1) биологическое (точнее, химическое): Стало гораздо понятнее, как на Земле возникла жизнь (если точнее, как могла "самозародиться" РНК). Статья via [livejournal.com profile] andrzejn

2) программерское: Довольно простая структура данных, позволяющая представлять подмножество из n элементов некоторого очень большого (но конечного) объемлющего множества таким образом, что ответ на вопрос "принадлежит ли элемент данному подмножеству" может быть дан за строго константное время, и использующая при этом O(n) памяти. Перечитайте предыдущую фразу; лично до меня не сразу дошло, "а что здесь такого", и чем это лучше hash_set'а. via Bill Gasarch (там же ссылка на статью с улучшениями, и обсуждение того, насколько эта структура данных практически применима)

(поставил тэг gamedev, считайте это намеком вот на что)
plakhov: (Default)
Слушайте, а на КРИ вообще есть доклады, на которые имеет смысл сходить? Intel, NVidia, Microsoft - маркетинг в топку, а документацию я как-нибудь и сам почитаю. С нивальцами тоже проще в кабаке лично пересечься. Еще минус один доклад про Ruby (ну не фанат я), минус про Silverlight. Что там остается? То, что даже Кириллу Лебедеву с его очередной архитектурной астронавтикой выдали два доклада подряд, внушает большие сомнения.

Что, закончился в России геймдев, что ли?
plakhov: (Default)
Хвастаться буду.

Robocalypse reviews: metacritic score 82%.

Шестое место среди всего отечественного геймдева за все времена, первое среди консольных игр; если данные dtf полны, то мы опередили предыдущего (крейтовского) чемпиона почти на 20%. Вообще в первой десятке четыре игры, в которых есть мой код (хотя в Heroes V его, конечно, немного). Такой же результат, насколько понимаю, только у [livejournal.com profile] bandures и [livejournal.com profile] _foreseer.

Интересно было бы где-нибудь после Рождества узнать, как Robocalypse продался. Среди многоуважаемых друзей доступ к NPD есть у многих, ведь так?

Кстати, всего через четыре месяца после ухода из геймдева я снова могу играть в игры. А вот посидеть в интернете как-то теперь не тянет :)
plakhov: (Default)
Источник

Для коллег (бывших) из "Вогстера" это событие может оказаться счастливым лотерейным билетом. Tecmo - издатель нашей игры "Робокалипсис". Square Enix представлять, думаю, не нужно.
plakhov: (Default)
  • Сборник хаков с битиками. Вычисляем min/max без branching'а, округляем до следующей степени двойки, и т.п. (via [livejournal.com profile] malaya_zemlya)
  • Вот во всех книжках по компиляторам пишут как само собой разумеющееся, что большую часть времени занимает лексер. Я также слышал это в устной беседе от нескольких человек. Единственный аргумент - "буков гораздо больше, чем токенов" - мне не кажется убедительным. Буков-то больше, но и делать с ними почти ничего не нужно. Верю, что когда писались все классические книжки, компьютеры были большими, а компиляторы маленькими, дела обстояли именно так. А знает ли кто-то, это до сих пор правда, или давно уже urban myth?
  • Предположим, мы пишем штуку, которую назовем 2d-сканер. Это структура, которая хранит объекты на плоскости, каждому объекту поставлены в соответствие 2d-координаты. Она должна позволять быстро получить список объектов "неподалеку" от некоторой точки. Обычно делают понятно как: набор "уровней детализации", на каждом уровне матрица из клеток, в каждой клетке список объектов, переходим на уровень детализации в зависимости от интересующего максимального расстояния, возвращаем список в текущей клетке и ее соседях (возможно, отфильтрованный). Громоздко, скучно, но вроде бы ничего лучше не придумаешь. Ан нет. Берем для каждого объекта interleaving bits двух его координат. Если эти числа близко, объекты близко; если далеко - далеко. Складываем объекты с соответствующим одним числом для каждого в сортированную структуру (ну там, в сбалансированное дерево какое-нибудь), чтобы можно было за логарифм числа элементов получать список по отрезку [lower_bound; upper_bound). И, в общем-то, все. Если использовать STL, весь 2d-сканер должен строчек в 50 уложиться, при этом не нужно никаких настроечных хаков типа "числа уровней", "размеров клетки" и тд и тп. Если кто так попробует, расскажите, пожалуйста, о результатах, а то я уже не в геймдеве работаю, и сам экспериментировать не буду.
  • Я в шоке, autocomplete в MSVS2008 + Visual Assist X "подсказывает" пользователям класса в том числе и public-методы его предков с private наследованием (и даже не помечает их "ключиком").
plakhov: (Default)
Чуть расширенная первая часть моего доклада "Дзэн", который я прочитал на КРИ-2008. Некоторые формулировки являются провокационными, поскольку так веселее.

Управление памятью )
Page generated Sep. 22nd, 2017 02:37 am
Powered by Dreamwidth Studios