Who Am I?
My name is Brett Fattori and I've been writing code since I was about ten years old. My experience started with BASIC on the Atari 800. It was my first machine which I received (well, the family received) as a Christmas gift. We played PacMan and Missile Command for hours, so I knew that games were where I wanted to be.
I wrote my first full game (player-missile graphics, sound, background interrupt music, editors... the whole shebang) when I was twelve in TurboBASIC (an updated version of Atari's BASIC which added some additional graphics handling routines and also compiled to faster machine code). My father and I played my game "SpitBall" a lot. It taught me a lot about game design and what made games fun.
I wrote a number of other games for my own personal experience and growth which really pushed the Atari 800 to its limits. Taking advantage of display list interrupts, I was able to really make that machine hum. I do miss the old days of working on the Atari!
Later in life I expanded my breadth of languages to include Pascal, C/C++, and about six other obscure languages that were required by my college courses. Jumping ahead to 2003, I joined forces with a couple of guys in Oregon to develop a racing game for the Torque Game Engine. I expanded their bezier curve pathing to assist in performing the rendering of the track surface, and demoed it to the guys.
It got us all excited at the possibilities and we worked on it for a couple of years until they got too busy with their real-life jobs to continue its development. After spending as much time as I did tweaking the game, writing the track editor, and developing the internals, seeing it all come to an end was heartbreaking. I lost my interest in game programming, but retained one important thing from the engine's design.
The Render Engine uses the concept of components which was developed for the game engine we were using to create the racing game. I was amazing at how beautiful the code could be, and also how powerful it was. It allowed us to move away from monolithic objects which did everything, to being able to segment functionality within specific components.
And now, six years later, here I am writing a game engine entirely from the ground-up in JavaScript. I've realized that as browsers mature, the capabilities of their JS engines is growing as well. As is evident with Google's V8 engine, JavaScript is a language that is starting to compete with the real heavy hitters.
I hope you get some enjoyment out of using The Render Engine -- I know I have in making it. As the world of JavaScript evolves, I plan to evolve the engine to match. So, grab a copy of the code, dig in, and get that feeling that I had back in 1982 when I wrote my first game!
The Engine According to my Friend Amy:
I have known Brett for approximately 4 years, and I've seen him inspired like Michaelangelo was during his creation of the Sistine Chapel. Whenever, he works on the Engine, he refers to his muse, Daniel Anthony. Daniel is as methodical as the Render Engine itself, and it's as robust as his orange, fluffy body. At the same time, I feel like the Engine yearns for more, much like Anthony yearns for his food. Sometimes I think Brett is scared of the Engine. He knows as the Engine grows in strength, it will eventually become impossible to control. The Engine doesn't stop wanting, it's like a parasite feeding off a blood filled host. One day,I think the Engine will kill us all.