I'm on my way...
by asmaloney (Andy) · 06/28/2008 (8:52 am) · 12 comments
I've decided to leave GarageGames and my time in Eugene is at an end. In the short term I'm going to travel a bit. Long term... ? [*shrug*] something will happen.
I've been quiet on the forums for the past few months. Looks like the last real thing I posted was when I did the release of TGEA 1.0.3. Since then I've done a variety of things here at GarageGames which I hope this community will continue to benefit from in the long run as they make their way into more products.
When I first got here, my first task was to help Matt Fairfax patch up some Constructor problems to get it out the door. I then managed the releases of TGE 1.5.1, TGE 1.5.2, TGEA 1.0.2, and TGEA 1.0.3. Working back-and-forth with Ken Holst - who was the QA department at the time - was a pleasure. After that I was kidnapped by the new InstantAction side of the company to work on the core of the project...
On that front I worked closely with TIm Gift on the base architecture and tech to get the system up and running. This involved working with the Windows COM APIs to write the first version of the plugin [this was quite an 'experience' for a Mac/UNIX guy - not one I'd recommend], and designing and implementing the initial game-to-plugin API. Our first working demo was a rotating cube with a colour selector on the web page - click the colour on the web page and it would change the colour of the spinning cube. Basic, but you gotta start somewhere! Once we had the base going, we worked closely with Sean Sullivan [web] and John Quigley [MBU] to get Marble Blast running in the browser. It was really cool to see MBU work for the first time.
At about the time of our conference - IGC - I moved over to the game studio to work with Clark Fagot and Brian Richardson on future Torque technology and to contribute a little on our games - Rokkitball, Marble Blast Online, Think Tanks, and Fallen Empire: Legions. Working on future tech over the past eight or nine months, I think I touched almost every sub-system of Torque. Not only touched in many cases, but... replaced.
Some highlights:
- a metric tonne [I am Canadian after all] of general clean up - culling unused code, code formatting, better class layout, const corectness, proper data hiding, reorganizing the directory structure, etc.
- replacing the StringTable with a new easy-to-use String class
- putting some Torque Networking Library concepts into the networking layer - client puzzles, encrypted communication, etc.
- replacing the resource manager behemoth with a proper virtual file system and a smaller, easier to use ResourceManager
- adding a Path class to clean up file/path handling
- adding a new octree-based PolySoup implementation
- adding COLLADA and OBJ importing to the new PolySoup class
- automatically creating multiple LODs based on mesh decimation of the new PolySoup objects
The core of some of these systems came from Tim Gift's and Clark Fagot's research engines. I was really glad they'd spent the time to research some of these areas and come up with some decent solutions - I think it saved us a lot of time and we have a much cleaner codebase for it. If there is any interest, in a future .plan I can go over how I approach integration problems like this.
My professional background covers several areas - hard-core software engineering tools for banking and insurance software, derivatives trading software, and forensic software for crime scene analysis. One thing that was reinforced after working at GG is that software's just software no matter what domain you're working in or language you're working with. Certainly there are always going to be problems that are unique to a domain, but at the core it's just software and best practices should apply regardless of the domain or language.
So the time has come for me to move on, and after taking a few weeks off to wander you may see me around these here parts again!
Oh, images! here's a book I recommend to everyone:

The Design of Everyday Things by Donald Norman is a book I first read as a textbook for my graduate course in usability and user interface design. I've read it a couple of times since and have found it a valuable tool for communicating the concept of design to people.
Now, get back to work on your game!
I've been quiet on the forums for the past few months. Looks like the last real thing I posted was when I did the release of TGEA 1.0.3. Since then I've done a variety of things here at GarageGames which I hope this community will continue to benefit from in the long run as they make their way into more products.
When I first got here, my first task was to help Matt Fairfax patch up some Constructor problems to get it out the door. I then managed the releases of TGE 1.5.1, TGE 1.5.2, TGEA 1.0.2, and TGEA 1.0.3. Working back-and-forth with Ken Holst - who was the QA department at the time - was a pleasure. After that I was kidnapped by the new InstantAction side of the company to work on the core of the project...
On that front I worked closely with TIm Gift on the base architecture and tech to get the system up and running. This involved working with the Windows COM APIs to write the first version of the plugin [this was quite an 'experience' for a Mac/UNIX guy - not one I'd recommend], and designing and implementing the initial game-to-plugin API. Our first working demo was a rotating cube with a colour selector on the web page - click the colour on the web page and it would change the colour of the spinning cube. Basic, but you gotta start somewhere! Once we had the base going, we worked closely with Sean Sullivan [web] and John Quigley [MBU] to get Marble Blast running in the browser. It was really cool to see MBU work for the first time.
At about the time of our conference - IGC - I moved over to the game studio to work with Clark Fagot and Brian Richardson on future Torque technology and to contribute a little on our games - Rokkitball, Marble Blast Online, Think Tanks, and Fallen Empire: Legions. Working on future tech over the past eight or nine months, I think I touched almost every sub-system of Torque. Not only touched in many cases, but... replaced.
Some highlights:
- a metric tonne [I am Canadian after all] of general clean up - culling unused code, code formatting, better class layout, const corectness, proper data hiding, reorganizing the directory structure, etc.
- replacing the StringTable with a new easy-to-use String class
- putting some Torque Networking Library concepts into the networking layer - client puzzles, encrypted communication, etc.
- replacing the resource manager behemoth with a proper virtual file system and a smaller, easier to use ResourceManager
- adding a Path class to clean up file/path handling
- adding a new octree-based PolySoup implementation
- adding COLLADA and OBJ importing to the new PolySoup class
- automatically creating multiple LODs based on mesh decimation of the new PolySoup objects
The core of some of these systems came from Tim Gift's and Clark Fagot's research engines. I was really glad they'd spent the time to research some of these areas and come up with some decent solutions - I think it saved us a lot of time and we have a much cleaner codebase for it. If there is any interest, in a future .plan I can go over how I approach integration problems like this.
My professional background covers several areas - hard-core software engineering tools for banking and insurance software, derivatives trading software, and forensic software for crime scene analysis. One thing that was reinforced after working at GG is that software's just software no matter what domain you're working in or language you're working with. Certainly there are always going to be problems that are unique to a domain, but at the core it's just software and best practices should apply regardless of the domain or language.
So the time has come for me to move on, and after taking a few weeks off to wander you may see me around these here parts again!
Oh, images! here's a book I recommend to everyone:

The Design of Everyday Things by Donald Norman is a book I first read as a textbook for my graduate course in usability and user interface design. I've read it a couple of times since and have found it a valuable tool for communicating the concept of design to people.
Now, get back to work on your game!
About the author
#2
06/28/2008 (11:45 am)
Something very fishy about everyone leaving...
#3
I wish you the best in whatever endevour you decide to join.
06/28/2008 (11:47 am)
Another demi-God leaving. It's a sad day for us, but an exciting one for you.I wish you the best in whatever endevour you decide to join.
#4
All your improvements to the engine, and all the help you gave to the community will be like a seed, like always happen with the good things. Please, be around!
06/28/2008 (11:50 am)
The best for you Andy.All your improvements to the engine, and all the help you gave to the community will be like a seed, like always happen with the good things. Please, be around!
#5
Thanks for taking the polysoup stuff to the next level. It's been a real joy seeing Torque move itself along without me. :)
06/28/2008 (12:14 pm)
Andy, it was a real pleasure knowing you at GG. I'm excited to see where you end up next.Thanks for taking the polysoup stuff to the next level. It's been a real joy seeing Torque move itself along without me. :)
#6
I think your post is a bit understated, but then again if you had actually touched on everything you have done this past year it would have been twice as long. Suffice to say You Rock, and thank you for all of your help, on so many things.
Hope you are enjoying the Switzerland.
Looking forward to a long relaxing summer myself.
06/28/2008 (12:17 pm)
ANDY!!! I miss you already bud!I think your post is a bit understated, but then again if you had actually touched on everything you have done this past year it would have been twice as long. Suffice to say You Rock, and thank you for all of your help, on so many things.
Hope you are enjoying the Switzerland.
Looking forward to a long relaxing summer myself.
#7
06/28/2008 (2:16 pm)
Andy! Hate to see you leave, but I know your moving on to bigger and better things. Have a great time, and I'm sure we'll cross paths sooner or later. You dove in headfirst to some of the biggest issues and you produced some great things, thanks again!
#8
06/28/2008 (2:33 pm)
Good luck Andy, and keep us tuned! 8-)
#9
Enjoy some great times in Europe and make sure and keep in touch with yer pals back here in the Garage!
Cheers mate!
06/28/2008 (2:35 pm)
I've had an awesome time working alongside you Andy, and wish you huge success in your future endeavors. I'll miss having friday drinks with you at Jameson's and will tilt a glass of Canadian whiskey or a pint of Guinness to you whenever i'm there. Enjoy some great times in Europe and make sure and keep in touch with yer pals back here in the Garage!
Cheers mate!
#10
06/28/2008 (4:10 pm)
Congratulations on your decision and good luck with the next big step!
#11
06/30/2008 (8:44 am)
Best of luck, Andy. It was good to interact with you all those times, you were a great help. Hopefully you'll still be around so I can ask more questions!
#12
@Brian: Thanks for the offer, but unfortunately this is going to be a relatively short trip, so not much time to wander... Raincheck?
@Ben: It'll be interesting to see what they do with it next!
@Todd: Have a great day today. Hope you had a great time at the Olympic Trials.
@Tim: I really appreciate your support and good luck with your 'stuff'.
@Ken: Even though liquor is more expensive than a car here, I will be raising a glass 'o wiskey to you guys this Friday! Keep up the mighty fine work, Sir!
@everyone: Thanks for your support. I hope we'll see the community continue to rebuild over the next while and come back even stronger. If I end up doing something games-related, I'm sure I'll be back around here... Good luck to each of you on your projects!
Edit: Heh, forgot this crazy system ate umlauts...
06/30/2008 (9:28 pm)
Greetings from Zurich!@Brian: Thanks for the offer, but unfortunately this is going to be a relatively short trip, so not much time to wander... Raincheck?
@Ben: It'll be interesting to see what they do with it next!
@Todd: Have a great day today. Hope you had a great time at the Olympic Trials.
@Tim: I really appreciate your support and good luck with your 'stuff'.
@Ken: Even though liquor is more expensive than a car here, I will be raising a glass 'o wiskey to you guys this Friday! Keep up the mighty fine work, Sir!
@everyone: Thanks for your support. I hope we'll see the community continue to rebuild over the next while and come back even stronger. If I end up doing something games-related, I'm sure I'll be back around here... Good luck to each of you on your projects!
Edit: Heh, forgot this crazy system ate umlauts...

Torque Owner Brian Wilson
I hope this trend of employees breaking the silence only happening when they leave doesn't continue.