Сегодня 12 августа 2025
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 для образовательных учреждений, что еще раз говорит, что мы имеем дело не с простой игрушкой.



HUAWEI Pura 80 Ultra глазами фотографа

#HUAWEI Pura 80 Ultra глазами фотографа

Первый взгляд на смартфон HUAWEI Pura 80 Ultra

#Первый взгляд на смартфон HUAWEI Pura 80 Ultra

Пять причин полюбить HONOR 400

#Пять причин полюбить HONOR 400

Обзор смартфона HONOR 400: реаниматор

#Обзор смартфона HONOR 400: реаниматор

HUAWEI nova Y73: самый недорогой смартфон с кремний-углеродной батареей

#HUAWEI nova Y73: самый недорогой смартфон с кремний-углеродной батареей

Обзор HUAWEI MatePad Pro 12.2’’ (2025): обновление планшета с лучшим экраном

#Обзор HUAWEI MatePad Pro 12.2’’ (2025): обновление планшета с лучшим экраном

Обзор смартфона HUAWEI nova Y63: еще раз в ту же реку

#Обзор смартфона HUAWEI nova Y63: еще раз в ту же реку

Обзор ноутбука HONOR MagicBook Pro 14 (FMB-P) на платформе Core Ultra второго поколения

#Обзор ноутбука HONOR MagicBook Pro 14 (FMB-P) на платформе Core Ultra второго поколения

Пять причин полюбить ноутбук HONOR MagicBook Pro 14

#Пять причин полюбить ноутбук HONOR MagicBook Pro 14

 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Microsoft прекратит поддержку Windows 11 23H2 Home и Pro уже в ноябре 23 мин.
ИИ в работе и учёбе: почему непозволительно отключать голову 35 мин.
Веб-камеры Lenovo превратили в хакерские мультитулы — через них можно даже тайно взламывать ПК 60 мин.
«Победа для разработчиков и потребителей»: Fortnite вернётся на iOS в Австралии 2 ч.
League of Legends вскоре получит WASD-управление — игра станет дружелюбнее к новичкам 2 ч.
Nvidia выпустила драйвер, добавляющий поддержку DLSS 4 в GTA V Enhanced и Senua’s Saga: Hellblade II Enhanced 4 ч.
Sk Capital вложит в Softline 5 млрд рублей — это одна из крупнейших сделок на рынке 4 ч.
Геймплейный трейлер раскрыл дату выхода Henry Halfhead — поучительного приключения про половину головы с умением вселяться в предметы 5 ч.
Senua’s Saga: Hellblade II вышла на PS5 сразу в расширенном издании, а на ПК получила поддержку Steam Deck и DLSS 4 6 ч.
Remedy признала провальный старт FBC: Firebreak и похвасталась продажами Control 6 ч.
Учёные придумали невидимые для глаз световые водяные знаки для выявления дипфейков 25 мин.
Анонсирован смартфон Vivo V60 с оптикой Zeiss и ценой от $425 2 ч.
Мобильная графика Arm станет производительнее — в GPU встроят нейронные ускорители 2 ч.
Nvidia представила GeForce RTX 5090D V2: специальный флагман для Китая с урезанной памятью за те же деньги 3 ч.
Жаркая катка: видеокарта GeForce RTX 5090 вспыхнула во время игры в Battlefield 6 3 ч.
Supermicro представила 4U-сервер на базе NVIDIA HGX B200 с СЖО 3 ч.
Tesla запустила редкую рекламу своего автопилота, но пытается скрыть его несовершенство 3 ч.
Alibaba, ByteDance и другим китайским IT-гигантам придётся объясниться за закупки ИИ-ускорителей Nvidia H20 4 ч.
Китайские учёные отправили в Тибет робота-антилопу, который проследил за стадом настоящих 4 ч.
В России стартовали продажи Honor Choice Earbuds X7 Pro — наушников с ИИ-шумоподавлением и автономностью до 38 часов 4 ч.