Зачем, там же всё изображение полностью сформировано игрой, не видно элементов десктопа (потому что полноэкранный режим). Дистрибутив и репозиторий дописал в стартовый пост.
Это обучалка детей программированию в виде компьютерной игры со скриптуемыми юнитами (ботами). Цель - построить колонию с помощью программируемых роботов, отсюда и «colobot», colony + robot.
Интересна тем что не скатывается в полный примитивизм для первоклашек, чем страдают остальные подобные проекты, но при этом «порог входа» остаётся достаточно низким. При этом возможности встроенного языка весьма велики.
Для того чтобы помешать школотрону сойти с ума и умереть от мозгового и физического истощения есть лимит на длину программы для бота, ЕМНИП 1000 строк.
Ну он так то прав. «Не так» с ней всё. Просто в индюшатине и в опенсорсе нужно с этим смириться, особенно если игра увлекает не графикой. Не лицемерить, не называть вырвиглазный крупнопиксельный кошмар и размазню «стилизацией под олдскул» и «индистилем».
Редко встречаются люди талантливые во всём, это если разраб один, а если разработка ведётся колхозом на энтузиазме — людям интересно делать интересные вещи. Вещи скучные им делать не интересно, и они их не делают, или стараются по быстрому сбацать если без этого никак. Рисовать сотни и тысячи качественных текстур — скучно. Моделить «стандартные» модели ассетов, если их непозволительно откуда то готовые стянуть, тоже.
Конечно же существуют «застревающие» аутисты, которые ловят кайф от монотонного и однообразного труда, но во первых их просто мало, а во вторых такого или такую нужно ещё как то в свой проект вовлечь, а это не просто, у них с коммуникацией обычно тоже проблемы. Вот и получается что хороший графоний без оплаченных наёмных человекочасов бывает крайне редко.
Ага, щаззз разбежались они и КуМир добавили ага )))))))))) Если уж писать то в ФГУ ФНЦ НИИСИ РАН чтобы те пропатчили.
А так игра топ, аналогов с гулькин писько, а прямых аналогов я вообще не знаю существует ли. (Игры с модами на lua не в счёт, есть minetest compute или как там, но это не то).
В этой игре частенько сбоит goto (местный pathfinding), свой на замену написать очень сложно (скорее всего не влезет в 1000 строк), невозможно заранее знать длину пути, нет явных импортов (зато есть неявные и только классов), нет встроенного матричного типа, неясна последовательность углов Эйлера (orientation, pitch, roll), роботы иногда пытаются бесконечно заехать на бугор, нет способа завалить программу на манер goto (panic, assert).
Быстрее всего проходится в полуавтоматическом режиме, хотя в миссиях «+» можно запретить себе всё и только программировать, но там так сделано, что редактировать и запускать программы можно сколько хочешь, по сути нажимаешь те же кнопки, но через код.
Ну, есть некоторые недоработки в АПИ. Зато он простой, и поиск этих недоработок сам-по-себе развлечение.
Про длину пути не понял.
Думаю, что имеется в виду финальная миссия, когда отсылаешь летающего робота за ключом, он летит обратно к СпейсШипу, но от перегревания двигателя падает в лужу и тонет, а ключ вытащить больше нельзя даже батискафом.
Ну просто надо контролировать температуру двигателя, для этого там есть свойство.
про orienatation/pitch/roll всё понятно (кроме того, как изменять roll в полёте), там даже бага есть по этому поводу (добавить «do a barrel roll»), неясно что там непонятного. Не очень понятно, как учесть Roll при прицеливании, это да.
Про длину пути очень просто. В обычном поиске пути я получаю маршрут и его длину, и могу подумать прежде чем пойти. С goto я могу только грубо оценить через distance сколько топлива потребуется.
Нет, не всё понятно с orienatation/pitch/roll. У этих углов важна последовательность применения. То есть, я делаю три матрицы вращения и в какой последовательности я их перемножу очень важно, умножение матриц некоммутативно.
Можно. Но лучше вместе со всякими bullet_velocity, aim_rotation_speed иметь заранее известными в константах/документации.
Там миссии довольно короткие, не мотивируют углубляться настолько детально. Но внутренний перфекционист негодует. Казалось бы, автоматизируешь, можно наводить идеально, но чтобы это сделать по-настоящему, нужно потратить сильно больше усилий, чем получишь в итоге удовольствия.