На чем едет танк

Почему немецкие танки были на бензине, а советские на дизеле

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Двигатель внутреннего сгорания на дизельном топливе более эффективен и менее пожароопасен, однако проигрывает бензиновому в мощности. В 40-е годы XX века техника США, Великобритании в основном использовала бензин, а Италии дизель. Несмотря на то, что в 1897 году изобретатель Рудольф Дизель сконструировал двигатель нового типа именно на территории Германии, а разработку в 1936 году внедрили в гражданское машиностроение, танковые армии Третьего Рейха потребляли исключительно бензин.

Дело в том, что в 1930-е гитлеровское командование отказалось от авиационных двигателей в военной технике и сформулировало четкие технические задачи для разработки новых танковых моторов. Все запчасти должны были соответствовать чётким требованиям «сверху», будто детали конструктора.

В этих условиях компания «Майбах» смогла создать компактные бензиновые двигатели с высоким литражом и завоевать полное доверие Управления вооружений сухопутных сил, главного оружейного ведомства Германии. Сам Карл Майбах всячески препятствовал внедрению любых замен. Другие фирмы не могли мечтать о таком лоббировании своих интересов.

Еще одной причиной доминирования бензина стали некоторые трудности в получении дизтоплива. Решение проблемы инженеры нашли уже в 1942 году, и уже через год объем синтезированного дизеля даже превысил показатели бензотоплива. Была посчитана и экономическая выгода альтернативы. Правда, к тому времени стандартизированные танки уже воевали на Восточном фронте.

Летом 1942 года Гитлер и Порше даже инициировали заседание специальной танковой комиссии, на котором проектировщики получили новое задание: внедрить дизельные моторы с воздушным охлаждением, подходящие для разных климатических условий. Но до конца войны заводы даже не успели провести стендовые испытания, не говоря уже о полевых.

В «дизельной» стезе больше всего преуспела фирма «Daimler-Benz»: её движки даже успели установить на экспериментальный тяжелый танк «Маус» и VK 30.01 (D), «вдохновленный» советским Т-34. Но массового производства прототипов из-за катастрофического положения Рейха так и не последовало. Вопреки распространенному мнению, немецкий флот во время войны не потреблял весь «дизель»: для сухопутных нужд этот вид топлива использовали 100 тысяч грузовиков.

В конце 1920-х советское руководство поставило задачу модернизации Красной Армии. Сложнейшей из поставленных задач было создание танкостроения с нуля. Для сравнения, в странах Западной Европы техническое оснащение танков опиралось на развитое машиностроение. Приходилось ставить на танки авиационные двигатели или модернизировать бензиновые авиационными двигателями «Либерти» из США.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк
Легкий британский танк Vickers Mk.E (Виккерс МК.Е).

Перенимался и британский опыт: На основе «Виккерса мК Е» был создан легкий танк сопровождения Т-26, самая массовая машина к началу Великой Отечественной. Двигатели для неё производил завод имени Ворошилова в Ленинграде. Поняв преимущества использования дизельного топлива, конструкторы более семи лет трудились над первым дизельным двигателем В-2.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк
Т-26, установленный у музея-диорамы «Прорыв блокады Ленинграда» возле Кировска

Прототип прошел испытания в 1939 году: несмотря на некоторые недостатки, В-2 показал экономичный расход топлива, высокую мощность и надежность конструкции. К 1940 году коллектив под руководством Михаила Кошкина завершил разработку танка T-34, оснащенного вышеназванным дизель-мотором. После появления на полях сражений новый танк стал настоящей легендой.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк
Двигатель В-2 в первоначальном виде провел на массовой военной службе более 20 лет. Отдельные экземпляры на ходу до сих пор. Еще несколько обрели покой в различных музеях.

Источник

Гроза народных депутатов: тест-драйв танка Т-80

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

В танке Т-80 необычно почти всё: газодизельный двигатель, расход топлива, скорость, отсутствие жёсткой механической связи между мотором и ведущими катками… И теснота. Самой сложной задачей в Т-80 оказалось попасть на место механика-водителя, а вот нечаянно заглохнуть тут просто невозможно. И это тоже необычно. И то, что первый заметный “боевой” опыт эти танки получили только во время обстрела ими же здания Верховного Совета Российской Федерации с народными депутатами внутри, тоже интересно.

А ну-ка быстро!

Поэтому от каждого нового танка обычно требуют одно и то же: уметь дырявить броню техники других стран. Наши танки должны быть в состоянии угробить любой танк НАТО, а любой танк НАТО — размолотить наш танк. Поэтому часто основное внимание при проектировании танка уделяют его вооружению, и уже затем — защите. С Т-80 получилось несколько иначе: от него в первую очередь требовали. скорость!

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

С 1969 по 1980 год основным танком Советской армии был Т-64А. Его скорость по шоссе составляла 45-50 км/ч. Если в начале 70-х это было нормальным, то к началу 80-х такая скорость оказалась уже слишком низкой. И это несмотря на то, что дизель 5ТД был разработан специально для этого танка и был по тем временам достаточно продвинутым (700 л.с., 2 050 Нм при всего 13,5 л объёма). Увеличить скорость можно было только одним способом — изобретать принципиально новый мотор. Учитывая среднюю массу танков такого типа в 40 тонн, новый двигатель должен был быть мощнее предыдущего на очень приличную величину.

Ещё в 1957 году на Кировском заводе построили опытный “объект 278” — машину с газотурбинным двигателем ГТД-1 мощностью 1 000 л.с. Но конструкция оказалась сырой, отчего проект так и остался проектом.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Задолго до начала проектирования Т-80 (на то время — “объект 219”) советским конструкторам пришла в голову просто невероятная идея поставить в танк двигатель от вертолёта. Нет, ну а что: тут и хорошая мощность, и надёжность… Такой танк сделали. Это была модификация Т-64Т с ГТД-3ТЛ (700 л.с.) Но и это чудо техники надежд не оправдало: оно слишком сильно тряслось от вибраций вертолётного мотора, жрало слишком много горючего, а места для экипажа практически не осталось вовсе. К тому же выяснилось, что из-за роста скорости почти до 60 км/ч (а это было очень хорошим показателем), танк придётся переделывать полностью: не справлялись трансмиссия и ходовая часть. Волей-неволей (точнее, совместным по­становлением ЦК КПСС и Совета министров СССР) конструкторам пришлось засесть за проектирование принципиально нового танка. Но обязательно — с газотурбинным двигателем.

Разработка и испытания нового танка затянулись на семь лет, и готов он был только к 1976 году. Выпуск первого в мире газотурбинного танка наладили на том же Кировском заводе.

Вот так и получилось, что танк стал быстрее, хотя и вооружение, и часть брони Т-80 всё-таки унаследовал от Т-64А.

Всё наоборот

К чему сейчас стремятся практически все автопроизводители? Кроме получения прибыли, конечно же? Да, все хотят сделать машину, которая внутри покажется больше, чем снаружи. У производителя танка такой мысли не было.

Снаружи танк и вправду получился большим: семь метров длиной (по корпусу, без пушки) и 3,5 — в ширину. Внутри всё обстоит иначе.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

В башне сидят два человека: командир и наводчик. Само собой, в бою голову из танка лучше не высовывать, поэтому их места оборудованы перископами, а место наводчика — ещё и прицелом ТПД-2-49 со стереоскопическим оптичес­ким дальномером. Кроме того командир может пострелять и сам. Для этого у него есть 12,7-мм пулемёт НСВТ “Утёс”. Правда, для этого ему придётся высовываться из своего люка.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Прежде чем попытаться проникнуть на место мехвода, посмотрим танк снаружи.

Железо, бревно и пыль

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Есть у американцев такой танк — M1 Abrams. Дружелюбные солдаты с его помощью распространяли демократию почти по всему миру. Например, в Персидском заливе. В основном он там воевал с иракскими Т-55 и Т-72, причём с последними — с трудом. Так вот у этого танка тоже газотурбинный мотор. И в песках он показал себя плохо: пыль и песок, попадающие в турбины, убивали мотор очень и очень быстро. А пока ГТД был ещё жив, американским военным приходилось постоянно очищать от песка бумажные воздушные фильтры. В итоге испытание пустыней Абрамсы не прошли. А вот у Т-80 система забора и фильтрации воздуха сделана совсем иначе. Во-первых, тут стоит блок воздухоочистителя инерционного типа (а не фильтр, как на Абрамсе). И только после него воздух проходит через воздушные фильтры соплового аппарата турбины высокого давления. Во-вторых, пыль отсасывается двумя вентиляторами. Есть ещё одна мера предосторожности на тот случай, если пыль или песок всё-таки попадут в мотор. Точнее, две — система сдува пыли и система вибрационной очистки. Первая выдувает пыль из межлопаточных каналов рабочих колес компрессоров, а вторая очищает корпус и лопатки соплового аппарата турбины в том случае, если пыль в камере сгорания уже расплавилась. А она это сделать может — температура тут поднимается далеко за 1 000 С.

А где же тормоз?

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

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

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Попробуем сочетать практику с теорией. И начнём с того, что хотя педали три, это не совсем привычные нам сцепление, тормоз и газ. Тут всё сложнее. Классического сцепления тут нет вообще. Бортовых планетарных коробок передач вообще две, а рычаг КПП — один. И всё-таки при разгоне эти 42 тонны валят так, что в кресло вдавливает, особенно на нижних передачах.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Левая педаль — это педаль РСА (регулируемого соплового аппарата). Он изменяет частоту вращения свободной турбины за счёт изменения угла поворотных лопаток в проточной части двигателя перед её рабочим колесом. Свободная турбина через редуктор соединена с трансмиссией. Эту педаль используем и как сцепление, чтобы включить передачу, и с её же помощью тормозим двигателем. Прежде чем включить передачу (две коробки, по одной на каждой борт, управляются одним “рычагом избирателя скорости”, перемещаемым по гребёнке), педаль надо выжить. Лопатки РСА встают в такой угол, при котором турбина переходит в режим нулевой мощности. Кстати, вот это отсутствие жёсткой механической связи мотора с коробкой передач и не даёт танку заглохнуть, даже если упереть его в стену. Так, отпускаем педаль и удивляемся. Танк едет не сразу, а с небольшой задержкой. Отчего она появляется — я точно сказать не могу. Зато потом…

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Разгон у танка очень резвый! А по сравнению с дизельным — и не такой шумный. Если слушать танк, встав позади него — да, это грохот свалки на Чудском озере. А с других сторон и даже внутри громче всего слышны вопли турбин. И ещё одна особенность — это лёгкие рычаги управления поворотом. Они с гидросервоприводами, и тянуть их со всей дури не надо. А вот понимать, как они работают, просто обязательно.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

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

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Так же, как и Т-62, Т-80 радует очень плавным ходом. Тут стоит похожая индивидуальная торсион­ная подвеска с гидравлическими телескопическими амортизаторами двухстороннего действия. А вдобавок — гусеницы с резиновыми бего­выми дорожками и резинометаллическими шарнирами. Они не только обеспечивают неожиданный от танка комфорт, но ещё и не так сильно шумят.

Ложки дёгтя

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Источник

Ностальгия: роемся у «Танчиков» под капотом

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкМногие из нас выросли на «Танчиках», «Марио» и прочих нетленных шедеврах времён рассвета игровой индустрии. Приятно порой вспомнить, как днями напролёт резались с друзьями у экранов телевизоров, меняя джойстики как перчатки. Но время не стоит на месте, и одни интересы сменяются другими. Однако, порой любовь к старым-добрым игрушкам не угасает.
Я отношу себя к людям именно таким, и мой интерес к старым играм пошёл в сторону реверс-инжиниринга, что и привело меня в IT-сферу, где я и осел с концами.

Я хочу рассказать вам о том, что же под капотом у железных монстров из знаменитой игры Battle City (в простонародье «Танчики») с не менее знаменитой приставки Nintendo Entertainment System (сокращённо NES, в России более известен её китайский клон «Dendy»). Мне в своё время эта информация показалась довольно любопытной — надеюсь, такой же она покажется и вам.

Предыстория

Несколько лет назад, изучая разнообразные графические библиотеки, я поставил перед собой цель написать точный клон «Танчиков». Так уж сложилось, что как раз в тот момент один мой знакомый занимался созданием довольно интересного ремейка путём модификации кода оригинальной игры, так что я решил проконсультироваться у него (кстати, огромное ему спасибо за консультацию и помощь в подготовке статьи). Тогда меня поразило то, какими методами реализовывался некоторый функционал. Вот и решил я, спустя годы, поделиться этими знаниями с общественностью: всё-таки это часть истории геймдева, которая может показаться интересной как ценителям классики, так и разработчикам современных игр.

Хочется сказать отдельное спасибо человеку под ником Griever за труды по декомпиляциии игры. Прежде всего благодаря полученным им исходникам стало возможно настолько подробно вникнуть в суть.

Карты уровней

Карты в Battle City состоят из тайлов — блоков размером 8×8 пикселей. Весь фон, видимый на экране, является картой — гипотетически даже со счётчиком жизней можно взаимодействовать, но по факту это, конечно же, не удастся.

Однако, в сериализованном виде уровни хранятся более компактно: для этого тайлы компонуются в блоки размером 2×2 тайла. Всего имеется 16 разновидностей блоков, которые приведены в таблице ниже. Хранится только основная часть карты (13×14 блоков), по которой и ездят танки — нет смысла сохранять статичные стены и вспомогательную информацию. Для записи одного блока используется 4 бита, таким образом, вся карта занимает 91 байт.

БлокКодБлокКодБлокКодБлокКод
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк0На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк1На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк2На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк3
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк4На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк5На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк6На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк7
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк8На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк9На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкAНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкB
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкCНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкDНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкEНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танкF

В отличии от блоков, разновидностей самих тайлов гораздо больше, а именно — 256, т.е. ровно столько, сколько вмещает одна страница знакогенератора — участок видеопамяти, где каждому тайлу соответствует индекс от 0 до 255. Тайлы используются как для создания окружения уровня, так и для отображения информации о количестве вражеских танков, жизней и т.п. Но непосредственно в элементах уровня их используется всего 22 — из них 6 для формирования перечисленных блоков, остальные 15 — дополнительные тайлы кирпичных блоков, о них стоит рассказать подробнее.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Поэтому, кстати, при уничтожении части кирпичного блока, танк не может въехать на освободившееся пространство — ведь сам тайл не был уничтожен.

Расположение точек респауна и орла на карте фиксированы, объекты будут появляться на своих местах независимо от того, что находится в месте их появления. Это и происходит, если во встроенном редакторе уровней «замуровать» эти участки.

Если кому-то интересно позаниматься картостроительством, то для этих целей существует хороший редактор Quarrel, который работает прямиком с образом игры.

Генерация случайных чисел

Задача генерации случайных значений с давних пор не давала покоя человечеству. Программным путём получить истинно случайное значение невозможно, поэтому зачастую задача сводилась к генерации псевдослучайных значений с распределением, близким к тому, что свойственно случайным.

Для компьютера с полностью детерминированным поведением генерация псевдослучайных чисел является ещё более сложной задачей. Например, при каждом запуске, оказывая одинаковое воздействие (нажимая одни и те же кнопки в одно и то же время), мы будем получать одинаковый ход игры — на этом принципе даже основаны записи игрового процесса, где для каждого кадра хранятся нажатые в тот момент кнопки. Но для нас это не столь критично: важно получать как можно более «случайные» значения в рамках одного сеанса.

Рассмотрим, как обстоят дела с Battle City. Здесь для генерации псевдослучайного значения используется несколько «случайных» сущностей — это предыдущее случайное значение, счётчик секунд и поочерёдно байты т.н. нулевой страницы — первых 256-ти байт оперативной памяти, которые процессор NES может адресовать быстрее и проще, чем остальные. Именно поэтому нулевая страница содержит наиболее часто используемые, и, как следствие, наиболее часто изменяемые переменные, что обеспечивает более равномерное распределение.

В итоге на конечное значение числа влияет множество факторов: нажатые игроком кнопки, координаты всех танков и пуль на экране, количество очков обоих игроков, состояние множества таймеров (таких как бонусные) и даже состояние звуковых каналов! Конечно, это далеко не полный список.

Само выражение, по которому высчитывается очередное случайное число, довольно простое. Не буду вдаваться в подробности, просто покажу, как это выглядело бы на языке C:

Как видно из кода, мы можем в любой момент получить псевдослучайное значение в диапазоне от 0 до 255. При том его распределение достаточно адекватно, в чём можно убедиться по нетленному геймплею.

Бонусы

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Кстати, в пиратских версиях с пистолетом присутствует ещё один бонус — корабль, который позволяет передвигаться по воде. Также в некоторых модификациях бонусы могут брать и противники, что в корне меняет баланс игры. Существовали даже целые сборники подобного рода модификаций, где версии различались разными подобными мелочами.

Судя по всему, изначально планировалось включить в игру восемь бонусов, но в итоге их осталось шесть. Однако, при появлении бонуса берётся случайное значение по модулю 8 (от 0 до 7), которое является индексом в таблице бонусов, где место не включенных в игру бонусов повторно заняли звезда и граната. В итоге вероятность их выпадения равна 1/4, в то время как вероятность выпадения остальных бонусов равна 1/8.

Бонусы часы и каска действуют 10 секунд (при респауне игрока каска действует 3 секунды, включая время на респаун), бонус лопата — 20 секунд.

Сами носители бонусов — мигающие танки — появляются, если у врага в ангарах остаётся 17, 10 или 3 танка. Т.е. танки под номерами 4, 11 и 18 — бонусные.

Стоит упомянуть, что секунда по меркам игры длится немного дольше обычной: у NTSC-версии консоли частота обновления экрана составляет 60 кадров в секунду, и самым простым способом вести счёт секунд является в каждом кадре увеличивать номер секунды, если счётчик кадров по модулю 60 равен нулю. Но для упрощения вычислений, а также, чтобы обнуление счётчика кадров в результате переполнения не влияло на подсчёт таким способом, это число округлили до 64 (0x40) — для взятия числа по этому модулю достаточно произвести логическое умножение на 0x3F. Получается, что игровая секунда составляет 1.06 реальной секунды, но это не касается временных отрезков, которые измеряются количеством кадров.

Занимательный факт, известный каждому знакомому с игрой: перед тем, как перестать действовать, защита вокруг штаба начинает «мигать», превращаясь то в кирпичное, то в бронированное ограждение (происходит это в последние 4 секунды действия бонуса). При этом, даже если защита вокруг штаба была частично или полностью уничтожена, каждый раз при мигании она восстанавливается, пока полностью не превратится обратно в целую кирпичную стену.

Интеллект противников

Конечно, AI в танчиках не представляет собой тактический анализатор, но кое-какая логика всё же высчитывается.

Существует три периода поведения танков: сначала они движутся хаотично, затем они преследуют игроков, и, в конце концов, начинают атаковать штаб. Длительность первых двух периодов одинакова и равна восьми периодам респауна. Т.е., поделив время респауна на 8, мы получим длительность в секундах (или, умножив на 8, получим то же самое время в кадрах) — например, для первого уровня и одного игрока это будет 23 секунды. Третий же период будет длиться до тех пор, пока счётчик секунд не обнулится (достигнув 256), и цикл периодов не начнётся заново.

Вся эта вражеская тактика основана на системе команд, для чего выделено 8 байтов: два под танки игроков и шесть под вражеские танки. Четыре старших бита такого байта используются под команду, оставшиеся четыре младших — под её аргументы (как правило это направление движения). В итоге получается 16 команд, под каждую из которых существует обработчик. Обработчики вызываются раз в кадр для каждого танка после обработки движения.

Существует функция смены направления, которая при вызове в первом периоде поведения меняет направление танка случайным образом, во втором периоде даёт танкам с чётными номерами команду двигаться к первому игроку, с нечётными — ко второму, а в третьем даёт команду двигаться в сторону штаба.

При пересечении вражеским танком границы тайла (когда обе коодринаты становятся кратны восьми), существует вероятность 1/16, что для танка будет вызвана эта функция. Если же координаты танка не были кратны восьми, либо же не была вызвана функция смены направления, и при всём этом танк упирается в препятствие, то с вероятностью 1/4 произойдёт следующее: танк сменит направление на противоположное, если хотя бы одна из координат не кратна восьми, в ином случае танку будет дана команда смены направления.

При выполнении команды смены направления происходит несколько другое: с вероятностью 1/2 вызывается описанная выше функция, иначе с равными вероятностями циклически берётся либо предыдущее, либо следующее направление из списка: вверх, влево, вниз, вправо (т.е. танк поворачивается либо по часовой, либо против часовой стрелки).

Можно представить всю эту логику в виде такого псевдокода:

Интересная ситуация получается, когда танк упирается в препятствие или стену — поскольку в таком случае, даже если танк не повернул, одна из координат постоянно кратна восьми и перед ним существует тайл-препятствие, то вероятность поворота возрастает в разы. Поэтому танки практически не застревают на месте: даже попадая в угол или нишу, они довольно быстро оттуда выезжают.

Не менее интересно обстоят дела с вражескими выстрелами. Сами по себе они происходят абсолютно обособленно от танков — у каждого врага есть одна пуля, а выстрел в каждом кадре сам решает, запустить эту пулю или нет. Если пуля уже в полёте, то выстрела не происходит, иначе существует вероятность 1/32, что танк выстрелит. В таком случае, пуля оказывается на передней границе танка по её центру и наследует направление своего танка.

Стоит сказать пару слов и о поведении танков игроков в режиме демонстрации. Тут всё просто: если на экране есть бонусы, танки стремятся к ним (при этом могут застрять по пути, если пуля пролетает мимо препятствия, в которое они упираются). Иначе они просто преследуют первый доступный танк, а если таковых не осталось — стоят на месте. Снаряды выпускаются по тем же правилам, что и у вражеских танков. Огонь по своим в демо-режиме не даёт эффекта.

Обработка коллизий

Расчёт коллизий всегда был довольно ресурсоёмкой задачей, что может быть критично для такого процессора, как у NES. Просчёт взаимодействия между танками с реализацией «в лоб» требовал бы сравнить каждую пару танков, что, несмотря на их небольшое количество, всё же довольно дорогостоящая процедура для процессора с тактовой частотой 1.76 МГц. Но не стоит забывать, что кроме танков по карте передвигаются и выпущенные снаряды. Поэтому разработчики пошли на довольно интересную хитрость.

Дело в том, что каждый танк… «рисует» под собой невидимую стену. Таким образом, обнаружение коллизии между танками происходит на этапе обнаружения коллизий между танками и элементами уровня, для чего достаточно лишь определить, имеется ли по определённой координате препятствие. Имеет это и побочные эффекты: наверняка многие замечали, что если пытаться «въехать» сзади в движущийся вперёд танк, движение игрока блокируется, пока танк не отъедет на некоторое расстояние — как раз в этот момент он переезжает на следующий тайл, «рисуя» там новую стенку и «стирая» старую.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

При попадании снаряда одного игрока по другому, второй теряет управление движением на 192 кадра, т.е. на три игровых секунды. Но в режиме демонстрации этого не происходит.

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

Движение

Скорость в игре обуславливается количеством пропускаемых кадров при изменении координат. Так, например, у игрока координата меняется каждые три кадра из четырёх, у самого быстрого врага в игре — каждый кадр.

То же самое касается и снарядов — их существует два типа: быстрые, летящие со скоростью 4 пикселя в кадр, и медленные, имеющие скорость 2 пикселя в кадр.

ТанкСкорость, px/frameТип снарядаТанкСкорость, px/frameТип снаряда
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк3/4МедленныйНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк2/4Медленный
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк3/4БыстрыйНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк4/4Медленный
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк3/4БыстрыйНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк2/4Быстрый
На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк3/4БыстрыйНа чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк2/4Медленный

Поскольку при движении необходимо обрабатывать и коллизии, то уместно было бы оптимизировать рассчёты, как можно более равномерно распределив их по кадрам. При самом простом подходе достаточно было бы в чётных кадрах обрабатывать перемещение всех врагов, а в нечётных только передвижение шустрого БТР. Но тогда нечётные кадры могли бы быть перегружены, и игра бы просто лагала.

На самом деле нагрузка распределена довольно хитро. Производится «XOR» между номером кадра и номером танка, и только потом проверяется чётность/нечётность результата. В итоге получается, что в чётных кадрах обрабатывается одна половина медленных танков, а в нечётных — другая.

И немного информации о скольжении на льду. Тут всё просто: после того, как игрок отпустит кнопку направления на льду, танк будет ехать сам ещё 28 кадров (т.е. проедет 21 пиксель) или пока не выедет со льда. В этот период состояние его гусениченого трака не меняется и звук езды не проигрывается, а если нажать кнопку направления уже на льду — будет проигран характерный звук, если таймер скольжения в этот момент равен нулю.

Пасхальные яйца

Пасхальные яйца встречаются во многих играх того времени, не обошли стороной они и Battle City.

Если на титульном экране выбрать режим CONSTRUCTION, войти и выйти из него 7 раз (нажимая START, START), затем зажать на первом джойстике кнопку «вниз», нажав на втором кнопку A 8 раз, потом зажать на первом джойстике «вправо», нажав на втором кнопку B 12 раз, и, наконец, нажать на первом джойстике кнопку START, то мы увидим трагическую историю любви.

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Кроме того, в игре можно встретить неиспользуемые данные — имена разработчиков (RYOUITI OOKUBO, TAKEFUMI HYOUDOU, JUNKO OZAWA) и иероглифы, означающие имя главного героя лавстори и название улицы (возможно, на которой жил он сам или его возлюбленная).

На чем едет танк. Смотреть фото На чем едет танк. Смотреть картинку На чем едет танк. Картинка про На чем едет танк. Фото На чем едет танк

Пожалуй, здесь я не буду вдаваться в подробности, ибо это подробно изложено по ссылке чуть выше.

Эпилог

В заключение хочу сказать, что раньше создание игр было в некотором смысле всё же большим искусством, чем сейчас. Это же колоссальное мастерство — уложиться в ограничения аппаратной части, и в то же время создать хорошую игру. Это сродни демосцене, которая, по сути, преследует те же самые цели — создавать шедевры там, где это сложно вообразить.

В наши дни всё это уходит в прошлое, позволяя не особо задумываться о способах реализации. На мой взгляд, это сильно понижает порог вхождения в процесс разработки игр, что постепенно, но верно превращает его скорей в обыкновенный бизнес, чем в искусство. Хотя, возможно, я просто слишком эстетичен в этом отношении.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *