Хакер №024. Спецвыпуск

Хакер №024. Спецвыпуск


SYSTEM PANIC



игры бывалых кодеров

Спецвыпуск Xakep, номер #024, стр. 024-072-1

Ты часто споришь со своими друзьями, кто из вас лучший кодер? Ты ломал программы на время, пытаясь доказать всем свое мастерство? Нет? Хммм... Значит, эта статья не для тебя. А всем нормальным мучачосам я поведаю сагу о новом направлении компьютерного андеграунда - "System Panic".

КАК ЭТО ВОЗНИКЛО?

Где-то в 2001 году жила-была группа программистов "Angry Activity", и занимались они написанием программ на заказ. Так бы все и продолжалось, если бы однажды ни пришел заказ на игру... Все должно было быть предельно просто - игра, обучающая детей программировать. Все предполагалось реализовать в виде трехмерной игры о войне роботов. Прикол в том, что игровым процессом надо было управлять не с помощью мышки и клавы! Все действия роботов определялись алгоритмами, которые должны были разрабатывать ученики. А ты что думал, играть можно только руками? ;). Это все равно, что писать ботов под кваку, с одной только разницей: язык, на котором будут создаваться алгоритмы воюющих роботов, должен быть очень гибким. Учитываться должно было все: скорость, оптимальность, etc. Заказчик исчез, но наши программеры настолько увлеклись этой идеей, что продолжали работать. Вся проблема была в выборе языка, синтаксис которого будет основой для скриптов управления роботами. И тут кому-то в голову пришла идея, которая по сути и поменяла направление развития этой игры. А идея была проста: есть программа, которая отображает роботов (по сути это судья), и два робота, реализованных в виде DLL (то есть проблема с выбором языка исчезла!), имеющих одинаковые основные функции. Получилось так, что каждый джедай мог кодить своего убийцу на известном ему языке программирования. Единственное условие - это обязательное наличие некоторых функций для их совместимости с судьей. Сразу же начались разработки, и через два дня были уже скомпилированы два робота и скелет игры. Они достигли того, чего хотели: гибкость кода на высоте, скорость робота зависит только от скорости кода, так как роботы запускались одновременно в разных процессах. Ну и как положено, все это дело они обмыли и решили пойти сделать парочку... хе-хе, роботов! :) и посражаться... В жестокой схватке, сделав тройное сальто, один боец нанес удар кончиком меча в левое ухо другого, с той стороны на кото... ой, чего-то я увлекся :). Так вот, ко всеобщему удивлению победил самый простой и тупой код! Как потом оказалось, робот, который выиграл, просто тормозил все остальные процессы, а себе увеличил приоритет по максимуму... Он их хакнул, или мне только кажется? :).

ЧТО ЭТО ТАКОЕ?

Если перевести на великий и могучий, "System Panic" - это системная паника или паника системы, кому как нравится :). Почему такое название, ты скоро поймешь... Это своеобразная игра впервые была проведена в чистом виде весной 2002 года. Срок достаточно небольшой, так что вы еще успеваете быть одним из первых чемпионов! В ней принимают участие две соревнующиеся программы, цель которых банальна - уничтожить противника. Ну что, загорелись глазки? Больше нет никаких роботов, есть два екзешника, не знающих ничего друг о друге, и полчаса игрового времени. Два процесса, соревнующихся за жизнь. Это словно закрыть двух вооруженных ниндзя в темной комнате с мебелью и заставить их убить друг друга. Представляешь, во что это превратится? Погибнут невинные стульчики, кресла :). Малейший шорох, и все...

Содержание  Вперед на стр. 024-072-2


 

Содержание раздела