Приложения к заметкам о простых играх (роботы)

Перейти вниз

Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:28 pm

"Вы находитесь внутри управляемого робота - Спидерзоида. Ваша задача - обойти 10 вражеских городов и собрать 6 обломков Зоидзиллы - мощного робота убийцы..." /из описания игры Zoids - The Battle Begins/
***

Казалось очевидным, обсудив игрушечные танчики, упомянув их заводных, электрифицированных и электронных собратьев, обсудить и танки компьютерные...
Сейчас думаю, что идея была, мягко говоря, дурацкой. Честные компьютерные военные модели выглядят весьма неприглядно, а красиво отрисованные бравые компьютерные "вояки" годятся только для игр и рекламных роликов. Нанотехнологичные портянки и летающие "мобильники" как-то вытеснили из реальности "Терминаторов", "Боло" и "Огров". И даже ярые поклонники компьютеризации поля боя видят этот процесс только как обеспечение связи "всех со всеми" и возможности управлять огневой точкой на другом конце света со своего уютного и безопасного дивана.


Чтобы герой смог уверенно себя чувствовать в их безумном мире, авторы игры Bioforge его немного "доработали".

Но боевые роботы компьютерных игр тут совсем не при чем. И появились они совсем не потому, что кто-то хотел подготовить малолетнего игрока к несостоявшейся "войне машин".
Дело было гораздо проще. Компьютеры тогда были маломощные, компьютерные игры - вынужденно нетребовательные к железу, и весь арсенал игрока, управляющего метаниями по экрану какой-нибудь закорючки, сводился к одному-двум допустимым типам команд...
Считать эту закорючку полноценным "альтер эго" игрока было достаточно затруднительно. Слишком уж условен был мир тогдашних игр. Мириться с тем, что "твое воплощение" умеет только прыгать с платформы на платформу и давить врагов своим весом или вынуждено существовать в мире однообразных коридоров, заполненных одинаковыми предметами... как-то глуповато. (Конечно, были игры, где игроку приходилось так много думать и так быстро реагировать, что ему было не до вида закорючек, но для большинства игроков гораздо интереснее были другие игры, обещавшие необычные приключения в необычном мире).
Что же делать, если представлять себя обитателем мира игры неуютно? А заменим человечка на робота! Робот на то и робот, что способен "существовать" в самых экзотических и фантастических условиях.
Недаром роботов так любят использовать в учебной литературе, особенно околокомпьютерной. (Когда роботов не было, ученым и философам приходилось для описания мысленных экспериментов использовать демонов).


"Я прошу у тебя денег потому, что ты толстый и розовый". Робот учит логику в книге "Компьютер обретает разум".

Так что игр с главным героем - роботом не просто много, их очень много.
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:36 pm


DIGGER

Пожалуй, самый известный из компьютерных роботов - это непонятная машинка из игры DIGGER. Умеет рыть тоннели, собирать алмазы, бросать подземные мешки золота на головы врага и немножко стрелять. Человек-шахтер в этаком мире имел бы бледный вид.


HACKER. Это мы...

Славным продолжателем дела Диггера стал робот из игры HACKER - он с невообразимой скоростью бегал по тоннелям, проложенным между столицами государств, и вылезал на поверхность поговорить с людьми-шпионами. Конечно, можно было бы заменить его на человека, ездящего на метро, но как тогда объяснить игроку, почему он видит мир через маленькое квадратное окошко? И технические загадки, создающие "хакерский" антураж, выглядят гораздо естественнее, если речь идет об управлении роботом.


HACKER. А таким мы видим мир.

В продолжении игры - HACKER-2 - загадки стали еще более "техническими": наш робот теперь борется с вражеским "роботом" - охранной системой секретного объекта.


HACKER-2. Теперь мы на гусеницах.

И, хотя, правдоподобнее было бы послать на вражескую базу агента-человека (ср. BLUE EDEN), чем полутораметровую "дуру" на гусеницах, условно-технический мир игры остается гораздо более приспособленным для персонажа-робота.


HACKER-2. Камеры слежения, которые мы пытаемся "хакнуть".

Применение роботов в играх дало еще одну возможность - вообще отказаться в играх от "человеческого мира" и полностью петенестись в иные пространства. Например, в мир "логических схем", как в той же ROBOT ODYSSEY.
Или проводить схватку роботов в виде борьбы за контроль над некой "энергетической" схемой - PARADROID (QUAZATRON). Победителю достаются детали поверженного. Конечно, сама беготня по лабиринту при этом никуда не девается...


PARADROID. Кто кого "перепрограммирует"?

Можно и совсем углубиться в мир внутреннего устройства роботов, вплоть до создания боевых программ в игре CORE WARS.
***

Раз уж вспомнили такие старые игры, то остановлюсь и на их интерфейсах. (Т.к. я сейчас погряз в этих проблемах - ТЕМА #34). Ни "комнат" ни "окон" в те времена практически не было, были их зародыши.
Очевидно, что самым простым игровым интерфейсом является "тактическая карта" (игровое поле на одного игрока). Например, ее мы и видим в робо-играх SHAMUS или ROBOT ODYSSEY. (В последнем случае - несколько тактических карт разных "масштабов").
Однако, "игра за робота" дала другую возможность - "пульт". Весь экран - виртуальная панель управления. Это же робот! Что может быть естественнее, чем управлять им при помощи пульта? Как раз, игры HACKER и HACKER-2 дают нам хороший пример таких интерфейсов.
(Более того, в некоторые моменты этих игр компьютер "играет сам себя" - выводит приглашения якобы операционной системы и ждет ввода с консоли...)
Даже интерфейс "вид из глаз" родился, по сути, от "пульта". Сначала было маленькое окошко "следящей камеры", потом оно росло (по мере роста способности компьютеров просчитывать все большие и большие картинки), а остальные органы управления "усыхали". В наше время, чтобы рассмотреть какой-нибудь нужный по игре пульт, надо к нему "подойти".
(Например, многие фанаты наследников стрелялки Wolfenstein 3D ведут отсчет от игры Hovertank 3D, хотя обосновать, разумеется, не могут, т.к. родство между ними не в идее стрелялки, а в идеях реализации: интерфейс-пульт и тупые робо-лабиринты. И этого оказалось достаточным. Теперь мы можем сказать - в истоке жанра стрелялок от первого лица - тоже роботы!)
Ввести честную трехмерность комнаты-КАБИНЫ, идя от других видов "комнат" гораздо труднее чисто психологически, т.к. какого-либо игрового преимущества это не дает. Поэтому современные игры (с их упором на трехмерность) больше тяготеют к ролевым (к каковым, пожалуй, относятся и современные стрелялки), чем к квестам, т.к. "пульты управления" персонажем, инвентарем и прочей торговлей исторически роднее их интерфейсу.
Возвращаясь назад во времени, мы видим, что современная тенденция "делай в игре то же, что и в жизни", имела место и в тех древних играх, просто "в понимании роботов" "открытый мир" сильно ограничен "аппаратными возможностями". Отсюда и "хардкорность" старых игр. Сложные нюансы поведения в очень простых мирах. Причем, настоящее удовольствие от таких игр получали не игроки, а программисты.
Да, и не забываем главное отличие "комнат" от "окон". Первые рассчитаны на выполнение конкретной последовательности команд, вторые - на свободный "серфинг" по всему множеству возможностей. В первых - специализированные пульты/консоли, во вторых - универсальные окна/диалоги. Поэтому так, подчас странно, выглядят для нас, привыкшим к многооконности, старые игры, где в каждый момент можно сделать только что-либо одно.
Игры же, в которых только одна "комната" - "тактическая карта", как в том же DIGGER нам кажутся более понятными, мы ведь привыкли к "единому интерфейсу", пусть он и стал трехмерным и оброс всякими менюшечками.


Последний раз редактировалось: Gudleifr (Вт Дек 05, 2017 10:36 pm), всего редактировалось 1 раз(а)
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:43 pm

ЗАМЕЧАНИЯ ПРОГРАММИСТА


Герою сериала ФУТУРАМА подправили восприятие мира

Вначале был играющий программист, создающий себе на потеху что-то равно не похожее ни на обычную универсальную ЭВМ-среду, ни на обычную человеческую игру. А сейчас программист - лишь пролетарий, обеспечивающий благосостояние двух креативных "интеллектуалов" - геймдизайнера "творящего контент" и маркетоида "раскручивающего бренд".
***

Но... Такой, чисто программистский, параметр компьютерной игры, как толщина канала "игрок-машина" является в игростроении совсем не последним. Это один из трех китов, наряду с "занимательным контентом" и "стратегией автора". Наверное, его и следовало бы назвать "геймплеем", но будет путаница. Назову его просто "игровой машиной".
И вина самого программиста, что ему оставили только наладку "машины игры", отобрав роли "создателя фантастических миров" и "автора произведения". Нечего было, в погоне за сытой жизнью, прикармливать дармоедов.
***

ИСТОРИЯ
Изначально "игровая машина" и составляла практически всю игру: "контент" сводился к тому, что необходимо для игры, а "стратегия" диктовалась устройством "машины".
Сейчас, наоборот, канал расширен до практически "виртуальной реальности" и стал практически неощутим для игрока. (Конечно, игрока пришлось немного доработать, чтобы он "правильно понимал" условности игрового мира). "Контент" стал тем единственным, что отличает одну игру от другой, а "стратегия автора" стала, скорее, "стратегией успешных продаж". Если "машину игры" где-то и замечают, то говорят о "плохом геймплее".
Нас же должно интересовать, существуют ли полезные "машины игр", или игра должна все больше превращаться в "хреновый симулятор жизни с дурацкими наворотами".
***

ГЛАЗАМИ РОБОТА
Но, вернемся к узким каналам. Чем и как компенсировать их несовершенство?


IRON HELIX - робот-зонд исследует космический корабль

Мы видим, что "роботы" дают возможность обосновать упрощение "мира игры", и, соответственно, нагрузка на канал снижается.
Это было первое очевидное решение. Объяснить "узость канала" тем, что мы смотрим на мир глазами робота. Причем, и здесь, с ростом возможностей компьютеров, "канал расширялся" и в "COLOBOT" роботы уже управляются игроком-человеком, который в этой виртуальной вселенной "живет". Сами же по себе эти "Хакеры" и "Геликсы" были лишь "очень необычными представителями". Игры, где бегало что-то более человекообразное были гораздо популярнее в силу своей очевидности. Человечек, который может только бегать и копать ямы, все-таки, гораздо ближе игроку, чем робот, умеющий что-то там "коммутировать", пусть последнее и моделируется на компьютере гораздо естественнее.
***

ОТ ВТОРОГО ЛИЦА
Другой очевидный способ объяснить игроку, почему он видит мир через "мутное окошко", обратный: игра происходит в нормальном мире, а игрок - ненормален: он сам компьютер, мозг в колбе, давно умер... И может влиять на действие только опосредованно: Critical Path, Millennia: Altered Destinies, The Daedalus Encounter, Experience 112. Даже, в конце концов, M.A.X. и Carrier Command (даже в "стратегиях" в те времена хорошим тоном было обосновать то, что игрок видит на экране).


DAEDALUS ENCOUNTER - мозг корабля разговаривает с человеком

Пусть "мир" остается сложным, но игрок будет ограничен в своей возможности на него влиять. Игра от лица мозга, запертого в пробирке, в компьютере, потустороннего мира... Таких игр не перечесть, причем, в некоторых такой финт используется только для антуража (например, Carrier Command, М.А.Х., Millennia: Altered Destinies), мол, извините, но вам придется смириться с таким вот набором команд. Да, да, были времена, когда "смирение игрока" и условность мира обосновывались.


MILLENIA - управляем, не выходя из корабля, развитием галактических цивилизаций!

В других же, редких, играх (Critical Path, Experience 112) упор именно делается на нарочитую узость канала управления - можно только односложно отвечать на вопросы персонажа и/или зажигать свет в коридорах, по которым тот странствует...
Т.е. ситуация полностью симметрична - хочешь, чтобы ограничения "окна в Европу" смотрелись естественно - снизь запросы или упрощенно воспринимай забугорный мир.
***

ЗАТЯНУВШАЯСЯ ИНФАНТИЛЬНОСТЬ
Существуют и игры, отстаивающие свое право иметь свой собственный негуманоидный мир "по обе стороны экрана", подобно тем первым, у которых это было технической необходимостью. Странного вида пятнообразные облака ползают по n-мерным плоскостям, избегая столкновения с облакообразными пятнами... Например, The Sentinel и его "возвращение"...
***

ОТ ЛИЦА ПРОГРАММИСТА
Если кто осилил мои заметки (точнее, заметки по программированию STARTRADER или STAR TREK), то он видел, что "машина игры" с точки зрения программиста представляет собой некоторую реально существующую сущность - "экзоскелет игрока", "корабль" - поведение которого и есть игра. Пусть игрок думает, что просто "свободно существует" в этом виртуальном мире, программист же бегает по лабиринтам совсем другого мира, о котором игрок (да и геймдизайнер) узнает только в случае "необычного геймплея".
***

Является ли игра в "машину игры" только экзотическо-эвристическим приемом, или ее использование технологически обосновано? Я - за второе, т.к. "интерфейсная сущность" игровой программы позволяет рассматривать ее как ИНТЕРФЕЙСНЫЙ КОМПОНЕНТ (по Броуди), а не как совокупность слабосвязанных частей, нуждающихся во внешней синхронизации.
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:49 pm

К сожалению, подобная "роботизация" никак не поможет нам в игре в солдатики. Разве что заняться программированием компьютерных противников (ботов) для какой-нибудь популярной "военной" игры. Только запомним, что если удается разложить "на составляющие" военную обстановку и действия в ней, то мы обычно теряем всякую связь с военными реалиями. На войне, как и в любви, правил нет! (А ведь я когда-то оправдывал свое увлечение солдатиками удобством военных игр для компьютерного моделирования процессов управления...)


NETHER EARTH. Война в мире кубиков. Роботы не только удачнее вписываются в этот мир, но и сами могут собираться из кубиков.
***

Надо конечно помянуть и самые основополагающие игры про программируемых роботов. Посмотрите в журналах статьи Дьюдни:

Путешествие с роботами в Роботрополе и овладение навыками конструирования электронных микросхем - PDF, 26.9Мб (про игру ROBOT ODYSSEY - В МИРЕ НАУКИ 09/85 / А.К.ДЬЮДНИ / ПУТЕШЕСТВИЕ С РОБОТАМИ В РОБОТРОПОЛЕ И ОВЛАДЕНИЕ НАВЫКАМИ КОНСТРУИРОВАНИЯ ЭЛЕКТРОННЫХ МИКРОСХЕМ).
В этом реал-тайме логические схемы роботов надо было паять.
Когда-то в Сети валялись и Apple-версия игры, и DOS-версия, и JAVA-версия. Может и сейчас валяются.

Машинки Брайтенберга - автоматы с синтетической психологией - PDF, 8.03Мб (В МИРЕ НАУКИ 05/87 / А.К.ДЬЮДНИ / МАШИНКИ БРАЙТЕНБЕРГА - АВТОМАТЫ С СИНТЕТИЧЕСКОЙ ПСИХОЛОГИЕЙ). А эти роботы были более "нейронными".
К сожалению, полностью соответствующих духу статьи компьютерных игрушек не существует, однако, была игра Mindrover, иллюстрирующей мрачную смесь идей первой и второй статьи:
- логические элементы и коэффициенты проводимости;
- возможность произвольного перемещения по пересеченной местности, различные движители и схемы управления;
- довольно большой набор рецепторов и эффекторов, в том числе, боевых.

Эти игры смотрелись как продолжение старых игр кибернетиков (см. там про паровозики - ТЕМА #22), но вульгарно понятые, они стали родоначальниками тупых "игр для программистов" и/или "игр с искусственным интеллектом".


Последний раз редактировалось: Gudleifr (Вт Дек 05, 2017 10:51 pm), всего редактировалось 6 раз(а)
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:58 pm

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


COLOBOT. Самый симпатичный робот - подводный.

Рассмотрим его по-подробнее. Язык, на котором нужно программировать роботов, полноценным языком программирования назвать нельзя. В нем нельзя вводить "новые сущности", можно только отдавать приказы уже имеющимся в языке "объектам". Последнее называется "объектно-ориентированным программированием" (ООП) - сверхпопулярной тупиковой парадигмой программирования. Как Дейкстра в свое время писал, что невозможно научить программировать человека, начавшего с BASIC, так нельзя относиться к ООП (и тем более к его усеченной игровой версии) иначе, как к забавной игрушке.

ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ. Конечно, любой начинающий программист с легкостью меня "посрамит", показав как он легко решает самые сложные программистские задачи, просто зная, в каких библиотеках хранятся объекты, которые нужны для решения и "знают, как решать". Отнюдь. Ведь, эти объекты создавались такими же "программистами", как мой оппонент. И значит, в свою очередь состоят из объектов, действия которых наши друзья не понимают. А те - из других объектов... До самого-самого низа, где все-таки должен быть код, который хоть что-то делает. К сожалению, есть ли он там и что он делает наши "программисты" не ведают, они только оборачивают старые коробочки во все новые и новые фантики. КОНЕЦ ЛИРИЧЕСКОГО ОТСТУПЛЕНИЯ.

Еще надо заметить, что программирование в этой игре - вещь опциональная. Большинство миссий его не требуют (а многие должны проходиться только вручную), а где оно нужно - там прилагается готовое решение.
Поэтому "язык программирования" рассчитан не столько на "игру", сколько на составление забавных задачек. Сборники задачек выходили отдельными довесками под лейблом CEEBOT. Там добавили и полноценную работу с типами.
***

Можно разделить все "сущности" языка роботов на три большие группы:

* обычный язык программирования: выражения, операторы, блоки, конструкции управления, математические функции - все "как у людей". Тот вечный Си-образный минимальный набор, ничего общего не имеющий с эффективностью и/или логикой вычислений, но оставшийся в наследство от ALGOL-60 и освященный именем святого Вирта.

* команды роботу - перемещение, взятие предмета и т.д. Набор команд, очевидно, определяется устройством робота. Варианты этого устройства могут быть всего двух родов: различный движитель (колеса, гусеницы, реактивный, лапы) и различный эффектор (ингаустер, орудие, сканер...).
Особенностью команд является их неочевидная разноуровневость. Например, операции перемещения могут описываться в терминах изменения местоположения робота (goto), в терминах поворотов и движения (turn, move) или в терминах управления двигателем (motor), т.е. на разных уровнях. Почему неочевидная? Потому, что она определена только для команд перемещения робота (позднее, для игры в робо-футбол). Для автоматизации стрельбы придется отдельно навести орудие по горизонтали и вертикали. Если первое еще кое-как возможно (т.к. это частный случай перемещения), то второе потребует сложных расчетов угла места цели с учетом наклона робота. Команды "пристрелить выбранного врага нет".
Еще надо учесть, что некоторые действия роботам недоступны в принципе: только главный герой может строить здания и отдавать команды зданиям и роботам. (В развитиях-продолжениях игры управлять некоторыми зданиями можно). Роботы не могут и сами для себя писать программы (правда, сейчас и многие программисты не умеют писать программы, пишущие программы).
Итак, команды роботов.

** Прежде, чем перечислять команды, остановимся на "параметрах". Каждый робот описывается следующим набором переменых:
*** category - вид робота;
*** position - координаты на местности;
*** orientation - ориентация на местности;
*** pitch - "тангаж" (т.е. наклон в сторону носа или кормы);
*** roll - крен;
*** energyLevel - для роботов равен 0;
*** shieldLevel - уровень щитов (для энергоботов);
*** temperature - температура реактивных двигателей (для летунов);
*** altitude - высота полета (для летунов);
*** energyPack - указатель на объект-батарейку;
*** load - указатель на объект в ингаустере.
Все эти переменные можно, по идее, только читать.
Забегая вперед, скажу, что эти параметры описывают не только роботов, но и все остальные объекты.

** Самая важная команда для работы с другими объектами:
object = radar(category, angle, focus, min, max, way).
Параметры вызова определяют тип объекта, который мы ищем, и его примерное положение по отношению к нашему роботу.
Есть еще одна команда получения доступа к объекту:
object = retobject(number),
но непонятно, почему нет обратной команды (номер текущего объекта). Разве что можно перебрать по порядку все объекты на карте.
Кстати, непонятно, можно ли таким образом получить доступ к объектам, которые ни игрок ни его радары/роботы не видят.

** "Команды" (скорее, операции) для геодезических расчетов:
*** angle = direction(pos) - направление от робота на позицию;
*** float = distance(pos1, pos2) - расстояние между позициями по прямой;
*** float = distance2d(pos1, pos2) - тоже, но без учета разницы высот;
*** point = space(center, rmin, rmax, dist) - поиск ровной площадки (для строительства?);
*** float = topo(pos) - определение высоты позиции над уровнем моря.

** команды управления движением робота:
*** wait(time) - ничего не делать;
*** error = goto(position, altitude, goal, crash) - самая высокоуровневая команда перемещения. Определяет не только целевую позицию (а зная, какой объект нужен, его можно найти при помощи radar, а затем запросить его параметр - position), но и высоту полета к ней, способ подъезда, опасность маршрута.
*** error = turn(angle) - команда промежуточного уровня - повернуть робота. Она же - навести оружие в горизонтальной плоскости.
*** error = move(length) - перемещаться вперед (назад); тоже промежуточный уровень.
*** motor(left, right) - команда низкого уровня - выставить мощность моторов (и поддерживать ее). Позволяет вести огонь на ходу, т.к. не рассматривает перемещение как неделимое действие (не ждет его окончания). Например, можно поставить моторы враздрай, включить орудие и поливать огнем все вокруг.
*** jet(power) - тоже для реактивного двигателя вертикальной тяги (у летунов).

** Команды для общения:
*** message(text, type) - выдать строчку на экран (т.е. игроку).
*** errmode(mode) - обрабатывать ошибку программно или прерывать программу.
*** float = receive(name, radius) - получить значение некоего "атрибута" от ближайшего "хранилища информации" (в радиусе).
*** send(name, value, radius), deleteinfo(name, radius) и bool = testinfo(name, radius) - команды управления значениями "атрибутов".
Даже не помню, использовались ли эти команды в игре (или три последних появились только в CEEBOT?). А ведь даже в ROBOT ODYSSEY роботы могли общаться!

** Команды специального оборудования:
*** error = grab(oper) - взять объект (уточняется, откуда - спереди, сзади, из батарейного отсека).
*** error = drop(oper) - положить объект.
*** error = sniff() - искать полезные ископаемые (если находит, ставит метку).
*** error = thump() - оглушить врагов.
*** error = recycle() - переработать обломки.
*** shield(oper, radius) - включить/выключить щиты.
*** error = fire(time) - вести огонь.
*** error = aim(angle) - прицелиться в вертикальной плоскости (придется рассчитать угол).
Думаю, есть еще некоторые недокументированные команды. В CEEBOT появились дополнительные команды, например, для игры в робо-футбол.

* внешние по отношению к роботу объекты. Самая, пожалуй, интересная группа. Поскольку представляет из себя достаточно интересную модель среды обитания роботов.
С другой стороны, практически единственная команда, связанная с этими объектами в программе - "получить направление-дистанцию". Все объекты, как и роботы, описываются той же структурой object.

** Строения (строить и может только игрок, но не робот, тоже касается управлениями теми зданиями, которые требуют управления):
ЗданиеСырьеВыходБатарейкаПримечание
Houston - ЦУП-указания-только для антуража
SpaceShip - космический корабль---на нем прилетаем, на нем и улетаем
BotFactory - фабрика роботовтитанробот-что строить - командует игрок
ResearchCenter - исследоваельский центр-изобретения+что изобретать - командует игрок
RadarStation - радар----
ExchangePost - "хранилище информации"---зачем?
RepairCenter - чинилка роботов----
DefenseTower - защитная башня--+-
AutoLab - лабораториячужая органикаизобретения-нужна один раз за игру для анализа чужой органики
Powerstation - заряжалка батареекземляная энергияэнергия--
PowerPlant - завод батареектитан и земляная энергиябатарейка--
NuclearPlant - завод атомных батареекурановая рудаатомная батарейка--
Converter - переработка титановой рудытитановая рудатитан--
Derric - добыватель руды-руда--
PowerCaptor - громоотводмолнииэнергия--
Vault - секретное хранилище---встречается один раз за игру

** Объекты, которые приходится носить.
*** TitaniumOre - титановая руда (перерабатывается в титан),
*** UraniumOre - урановая руда (из нее делаются атомные батарейки),
*** Titanium - титан (из него делаются роботы и здания),
*** PowerCell - батарейка (нужна роботам и некоторым зданиям),
*** NuclearPowerCell - атомная батарейка,
*** OrgaMatter - кусочек чужой органики,
*** BlackBox - "черный ящик" пропавшей экспедиции,
*** TNT - взрывчатка,
*** Key...- ключи (4 разных) для открытия хранилища.

** Роботы:
*** PracticeBot - тренировочный (умеет только ездить),
*** TargetBot - мишень (нагружен взрывчаткой),
*** Колесный... Гусеничный... Летучий... Ползучий... ...Grabber - роботы с ингаустером,
*** ...Sniffer - сканеры,
*** ...Shooter - стрелки,
*** ...OrgaShooter - стрелки с биопушками,
*** Subber - подводный,
*** Recycler - харвестер (сборщик обломков),
*** Shielder - энергобот,
*** Thumper - глушилка,
*** PhazerShooter - система залпового огня.

** Чужие:
*** AlienQueen - королева,
*** AlienEgg - яйцо,
*** AlienAnt - муравей,
*** AlienSpider - паук,
*** AlienWasp - оса,
*** AlienNest - гнездо.

** Прочие объекты:
*** Me - мы, главный герой,
*** Mine - мина,
*** Barrier - забор,
*** Wreck - разбитый робот,
*** Ruin - руины,
*** LRV - оставшийся на Луне от экспедиций Аполлонов автомобиль,
*** StartArea, FinishArea, WayPoint - отметки маршрутов,
*** ...Flag - отметки-флаги,
*** ...Site - отметки залежей ресурсов, оставляемые сканнерами.

Если рельеф местности еще можно оценить, при помощи "геодезических команд", то растительность и водоемы в принципе
нераспознаваемы - таких объектов просто нет.
Т.е. никакой особенной ориентации на программирование во вселенной не наблюдается. Обычная реал-тайм "стратегия". Три "ресурса" (энергия, титан, уран) породили слишком много проблем (зданий). А сюжет, как всегда, вытягивают штучные артефакты, которые часто невозможно обыграть "програмистски".

Т.о. мы можем констатировать, что рассматриваемый язык страдает очень частым синдромом "проблемно-объектной ориентированности". Вместо языка "разговора с роботом", мы имеем обычный язык программирования, в котором все общение с внешним миром (т.е. вся его проблемная ориентированность) описывается убогой конструкцией "вызови для объекта X метод Y". Получается программа на двух языках - программирования и команд управления объектом - которые имеют совершенно разный синтаксис и семантику. (Это как программирование под Windows. Многие считают, что для этого необходимо исключительно что-то вроде C++. Хотя, подобные программы, что на C++, что на языке ассемблера, выглядят практически одинаково - длиннющие последовательности вызовов стандартных win-функций). Этим синдромом страдают и многие "взрослые" языки управления, например, всем известный Postscript или, даже, внутренние языки игр-квестов фирм Sierra (AGI и SCI).
Бывают ли другие языки? Конечно. В мире ROBOT ODYSSEY "язык" логических схем вполне достаточен для описания поведения роботов, а в Mindrover достаточно языка "нервных импульсов". Даже "язык" команд BattleZone кажется более перспективным.
Да и в мире "взрослых" языков программирования можно найти возможность более естественного описания внешнего мира - например, FORTH, позволяющий обзывать вещи подходящими словами.


FORTH. Робот и его лексиконы.
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 12:59 pm

Р.S. В связи с изложенным, хочется поднять тему, за которую меня постоянно банят на игровых форумах.
Можно ли рассматривать по отдельности идею игры, ее реализацию и общественную оценку? И не приведет ли такое рассмотрение к тому, что многие всеми уважаемые игры окажутся пустышками? (И, самое крамольное: может любовь к старым играм должна заключаться в сохранении полезных старых идей, а не в коллекционировании/перепродаже всего подряд?)

Что мы можем сказать о "боевых роботах" в общем? Идеи:

- "игра за робота" позволяет не заморачиваться с обеспечением правдоподобия окружающей обстановки в ущерб ее зрелищности/фантастичности;
- робот может быть способен на действия, невозможные для человека (например, трансформироваться в разные воплощения, как в игре Metal Mutant), это тоже можно обыграть;
- робот имеет "внутреннее устройство", в котором можно не без пользы покопаться...

Реализация?
- Как реализовывать обучающую программу, было определено еще полвека назад, но большинство тех идей так и не прижилось. Слишком уж большая нагрузка на преподавателя и на учащегося. Я бы даже сказал "хардкорность".
- С точки зрения чисто игровых реализаций, пожалуй, никому из авторов подобных игр (за исключением самых простых), не удалось реализовать возможности "робо-демона" на все 100%. Слишком уж эти возможности оказались велики.

Общественное признание?
- Ножницы между сложностью миров и простотой роботов никто не отменял, поэтому эти игры одновременно ругают за простоту вселенных и за сложность игры.
- В очень старых играх "хардкорность" исторически является плюсом - мол, были Игры с большой буквы. Кроме того, "программирование" роботов давало слишком много возможностей, которые можно было перепробовать только при очень долгой игре - отсюда требование еще большей "хардкорности". В современных гламурных играх, роботы имеют успех разве что в своей "трансформенной" ипостаси.
- Так что старинные полу-обучаловки все вспоминают в превосходных степенях, но никто на них так ничему и не научился...
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Gudleifr в Чт Сен 14, 2017 1:04 pm

P.P.S. И при чем здесь солдатики? Разве что, заменить веселыми роботами людей-солдат, которых жалко (Battle Isle, Z).


Мультсериал ЗВЕЗДНЫЙ ДЕСАНТ. Робот позволяет отыграть "героическое самопожертвование" в условиях вселенной, где погибают только "плохие парни".

Ну или еще одна забавная идея - "своего босса" - наличия громадного робота-полководца (часто трансформера), управляемого игроком, во главе армии бестолковыой бронемелочи. Она была популярна на момент создания первых реал-тайм стратегий, когда еще искали баланс. И с тех пор ее время от времени реанимируют.


HERZOG ZWEI, первый был более аркадным и менее красочным. (Нет, есть что-то для меня волшебно-притягательное в делении игрового экрана на две страницы!)
avatar
Gudleifr
Admin

Сообщения : 725
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Приложения к заметкам о простых играх (роботы)

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения