Сегодня 28 августа 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Игры

О Colobot'е, игровой индустрии и программировании

Автор: Сергей Хорев
Конкурсный обзор
Хочу сразу сказать, что не являюсь геймером в современном понимании этого слова: не просиживаю ночами в клубах за Counter-Strike (вообще в них не бываю), да и за компьютером ночую редко. Я - профессиональный программист и это накладывает определенный отпечаток на мои вкусы. Люблю иногда поиграть во что-нибудь такое интересное. Раньше это были стандартные для большинства молодых людей Doom, Quake, суперхит Half-Life, DeusEx, перемежаемые периодами Starcraft и Heroes of Might and Magic.

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

Наверное, все игравшие в Starcraft ругались на то, как юниты находят пути, но все-таки рано или поздно они, как правило, разрешали все deadlock'и, но почему юнитам можно сказать "патрулировать", "стоять на месте", "атаковать", но нельзя скомандовать: "охранять, если напали - отстреливаться, но не лезть дальше этого предела". Господи, сколько я потерял таким образом Mutalisk'ов (люблю играть за Зергов), пасшихся на окраинах моих территорий и увязавшихся за дурацким Dropship'ом! Конечно, когда играют "папики", у них все юниты идут куда надо и делают тоже только то, что надо, но мы не говорим про хардкорных геймеров (если честно, я склонен это считать какой-то аномалией).

В принципе, у любого есть шанс улучшить свою любимую игру: выпускаются всевозможные редакторы и SDK, но, как правило, надо очень хорошо изучить движок и все равно дело ограничивается более или менее большим набором скриптов - "рецептов на все случаи жизни". А хочется чего-нибудь гибкого (шланг просьба не предлагать) и удобного.

И вот появился ОН - Colobot. Единственный виденный мной русскоязычный обзор на AG отозвался о нем не очень лестно и, по-моему, зря. Вот я и постараюсь восполнить этот пробел. Кстати, как-то встретилась мне русификация от "Фаргуса", значит, есть и другие оценившие люди.

Создала ее практически неизвестная компания Epsitec. Как я понял из credits и информации на сайте, в ней работают французы и наши братья-славяне - чехи.

Итак, что же это такое - Colobot? Расшифровка - Colonize with Bots - ничего не говорит. В общем, это стратегия реального времени с введением в программирование. Ну как вам? Звучит обескураживающе и интригующе, не правда ли? Если с первой частью все понятно - еще одна RTS (не скажешь, что эта часть уж очень хороша, она там только для интриги), то со второй надо бы подразобраться. Здесь имеется возможность ПРОГРАММИРОВАТЬ ЮНИТЫ. Теперь если твой подопечный себя плохо ведет, то вину за это можно возложить исключительно на себя. Язык программирования довольно прост, но в то же время далеко не примитивен. Больше всего напоминает С++. А, может, Java. Такая же объектно-ориентированность, доведенная до абсурда, то же отсутствие "опасных" операций с указателями и памятью. Это, кстати, практически все, что я знаю про Java.

Задача игры проста: тебя высаживают с некоторым запасом ресурсов на планету, которую нужно освоить. На ней обитают разнообразные насекомые несколько крупнее наших - пауки, муравьи, осы; все они настроены далеко не дружелюбно. Универсальным сырьем является Titanium, его надо обрабатывать, строить сооружения, создавать роботов. Роботы бывают всякие: просто транспортеры на колесах, на гусеницах, летающие. Есть и "военные" юниты, но всех их объединяет одно - им нужны батареи, которые имеют подлую манеру быстро истощаться. К сожалению, давать групповые команды нельзя: каждый бот требует индивидуального подхода. Но есть возможность писать программы почти на естественном языке, названном CBOT, и даже их отлаживать! А уж здесь открывается необъятный простор для творчества, вплоть до программирования общения между юнитами. Должен похвалить авторов: они не стали использовать синтаксис недо-языков типа *Basic, они делают из своих пользователей настоящих программистов. Действительно, такой свободы, как в конструкциях С++, нет ни в Паскале (при всем моем уважении к нему), ни в каком другом распространенном языке. Другой вопрос, конечно, стоит ли начинать обучение именно с C++? Не знаю... Может и не стоит, особенно если обучать прикладному программированию.

Возвращаясь к основной теме, приведу текст простой программы. Она написана для летающего и стреляющего робота, чтобы он отыскивал муравьев, подлетал к ним на боевое расстояние, прицеливался и уничтожал:

extern void object::Ant()
{
	object    item;
	aim(-20);
	while (true)
	{
		hile (radar(AlienAnt, 0, 360, 0, 20) == null)
		{
			item = radar(AlienAnt);
			turn(direction(item.position));
			motor(1,1);
			jet(0);
			
			if (position.z-topo(position) < 6)
			{
				jet(1);
			}
			if (position.z-topo(position) > 9)
			{
				jet(-1);
			}
			wait(0.2);
		}
		fire(1);
	}
	
}
Как видите, все очевидно.

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

Если честно, я бы не смог долго играть в эту игру, если бы не мой 2.5-летний ребенок: ему что-то так запало в душу (может, мои размышления вслух, может, еще чего), что пришлось доставлять ему радость. Получалось почти как в анекдоте: приходишь домой напрограммировавшийся, хочешь отдохнуть-отвлечься, а дома тот же C++.

Ну что ж, пришла пора поговорить о графике. Впечатление она оставляет двойственное. С одной стороны, игра хочет DirectX 8.0 и якобы использует многие его фичи вплоть до Hardware T&L (нормально для RTS, да?), а с другой - не очень-то она и отличается изысканностью: вы только посмотрите на эти, с позволения сказать, модели. По-моему, использование Direct3D "по максимуму" является большим плюсом , причем не в плане красоты эффектов. Значит, разработчики не тратили время на бестолковое создание красивостей минимумом средств (типа "трехмерной" графики в Starcraft или Diablo, основанной на самом деле на спрайтах). Поэтому большая часть их усилий пошла на совершенствование игрового и языкового движка. Ну и, конечно, все-таки интересно посмотреть на круги, идущие по воде, огонь, туман, искры, взрывы, молнии. Единственная огорчительная деталь - это отсутствие вида сверху, что объясняется, видимо, тем, что игрок действует не как абстрактное сверх-существо, а как конкретный астронавт, которого, кстати, могут и убить. Зато есть вид от первого лица: можно даже смотреть на мир "глазами" конкретного робота, что может оказать полезным при необходимости сложного маневрирования (мир-то, кстати, трехмерный, соответственно, летающие роботы могут летать, эдакое эхо легендарного Descent'а).

Кстати, говоря о качестве: вроде чехи - недавние собратья по соцлагерю, но ведь выпускают нормальные игры (или вспомним хорватского Serious Sam). А наши что? Из самых последних разочарований хотелось бы вспомнить Venom: Codename Outbreak. Взял у друга на один вечер, очень понравилось, купил... Но, Господи, почему столько глюков? Даже оперативно выпущенные патчи не исправляют всех проблем. Чего стоит заботливый MessageBox при настройке: "на Windows 2000 кнопки мыши могут залипать". Разработчики пишут, что это баг в DirectInput. Может быть, но почему он больше НИ В КАКОЙ игре не встречается? Значит, это можно все-таки обойти? Про ни разу не перечитанный авторами после составления черновика readme лучше вообще молчать. Или про диски с трещинами (к чести компании "Русобит-М", диски они меняют). Я уж не говорю, про откровенно убогий и глючный графический движок. Хорошо, что хоть честно написано Copyright 1998-1999 Roman Lut. От возраста движка и все его беды. Видимо, денег жалко, или это болезнь всех программистов "все сделаю сам" не позволила приобрести нормальный? До некоторого момента абсолютно уникальный геймплей все это компенсировал, но только до некоторого момента. В конференции iXBT один гражданин заявил, что идея игры взята из Daikatana. Конечно, он заблуждается, но кое в чем он все-таки прав: действительно, одна вещь эти игры объединяет - глючность, плавно переходящая в абсолютную неиграбельность. Ну ладно, хватит отрицательных эмоций, вернемся к нашим ботам.

Приведу несколько картинок.



Figure 1. Это одна из моделей ботов, смело шагающая по воде


Figure 2. А это астронавт в тумане. Ближе к нему лучше не подходить - выглядит не очень.


Figure 3. Процесс конверсии Titanium'а, на заднем плане стреляющий бот на гусеницах.


Figure 4. Батальная сцена с участием оборонительных сооружений, ботов, пауков и муравьев. Ох, не выжить базе без толкового программиста.


Figure 5. Сцена воздушного боя.


Figure 6. Окно редактирования программы (заметьте, есть синтаксическая подсветка).

Мне кажется, что Colobot добавил еще одну нишу на восточном базаре компьютерных игр. Очень надеюсь, что этот жанр будет развиваться и дальше. По крайней мере, наборы скриптов и миссий для Colobot уже появились.

В заключение хотелось бы упомянуть еще одну деталь: помимо лицензий на копию, на сайте производителя предлагается вариант site license для образовательных учреждений, что еще раз говорит, что мы имеем дело не с простой игрушкой.



Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про общая информация
 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Погони, перестрелки, ограбления: Rockstar показала 27 минут геймплея GTA VI и подтвердила релиз 19 ноября 2 ч.
Новый трейлер сюрреалистической игры о побеге от милиционера-великана Militsioner подтвердил релиз в 2027 году 3 ч.
«Машина для плагиата, которая отбирает у людей работу»: современный генеративный ИИ не впечатлил сценаристов The Talos Principle 3 5 ч.
Цукерберг согласился на ограничения соцсетей для подростков, но приготовил ловушку для YouTube и TikTok 5 ч.
Разработчики Fable «не бегут в страхе от других крупных игр», если только это не GTA VI 6 ч.
Metal Gear Solid 4: Guns of the Patriots наконец сбросила оковы PS3 — в продажу поступил сборник Metal Gear Solid: Master Collection Vol. 2 6 ч.
ИИ разоряет видеопродакшн уже сейчас — за 2025 год суммарные обороты сегмента упали на 17 % 6 ч.
Кашу маслом не испортишь: Adobe добавила ещё больше искусственного интеллекта в Photoshop 7 ч.
Meta согласилась защищать подростков от соцсетей строже — но лишь там, где её заставили власти 7 ч.
Любую открытую ИИ-модель можно сделать вредоносной без потери способностей, убедились учёные 8 ч.
Новая статья: Ставим локальный ИИ на картофелину, или «ChatGPT есть у нас дома!» 30 мин.
TrendForce: в 2027 году две трети капзатрат облаков уйдут на DRAM и NAND 3 ч.
AOC показала широкоформатный QD-OLED-монитор с диагональю 48,9 дюйма и второй поменьше 4 ч.
Экономика ИИ-бума перестаёт сходиться: токены дешевеют, ИИ-ускорители дорожают — и кто покроет разницу? 5 ч.
Plaud выпустила наушники, которые запоминают разговоры за владельца — ИИ сам сделает расшифровку и заметки 5 ч.
Гигантских тараканов-киборгов вооружили шприцами и научили делать инъекции 5 ч.
Hugging Face выпустила обучаемую робоутку за $400 — она умеет петь, кататься на роликах и носить вещи в клюве 6 ч.
NVIDIA более чем удвоила выручку, но акции выросли всего на 13 % на фоне опасений ИИ-пузыря 7 ч.
Anthropic заплатит Nscale $45 млрд за аренду облачных ИИ-мощностей 7 ч.
Samsung представила новые игровые мониторы Odyssey  — размер до 49”, разрешение до 5K, частота до 1100 Гц 7 ч.