Andy Glaister - Work History - Back to www.glaister.com
Link to pages on MobyGames and LinkedIn
Andy works in DirectX at Microsoft.
Last Updated December 6th 2008
I'm trying to create a complete list of all the games I have worked on. Much of the information here is from scanning the original boxes or cassette inserts that I kept.
I was born July 4th, 1967 in Marlow, Bucks. England.
I started 'playing' with electronics at about age 10 and had built my first computer at age 12 from a simple design based on the SC/MP 8060. This computer was in a wooden box with 8 LED's, 8 input switches and 32 bytes of ram from 4 74LS89 16x4 bit ram chips. The original machine was constructed in stages as I could afford to buy the parts. I built it in a cardboard box, but my grandfather made me a wooden box. Outside the box it was connected to a 6v battery. This computer taught me a lot, with only 32 bytes of ram it was painful to program, You reset the machine, that set the current address at 0. Then you manually entered the instruction for 'store' using the switches, pressed the 'clock button' then entered the data to store at location 0, then hit the 'clock button again. In this way you could enter sequentially all the instructions for 32 bytes of program. You could then select 'Run' and it would run at fully speed. I managed to get a few small programs created, most of which flashed the output LED's in sequences or counted in binary etc... At school the teachers were quite impressed (in those days slide rules were still being taught). Although it wasn't until many years later I noticed I had miss-spelt the word 'sense' under two of the switches.... *sigh*.
1980 My First Real computer - A Microtan 65 (1K ram 750KHz 6502, Hex keypad). I was not allowed to get a ZX80 as we could not afford one, spent plenty of time around my friends houses, learning to program on theirs though.
1981 Sinclair ZX81. My parent 'splurged' and got me a ZX81, within months some of the games I had written I started selling. At first I sold them through pretty much the first computer store in England - The Buffer Micro Shop in Streatham. I would buy 40 C15 cassette tapes one lunch time, record the games and photocopy inserts that night and then go by train from Crawley in Sussex after school the next day and return with £100 profit (50% of the retail cost of £4.99). For a 13 year old, this was great money. I met one of the owners of Silversoft in the shop one day and decided to let them publish the games instead (it seemed like it would save me train fare).
Meteor (ZX81 Silversoft)
Alien DropOut (1981, ZX81, Silversoft)
When the Sinclair ZX Spectrum was released in late 1982, I managed to get one of the first machines and developed a number of games that sold really well. These were the days when authors still got 25% royalties on the retail price of the game! At this point I was still at school and at 16 was starting to earn more than my teachers.
Orbiter - This game sold about 30,000 copies over the Christmas of 1982!! (Emulator)
I started working with another company called Softek (which turned into Edge) started by Tim Langdell. I wrote a number of games for them and even convinced my friend Graeme Devine (ID, 7th Guest) who lived just down the street to write some games for Softek as well.
Meteroids - (Emulator)
Sofkit 1 - Utilities for the spectrum
Softek Basic Compiler
Joust - (Emulator) (Osteron) (Emulator) (Joust)
Using the money from these games I bought an Osborne 1 and started to use the Z80 assemblers to try and produce code for the Spectrum. I also used the built in 300 baud (or 1200/75) modem to play this new game with my friends Jez San and Fouad Katan called MUD - 'Multi User Dungeon'. We remotely logged into Essex University (back when they only had 6 inbound lines) and we all played in the same multi-user-online world. I realize now that I spent so many days and nights playing this game back then, I have not yet been able to bring myself to play any of the modern MMP relatives of this very first MUD. I actually was credited for becoming the second external 'Wizard' in the game (Jez San of Argonaut was the first), but I was credited for being persistent in finding ways of cheating..... :-)
Around this time, some local reporters got wind of some kid still at school earning a lot of money through computer games. Here are some of the articles that appeared:
During the rest of the 1980's I started working on a development system as typing in hex using a two line basic program was becoming more and more difficult. This was developed on one of the first IBM PC clones from England - the 'Apricot PC'. This was an extremely well designed machine and actually had some advantages over the early IBM PC's - namely a 960K memory limit, a separate LCD in the keyboard and great hardware and software manuals. The assembler, editor, debugger, profiler, graphics tool and hardware card to connect to C64's, ZX Spectrums, Amstrads, C16's etc... became really popular with first my friends and then more and more developers. I formed a company called 'Programmers Development Systems Ltd.' or PD Systems with Jacqui Lyons (of Marjacq) and Fouad Katan (of Bits) and for the remainder of the 1980's and early 90's we sold about 500 systems to pretty much all the game development companies in England. Many of the people who bought these systems would never have used the PC for anything else, so it was quite a large investment at the time. It's difficult to find information on PDS these days, I have found a couple of links to companies and individuals who mention PDS:
Business card circa. 1983 - listing Jacqui Lyons as my agent.
Business card circa. 1985 - Programmers Development Systems Ltd.
While working on PDS I still managed to write a number of games. I was being represented during this period by Jacqui Lyons who was one of the first computer programmer agents in England. Many of the titles list below I did the Sinclair Spectrum version and then a port to the Amstrad CPC as well.
Tachyon Command - (Emulator)
Warlords - (Emulator)
Scuba-Attack - (Emulator)
Legend - (Emulator)
Skyline Attack - This game, I started, but got too busy, so it was finished by Foo and Jez on their own.
Empire - Foo and I wrote this together (he wrote the C64 version). The game starts off with no gauges enabled so looks a little plain. Unfortunately they used this plain look for the cover :-( (Emulator)
The Fourth Protocol - (Emulator)
Jailbreak - (Emulator)
Salamander - (Emulator)
Interview / Review Page 1, Page 2
The Comet Game - (Emulator)
In 1989 (age 21), after programming for almost 10 years, I took some 'time off' and joined Mission Electronics, a high-end English Hi-Fi company who were thinking about getting into developing PC's. This involved me moving to Vancouver, Canada and spending two years working on the very first MCA Laptop, a very cool portable computer (had a built in printer and gas plasma) and a server with redundant everything. I was their lead firmware engineer and spent about 4 months at Phoenix Technologies writing custom bioses for our machines and much time at Boeing (who had decided MCA was the future). I also spent about 4 weeks at Irwin Magnetics in Ann Arbor and developed a complete tape backup and restore solution that was built into our bioses. After getting home sick I returned to England and carried on PDS for a while until I had an opportunity to move out to America permanently. I moved in 1992 to join Icom Simulations in Illinois. There I developed the official development system for the Turbo-Graphics 16 (PC Engine), including the CD-ROM emulator and also worked on development tools for all our other projects. I still have one of the Turbo-Graphics development boxes, which was extremely professional looking and well made - of course these cost $15,000 each, but I made and sold about 50 of these for Icom over the period of about a year. This is the last time I worked on development systems or PDS code.
The last PC Engine development kit, based on PDS hardware and software.
HP95 Games - I loved working on the PC, so when HP released the HP95 handheld PC I had to have one. In the first weekend I had copied optasm and optlink (very fast single pass assembler / linkers) to the machine and actually coded a really good space invaders on the device itself. I wrote a few other games (Chess, Backgammon, Checkers) just because I was interested in computer AI and sold them shareware for a while over CompuServe. A company called Sparcom contacted me and published them all.
Icom Simulations was acquired by Viacom New Media in 1994. They applied and got me my American green card and I worked on a number of projects including Beyond Shadowgate and art and programming tools for many console games.This is where I met Peter Sills who had this crazy idea that Windows might be able to play console games - I had been working on N64 emulators in my spare time and joined him and Mark Achler as the first employee of Kinesoft Development. We worked on converting Pitfall from the Sega 32x to Windows and during the 8 month development cycle realized this would make an excellent Windows 95 launch title. We just got it finished in time and Activision had it on the shelves the day Windows 95 launched - many people bought it to see a real action game running in a window on their desktop. It was also used by Bill Gates at the E3 prior to Windows 95's launch to show off the 'DirectX Gaming Technologies' in Windows - even though Pitfall was released 3 months earlier than DirectX 1 and contained no DirectX technologies.
Pitfall - Completed in 8 months. I worked with Shiny for about 2 weeks and worked at Activision in LA for the last 3 weeks.
Earthworm Jim - Completed in 8 weeks from start to finish - last 4 weeks spent at Activision.
This game is a lot of fun, I'm very proud to have worked on it.
Now we had a great 'Windows 95' gaming shell (called 'Exodous technologies') as well as emulation technology and the ability to mimic console hardware. Kinesoft was approached by a number of companies to buy or license the technology. Eventually we signed a $30M deal with GameBank - a company setup by SoftBank and Microsoft to bring 200 console titles to Windows. These were all based on the technologies I developed in Pitfall and Earthworm. Kinesoft was now expanding. At it's peak it was 30 employees. These titles are also the start of the era where I was no longer the sole programmer on a project but instead part of a small team.
Gex - Worked closely with Microsoft Game Studios (called EBU in those days) and Christian Gustaffason (the lead programmer) to emulate a Sony PS1 on DirectX 1 for this title.
Raiden II - This title used my 68000 emulator and windows shell and was developed by NuFx software in Illinois. I spent quite a bit of time getting this very complex game running well on our minimum spec machines.
Samurai Spirits - This was a port from the NeoGeo that had complex 2D scaling hardware that we successfully emulated on a 386 33MHz.
Fatal Fury 3 - The first of the full 3D Playstation 1 ports. Considering our min-spec was a 486-66 and we were using the very first version of Direct 3D, this title played really well.
Toshinden II - A really key Playstation 1 title. Now we had proved we could emulate anything on Windows.
Zero Divide - This was a 3D robot fighting game. I got to visit Japan and work with the developers directly so we could port this game.
Zeitgeist - This game we worked closely with with Digital Dialect to complete.
After doing A LOT of ports from consoles to Windows, I decided to try something different. I went to the company that my wife (to be) was working at. They were having some trouble with Mechwarrior 3 and their publishers were thinking of canceling the game. I was bought on as a consultant to help out and enjoyed working with everyone so much I joined as their Technical Director working for Denny Thorley. This was a tough time for FASA they were laying a number of people off and had 'lost' Mechwarrior 3 to Zipper. I started a small team and developed core technologies that became a solid platform for all the future games to be published upon. This technology, called GameOS contained extremely powerful debugging and profiling tools, a common math, sound, UI and 3D engine. Shadowrun, Mechcommander 2 and Mechwarrior 4 were all based on this technology. Microsoft acquired the company and moved 43 of us up to Redmond in Jan 1999.
Mechcommander 1 - I joined FASA for the last 6 months or so of this project and worked closely with Frank Savage on performance optimizations, new graphics routines and some of the amazing effects you will see in this game. I'm very proud of working on this as some of the graphical improvements we were able to do made the game look spectacular, even though it was running in 256 color mode. This was the last time I hand coded a lot of assembly (even MMX!).
Microsoft. I was a 'Development Manager' in the game studios working for Stuart Moulder. About 3 months after I joined, Mike Abrash who was working in the natural language group heard about this new technology team in the game studios. Once he saw what we were working on, and heard we needed an optimized software rasterizer he came and worked for me. We developed a 16 bit software rasterizer called Blade that was extremely fast and shipped in a number of titles from the game studio so we didn't have to rely on 3D hardware as much. (Mike is now working at RAD Game Tools on Pixomatic - a 32 bit software rasterizer, more features, double the color depth and even faster than blade!). Mike went on to develop Pixomatic into the rasterizer that will be found in the Intel Larrabee hardware.
Motocross Maddness 2 - I am in the credits for this game (and know Mark DeSimone, the lead programmer well) but really all I did was help with config testing and worked on getting Blade, the software rasterizer into their game.
Links 2001 - This was a title that was based on the GameOS technologies. The game studio was based in Salt Lake City and I had to work remotely to help them ship this game. Matt Dawson was the lead developers and was a real pleasure to work with.
Crimson Skies - Zipper Interactive worked closely with Microsoft on this title. They used the GameOS UI rendering layer, although they didn't spend enough time optimizing this before release. There were a number of patches before this was a good game. The concept and art are amazing.
Mechwarrior 4 - This was the main client of GameOS. It took a huge number of people to ship this product, it made us all feel good after seeing Zippers version of MW3.
Mechcommander 2 - This was the 3D version of Mechcommander. GameOS was used as the underlying engine for this game, although Frank Savage heavily customized it.
At this point I stopped working on shared technologies and instead became the development manager for a new group in the games division 'RAT'. Role Paying, Adventure and Technology group. This group published a number of titles while I was the development manager, so I was closely involved with all of them.
Asherons Call - One of the first MMP games.
DungeonSiege - I personally worked a lot on this title. I helped out with graphics, config and the 'Watson' crash reporting system.
Nightcaster - I worked hard with VR1 to help get this title finished on time. This consisted of spending many weeks in Boulder, CO with Andrew Flavell - another developer in RAT helping them optimize, tune and deliver Nightcaster.
Age of Mythology - I'm in the credits for AOM - not exactly sure why. Guess I gave them some code, helped with setup and play tested a lot :-)
Asherons Call 2
Dungeon Siege LOA
Development Manager, working on 'GameOS'
Development Manager, working on XBOX titles.
At this point I became the Director of Development for the game studios, working closely with the XBOX team and our PC and XBOX studios trying to help share technology and shape the design of future consoles.
Halo PC - I happened to car pool regularly with Michael Evans and Chris Butcher, two of the dev leads in Bungie. At one point in the HaloPC project, Bungie had decided it was taking too much focus away from Halo 2. I offered to help them ship this title, thinking it would be a minimal time hit. I ended up spending about 17 weeks at Gearbox in Plano, TX during the height of summer in 2003 helping ship this title before we believed Half Life 2 was coming out. Turns out we beat them by a year and I'm really proud at what a great job Gearbox were able to do on this game. I worked closely with Hamilton Chu, Phil Teschner, Michel Bastian and Kev Gee through many, many long hours to get this product delivered.
After working on Halo PC I decided I really enjoyed working on PC titles, but there were a number of things in Windows that made game development really difficult. A friend of mine who I had known since he evaluated Kinesoft Development for a potential acquisition by Sega called Dean Lester had recently been made General Manager of the DirectX team. So once HaloPC was shipped I changed groups at Microsoft and became the Development Manager for the DirectX team (Windows Graphics and Gaming Technologies). The programmers on my team developed the new Longhorn Display Driver Model (LDDM), Direct 3D, XACT for Windows, PIX for Windows, Longhorn Gaming features as well as the DirectX SDK. This was a challenge as the team was very large and the people reporting to me had teams reporting to them who actually did the work, so I was two levels of management away from actually coding! When I joined the Window's team, most of 'Longhorn' was written in managed code and DirectX was still shipping every 1.5-2 years. I changed the release frequency of the SDK to bi-monthly which allowed us to release and update and get feedback on the technologies faster and to more rapidly include of the new technologies developed by the XBOX team into the DirectX SDK. We also had a 'restart' on Windows Longhorn which became Vista and rewrote a lot of the Game Explorer in C++ again and scaled down our plans for the new graphics stack. We shipped XP SP2, which we knew was a good update to Windows, it contained DirectX 9.0c which was really only some small bug fixes to the original 9.0 work, but it enabled Shader Model 3.0, which I believe will be one of the longest used and most popular of the D3D APIs. Shader Model 3.0 has very high limits and more features than most developers understand or know how to deal with for their applications. The Sony PS3 and XBOX 360 both have good SM 3.0 graphics parts, so we knew that developers were going to be 'stuck' on D3D9, SM3 for at least this whole console generation. Although D3D9 SM 3.0 is a good platform, there are a lot of differences between various video cards, one of the things that I was able to add to the SDK myself was the caps poster that shows all the hundreds of capability flags that are exposed by various video cards. This is a really cool poster and can be found in the DirectX SDK config sample directory.
This 'caps' explosion over the first 1-9 releases of DirectX was causing developers more and more problems and making the platform very difficult to develop and test advanced graphics applications. We made the choice to make D3D10 a 'step function', we were going to require all the features to be present and we were going to have a much better specification that would exactly describe how each and every function of D3D10 should behave, in all the unusual cases and at all it's limits. This is a huge amount of work and initially caused a lot of concern that D3D10 was adding a lot of transistors to new graphics cards that could just be dedicated to making D3D9 applications go faster. It would also make the differences between multiple vendors of D3D10 cards significantly less - there is almost no room for 'feature innovation' and there are no extensions - D3D10 video cards need to differentiate themselves based upon performance, not features. Luckily the video card IHV's eventually agreed that this was a good plan for the industry and today (late 2008) all the IHV's have D3D10 based cards across their range and the differences between vendors are minimal (Some MSAA differences, slight texture filtering quality etc...). D3D10 is significantly different from D3D9 and has been developed to allow well written applications to be extremely efficient. The runtime has minimal overhead and in theory the driver overhead should be minimal as well. It has taken developers some time to adopt D3D10 (mainly because it's tied to LDDM and Vista), and it has taken IHV's a while to make their drivers as efficient as their old XPDM drivers were. We expected it would take about 3 years for Vista to reach 50% market share (which is roughly what it took XP) and we knew that there would not be a significant number of D3D10 applications written before then. In that 3 years we hoped to improve the documentation, debugging and profiling abilities and optimize the drivers. Once Vista is the min-spec for a graphics application it's a much, much better platform that any previous operating system and the D3D10 graphics drivers and runtime is a much, much better platform for graphics development. It's frustrating that D3D10 adoption is not faster, but we also believed that this 'step function' was good for the industry in the long run.
After working as the Development Manager for the Windows Graphics and Gaming team for two years I had an opportunity to get back to 'my roots' in game development. I left Microsoft in September 2005 and formed a startup called GiantBite with a couple of friends from Bungie and a friend from my Chicago/FASA days.
I worked on technical design documents, engine and prototype development, setting up the company, talking to publishers and prospective employees for most of 2006. We got a lot of interest in the game proposal and got really close to signing deals with large publishers. A next generation FPS costs about $15-$20m though and betting on four individuals to be able to grow a team and deliver a AAA title was a big bet at the time. Because the PS3 was so late and the sales of the XB360 had hurt the 'previous gen' console sales so much, during 2006 publishers were very nervous and looking at their budgets in great detail. I had a lot of fun during this year and worked very hard, but the four founders decided it was time to earn a living again and we didn't have the enthusiasm about taking on smaller projects and building up slowly over a number of years, we all had AAA experience and want to focus on that. Steve has some of the creature designs on his web site here.
I returned to Microsoft in early December 2006, Steve Theodore, our Art Director also started at Microsoft in early 2007, working at Bungie.
These days I'm working back in the DirectX team (which is now called DGT, Desktop Graphics and Technologies), this time though, I'm a Dev Lead of a small team working on a very cool project that I'm having a great deal of fun working on.
My 2nd day back at Microsoft, we got our 1st ultrasound pictures of Lucas, so not only have I been working hard on a cool project, but also having and raising a little baby boy.
The 'cool project' I am the lead of is called WARP10, this was just a really cool name and as any geek will tell you, in Star Trek it means infinite speed. WARP stands for 'Windows Advanced Rasterization Platform', but it's not really a platform and I'm not sure why it's advanced. I guess WARP10 sounds a lot better than 'FastRef' though :-) Having worked on low level assembly optimization for most of my career and having really enjoyed working with Mike Abrash on 'Blade', the opportunity to develop WARP10 was really interesting. The WARP team members are amazing as well, we have incredible people and our talents overlap really well.
In the November 2008 DirectX SDK release we shipped a beta version of WARP10 as part of the D3D11 beta preview. This also got mentioned at PDC and WinHEC, but almost no-one noticed the rasterizer at all. I had always felt that the documentation for Direct3D did a good job of being a reference and programmers guide, but didn't go into enough detail about why we developed a particular technology, or what we thought it was useful for, or even gave benchmarks that proved it could do what we said it could. To remedy this I wrote a 'developers guide' paper to WARP and we got it published on MSDN. This got the attention of a lot of people and we got all sorts of stories about what WARP would be used for in Windows 7. I wanted to include benchmark numbers in the paper as people need to understand we are serious about performance. We do an amazing amount of benchmarking of WARP - we run it against hundreds of applications many, many times a day and gather all sorts of statistics. I wanted to release numbers that people could duplicate and verify on their own, so I used the Crysis timedemo benchmark. I really like Crysis, it runs on D3D9 *and* D3D10 and has lots and lots of different configuration options - anything other than the lowest settings and most video cards these days just choke - which makes it an ideal candidate for a software rasterizer as all the overhead is in rasterization not the game logic itself. The benchmarks are amusing as they show the fastest Intel CPU is faster than their integrated graphics GPU - Yes, it's bad the GPU is that slow, but great that their CPU is that good! The Intel GPU actually runs Crysis significantly faster when using their DX9 path, but on a Core i7 CPU, WARP is still faster, even using the D3D10 path. Crysis seems to be ~5% faster on D3D9 than D3D10, which says to me it was written and optimized for D3D9 and then ported to D3D10. I'm looking forward to games that are written and optimized for D3D10 and don't even have a D3D9 path. In future, it will be great if these games also had a very low quality mode (ie: no trilinear / anisotropic filtering, cube maps, float 16 etc...) that would be playable on WARP as well.