Like many people, I've always wanted to make video games, since the day my dad bought me a Philips G7000 (known as the Magnavox Odyssey² in the USA) when I was about 9, and oddly bought me Gunfighter and a cartridge that was a basic assembly-language machine code monitor and assembler tool.
As expected the programming cartridge wasn't a cool game like I was expecting, but some odd text editor that I couldn't figure out what how to play, but after some investigation I took my first steps into programming, and assembler at that !
From there I programmed every computer I got, Vic 20, C64, Spectrum, Amstrad 464, C128 and then the Atari ST and Amiga, where I really pushed myself in the demo-scene joining The New Dimension and Pseudo-Ops on the Amiga and starting our own crew, Dynamic Duo with my partner in crime Hi-Tech (real name Matthew Augier), on the ST.
We released many demos and demo disks and even won some places in prestigious demo competitions, but always in the back of my mind was creating games. Always typing in listings from magazines, trying out my own creations, and in 85 or 86 after watching Back To The Future in the cinema spent 3 months creating an adventure with home made graphics on the C128, which I was really proud of, then managed to lose the lot (only had it on 1 floppy) when I used an incorrect open statement.
On our demo disks myself & Hi-Tech took turns in creating games too, 2 of the games that I created were HOPE, a vertical shoot-up em on the Atari ST with non-official demo-scene hardware scrolling and LLGP (Little Lovable Green Pea), a platformer I wrote and did the graphics for and also my first cross platform game for the Amiga and Atari ST, obviously all the stuff was in assembler.
For the next couple of years, while working in pensions software, we continued to making demo disks on the Atari ST and little games, then I saw the game Assault in the arcades and loved the way the whole screen rotated around the player
The 1988 Namco arcade game Assault is a multi-directional shooter featuring unique twin-stick tread controls and early scaling/rotation hardware
Then I became obsessed with wanting to create something like this and specifically to try and get a job, in the games industry. At this point, in 1994, I had ,begrudgingly, come to accept that PCs were slowly becoming the norm, these were, in my opinion, characterless business machines, with no custom hardware and even less personality. But I bought one, a 486DX 33Mhz machine, and began learning assembler all over again on a new machine.
At this time PCs were very basic, no FPUs/GPUs/3D cards, just a CPU, small amount of memory and a VGA card (which basically just shows a part of memory as the display), so, much like the Atari ST, you had to do everything yourself, which I had no problem with.
While Matthew kindly created a tile map editor for me using a bunch of art I found (can't remember where I nicked it from, so thanks to whoever did them :-) ) ! I began the fun task of figuring out how the hell I was going to do this, the arcade machine had custom scaling and rotation hardware, the PC had basically some memory and a slow CPU, apart from some earlier flat filled 3D I'd done in some Amiga/ST demos, this was going to be one of the most complex things I'd ever done. Not only do I have to scroll the screen smoothly (something not really done that time on PCs , at least not at smooth as 50hz which was my target), but I also wanted the player to have the option to enable and disable full screen rotation with the players staying in the middle of the screen, much like Assault. This means everything in the game had to rotate, enemies, effects, bullets, everything !
To top it off and be overly ambitious, I also wanted it split screen multiplayer too, with each player having their own rotational screen.
As I had worked in professional (use that term loosely for Godwins!) software for a couple of years, albeit in pensions, I had come to learn how to document and describe what I was doing, so here are the original documents I created both for myself and in preparation for any potential game industry job interviews. First the file layout of the level files
Then the memory layout, I used protected mode header to access extended memory
So, armed with my documents I sent my CV and game on a disk to a few recruiters, one of them being Datascope.
Weeks went by, nothing back, started to get worried and impatient so I phoned them and they seemed to have forgotten I sent it in. Luckily they found it again and a few weeks later I had an interview with a company called Canon Research.
Arriving at their offices in Guildford I sat in the car with my documents nervous as hell and then proceeded to have an extra long interview with Adam Billyard (who co-incidentally wrote one of my fave ST Games, QBall, and Elektra Glide plus others) and Jonathan Small, a super intelligent guy.
I spent a lot of the interview talking over my documents and about how I'd approach different technical challenges and writing them on a whiteboard, it seemed to take forever and was just hoping my game was good enough to get the job.
Not long after I received the news I got the job, I was over the moon and joined Canon Research, which shortly after was rebranded as Criterion Studios, all that effort and work I'd put into that game had paid off. I was in.
Months went by after our rebrand and just by chance we were discussing interviewing people and I happened to mention my game, turns out they never got to see it or play it, I got the job just based on talking about it and my documentation and the other challenges they set me !
Was it worth doing !?, absolutely, it gave me the confidence to know I could do something more than a demo-scene demo, and how to technically convey my ideas and systems, even if no-one played it. 😂
No Code Website Builder
Below is the link to a ZIP containing the the full source, documents and a number of EXEs. You will need DOSBox to run the EXE's. Controls are (with CAPs lock off!)
Right Mouse Button - Fire
Left Mouse Button - Move Forward
Z - Move Backward
Left & Right mouse together - Exit (what a stupid decision this was !)
1,2,3,4,5 - Swap Weapon (Once you've picked up that weapon!)
M - Morph vehicle
F- Fat Pixel Mode
D - Show Debug Stats
R- Toggle Rotation
P- Swap To Player
V - Swap To Vehicle
Assault.zip