Lode Runner на NES: Space Panic на максималках
Про "Панику в космосе" я недавно писал вот тут. Наверное, не всем из нас довелось в неё поиграть в детстве - я, например, о её существовании узнал сравнительно недавно. Однако при одном только взгляде на неё в памяти возникает другое словосочетание: Lode Runner. Уж в этот шедевр наверняка играли все, кому лет 35 и выше.
Да, Lode Runner - это, так сказать, "развитие темы" Space Panic. Принцип игры тот же самый: нужно бегать по лестницам и кирпичным платформам, рыть ямы и заманивать туда врагов. Только теперь уничтожение врагов не является целью, да и совсем убить их невозможно: зарытые в яме противники воскресают в верхней части поля.
Теперь цель игры - собрать золото. После этого появляется спасительная лестница, ведущая наверх. Уровни теперь занимают два экрана (в 1983 году создатели освоили боковой скроллинг) и имеют самые причудливые формы. Игра превратилась в головоломку, где необходимо много думать. Много - да ещё и быстро, а то съедят.
Бывший Бомбермен
Изначально Lode Runner появился на компьютерах Apple II. Выглядела игра довольно скромно - даже проще, чем "Космическая паника".
Но затем за неё взялись монстры из Hudson Soft, чтобы портировать на NES. Перед этим у "Хадсона" вышел другой игровой хит - "Бомбермен". Поэтому решено было представить Lode Runner в качестве этакого сиквела. Финальная сцена в "Бомбермене" показывает, как герой превращается из робота в симпатичного человечка. Вот и в новой версии "Раннера" мы играем за этого же персонажа, а в качестве врагов выступают... другие роботы-бомбермены. Графику тоже заметно усовершенствовали.
Именно здесь абстрактные "клады" впервые превратились во вполне осязаемые кучки золота, сверкающие манящим светом. Сам персонаж - не просто "человечек", а космический рейнджер, посланник Галактической Федерации, который должен вернуть своей стране золото, украденное жестокой Империей и спрятанное в мрачных подземельях.
Борьба с Империей - бесконечна
Правда, Lode Runner для NES не имеет конца: после 50 уровня снова начинается первый, разве что противники движутся быстрее.
Кстати, "градус дикости", свойственный Space Panic, здесь поубавили - теперь врагов, попавших в яму, не нужно добивать лопатой. Да и сам герой выглядит миролюбиво. На некоторых уровнях вообще нет кирпичных платформ, из-за чего никого убить не получится.
И в заключение...
И в заключение - прохождение 9-го уровня, который поначалу кажется (по крайней мере мне) довольно сложным. При неправильных расчётах можно очень легко замуровать самого себя. [К сожалению, пришлось немного обрезать начало и конец, но там, думаю, и так всё понятно]
LodeRunner — игра, которая вернула меня в детство
После «Войны и мира» (да -да-да, я её дочитал — просто чтобы закрыть ачивку 🙃 это было долго и меня посещали разные эмоции ...) тратя в пустую время скроля\читая мелькнуло что то о ретро.. не знаю, был ли это YouTube( Kinoman или Pixel_Devil( — но я скачал эмулятор на мобилку.
Решил: раз уж взрослый и «большЕнький» — надо брать что-то непонятное и сложное.
Сначала попробовал Field Combat (помните, где НЛО что-то излучает?).
Не осилил. Ни тогда, ни сейчас. Моих когнитивных способностей не достаточно
А потом вспомнил LodeRunner.
И — сердце ёкнуло.
Среди серых и скучных «вещей» прошлого — вот оно, то самое чувство: «О! боль в моя дырка задница»
Запустил челлендж — пройти все уровни.
Эмулятор спасает: можно сохраниться в любой момент, времени на «марафон» нет, но при гейм овере с первого уровня.
Что удивило?
Игра проще, чем кажется.
Да, есть уровень с кучей лесенок — там один неверный шаг в начале = гейм овер. Но всё остальное — чистая логика:
Запомни карту (обычно на один экран),
Пойми, как враги реагируют на твои действия,
И просто бежи, как будто за тобой налоговые инспекторы.
Почему LodeRunner — шедевр?
✅ Звук — этот «топ-топ-топ» при беге вызывает ностальгию....
✅ Простота с завуалированной сложностью — первое впечатление что сложно, медвежата бесят, но чуть внимательности и вуа ля.
✅ Реиграбельность — можно пройти один и тот же уровень по-разному (кроме проклятых лесенок 😅).
Целую неделю я бродил этим коридорам, ставил ловушки и выкрадывал кучки золота.
И каждый раз — и раньше: сердце колотится, пальцы потеют, а в голове только одна мысль — «ещё один уровень».
P.S. царапаю с целью заполнить время, не повторить старые паттерны поведения. Заказал на озоне джойстик (почти самый дешевый Т9, сами нагуглите если интересно) - думаю проведу еще пару вечеров за нетленками.
тот самый уровень
15. Разделение внутреннего и внешнего - Порядок в проекте Construct 3 - собственный взгляд
Добрый день!
Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.
В каждой игре есть внутренняя часть и есть внешняя.
Внутренняя - это обработка событий, работа с переменными, изменение массивов и т.д.
Внешняя - передвижение персонажей по экрану, нажатие кнопок, раскрывание окон и т.п.
Внутреннее и внешнее лучше разделять в тех случаях, когда требуется максимальное быстродействие игры.
Например, если есть игровое поле из квадратиков и нужно знать, в каком квадратике находится герой. И знать это нужно часто и быстро.
Если по 60 раз в секунду опрашивать каждый квадратик на пересечение со спрайтом героя - это может затормозить игру.
А если герой скачет достаточно быстро - то игра может не успеть просчитать его столкновения и не учтёт какое-нибудь важное событие.
В таких случаях лучше перенести обработку событий во внутреннюю часть - завести массив, в котором будет отмечаться, где находится герой.
И соответственно - проверять уже не каждый квадратик поля а каждую ячейку массива на наличие в нём "символа" героя. Это будет значительно быстрее.
А игроку можно будет показывать уже только результат этой проверки.
Как говорится - разделяй и властвуй.
P.S. По поводу игры на скриншоте - она называется Running Eva. Это мой клон старенькой игры Lode runner, которая существовала ещё на компьютерах ZX Spectrum.
Хотя в целом игра работает и в ней даже есть несколько уровней, мне пока не удалось прописать в ней приличный ИИ для врагов. Они вроде бы бегают за героиней, но как-то кривовато. Может со временем допилю.
Поиграть можно здесь:
https://dharmagames.ru/games/arcade/runningeva/index.html
P.P.S. Как обычно, Телеграм:
https://t.me/toyprogrammer
Ответ на пост «Лучшая игра моего детства»2
Не помню уже как эта игруха называлась, но мы её называли "чёртики" могли часами в неё классом в школе рубится. Дело было с начала 90-х и по 99-й пока школу не закончил))) ещё на старом чёрно-белом "Корвете", а в середине 90-х закупили целый класс уже цветных. Хоть игруха и была ЧБ но это уже был совсем другой уровень)
P.S. Вроде так из 15 человек нашего класса её ни кто и не прошел, не хватало времени, а дома в деревне еще тогда компьютеров не было...
Продолжение поста «MK85 RUNNER. Игра для микрокомпьютера Электроника МК-85»1
Новая версия MK85 MEGA Runner.
Запустить можно в эмуляторе, предварительно подгрузив файл с текстом программы ниже.
Ссылка на эмулятор МК-85 (JS85EMU):
https://mk.bs0dd.net/index.php?lang=rus&page=jsemu%2Fmk85%2Fmain
// MK85 MEGA Runner v1.9.0.2(2) 2025.02.11 (c)2024 DISSEMBILL software by Nick Korn
//
// Игра MEGA MK85 Runner для микрокомпьютера МК-85.
// Автор Николай Корнейчук.
//
// В игре 240 уровней, по 7 кладов в каждом.
// Ходить влево и вправо: 4 и 6;
// Лезть по лестнице вверх и вниз: 8 и 2;
// Прожигать блоки слева и справа: 1 и 3.
//
1 VAC:O$="":GOTO 86
2 CSR P:PRINT CHR 96;
3 $="63761C6DA1OEOMG":RETURN
4 $="KFSI2LF6AA5U798":A=FRAC (Y/5)*60+P+7:RETURN
5 $="COSCG6CMAG3E3D1":RETURN
6 Z=B(P):$="VVVV000EAE0000099F9999F9900009":S$=MID (5-SGN Z,1)
7 R$="":IF Z<=1 THEN 4:R$="F9":IF Z>3;R$="VV"
8 S$=MID (36-Z*5,5)+R$:GOTO 4+V
9 $="МЛМУЕЧЛЙЛитМБфцфцМыиБикфуЛуЯйН":RETURN
10 $="ВЕНГЕГЁьПувёУяиЕМуЕМитффжМиБии":RETURN
11 $="ФМЩЛОМтюПБфюБфитиПтюПБфюЙииуЛМ":RETURN
12 $="ЩГВВЭЛЛуМНКШКЧЧЩЙКкЛЛХПкЙБйЯий":RETURN
13 $="ЕФГВГВёёщгёВщуямтМялЧЧШЛЯйММЛЙ":RETURN
14 $="ЕОВВЕЕтмммтякОВЧШицгЁУШфРлМиЙи":RETURN
15 $="ВЕЧЧЧЭЕуЛМЛЙщИйфбкёЬЧЧЬБтИИИИя":RETURN
16 $="ЕМГЕМГтиуьЬжцфюьПфккМтиАБРиРюж":RETURN
17 $="ВЕФГЕГЁёёчьёВчёупёЁьёьПтМпжуМБ":RETURN
18 $="ЛЧЁВВФБЁВЕМётЧЁьПёШЁЁьютБММяий":RETURN
80 IF LEN O$=7;W=W+5:O$="":IF Y=W-1;Z=4:FOR P=T TO T:GOTO 93
81 U=-1:LETC "05U798":Q=ASCI KEY-50:IF Q>=2;IF Q<=4;V=Q-3
82 IF ABS Q*SGN Y=1;IF B(X+Q)=5;FOR P=X+Q TO P:Z=U:GOTO 93
83 IF Z>0;U=U+SGN INT (ABS Q+Z/4):IF ABS (Q*Z-21)=3;U=1:LETC "7E910"+R$
84 IF U=0;IF B(X+V)>6*ABS V THEN 81:LETC S$:GOSUB 2:X=X+V:GOTO 94
85 GOSUB 2:IF Y*U+U=W;IF O$="";PRINT W/5;N;:IF Y>=1199;END
86 Y=Y+U:FOR P=0 TO 11:V=P/2:A=Y/50:IF FRAC V<>0 THEN 89:GOSUB 9+FRAC A*10
87 R=A/12:R=FRAC (INT (INT V*(1+INT R)+INT (P/6)*INT R+A)/6)*6+1
88 Q=ASCI GETC ($,FRAC (Y/5)*30+R)/8-16
89 Z=INT Q:IF P<>INT V*2+SGN FRAC(INT (A/6)/2);Z=FRAC Q*8
90 IF B(P)+U+9=Z;Z=5
91 GOSUB 4:FOR R=1 TO LEN O$:IF Z=6;Z=5:IF ASCI GETC (O$,R)<>A;IF Y>=W;Z=6
92 NEXT R:IF Z=4;T=P:IF Y=W+4;Z=5
93 CSR P:PRINT ".";:B(P)=Z:V=0:GOSUB 6:LETC S$:GOSUB 2:NEXT P
94 P=X:FOR U=1 TO 11 STEP 5:GOSUB 6:IF Z=6;GOSUB 4:O$=O$+CHR A:B(P)=5
95 LETC MID (U,5)+R$:GOSUB 2:NEXT U:N=N+1:GOTO 80





