Inferno #09
31 июля 2006

Gamedev - The history of the game Ball Quest.

<b>Gamedev</b> - The history of the game Ball Quest.
  How to make Ball Quest
Alone Coder


   The idea of ​​this game (still no title)
crawled into my sick head May 16 after
how not expected to be held in May
skie holiday onslaught on the v9990. A wild idea
was sent Shiru Otaku, and the 20 th day
Shiru sent me to experiment trial
a set of sprites ball (big enough
- 64x64, - so I could try beneath
drive size). I twisted this way and that and the results
sewed, it is necessary to 24x24. 23rd Shiru pererende
reel the ball in 24x24 (the size necessary to observe
the rendering, since scaling
Institute may receive fringe), and the process
he walked slowly.

   Shiru: If you are good, then we must Soble
give another dimension when modelinge.Shvy and six
squares on the ball, I did geometry
(There is a simple way, it's easier than drawing
texture) and choose the size that they
looked after properly in 64x64.Poetomu
re-render a 24x24 stitches almost ischezli.Ko
Of course, it was necessary to peremodelit again, but not
reached his hands.

   Alone: ​​And in my opinion, the ball and so completely
good peremodelivat not.

   First, I organized the engine Pang
the ability to change the coordinates of the camera (to
the ball was in the middle). Then he painted the walls
ki, diamonds, arrows, EXIT and flying qi
Phra, sketched in the source test card.
By June 13 was ready to physics, skonver
chen a skyscraper, pick up a few
zvuchkov (on audio engine Wolf2004/Pang
16C). And think of a name - Ball Quest. In
Basically, there was no work for three weeks,
and for three days.

   June 15, I moved to Moscow to Shiru,
 where we almost immediately discovered the following:

  1. Nerelizennoy music is not enough for 10
levels, even if the finish nedodelki.Krome
nerelizennoy nedorelizennaya there, but the plane
 Haya.

  2. Appropriate editor for the maps of the
 species not to write.

  3. Need to fix clipping in ATMovs
 Coy version of the engine.

  4. Hard to find pictures neboskre
ERD with a decent height and horizontal
direction of gaze.

   Editor Shiru navayal fairly quickly,
with editing by the principle of the tile and
preserving the right for a game format
coordinates. But it turned out that not only
we, but has reached a visit CHRV, Maksagor and
Wlodek - no one likes to think the level
no! Collaborative efforts with Shiru ...

   Shiru: My efforts were to observe
Denia for the essay;)
... To the end of the week we were able to compose only
to three pieces, which, however, the two of us
was just me:)) (Then the game was able to pa
bot mode only FAST GAME, and I wanted to
releases it in this form.)

   Backgrounds, we searched on the internet
three-fold. Half of the found images or
was taken from a bad perspective, or lined
with poor resolution, or ugly smot
relas in 16 colors. And it became clear that 10
good levels, we will hardly ...

   Another problem was the initial
saver. Under the project there was to be
depicts a ball lying in the grass on the background
skyscraper. However, experiments have shown
that render the beautiful grass is not so
simple. Shiru on the move dismissed the idea pozaimst
Vova ball from neighbors and sfotkat it in
yard.

   Shiru: Old women-neighbors are unlikely to agree
silis to leave, even for a time, with free
inventory of football!

   Instead, he launched a search in the internet at
"Ball grass" and found to visualparadox.com
about what was required - only against the background
football goal. The texture of the grass was dos
sufficiently good, but the amount thereof grass
clearly not enough. Shiru multiplied its mines
the fore and stamps, moved the ball, put the
background and put in his place one of the
defective high-rise buildings (rejected
Noe, because it was photographed with a se
Millions). Next was interesting: I've found
that the ball turns out tolerable only with dia
mond hatching, and the grass - only with Floyd.
So we had to each object convertible
separately and then glued together. And then up to
ntsa July, we took turns cleaning has received
Xia picture - and in the interest of beauty, and for
save memory (it is always in memory; WPRO
What could load). For example, the top
The average of the grass is blurred by hand. Block windows
on the left side of the building, too, drawn by pi
Xela.

   But the movie - it's not the whole design.
We had to come up and play socket.
Proposal to make it in the form of cheese (information
mation - in the holes) Shiru rejected, so I
decided to make it as a train (information
- In windows).

   Shiru: I do not like the idea of ​​a cheese
that in itself is nothing cheese not a symbol
ziruet. Train - still all right, associations
with travel.

   After another excavation on the Internet
was found only one decent car, SAE
th almost in profile - the site of the Moscow
Metro. Shiru, Glancing this masterpiece, has spoken:
"Nothing will come of it." But it turns out
out to be wrong! =)) To expand car
along the screen, I have unleashed on the picture of the three
dimensional preobrazovanie.Dalee usual opera
tion obkusyvaniya background, color replacement, training
NCI under the size you want (including the windows -
by familiarity) - and voila!

   And then it turned out that the socket must be on
lozhit all backgrounds. After all, car
roughcast loaded directly into the screen area and
ibid unfolding (sm.statyu about Pang
last issue). Alternatives storage parameters
 nelki in the pictures were only three:

  1. To have it on the screen always, even in the metal
 nude;

  2. Keep it in upper memory (whether it is necessary
 shnih 4k RAM);

  3. Continuing its load.

   It was impossible to save the socket on Nevi
dimom screen t.k.vo while unpacking any
images it is visible and it would be
ugly. Although ...

   But I decided not to complicate the task, not to
turn into long-term construction project. Was even
hope to finish the game right in Moscow.
At home I have everything written is much slower.

   And so, deciding to impose a socket on the
landscape, I realized that I must now Daudet
lat socket completely, so you do not
had for a second time to convert
all landscapes. (I'll tell you that vsetaki had! After I left,
Shiru once again brushed her from stray
pixels remaining after the conversion from
escaped my cleaning.)

   I've set the coordinates in the source games
numbers, and Shiru undertook to paint inscriptions type
"LIVES". At the same time he drew two fonts -
One little, for ordinary purposes, and the other
large, but incomplete - for a message type
"LEVEL COMPLETE!". In store for him our
las utility for splitting images to
tiles, and he broke with the help of all the major
inscriptions on the non-recurring familiarity. So
was spared a lot of pamyati.Poluchenny on
the output of the utility long-predlinny bmp
I converted to the ZX as sprites,
only to correct a few lines in the
converter.

   Shiru: Although this tool is also able to
component of a list of numbers of tiles, it was
written bit for other purposes (under
other image sizes), so the spin
rooms had to juice AlCo be manually
nuyu, using pens, paper and vigilant
eyes. To lose the extra half hour, but corrected
lyat utility would have been longer.

   All the music for the game did Shiru. Muses
ka, unfortunately, is not original - in the ground
Mr. remixes are known to those with attachments,
the exception of track 2-Tier -
He zaremiksen with live music. The problem would
la that Shiru wrote exclusively in
Vortex Tracker'e, and transplanted it into the Pro
Tracker is not possible.

   Shiru: In the PT, I would write more slowly, which leads to
PFA - terrible force. For me, the creation of one
Nogo cover songs in VT - a matter of hours,
especially if the hand is typed
someone earlier midi-scale with the melody (their
fully online, the games - online
vgmusic.com).

   In VT a TS Mouzon - a 2 module, and
PT - 1 module. By the beginning of work on
game I have already translated into two Mouzon
Format PT (one of them a few even use
Rules). And TS player for the PT already byl.Poetomu
I decided to drag on the PT and the other components
position. This problem is not trivial,
because the two sets of samples and ornaments
should be reduced to one, correcting the figures and
most tunes ...

   Sound effects, we have implemented with the help of
schyu new package AY Sound FX Editor (re
daktor sound effects for AY on the PC, under the
Windows), which Shiru wrote in fevralemae. Attached is a player 
and a few set of sounds, from which we chose nuzh

nye. For many events there were in Nesco
lko zvuchkov candidates, but some other
Gia zvuchki still had to draw:
strikes, the fall, scoring.

   Shiru narenderil animation five sites
(Cherries, weight, bottle, key, clock). I chose
of a sequence of desired footage, and con
their inverted in Photoshop following metal
 method.

  1. Loading the first frame, it klipiruem
(Scale had yet to indicate when Rende
ring! Desirable and clipping proizves
 Tea at the same time).

  2. Convert (shading - to taste with
us - not) the adaptive palette of 8-10
flowers (rarely need more). Save this
 palette called "from.act".

  3. Correcting color in the palette to
Closest to him Spectrum, except Fono
Vågå, which you must choose a non-standard -
say, blue-violet. The resulting parameters
 liter save as "to.act".

  4. Convert to RGB, then to the Spectrum
Why dost palette, in which the 0-th color is then
Therefore, non-standard. Let this palette is
in the file "zx.pal". Save the image (vertical
Sia Photoshop, which stands at Shiru, by
something hangs when saving indexed co
lor image on top of RGB images with the same
 name).

  5. Repeat all this with all the other
images, but using ready SAVE
NENNYE PALITRY.Mozhno take photos
shopovskoy system macros (I will use
valsya).

   Then, in the process of digging the collective
tions Shiru, I discovered a remarkable
Nogo spider, rendered Surfin 'Bird'om
(Thus, who drew the graphic to
Fire 'Ice and render the ATM in the case under
nut:)). I painted the spider in red
and also introduced to the game.

   Just a few objects (fractured
board, glass, broken glass), I drew
by pikselyam.V general, we clone the schedule,
until the end of the memory page, desperately
rvirovannaya under the sprites:) One of
must, in other page, but it is threatened
rejection of anything even drugogo.My
kusili half of the phase key.

   Editing levels went slack. To
speed up their check, Shiru organized
its editor, writing in the format hobety
(It can be shipped Unreal Speccy, however,
forgetting the name of the current trd-Schnick).

   Shiru: Adding files to trd-Schnick, with
all the checks, it would be greatly words
zhnee (ie, longer that it was fundamentally
dipole moment), so from this option
I refused. Later to solve similar
lems, I wrote a utility
trdtool, it is in Virtual TR-DOS.

   Already preparing to leave, I kerf that
time level must lie at the level
but not in programme.Etu function Shiru added
in the last minute, at the same time transferring Goto
curves levels in the new format.

   So, I was leaving on June 20 in Ryazan, having,
By and large, a set of converted
backgrounds, Level 3, the editor and almost ready
Source games, which online ATM for some reason, refused to load 
the second level of passage of the first. And with all this, I

really wanted to sleep!

   It was evident that the whole week we were working
better than last time (January,
Time Gal), but the game did not finish
managed.

   After a long riprap (during which
On Shiru naremiksil 2 more tracks), I draw
tree one level at the idea of ​​Shiru (4) and pos
shaft John'a help. One level we have done
together (5), two more, he scribbled on a piece of paper
(6,7). John set up a level 4 so that
he could pass it only with the 10 th - 20 th
attempts (he played in a mode SLOW GAME). I
barely convinced him not to mock the player:)
When John came the next time it will
mazhnye levels have already been prepared. I showed
result and at the same time he drew the last
level (8), but John had already lost interest and
look around: (

   Next, I mostly debugged game
tested and combs (added running
line, cache, unstick the ball from the background - before
he was always in the exact center of the screen). Tees
be interpreted helped Maksagor. August 2, I suc
shno (I think) has completed this process and for
beat the rest of the memory demos passage.
Demos - a sequence of keystrokes
keys. It was possible to shake them by RLE, but
fits, and so ... Butt, though ...

   Aug. 5 John came and fixed the track to
4-th level.

   Then I just decorated the source.


              About the source code


   In the engine compared to Pang'ovskim you
may find the following important improvement
 of:

  - Added support for cache. There are
major cycles of withdrawal and erase sprites.
 In the ATM version of the cache is also supported!

  - Sprites, lying at the bottom of memory, not
copied before using (this Breve
 but the concrete slab).

  - Sprite, which before was only
Copied that to the lower memory, not copy
 is again in the 2 nd, 3rd, etc. times.

  - Copying is LDIR'om lying
schim not in RAM, and ROM / cache. In turbo mode
ROM and cache work much faster
 RAM.

  - The ATM is organized from the bottom clipping
(Macro D31). The height of the game window should
 divide by 32.

  - When you build a list of valid output
Comrade take into account their height (ID objects pa
zbity into several groups depending on
size - the next time it will be necessary to
try to read the height of the most valid
 ma).

  - There are disabling all modes
and restoring the state at the time vTRDOS
name disk operations (procedures VTRON,
 INIATM).

  - Font is now 16-tsvetnyy.Plyus added
 print large messages spetsshriftom.

  - You can remove (label re) saving is equivalent to
wound under the sprites and all relevant
buffer. This preservation is not necessary for many
kinds of games, for example, strategic.


   Conflicts are organized as follows
way. There is a map (BMAP) 64x64, for a byte
on familiarity. Outside the boundaries of the level of this map
does not work - it is considered that the outside empty
something. In the chart permeable familiarity notation
chayutsya 0. Prizes are designated 2. Obstacles
conditions are indicated by numbers from 3 to 255. Each
DOE is a number - the number of units in the list
unit level (these numbers do not vary on
During the game, because to BQ unit in removing financial
not physically removed and transformed into
IDerased). Ball constantly checks Nesco
lko familiarity within. His behavior
(Procedure BOUNCE) depends to some
hand, he feels an obstacle. Type of sound
ka collision is determined by the type of obstruction
action (number of units in the BMAP is only needed
this, it was possible to put himself in return type).
The destruction of obstacles - the same place. Volume
sound depends on the speed of the ball.

   Pay attention to control the ball
(CPlrf). It works only during the satellites
Sania wall / floor / ceiling (signs generated
ruyutsya in BOUNCE). More precisely, not only in time
me, but then once again after 2 frame
(In SLOW GAME - through 4). This is done to
an experienced player to manage more cleverly
movements.


              Debriefing


   What has been done correctly:



  1. At the beginning of joint work
already had the engine, converters, half the volume
 projects, and physics.

  2. It was a lot of spare music (polunedo
written and nedopolurelizennoy). In the case of
time trouble had to insert garbage (for
 Fortunately, it was not necessary).

  3. Editor effects Shiru wrote a very
By the way, and the effects of MSX were skonvercheny
 is also very handy.

  4. I had earlier remake Mr Gluk
Reset Service and ALASM by ATM, and this whole
ma helped. However, it was possible (as in the case
case Pang) write in a configuration with Pentagon
false value in port # eff7, but
that would still have to fiddle with adaptive
 tatsiey by ATM, convenience, and so need it.

  5. The entire set of programs were on a computer
cluster, it was not necessary, as the last time to rock
 Delphi;)))

  6. Nothing had to learn in the process
(Last time accounted for every sneeze
led finger on the Talmud Maksagora on ap
ATM architecture serve turbo 2 + and pdf-kam to ATA /
 ATAPI / CD-ROM / CDFS standards).

  7. Had experience of working together.


   What went wrong:



  1. He had to sit down together one more
day, or rather night - until the last morning can
to leave (although I would then be a risk
sleep train again like last time) and
Still urovni.Tak draw would have been
 banker spared the whole week.

  2. Player effects that was attached to the AY
Sound FX Editor'u was not quite ready -
he had to finish on the fly (the latter
Fix I made at home). Henceforth, this is not
 again, the player is now fixed.

  3. There was no need to fix clipping
on the spot - I have made because of this glitch, which
then long sought - already on the printout! Must
was seized of the clipping at home,
 relaxed atmosphere, before or since.

  4. One computer for two - still
not enough:) The last time we obtain one
temporary jobs - one kodit / envelopes
another at this time of testing at an ATM. Although
Of course, the reflections lying on the couch - it's
 also work ...

  5. Due Pang'ovskoy system 1 file = 1
sprite "on the disk already accumulated 125
files. Always had to do MOVE
(Well, that is ALASM'e MOVE), and graphics
transferred to disk by parts (as after
conversion. bmp file, there is one. C,
and one more - after packing it. C, and
I wash it. bmp and this. C only village
le). We had to arrange containers
sprites and make 2 working disk (
 Waters A: - source code, drive C: - resources).

  6. Copying files via the ESN was not
convenient - after its launch (and not to go
from it can not - he was terribly warm process
litter) ...

   Shiru: Perhaps this is the problem of my
superfluous hot P4.
... had a long pass to the right
directories, and we do not even bring those ka
Taloga to each other. In the SN was a function would
strictly transition (with Alt + number), but in the ESN
 it somehow thrown out.

  7. Converting pre-rendered animations
through Photoshop - long and tedious. If
was not narendereno 7 facilities, and 70, and even
and 4-8 phases, and at 16-32, it would be
kapets. Need a utility that would envelope
animation and at the same time threw received Conte
ynery sprites to the scratch disk and graphics,
not to run this stupid ESN. Bo
cone would be if the tables of characters (where
are their marks, names, number of phases and all
is in this spirit) were in the same
 utility and saves in ALASM.

  8. Load level had to write
zaranee.A not search on the site for hours, why
ATM is not Georgia, and find out once again,
which screen should turn to user does not
 levotu seen.

  9. In the level editor have been unsuccessful in
Dobran hot buttons (NumPad). They and
not useful. Back in the editor is not enough
features: switching facilities have ETS
lat current one type of objects, objects to
 torogo we click.

  10. Once it took STS. A transition
do under the ATM I do not uspel.Nado before
 lat (to make a ROM resident for this).

  11. Not found someone who could
qualitatively clean konverchennye paintings
 ki, as long as we do other things.

  12. There were all sorts here - like to see
As we write the game:) What there writings,
when the guests descended!




Other articles:

Likbez - Batteries. History, such as the advantages and disadvantages.

Likbez - Batteries. Practical application of various types.

Inferno - The authors of the magazine.

Gamedev - The history of the game Ball Quest.

Gameland - Description of the Game Ball Quest.

Others - Twelve methods of literary polemics or benefit from newspaper discussions.

Others - Questions about the Conservatory of Music.

For Coderz - Suggestions for improving the disk utilities.

Inferno - Entered from the editor.

Likbez - Common techniques incorrect reasoning and simple logic errors.

Sound - tube amplifier. Stereo lampochnik 2x5 Tues of old TVs. Part 2.

Repair - Repair Radios Panasonic.

Inferno - Letters to the Editor.

Advertising - Advertising NedoPC.

Inferno - On the shell.

Others - O orienteering.

Iron - The Story of the Pentagon 1024SL.

Likbez - Characteristics of pn junctions at low current.

Repair - The story printer repair DAEWOO DP-2210.

DIY - The scheme to protect your computer from the surge.

Softinka - Music Editor Pro Tracker v3.7. Revision history.

Softinka - Archiver ZXRar v0.29. Revision history.

Advertising - Ads by King Of Evil.

Advertising - Ads by V. Bogdanovich.

Others - On roller skates. Choice toeriya ride.

Others - On-roulette machines in gaming clubs.

Inferno - On the voxel flying elephant IG # 5.

For Coderz - On the sort of array elements.

Others - System Drive Alone Coder'a.

Gamedev - Answers to questions about the game Time Gal.

Gameland - the game Time Gal, the first CD-game for ZX!

Softinka - Video Player for ATM.

Future Spectrum - Reflections on the gaming console ZX-Box based on the Spectrum.

Future Spectrum - The Dialogues of the game console ZX-Box based on the Spectrum.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
BIRTHDAY - Happy Birthday DIV, SNAKE & SPY.
Hacker - The Saga of the Hackers: Part One. who are these hackers? Where did they go?
tales - Various funny stories.
Advertising - Advertisements and announcements ...

В этот день...   21 November