The technology that moves genereAvventura: The Terrific Menace of the Invaders from Audiogalaxy (GA:TTMOTIFA)
is Flash-based. Our intention to publish our game on the web reduced our field of choice between Flash and Shockwave.
Since Flash is more spread than Shockwave it was a very easy decision. Develop a gaming engine from scratch and everything needed to make the game work has been a long and complex operation that required pieces of knowledge which we acquired during the development.
Follows an interesting behind the scenes of the development which could be useful to who wants to start a similar project.
Have a nice read.
The graphics developement has
followed the most classical of the roads.
First of all, the work of art direction
and
designing has been made
with pen and paper working with the
sketches of the main characters,
of the rooms and of the items.
Once finished with this part everything
has been scanned for further editing.
Here we used different software
and
methods (and different versions
of the software, since the developement
lasted more than 3 years),
according to the final result needed.
At the end of this long process,
everything was included
in Flash
and made it so it could be used
by
the gaming engine.
Some of the software we used includes,
besides the aforementioned Flash,
FreeHand, PhotoShop,
Fireworks and Painter.
While trying not to exaggerate with
hubris, we tried to recreate a style that
had a certain similarity to
Day of the Tentacle, due to the
deformed
perspectives
and the technical
licences
that can be taken
when realism
isn't the first priority.
Our aim was to create images that
were coloured and funny, coherent
from zone to zone and that wouldn't
have confused the player with too many
details, but not even bare.
In addition, everything would have to
be light to download because the
distribution media, internet, is
still slow
compared to other physical
means.
After an initial approach in which we
imported the scans in FreeHand to
reproduce them in vectorial graphics,
we cut a lot developement times
bringing all the work in Flash.
FreeHand has been used again to
quickly draw complex vector shapes,
a sector in which Flash is still lacking.
Every single drawing, then, has been
scanned, imported in Flash and edited
directly on the stage,
ready to appear
in the game.
To keep more easily a stylistic continuity
among the different zones we created
a small color palette so we could define
some basic hues to use during the
developement, just like the way it
was done with the limited palettes
of the old computers
(the infamous 16 colours of the C64).
Our basic hues have been then
lightened and darkened to make
light and shadows on objects.
At the end, our final palette has
got "only" 85 hues.
Before the new rendering engine of
Flash 8 was introduced, all the rooms
were broken into pieces, converted
in PNG and then rebuilt again to
optimize the performances, but then
the
files
weighed too much.
Fortunately for us (we could say that
Flash 8 was made just for us!)
the new
rendering engine allowed
us to
keep
all the files as vector
pictures,
keeping
the low weight of the
files but
with
the same performance of
the
raster
version.
After we finished making all the
locations in the adventure,
it was time
to populate them.
Even in this
case we did the paper-digital passage,
but only for the main characters and
some secondary characters.
So, after many design and expression
studies, it was time to open Flash
again and front our very first real
problem : animation!
Trying to learn the tricks from
traditional animation movie,
thanks
to the Flash tools and some
improvised motion capture sessions,
where each
of us impersonated the
action, we
could bring some life in everyone.
The final result is a mixture between
traditional animation and Flash
animation, with tweenings and
rotations,
typical of these productions.
The engine that moves the game
has
been written from scratch
for a
very simple reason:
no matter how powerful and flexible
the traditional engines are, they
forced us to think according to their
own schemes and presented more or
less annoying "limitations".
By choosing to build one just for
this game we overcame these problems, allowing a developement centered on our needs which made us reach the desired results.
The developement started on Flash 6
which, thanks to the introduction of
a stronger and better version of
the ActionScript language,
was the
ideal environment even
for the classical
coders,
because it brought practical
and quick tools to be productive
in a short time.
The first attempts to build a complete
engine
were very disappointing, mostly
due to
the inexperience in the Flash
environment,
rather than the intrinsic
difficulty of
Actionscript (the statements
are almost
identical to javascript's).
The character could move, the inventory
and the locations were managed but
the
interface was very lacking and,
technically,
the code we had written
wasn't very reusable.
Also it was highly inefficient.
After a pause, when the project was
reopened
we rewrote everything from
scratch,
this
time using the
object-oriented programming
model.
Having gathered experience in
the developing environment,
the new
version had been designed
to be
more modular.
Also we developed some external
tools to generate the .as files
to include and compile, including
information on rooms, items and characters.
When the engine was almost ready
we had to pass to Flash 7,
which wasn't
completely painless
due to more restrictivity
in the code
(the parser was now case-sensitive).
After this, the switch to Flash 8 brough
other "problems" due to the new
optimization to the
managing of the
graphics through scripting.
After we solved these problems,
the engine was done.
Concerning Flash 9, it's enough
for us to know that it works.