January 6th. 2004
Neave.com is a cool website designed by designer/developer Paul Neave.
He has an entire section of the site dedicated to his flash "interpretations" of the classical arcades of the '80s.
The games are freely downloadable and sources are available too! A great resource for learning.

Here follow the interview with Paul. Enjoy!


- First of all we'd like you tell us about your passion for classic arcades, when did it all started out?

It's strange. I was still a baby boy when spotty teenagers were playing games such as Pac-Man, Space Invaders and Asteroids in the early 1980s.
I suppose my love of all things retro came about because of my hermit childhood, wasting hours in front of my Amstrad CPC.
I was a massive fan of Codemaster's Dizzy adventure games, and I used to fritter may days away copying the pixels from the screen onto pieces of graph paper.
I've no idea why... it just fascinated me.

Then when the Internet came along in the 1990s, games seem to had lost their most important attribute - simple playability.
I began to yearn for the very first computer games, such as Pong and Pac-Man, but no one had recreated them faithfully enough.
Typically, you had to download awkward (and possibly illegal) emulation software such as MAME and find ported ROM files of the games.

So I set out to do something about it.


- When did you write your first lines of code?

Now this is sad. I must have been 6 or 7 years old when my dad let me have a go on his precious Amstrad CPC, typically used only for writing spreadsheets and weighing paper down.
I remember the massive silver manual that came with it - hundreds of pages explaining the BASIC programming language.
I attentively typed: PRINT "Hello World", and pressed the Enter key.

Hello World
Ready

Wow! It did what I told it to do! Look at me! Look what I did!
That's what's always fascinated me about computers - they are your slaves and you can tell them to do anything.
You've just got to learn how to speak their language.


- What about Flash? What version did you use when you first discovered it?

A website called www.nrg.be (which still exists today) was written in Flash 3 and showed me what amazing stuff the web could deliver.
Remember that at this time, the Information Super Highway was famous for animated GIFs, geeks and porn. Those things would continue, but Flash showed the future - I was hooked and begun to study Flash in earnest.


- Back to your nice games. You've done a great work reproducing those classics. For example the original Pac-Man had different AI for each ghost. How did you approach this aspect?

For starters, I couldn't recreate the way the ghosts played exactly without owning a circuit board schematic and lots of patience.

So I made it up as I went along and tried to mimic the 'feel' of the game rather than aping it precisely.
You may notice that the typefaces and graphics used are also interpretations of the original Namco coin-op game, rather than a pixel-perfect replication.

If you want accuracy, download the MAME emulated version.


- Hexxagon is a very addictive game, but I don't remember it as a coin-op. Where does it come from?

That was my second ever game written in Flash 4. My first was Pong, but that was very dull and I knew I could do better. One game I used to play with my mates a lot on my PC as a kid was a freebie DOS game called Hexxagon.

With the advent of Windows 95, I knew this game would be lost to gaming history forever if I didn't recreate it.

It also challenged my coding skills at the time and made me think in new ways, which is a kick I always get from programming.


- Tetris is another simple, yet incredibly addictive game. Many years have passed since the day Alexey Pajitnov (the game author) created it but so many people still enjoy playing it. Also Tetris can be a good starting point for a beginner game developer. How did you approach the general coding?

Tetris personifies great gameplay and what all games should really be: simple, fun and addictive.
Again, another small step for me was learning to write programs using functions.
The whole shebang is function based, allowing you to think in a more abstract way.

It allows you to take a step back and organise your code in a way not possible with typical procedural programming (where you write the entire game in one huge page of code that loops over and over).


- Any advice for beginners who would like to start coding a Tetris clone?

Download the source code to my version and see how I've done it!
http://www.neave.com/games/tetris/tetris_fla.zip
Honestly - that's the best way to learn.

Get stuck in to other people's code and hack about; change things and see what happens.
You could spend your entire life reading books about the best programming practices, but without practical experience you'll get nowhere fast.


- You've recently released a faithful reproduction of the original Asteroids by Atari. Even if the game had some elementary graphics due to the hardware limitations of the time (1979), it reproduced the physics of motion very well. Can you tell us a bit about the math behind the game?

There are some very simple rules, and they come down to a basic understanding of physics.
Here's some code to get your teeth stuck into:

// Rotation
if (leftKey) this._rotation -= 10;
if (rightKey) this._rotation += 10;

// Vector
var vx = Math.sin(this._rotation * rads);
var vy = -Math.cos(this._rotation * rads);

// Thrust
if (upKey) {
	dx += vx / 4;
	dy += vy / 4;
}

// Friction
dx *= friction;
dy *= friction;

// Position
this._x += dx;
this._y += dy;
			






















click thumbnails to
enlarge them.

Firstly, the rotation of the spaceship is determined when the left or right keys are pressed down.
Next is something scary: vectors.
A vector is simply the direction and speed an object is moving in.
To start with, we work out the direction based on the rotation of the spaceship.
Then we take the spaceship's current speed (given by the amount of movement in dx and dy) and add on the direction.
This 'thrusting' only happens whilst pressing the up key.
Next we lessen the amount of movement by multiplying the speed by a friction value, otherwise the ship would
accelerate forever and never slow down.
Then the spaceship's new position is calculated by the extra distance covered in both the x and y directions.

Of course, that's just the spaceship's movement. There's a whole lotta other stuff going on, and you can download the source code yourself here:
http://www.neave.com/games/asteroids/asteroids_fla.zip


- All these classic games demonstrate how gameplay is a so important aspect of whatever game.
What is the secret in these games (excluding nostalgia) that have made them so long lasting?

Simplicity: Everyone knows how to play these games given a couple of tries.

Playability: Once you've learnt the basics, the game challenges you to progress but without a steep learning curve.

Addictiveness: With each Game Over, you get that urge to play again even though you've played it ten times already.

Nostalgia: I know you've excluded it, but it is of vital importance. Each game brings back happy childhood memories.


- The new version of your site is really cool. Can you tell us about that nice "blobbing" effect?

I wanted to blend the boundaries between HTML and Flash.
All too often the emphasis in web design is placed on cool, swishy effects or Flash for the sake of Flash (a.k.a. Flashturbation!).
Hopefully the impression is of a simple, clean design.
But spend a little bit more time with it and dig beneath the surface and you'll find there's a lot more going on.
It's not just the blobby borders - the content, the HTML and the whole site structure has had a lot of thought poured into it.

The best design is transparent: if you don't even realise it's there, you've done a good job... and if you can show off too, that's always a bonus
You can download the souce code to the blobbiness here: http://www.neave.com/lab/neave_site_fla.zip


- When Flash MX came out it was a little revolution. Now MX 2004 is out from 3 months, but the product was not welcomed as its predecessor. What do you think about this new release?

Flash MX was a fantastic improvement upon Flash 5, just like every other previous version.
The drawing API and video capabilities were massive drives for the end-user, and drove up the proliferance of the Flash 6 player.

Unfortunately, Flash 7 has little to offer the end-user and so does not warrant the upgrade.
ActionScript running speeds have been slightly improved, but still not enough in my view.
Macromedia shifted Flash's focus from a design tool to an application-development tool and so spent all its efforts focusing on the IDE application itself rather than the player.
If Macromedia had enough guts, they would finally add 3D support to the Flash player and improve ActionScript execution speeds 100 fold.

But this would probably mean bloating the filesize of the player, something which Macromedia are very reluctant to do.

Their focus is currently geared towards low-end devices such as PDAs and third-generation mobile phones, even though broadband and fast processors mean this is now irrelevant for most desktop computer users.


- ActionScript 2.0 now looks more like a real programming language. Are you planning to switch?

It's not a question of switching, it's a question of scale: use the right tools for the right job.
If you're planning to make a Flash game of Pong, then using ActionScript 2.0 would be akin to using a
sledgehammer to crack a nut.

If you're developing a major J2EE B2B application that will be used daily by thousands of people, ActionScript 2.0 is the way to go because Object-Oriented Programming means your project can be managed more successfully.
My main qualm is that Flash is still a beefed-up animation tool.
Ideally, the Flash player needs to be able to handle graphics as easy as Shockwave or Java before developers will take it seriously.


- Is there any other feature that you'd have expected from MX 2004?

It's a good and necessary release for now.
Macromedia are brilliant in listening to their delevoper base and are always open to feedback.
I'm sure they will be thinking hard about the future and the next Flash MX release.


- What are you working on currently?

I'm busy working for my company magneticNorth (http://www.magneticN.co.uk/) on several very exciting interactive projects.
Personally I will be devoting time to my lab work; experimenting and pushing Flash to its limits.
One project I'm very excited about it the Planetarium I've developed in Flash (http://www.neave.com/lab/space), and I hope to be adding more to this all the time.


- Can we expect some more games from neave.com?

There's one more to come, but I'm not quite sure what it should be.
I think I'll put it to the vote and let the gamers decide.

Have a great 2004!

back to SpotLight index



Have you seen one of the best web games ever ?
Did you create the latest kick-ass flash game and would you like to seen it reviewed in these pages ?
Suggest us some high quality games to feature in our SpotLight!

Game suggestions HERE
| Homepage | News | Games | Articles | Multiplayer Central | Reviews | Spotlight | Forums | Info | Links | Contact us | Advertise | Credits |

| www.smartfoxserver.com | www.gotoandplay.biz | www.openspace-engine.com |

gotoAndPlay() v 3.0.0 -- (c)2003-2008 gotoAndPlay() Team -- P.IVA 03121770048