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
А вы помните эти легенды?
Я думаю, что многие здесь помнят этот прекрасный момент, когда бежишь домой со школы, и тебя там ждут эти шедевры.
1. Earthworm Jim
MK85 RUNNER. Игра для микрокомпьютера Электроника МК-851
Игра MK85 RUNNER для микрокомпьютера Электроника МК-85. Написана на Бейсике по мотивам хита 80-х Lode Runner. Можно бегать, лазить, падать, прожигать блоки и собирать клады. Доступно для прохождения 192 уровня, врагов в игре нет:)
Проголодались?
Тогда вам срочно нужно сыграть в три простых игры на везение. За победу раздаем промокоды на заказ пиццы и других аппетитных блюд. Попробуете?
Золотая лихорадка | Lode Runner
Здравствуйте! Открываем 3 сезон ретро-игрового сериала эпизодом про игру Lode Runner для NES/Famicom, которая вышла в Японии в июле 1984, в Северной Америке в сентябре 1987, а в Европе никогда не выходила. Всем приятного просмотра!