Сайт Ивана Сирфидова
     
 

Ж у к и
Версия 2.0
Demo HTML Game
2000/2019



Screen
Скриншот





Общие сведения

Эта игра является обычным HTML-документом, проще говоря, Web-страничкой, написана она на языке VBScript с небольшим добавлением JavaScript. Исходную (первую) версию я сделал ещё в начале 2000-х, кажется ровно в 2000-м (точно уже и не помню). Она тоже присутствует в версии 2.0, её тоже можно запустить. Не знаю, первая эта была браузерная игра в мире, или всё же нет, во всяком случае понятие «браузерная игра» в те годы ещё отсутствовало в массовом обиходе, мне оно было незнакомо, поэтому, придумывая, как назвать свою игру, я назвал её HTML-игрой. Как она работает: эта игра, то есть этот документ, сначала генерирует и записывает сам в себя 54 ряда по 113 картинок размером 17х17 пикселей каждая, и так формирует игровое поле, состоящее, легко посчитать, из 54х113 = 6102 клеток. А потом просто управляет этими картинками, перезаписывая меняющиеся, они как бы служат экранной областью для отображения происходящего в игре. Зачем я её делал – в начале 2000-х я пытался с языка программирования «ассемблер» перейти на что-то ещё, понятия не имея, на что, первое, что попалось под руку, был HTML, и так как я на ассемблере делал игры, в процессе освоения HTML привычно попытался сделать игру.

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





Системные требования

  • Браузер Internet Explorer - эта игра написана на языке vbscript, который поддерживает только Internet Explorer. На любых других браузерах она работать не будет. При запуске в Internet Explorer у вас появится окошечко с предупреждением, что выполнение сценариев отключено, и кнопочкой «разрешить заблокированное содержимое». Эту кнопочку соответственно надо нажать.
  • Разрешение экрана – широкоформатное (16/9), желательно 1920х1080, при иных разрешениях вам придётся масштабировать Internet Explorer (что в общем-то не сложно). Игра рассчитана на полноэкранный режим (включается в IE кнопкой F11), в полноэкранном режиме при разрешении 1920х1080 и масштабе 100% она занимает ровно весь экран. Если ваш монитор не широкоформатный или имеет низкое разрешение, вы может запустить старую версию игры, которая рассчитана на разрешение 1024х768.





Запуск игры

Имеются два варианта запуска, в них есть некоторые различия.

  • Вариант1) Откройте документ «igra.htm» в Internet Explorer и нажмите ссылку «Запустить игру». В открывшемся окне вам предложат разрешить выполнение сценариев, разрешите их. Если Internet Explorer находится у вас не в полноэкранном режиме, включите полноэкранный режим клавишей F11. Если игровое поле занимает у вас не весь экран, отмасштабируйте игру средствами Internet Explorer (подробней о масштабировании чуть ниже).
  • Вариант2) Откройте документ «FullScreen.htm» в Internet Explorer. В открывшемся пустом окне вам предложат разрешить выполнение сценариев, разрешите их. Откроется новое окно, с сообщением о загрузке игры, вам снова предложат разрешить сценарии, разрешите их. Игра запустится у вас в принудительном полноэкранном режиме, причём выйти из него кнопкой F11 не получится. Для выхода из игры используйте клавишу Esc.

О масштабировании. В 2000-м такой проблемы не было, сейчас я с ней столкнулся. Не знаю, как у вас, а у меня Internet Explorer страшно тупит с масштабированием, зачастую сам пытается масштабировать окно игры при её запуске, типа он сильно умный, и не угадывает масштаб, делая его меньше 100%, или больше, или указывая, что установлен 100% масштаб, а в реальности тот гораздо меньше. И если он делает масштаб меньше, порой включает зачем-то полосы прокрутки, а если делает масштаб больше 100%, никогда их не включает (вот же парадокс). При нормальном масштабе игровое поле должно у вас занимать весь экран, то есть у вас стенки, обрамляющие игровое поле сверху, слева и справа, должны быть видны, и должна быть видна панель управления жуком снизу (см. скриншот). Регулируется масштаб в Internet Explorer тремя способами:

  1. Зажимаем клавишу [Ctrl] и крутим колёсико мыши.
  2. Зажимаем клавишу [Ctrl] и нажимаем клавиши [+] и [-] на цифровой панели клавиатуры. У меня обычно при запуске игры масштаб был меньше 100%, я нажимал [Ctrl] + [+], масштаб становился больше 100%, я нажимал [Ctrl] + [-], и он становился 100%. Но если случайно лишний раз нажать изменение масштаба в ту или иную сторону, например, дважды [Ctrl] + [+], нередко масштаб уже нельзя было вернуть ни кнопками ни мышью на 100%, он начинал проскакивать мимо 100%, скажем, на 94%. В этом случае выручает способ 3.
  3. Выходим из полноэкранного режима (клавишей F11), выбираем в меню Internet Explorer пункт «страница», в нём пункт «масштаб», и выбираем там 100%. Если масштаб всё равно не стал 100%, снова пользуемся способами 1 и 2, теперь они не должны проскочить мимо 100%.





Правила игры (для версии 2.0)

В этой игре вы - большой хищный жук, и ваша первоочередная задача - оставаться в живых как можно дольше. Для этого вам нужно пить и есть, а питаетесь вы маленькими жучками, которые шныряют по полю и могут прятаться в норки. Маленькие жучки периодически размножаются, так что вам нельзя съедать их всех (если это не является задачей прохождения уровня), иначе в конце концов вы умрёте от голода. Размножаться можете так же и вы. Когда индикатор зрелости личинки дойдёт до 99%, вы можете отложить личинку, которая со временем, если её кормить, способна развиться в куколку, а тогда вы не проиграете, даже если умрёте (скажем, от старости – ваш жук стареет), так как из куколки тут же появится новый большой жук. Личинка не может перемещаться сама, так что вам придётся её выкармливать, доставляя еду к её голове, а питается она, кстати сказать, вашими же какашками. К сожалению, маленькие жучки - ваша еда - тоже не прочь полакомиться вашими отходами пищеварения, поэтому вам придётся охранять свои какашки от них, если вам не безразлична судьба вашей личинки. Какать вы можете, когда индикатор отходов пищеварения достигает 33%, однако лучше дождитесь, пока он дойдёт до 100%, при этом концентрация отходов будет в 3 раза выше, и личинка сможет питаться ими в три раза дольше. Учтите, откладывать личинку необходимо таким образом, чтобы около неё не было жёстких препятствий вроде камней, стен или больших лужиц воды, иначе она либо умрёт (если не сможет вырасти), либо превратившись в куколку не сможет превратиться потом в жука, когда вы умрёте, так как жук гораздо больше куколки по размерам и для превращения ей требуется свободное пространство. Кнопка «Спячка» нужна вам для случаев ожидания. Например вы съели больше жучков, чем следовало, и теперь необходимо дождаться, пока они размножатся. В состоянии спячки все ваши процессы жизнедеятельности замедляются в несколько раз. Что касается маленьких жучков, они питаются кустиками, и если вы изгрызёте все кусты, или если жучков расплодится слишком много и они сами слопают всю растительность, они вымрут от голода, а тогда, в конце концов умрёте и вы.

Наряду с выживанием вашей задачей, само собой, является прохождение уровней. Задачи прохождения уровня отображаются на панели управления жуком ниже номера уровня. У разных уровней они различаются. На данный момент в игре имеется лишь два уровня. Она демонстрационная, я собственно не уверен, что в неё будут играть, поэтому уровня только два. Важно! Прогресс прохождения уровней не сохраняется. Если вы закроете игру, при следующем запуске она начнётся сначала, с первого уровня. Но в принципе это не проблема, ведь эта игра - документ, т.е. доступна для правки. Чтобы сменить уровень принудительно, закройте игру, зайдите в её папку «igra», найдите там документ «game1.htm», откройте его в блокноте, найдите поиском в тексте выражение «CurLvl= 1», исправьте 1 на 2, ну и не забудьте сохранить изменения.





Клавиши управления

Управление в игре осуществляется частично с клавиатуры, частично с панели управления жуком. Клавиши клавиатуры используются следующие:

  • Клавиши-стрелки и так же клавиши W, A, D, S – перемещение, разворот.
  • Enter – действие: пить воду, съесть дохлого жучка, изгрызть куст, схватить маленький камушек или какашку, чтобы перемещать их, пятясь задом (для перемещения вперёд камушка или какашки хватать их нет нужды, просто толкайте их челюстями, чтобы бросить захваченный камушек или какашку, повернитесь в любую сторону).
  • Esc – выход из игры.

Чтобы поймать маленького жучка, вам необходимо только настичь его. Никаких клавиш для умерщвления жать не надо. Как только жучок окажется рядом с челюстями большого жука, жук сам схватит его и умертвит.

Внимание! Если клавиши не работают, кликните мышкой по игровому полю, и они заработают.





Панель управления

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

Индикаторы жизненных параметров:

  • Жизненный цикл - возраст жука. Когда дойдёт до 100%, жук умрёт.
  • Жизнеспособность - состояние здоровья жука, зависящее от его возраста, уровня обезвоженности и пищевой потребности. Если жизнеспособность упадёт до нуля, жук умрёт. Если его пищевая потребность или обезвоженность достигнет 100%, он так же умрёт. При низких значениях жизнеспособности жизненный цикл жука ускоряется, он стареет быстрее.
  • Обезвоживание, пищевая потребность – индикаторы уровня жажды и голода. Имейте в виду, когда ваш жук двигается, его организм затрачивает больше энергии, поэтому его потребности в пище и воде увеличиваются, особенно если он движется под грузом, т.е. тащит камушек или какашку.
  • Зрелость личинки – индицирует, может ли жук отложить личинку. Возможность отложить её появляется по достижению 99% зрелости.
  • Отходы пищеварения – индицирует, может ли жук покакать, и насколько питательной для кормления личинки какашкой. Стадии: 33% - какашка низкой концентрации питательности, 66% - средней, 100% - высокой.

Кнопок на панели управления имеется 5, но назначение большинства из них понятно из их названий, отдельного описания требуют только две:

  • Спячка – жук впадает в спячку, его внутренние жизненные процессы замедляются в несколько раз.
  • Сначала – перезапуск уровня или запуск следующего уровня. Если уровень пройден, т.е. если его задания выполнены, игра выведет сообщение об этом, но не запустит сама следующий уровень – чтобы запустить его, нужно нажать данную кнопку.





История версий

v. 1.00 – 2000, базовая версия.


v. 1.02 – 29.01.2019, ремонт. Это всё та же игра 2000-го года. Уже много лет назад я заметил, что игра на новых виндоус не работает, но почему-то мне не было до этого дела. И вот теперь решил всё же попытаться её исправить. Оказалось, достаточно вставить в её главный фрейм строку «<meta http-equiv="x-ua-compatible" content="IE=4">», и жучки в ней снова забегали.


v. 2.00 – 05.07.2019, апгрейд. Было у меня свободное время, и я подумал, а чего бы не подправить игру, дабы она соответствовала современным реалиям, раз уж она снова работает. Заодно вспомню былые времена, когда я делал игры. Список изменений:

  1. Игровое поле увеличено по площади почти в три раза, с 2040 (60х34) до 6102 (113х54) клеток.
  2. Максимальное количество жучков увеличено с 20 до 30.
  3. Добавлен второй уровень. Добавлены задачи уровней.
  4. На панель управления жуком добавлены индикаторы игровой статистики.
  5. Немного исправлено поведение жучков. Теперь они реже будут сами бежать большому жуку в пасть.
  6. Жучкам добавлена «генетическая» (наследуемая в потомстве с небольшими отклонениями) характеристика храбрости, влияющая на некоторые аспекты их поведения. Это значит, что если вы легче ловите смелых жучков, их станет меньше, расплодятся более трусливые, и затруднят вам игру.
  7. Игра переведена большей частью из кода «а-ля ассемблер» в объектную форму. Без этого исправить её было невозможно. Теперь если кто-то захочет попробовать на её основе сделать что-то своё или внести какие-то исправления в её код, наверное это вполне реалистично. К слову, VbScript очень прост и очень похож на Pascal, я не изучал VbScript, не работал с ним ни до и после этой игры, но у меня не было проблем ни с её написанием, ни с её исправлением через 19 лет после написания. При том, что вообще-то я даже не программист.
  8. Добавлен пусть примитивненький, но редактор уровней (JukiPoleMkr.exe) – программка, позволяющая преобразовывать массивы, задающие уровни в игре, в более наглядную и удобную для редактирования форму. Если кто-то захочет попробовать сделать свой уровень – флаг вам в руки и удачи.





Старая версия игры (v. 1.02)

В исходной версии игры нет уровней, соответственно она более похожа на демонстрационную, и единственный её смысл – оставаться жуку в живых как можно дольше. Нужно ловить и есть маленьких жучков, но не съедать их всех, чтобы они плодились и снабжали таким образом вас пищей. Но и нельзя давать жучкам слишком расплодиться, иначе они сожрут все кустики и издохнут с голоду, обрекая тем самым и вас на голодную смерть. Ещё следует откладывать личинки и выкармливать их в куколки, чтобы после смерти от старости или иных причин продолжить игру, возродившись из куколки. В старой игре гораздо меньше игровое поле, не поддерживаются клавиши W, A, D, S, Esc, жучки чуть глупее и их не может быть более 20, а личинка не переродится в жука при наличии любых препятствий рядом – не только стен и камней, но и кустиков, и дохлых жучков, и малых лужиц воды. Вот пожалуй и всё. Ну и ещё она сделана в стиле ассемблера, без использования объектов, локальных переменных, передачи параметров методам. Разобрать её код кому-то кроме меня вряд ли реалистично. Я и сам не всё смог разобрать через 19 лет. В частности, большую часть кода поведения жучков - пришлось оставить её как есть, какой была, без исправлений, без перевода в объектную форму.