Mickey the Basic game
This fall there was a competition for the best
game in BASIC - "Best Basic Game".
Hippiman contactedSergei Neznany,
better known as Sergio, the author of the game
"Mickey" is one of the most interesting
games among those presented.
Hippiman>
Hello, Sergey! Congratulations on your second
place! I have a few things for you─
questions, the answers to which, I think, would be
very interesting to our readers.
Sergio>
Hello, Valery! Thanks for the congratulations─
nie. I’m giving an interview for the first time in my life, hopefully─
I bet the questions will be simple))
Hippiman>
Of course, they are simple. We are not taking an exam ;)
Tell me, what are your impressions of the competition?
Sergio>
I found out about the competition just before the end─
reception of work and thought to set it to under-
made in97game. Looks like playable
a demo in which you neither win nor lose
was impossible. I thought I had time for
there is no improvement, and BASIC has already been forgotten for
20years. So I sent it just to co─
replenish the number of works. But the organizer
convinced me to finish the game, start dates
the competition has been postponed, so time is running out─
it was enough. And after I
I plunged intofor several days and evenings
such a forgotten and pleasant program process
mirovanii on Spectrum-Basic and set
a full-fledged game for the competition, then the attitude
changed a little, and I already have results
I was waiting impatiently.
Hippiman>
What do you think about other works?
Which ones did you like the most?
Sergio>
All works are interesting in their own way. me
I was most impressed by "Cave"with its
scale - in the game196unique gaming
screens! For me it's more technical
parties were interested, the author is quite hi─
tro encoded the gaming card, I'm not afraid
this word, the world, fitting it into just
a hundred lines of BASIC! I also liked the game─
ra dino,although it is as simple as possible
(repeats the mini-game from the Chrome browser),
but there is a very funny character and a cute one
the ending, in general, was a pleasure).
Sokoban and Snake didn’t really grab me,
probably because I beat it at one time
in variations of these games on different platforms).
By the way, the guys from HorrorSoftreleased
back in2000Kool Eggz, analog pocket─
Noah "Well, Wait a minute!"with a wolf and a hare, so
that my toy is also not the first of its kind─
de on Specky.
Hippiman>
So you finished the game for the competition?
'97. Tell us how it all started?
Did you then start making a serious game or
it was just a development for fun─
nia? Why carry the pocket "Well,
wait!"?
Sergio>
Just for fun. In those days
I, I think, like many spektrumists, was
passionate about the desire to create something, not
play only. I was able to do something
draw, I can’t say it’s cool, but
the main thing is that this activity was enjoyable─
flattery, wereexperiments with musical
editors. I really liked studying bey─
sik, write some useful programs
mki, for example, perpetual calendar, different ma─
solve thematic problems. Well, and of course,
Who hasn't dreamed of making their own games! Unfortunately─
nuyu, although BASIC allowed them to be created,
but on a very modest scale. Basically─
but we got quite primitive games,
like a numbers game, the simplest boards─
ki, puzzles, there was Minesweeper, Snake.About the game
with large sprites and even more dynamic─
new, not knowing assembler, all that remained was
dream.
At some point, looking at the above─
knocked pocket toy (I had a ver─
siya with Mickey Mouse,as on the original
Nintendo), the thought occurred to me that it was her
can be transferred to the Spectrum, and using
using a similar principle of animation output.
The idea was to draw everything
sprites on the screen in advance (in fact, they are all
static) and only change the attributes as needed─
ny moment in the right familiar places. I prefer─
layed that even naked beys are smo─
can work quite quickly.
I liked the idea so much that I literally
during the day I painted the game screen (afterwards
later it was only slightly modified) and
started experiments with reviving it
in BASIC.
Well, of course, find out pretty quickly─
it was clear that the idea was not so brilliant
because. using BASIC to repaint about─
a range of attributes, except POKEsor
PRINTs,in general, there’s nothing, first cook─
ant was too slow for large blocks─
cove of attributes, and the second option is nothing
faster than if the sprites were in
font characters, and not in advance on the screen.
But at least such mechanics are strong
simplified working with sprites - no need
was to split them into symbols, and then with─
chooseagain. All sprites in the game can be
output using only spaces!
Hippiman>
I never cease to be amazed by human
ingenuity - to manage the lack of original─
use this game to your advantage
yours :) Did you use any other ones?
tricks? Or I could share with readers
some interesting prog techniques─
framing in BASIC?
Sergio>
Well, there are no special tricks there,
just tried to optimize the program
as far as my knowledge of BASIC allowed me.
For example, I remember that in the first lines
code is interpreted faster than in the distance─
them, therefore the most critical routines
placed at the beginning, then less important ones and
etc. As a result, initialization of variables,mas─
Sivov, loading the font and placing graphics─
were at the end, and in the firstlines - output
largest sprites.
Moreover, depending on which
position the player moves the character, out─
either the entire sprite or part of it is displayed
(only hands with a basket), i.e. movement
top-down and bottom-up "more economical" than
right to left and left to right.
To shorten the program listing, to
at the last stage I even removed all comments─
tari and where possible combined the lines.
I also tried to minimize the number─
in variables and operations with them, for example,
a flag variable is needed to determine
showed Minnie or hid, logical
(and visually), it seems, give it values
1and0respectively, but it is better to do0.5
(yes) and 1(no) and use it as
increment for penalty points. That is, now
no need to check the positionMinniewhen
the egg was dropped, you can get penalty points immediately
increase by the value of this "flag".
To control the game speed I used
system timer. Unfortunately, none
optimizations did not help reduce latency to
those values that I hoped to squeeze out
to get one close to the original game
process. Actually, because of this, I didn’t
finish the game then...
Hippiman>
What environment did you develop the game in?
I think now it’s unlikely that anyone else will be pi─
write in built-in BASIC, where there is no
copy operations, nor convenient deletion─
niya, and in the 48th version even the operators of norms─
they are not recruiting very much.
Sergio>
You're right, I wouldn't use the built-in BASIC
I was now able to quickly bring the game to mind.
Especially since I did it on an emulator (re─
Although the Spectrum is alive, it is of no use
connect it). Over 20years, location
BASIC commands on the keyboard were erased from
memory, and it would be painful to type about
gram "blindly". The situation was saved by ZX-Editor
thanks to its authors. You can code in it on
Sinclair-BASIC with all modern conveniences─
change editor - quick navigationby
listing, copy-paste and other things. And he's on the ho─
converts text into BASIC tokens.
True, it doesn’t always work perfectly
syntax check, but this is a small thing.
Hippiman>
Almost all laptops are from"Electronics"
had a very similar operating principle. You don't
planned to develop his game to more
universal engine and make a whole
a series of games (“Well, wait a minute!”, “Secrets of the Ocean”,
"Hunting", "Cheerful Chef", "Auto Slalom" and
others)?. Maybe combine them all on
one disk with a beautiful launcher. To
you could measure yourself with glasses or even post─
foamy open previously blocked games─
ry?
Sergio>
Great idea, but since BASIC is all
still too weak to fully
transfer their gameplay, then I mean this
didn't think about it. There was an idea to take out part
procedures into machine code, at least-
moving the hero. This would already allow
more turn around, and response to pressing
the keys would be more lively, especially if the op─
Hang up the keyboard on interrupts...
But alas, my superficial knowledge is complete─
Blair was clearly not enough to do it quickly
try it out. And soon I got a job at my own
first job, so to speak, I entered adulthood─
long life, and the Spectrum went to the second
plan. So let's talk about this toy gradually
forgot. Until now.
Hippiman>
I noticed that after50points the game
becomes very complicated. There are more eggs
and the speed increases. It becomes playable
much more difficult, but also more interesting. B
in the original the game was supposed to speed up
le100points, and up to100points
reach without difficulty. Which of the original
you transferred the games to yours, which you didn’t consider
necessary, or maybe improved something?
Sergio>
I tested the original toy─
many times until the end, and after approximately500
glasses, hellish hardcore begins there. I can
even remember what euphoria I experienced
when I first dialed1000.Accordingly,
knew quite well the features of the toy, which
I basically tried to repeat it.
For example, every 100 points (up to 500)
game speed is slightly reduced, giving ig─
let's take a breath at200and at500zero─
there are penalty points, the amount of the fine depends
from whether Minnie looks out of the window in
this moment or not, respectively─
The egg breaking animation also starts (in the demo)
version these points were not implemented).
What I didn’t transfer - I’m a little for─
improved the accuracy of the game speed, because
it turned out to be possible to repeat the dynamics in BASIC
unreal, I thought it was too pointless─
let's go deeper into the egg throwing algorithm
and speed calculations. So here I am a little
simplified the task and made a smooth increase─
speed based on the current score, s
small rollbacks on each of the first
hundreds. As far as I remember, in the original sko─
growth also gradually increased, incl. and up to
first hundred points, although maybe not so
essentially...
I did something like this with the number of eggs
same (in the original up to5glasses appear on the screen─
was only1egg, then2etc., if
get confused, then you could calculate the exact value─
but when to increase the quantity).
The second point that I simplified is by─
there are two game modes. Ingame Aeggs
carried only three wounds at any point in the game─
house hens from four, ingame Bflew
all 4,and in terms of speed this mode was still
more hardcore. I got one
mode, something in between.
I selected the speed by eye so that it was
more or less similar, I tried launching for this purpose─
play the game with different movement delays
eggs. The problem was that in some
the moment reducing the delay means nothing
gave, because the speed was at a minimum─
new operating time of the main game loop.
So the speed limit is already approaching
somewhere on the account300-400(at the same time the speed
much lower than the maximum speed of origi─
nal) and even starts to fall towards the end
due to the fact that there are more eggs on the screen
more.
In turbo mode, of course, this was not the case
big problem, and the speed can be controlled─
Late more accurately and make the game more responsive
in general it came out much better. It was possible
optimize the game for turbo and get
more balanced gameplay, but I decided
still configure the process on the standard
frequency, taking into account all lags. What, unfortunately─
nuyu, led to the fact that in turbo mode
passing the game is probably even more difficult than on
original toy.
From what I added on my own - this, to─
of course, cheats:)
(Ed.: cheats, as usual, in the articleHints
& Tips)
Hippiman>
As a child, there was a legend that if nab─
to win some thousands of points in the game, then
they will show you a new cartoon series, which
can't be seen anywhere else. And, naturally─
Surely, no one scored so many points, but
a boy who had a
familiar boy who saw, but left for
another city. Now we know very well
that there was no cartoon there and not
it could be, but maybe you're in your game
realized an old childhood dream?
Sergio>
Yes, of course, I also heard that one
legend, but it did not specify what
this is a new series, but we were just talking about
"cartoon":)
From the very beginning it seemed wrong to me─
doubt, because it was obvious that nothing but
pre-drawn details on the screen
images cannot be displayed on it. Byanalogies with electronic clocks, which
were popular in the 90s. All these details were
visible to the naked eye under certain conditions─
at a different angle, and if you press reset, they even
"turned on" all at once.
So it didn’t surprise me that when typing
1000points the game just ended. Now
finishing the game, I remembered this legend and
there was an idea to somehow beat this at the end. But
alas, time for inventing and drawing
there was no more cartoon left. I was sorry─
I tried to make autoplay instead, but no
he realized that this was the same as what was in
standby mode - and it is logical to put it in
intro.So in the end there were only ─
greeting titles. Moreover, the text of congratulations─
lension differs depending on
whether cheat mode was used.
Hippiman>
Please share with our readers
with your future creative plans.
Will you develop new games or
bring to mind your old developments - and
in what environment?
Sergio>
No specific plans, as usual :)
Unless nostalgia comes over or will
similar competitions are still being held, then
perhaps some other old idea
I'll finalize it. Maybe I'll take part in the pro─
projects of other authors, if anyone needs it
help with graphics, this also happens periodically
happens.
Hippiman>
Thank you very much for the interview! It was very
interestingchat with you. And finally,
wish something for our readers.
Sergio>
Mutual. Thanks to the editors of the magazine
your face for doing such a necessary thing
case. I wish the readers goodness, love and blah─
good luck!
Share your thoughts about the article