As the sole proprietor of Ahlquist Software, I have worked on a variety of shipping titles:
Developed for Liquid Entertainment/Codemasters. Shipped Dec. 2008. Ahlquist Software provided PS3 performance analysis and optimization. Our analysis identified a variety of issues, some level layout issues, and others programming issues.
Several performance optimizations were implemented. Some were to correct intermittent stalls associated with level streaming. Spreading spawns fixed one of these, and correcting excessive initialization in particle systems fixed another. Other fixes improved framerate. The conversion of several thousand lines of UnrealScript to C++ code resulted in a savings of several miliseconds/frame for the PS3. Functions included AI controller functions, and HUD display functions. Adjusting the PhysX timestep parameters also saved several miliseconds/frame on PS3.
Another set of optimizations involved the management of sound data in the PS3 RSX(GPU) memory. Correcting these removed stalls of 75 - 300 milliseconds.
Developed for Electronic Arts. Shipped March, 2007. While at EA I created the SAGE engine used in C&C3. Subsequently I worked on optimizing the asset creation pipeline for weapons, and updated unit movement control code.
Developed for ThatGameCompany. Shipped Feb, 2007 on the Playstation 3. I created the code for the PS3 Synergistic Processing Units, including a multi-processor fluid simulation implementation.
I shipped two games and an expansion pack working for Electronic Arts from 2001 - 2005.
Developed for Electronic Arts. Shipped on time November, 2004.
I was lead engineer for two years on this project. One major task was improving the performance in the engine so that we could support ten times as many active game units as the previous title, Generals. Part of this task involved decoupling the logic so that it was updated only five times a second, rather than thirty times a second with the scene rendering.
Related tasks involved handling projectile movement, as the fast moving objects had to be smoothly interpolated each time the scene was rendered.
Other tasks involved AI and combat control for multiple squads of characters, such as orcs and Isengard Uruks, using melee and projectile weapons such as bow and arrows. Animation control was enhanced using a Lua based scripting interface, allowing transition animations to be selected programmatically.
Developed for Electronic Arts. Shipped on time September, 2003.
Zero Hour was an expansion pack for C & C: Generals. During its development I was primarily responsible for Battle for Middle Earth development. However, I worked on performance optimization, debugging, and AI development of a retaliation feature for the player.
Developed for Electronic Arts. Shipped on time February, 2003.
I spent two years as Sr. Engineer on Generals. My responsibilities included creating the level layout and editing tool called Worldbuilder. I developed the unit AI, including all movement and attack behaviors.
I developed vehicle movement code for the rocket buggy, incorporating suspension and mobile wheels to give the impression of a real vehicle.
Other features included missile movement and tracking, screen buffer visual effects, Virtual Player AI systems, and scripting system.
I shipped numerous versions of Desktop and Web Publishing tools for Macromedia and Altsys (acquired by Macromedia 1995) from 1989 - 2001.
Developed for Macromedia. Shipped on time Nov, 2000.
While working on the first four releases of Fireworks I was Principal Engineer at Macromedia in Richardson, TX. I developed a variety of features for this release.
Developed for Macromedia. Shipped on time Dec. 1999.
I developed the "Preview" mode for the main drawing window that rendered the web page using the compressed image data (gif, jpeg or png) that would be shown in the actual web page, as well as previewing the button rollover behaviors added by the user.
Developed for Macromedia. Shipped on time March 1999.
Principal tasks involved improving the ease of use of the Image Slicing technology, and adding additional user controls for the GIF and JPEG compression algorithms.
Developed for Macromedia. Shipped on time, March. 1998. Launched at Spring Internet World.
I developed the first Image Slicing technology in any web graphics application, as well as award winning GIF compression technology. The export user interface allowed selection of colors, as well as advanced adaptive palette generation for GIF and PNG export.
Developed for Macromedia. Shipped on time, January 1998.
FreeHand 3 - 8 were developed using C, and a proprietary object oriented pre-processor called OOPS (Object Oriented Programming System) similar to Objective C. I spent most of my time as Principal Engineer for Altsys and Macromedia.
FreeHand 8 was the project that I served as director of development. I managed the development of the project, which included eight software engineers and eight graphic designers. The project shipped on time on both the Macintosh and Windows platforms, and was high quality with no major bugs in the shipping product.
Developed for Macromedia. Shipped on time October, 1996, Mac & Win.
As Principal Engineer I was responsible for printer support, covering a wind ranges of devices from HP Desktop laser printers to hundred thousand dollar Imagesetters. During this time FreeHand was recognized as the premier high end PostScript drawing application, printing more robustly than Adobe Illustrator.
Developed for Macromedia. Macintosh version. Shipped on time, Sept. 1995.
Developed for Macromedia. Macintosh version shipped on time, Jan 1995. Windows version shipped August, 1995.
The Windows version was based on Win32, using the subset available via Win32s, allowing it to run on Windows 3.1, Windows 95 and Windows NT.
Features added included on screen text editing, spell checking, and an interface to allow 3rd party extensions to be added to the application.
Developed for Altsys Corporation, licensed to Aldus Corp. Macintosh version shipped January, 1994. This included the advanced typographic controls created for Virtuoso (see below).
Developed for Altsys Corporation. NeXT version shipped late Fall of 1992.
Virtuoso was developed in Objective C under the NeXT Step operating system. I created an advanced typographic layout system that included spacing, kerning, and asymmetric scaling of individual characters, as well as paragraph level line spacing and justification control. Features included wrapping text in arbitrary closed curved shapes.
Developed for Altsys Corporation, licensed to Aldus Corp. Windows version shipped in 1991.
I was the lead engineer on this project, written in C, directly on the Windows 3 API. I wrote GUI code, the screen drawing code, and printer interface code.
I developed a variety of CAD tools for Integrated Circuits at Texas Instruments from 1982-1989. The tools were for internal use by Integrated Circuit development groups inside of Texas Instruments.
This software was developed for Apollo unix workstations. The software performed schematic verification on IC mask layers by deriving the transistor network from the mask geometry data, and then matching the physical network to the intended schematic. ASVer was written in C, and ran on Apollo workstations under the AEGIS operating system, Sun workstations running BSD Unix.
This system performed geometric verification on IC mask layers. It checked minimum and maximum width, spacing and overlap of the mask geometry data. This system could run directly on Apollo workstations, or on a custom multiprocessor system developed in tandem with the software. I developed the boot ROM, debugger, and hard drive interface software for the multiprocessor system.
AVer was written in C, and ran on Apollo workstations under the AEGIS operating system, Sun workstations running BSD Unix, and the custom hardware system using a simple custom operating system that I wrote.
This was a graphical tool for entering circuit schematics. It was one way to provide the schematic diagrams to ASVer. I was the lead engineer on the product. Adcap was written in C, and a custom Forth based scripting language called TICL.
SLIDE was a tool for the graphical layout of Integrated Circuit mask data. It ran on a Texas Instruments 990 minicomputer with a custom graphics processing system. I optimized the system, increasing the performance and data capacity of the software by a factor of 5. I also wrote the device driver software (SDX10 operating system) for the custom GPU.