About This Web Site

Excel 97 Egg

reproduced by Jeremy Sachs
Rez-Mason Retrographic Services
Vallejo, California

Visit us on the World Wide Web!

What is all this?

Artists and craftspeople often leave their mark on what they make. Programmers are no different.

The basic flight simulator you see here is an example of an "easter egg"— a game, image, sound, or written message hidden in a creative work, which in this case is Microsoft Excel 97.

Users who performed a secret sequence of unlikely actions in an empty spreadsheet were whisked away to this lavender lunar landscape, created by members of Excel's "Charting Team", beside a scrolling stele glorifying the program and crediting everyone who worked on it. It hid in every copy of Excel 97 ever sold, whether you knew it or not.

How and why did someone hide this in Excel?

In the 80s and 90s, Microsoft's engineers had a lot of time on their hands while their large codebases compiled and linked. Many games they later bundled with Windows or sold in "Entertainment Packs" were originally the side projects of engineers learning new APIs and one-upping each other as they waited for builds to complete. Some of them chose to use their projects to secretly shine a spotlight on the teams they worked on. The specifics of those secrets' discovery mattered little to the authors or to Microsoft in general.

In my opinion, it's likely that the flight simulator easter egg began as a way for someone to learn DirectDraw, and took inspiration from either the video game Descent, which was released during Excel 97's development, or from Flight Simulator, which Microsoft had recently acquired.

Astonishingly, from Excel's first version through the nineties, Microsoft software engineers were allowed to add easter eggs to products, as long as they weren't referenced from the main application. It's possible that this stipulation gave the company plausible deniability, in case some hidden code caused a problem. It also meant that the authors needed to work out an innocuous method to run the easter egg without directly referencing it— by overwriting a function pointer when certain keys were held down at once, for instance.

Outside the game industry, this leniency around easter eggs is almost unheard of today. Before the advent of the Web, the security implications of concealing undocumented functionality in software didn't overly concern the tech industry, but as wariness of software bugs and vulnerabilities grew more common, an unspoken agreement emerged between publishers and users that a program you grant access to your computer shouldn't contain surprises that may compromise its performance, stability or security— and that the programmers who write it prioritize these things over self expression and recognition.

What's it doing here?

This HTML port is intended to be a faithful reproduction of the original easter egg, as a way to preserve an important piece of computer history. Most computers that still support Excel 97 run the easter egg too fast to properly function. Virtual machines are up to the task, but require a lot of work to prepare and configure. Converting it to a web-based experience eliminates all barriers to entry, so more people can marvel at what a small team of imaginative engineers managed to once conceal in the world's foremost spreadsheet application.

This project is also fully open source and MIT licensed .

To reverse engineer the original program, its memory was recorded with ProcDump as it ran on Windows XP in Virtual Box , and the hex dumps were compared and inspected with Hex Fiend. This was how the credit text, terrain geometry, and textures were recovered. A custom Win32 program was written to collect the color palette, though it went mostly unused. There was an attempt at decompiling the program, but that proved to be unnecessary.

A simple port of the easter egg was thrown together in Three.js, before this more detailed port was made in regl.

Two striking features of the terrain are its jaggedness and lighting. Modern approaches to realtime per-pixel lighting were unavailable in the mid 90s, and even dynamic vertex lighting was resource intensive. To lend their terrain some definition, the authors of the easter egg chose to bake a varying brightness into the ground's vertices, or points, derived from how far they extended from the surrounding surface. (It's a similar effect to the browning on a toasted english muffin.) This likely prompted them to cover the landscape in sharp hills and spikes, which also served as an allusion to the charts their team was responsible for.

Why does it feel clunky?

That's an option you can disable.

For authenticity, this port's frame rate and drawing resolution are throttled to match the limitations of conventional office equipment from 1997, but these constraints can be toggled in the command bar, along with some additional graphics modes:

( B ) Bird's Eye View A third person perspective to help navigate and understand the terrain.
( C ) Lighting Cutoff Changes the maximum distance of the fog and drawn terrain.
( Q ) Show Quad Edges Highlights the boundaries of the tiled terrain geometry.
( T ) Hi Res Textures Loads replacement textures with 8x the original resolution.
( R ) Limit Draw Resolution Constrains the dimensions of the rendered scene to 800 x 600.
( S ) Limit Draw Speed Constrains the frame rate to approximately 15 FPS.
( G ) Show Sindogs In place of a sunset, gives the horizon texture a sinusoidal glow.
( Named after a notorious Excel-related bug in Windows )
( F ) Fullscreen Expands to fill the entire screen, just as the original did.

Flight instruction

On pointer-equipped devices: move your pointer to control your heading, left-click and right-click to accelerate and decelerate, and hold the spacebar to brake. You can also scroll down the credits the way you scroll down a conventional web page.

On touch-enabled devices: use one finger to control your heading, and hold another at the top, bottom, or middle of the screen to accelerate, decelerate or brake.

Torus Trap

After a few minutes of flying around, most users come to realize that the world is like the surface of a torus— in other words, it loops in every direction— a fact concealed by the short drawing distance. But it may still surprise some to hear this whole world is "charted" from a square "spreadsheet" only 64 cells wide. So how is it so easy to get lost?

There are several design decisions at work here. The original easter egg provides no navigational aids, and has few landmarks to help you get your bearings. In fact, many features of the terrain loop around its edge and join back with themselves, thereby appearing endless.

Most importantly, the camera is tightly zoomed in, with a field of view of only around 26 degrees. That is like seeing the world through a porthole the size of a dinner plate two feet away from your face.

These choices worked in tandem to make the easter egg low-profile, responsive and intriguing.


Thank you Ed Fries for providing insight into the culture at early Microsoft, and Hank Chien for describing the charting team and pointing me in the right direction.

Peter Ammon's tool was (and is) indispensible, as was (and is) Mike Pavone's expertise in matters of reverse engineering and general camaraderie.

Jordan Scales provided the excellent CSS and web font basis for this about page. Mike Blackney demonstrated a technique for generating SDFs in Photoshop, which saved me the hassle of buying a specialized tool.

Thank you Tyler Lyn for your continued love and support. 🥰

Jump to top of page