Contents
Microsoft Excel: Revolutionary 3D Game Engine?
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 7, 2009
 
Iwata: 35% Japanese Connectivity Ratio For Wii, 20% For DS
 
iPhone Dev Storm8 Sued Over User Data Harvesting Allegations [4]
 
Game Boy, The Ball Admitted To National Toy Hall Of Fame
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 7, 2009
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Texture Artist
 
Activision - Bay Area
Sound Designer
 
Crystal Dynamics
Sr. Level Designer
 
Sony Online Entertainment
Brand Manager
 
Activision - Bay Area
Environment Artist
spacer
Latest Features
spacer View All spacer
 
November 7, 2009
 
arrow On Bringing Modern Warfare 2 To Life [2]
 
arrow Games Demystified: Dissidia Final Fantasy [1]
 
arrow Building Social Success: Zynga's Perspective [3]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part I [6]
 
arrow Valve's Writers And The Creative Process [11]
 
arrow Sony's Software Strategy: Shuhei Yoshida Speaks [3]
 
arrow A Holistic Approach to Game Dialogue Production [7]
 
arrow Ancients Reborn: Launching League of Legends [4]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 7, 2009
 
Defining "Hard Core" and "Casual"? [10]
 
Comparative Ludology: A Case Study Using The Sims and Total War
 
Opinion: Create a Real PSA Against Online Hate Speech [52]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Microsoft Excel: Revolutionary 3D Game Engine?
by Peter Rakos
35 comments
Share RSS
 
 
March 6, 2008 Article Start Page 1 of 5 Next
 

Introduction

Cutting-edge computer games use different graphics subsystems -- so-called 3D graphics engines. Source (used in Half Life 2), Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGINE2 (Crysis) or Clever's Paradox engine are well-known among the players and the game industry experts.

It's time to learn a new 3D game engine name: Microsoft Excel.

Advertisement

It is understood that Excel is an all-round office tool, but probably it is unknown that it has a bunch of features that makes Excel a high-class 3D graphics engine.

In this article I will demonstrate Excel's arithmetical facilities, the embedded rendering subsystems (there are two of them!) and the revolutionary approach which might just cause a paradigm shift. I hope you will discover that Excel effectively and efficiently incorporates practicality, tons of features, the multi-platform portability and the high performance with the unique and futuristic 3D engine features.

The chapters even have demo programs and movies created with the Excel 3D engine.

Warning: Only for determined experts!

Arithmetic

Maybe Excel's arithmetic functions need a demonstration least of all. The core functions of the 3D object manipulation (e.g. the four rules of arithmetic, trigonometric functions, matrix algebra) mean the essence of Excel - but it is worth examining them because of their unequalled compactness and its magnificent elegance with which Excel towers above the current entire 3D engine field.

Compactness

It is very likely that not too many game engines solve the whole 3D arithmetic in a half screen size. The upper part of Figure 1 contains the spatial shift, the rotation around X, Y, Z axis and the perspective projection as well. As it can be seen in the demo applications, the polygon visibility, the Z-buffering and the reflection calculation require about the same size.

Figure 1: Essence of the 3D engine

The yellow color marks the user-defined parameters and green color indicates the engine-calculated values. Numbered areas contain the following data:

  1. Parameters of the perspective projection
  2. 3D coordinates of the objects' points (relative to their center)
  3. Shift and rotation matrix (further details can be found e.g. at http://en.wikipedia.org/wiki/3D_projection)
  4. Parameters of the rotation
  5. 3D absolute coordinates of the points after the shift and rotation
  6. 2D coordinates of the points after the perspective projection
  7. Screen coordinates of the points
  8. End points of the objects' edges
  9. Formula of an element in the shift and rotation matrix. Simplicity and compactness are clearly visible.

Elegance

The development environment of Excel not only allows the programmers to edit a plain or syntax-highlighted source code, but it also provides all of its well-known formatting functions for the engine developers: several fonts can be used simultaneously (with different types and sizes), the cells and texts colored, pop-up notes added, and -- sit down! -- sounds or even entire movies inserted if required.

 
Article Start Page 1 of 5 Next
 
Comments

Andrew Lauritzen
6 Mar 2008 at 9:34 am PST
profile image
Lol this is genius! :D Good work, although you may have too much time on your hands ;)

Jesse McClusky
6 Mar 2008 at 10:37 am PST
profile image
This is the type of creativity that opens up the way to new technologies and wins awards. Good job! If I had a position open, I'd likely offer you a job on the spot.

John Minshull-Beech
6 Mar 2008 at 10:44 am PST
profile image
Not exactly a games use but I designed my house extension in Excel, working drawings and pics. Resized each cell to 1 x 1 -- took forever. Stopped well short of generating 3D rotating wire model though. Mr Rakos is a genius.

Raymond Grier
6 Mar 2008 at 12:36 pm PST
profile image
Very interesting. I can't wait to see the new development tools that arise from this.
By the way, th etop level of letters on a keyboard were also arranged to make spelling TYPEWRITER easier for typewriter seles men who went door to door demonstrating their usage.

Brian Embleton
6 Mar 2008 at 2:10 pm PST
profile image
Wow. This is what happens when VBA programmers have free time? Great. I hate to break it to you, but Excel performs every calculation in sequence. I don't suppose you realize that modern graphics cards perform matrix operations in basically a single cycle whereas Excel probably uses something along the lines of a few thousand in your worksheet cycle? Yeah, when you get Excel to perform a few billion pixel renders per second or start supporting Shaders 2.0, you let us know, m'kay?

Kevin McDowell
6 Mar 2008 at 3:39 pm PST
profile image
Excel is the most under-rated and powerful of all of the Microsoft Office applications. There are some other 2-day animation examples you can find on Office Online (office.microsoft.com) as well as an example of using Excel as a music synthesizer. Just search for "animation engine" or "synthesizer" from the Office homepage to find these examples.

Kevin McDowell
6 Mar 2008 at 3:40 pm PST
profile image
Errrr, that would be 2-D, not 2-day.

Stephen Chin
6 Mar 2008 at 4:51 pm PST
profile image
I remember dinking around in Excel to make the foundation for a Rogue-like game. It worked pretty well, all things considered.

And while Excel may not be a modern GPU, it, like the DS, Flash, Shockwave, etc, can be used be used as a commonly available easy to program engine that new programmers and designers can use to make simple games and help ease their way into more meatier and significant projects. They need not worry about graphics, models, or other time consuming assets but purely the scripting and design. Perhaps in some ways, it's the equivalent to MS Paint for artists.

ian walker
6 Mar 2008 at 5:02 pm PST
profile image
bah! I was doing similar things in the mid 90's with excel - I used it as the basis for my SIAL (statistical image analysis lab) where I did filtering and image processing on shaded cells. The fact that it was slow was really good because I got to *feel* when an algorithm was good or bad. I also used it to investigate Bresenham algorithms and aliasing - you got to see close up in the cell shading jut how well they worked. SO sorry dude - I did all this over a decade ago, and nobody ever called ME a genius ;-)

ps: I also used word as a programming editor - styles, outlining, autotext, templates, grammar checking, macros years and years before visual studio. In a lot of ways word is still a better programming editor than any other, even now...

Anonymous
6 Mar 2008 at 8:36 pm PST
profile image
hmm i can't get it to work in OpenOffice :(

Harun Vos
6 Mar 2008 at 9:17 pm PST
profile image
For what it's worth, Anon, I've fiddled with it a bit and got the wireframe cube (mostly) going in OO. I put it up on my page aihtdikh.googlepages.com if you want to play with it.

Marque Pierre Sondergaard
6 Mar 2008 at 11:34 pm PST
profile image
Had to check the date. Is this an April's fools joke?

Anonymous
6 Mar 2008 at 11:45 pm PST
profile image
Been there, done that (in 2004). :-)

http://youtube.com/watch?v=_whSnPErl7c

Andreas Umbach
7 Mar 2008 at 2:31 am PST
profile image
Excel really is the Swiss Army Knife of software tools. It can be used to accomplish *insert MacGyver reference here*.

However, if you have a specialised tool available, it usually beats Excel by a fair margin.

Carl Pearson
7 Mar 2008 at 5:45 am PST
profile image
Great article! Excel has always been my very good friend (well, once 'doze 95 came around, and Quattro faded out of existence...). It never ceases to amaze me just *how* versatile a program it is.

Also, thanks for the Dvorak plug! Having typed with it for almost 20 years, I'm sorry so many people continue to hurt their hands with Qwerty!

Lastly, go ahead and flame me, Ian, but you're dead wrong about Word. If you were really that heavy a coder that far back, you would never have used *that* sucky a program.

Word Perfect was THE choice for anyone who typed until 'doze took over. The old DOS Word was absolutely terrible. (You want to stick in all this formatting crap, but don't give me Reveal Codes? Come on...)

The 'doze version of Word may be today's standard, but it still blows dead bears.

However, even with WP's excellent macro abilities & keyboard re-mapping, I would never have considered using it for coding.

Qedit all the way!

Anonymous
7 Mar 2008 at 8:46 am PST
profile image
Done before (2002)

http://www.microtron.org.uk/~craig/Microtron/Projects/XL3Drender/XL3Drender.xls
There are other shapes in that directory that can be rendered.

Tim Leach
7 Mar 2008 at 10:51 am PST
profile image
Very interesting! I had never thought of Excel being a 3D Game Engine before, but I like the idea of it!

If I'm understanding this correctly, though, wouldn't it be possible to have 60 sheets and emulate the "60 frames per second" staple we have in traditional video games today? It would certainly sort out the issue of fluidity.

Thomas Eidson
7 Mar 2008 at 3:22 pm PST
profile image
I worked at a flow pump engineering firm in 1994. They wanted, for some bizarre reason, flow efficiency charts for speed and material graphed in AutoCAD. I used Excel for the datapoints and had it output LISP and used (I believe) DDE to get AutoCAD to cooperate with Excel (Windows 3.11). It took the graphing time from a manual 1 1/2 hours down to 3 minutes. The algorithms to get the splines functioning were in the cells, the conversion was in VB, and the DDE simply was a file to load and execute in AutoCAD. :)

richard feynman
7 Mar 2008 at 11:18 pm PST
profile image
@ Brian Embleton,

Are you retarded? The author of this article is trying to demonstrate the proof of concept for a change in paradigm with regard to coding structure. He was not attempting to compare the performance of excel data calculations to hardware matrix manipulations. Plus, hardware graphics processes are limited in the size of matrices which can be operated on. Try to work with matrices with thousands, or millions of rows/columns as is done in high energy physics simulations/reconstructions and your GPU is about as as worthless as a Ti-89. Charles Babbage envisioned a "universal machine" which has yet to come to realization. A step away from architecture based paradigms is inevitable. Your gamer oriented thinking is so hardware-centric that it has blinded you from seeing the big, long term picture.

Lorenzo Wang
8 Mar 2008 at 12:09 pm PST
profile image
Actually, QWERTY was designed to break up common letter pairs, not all succesive keystroke, and no study so far has managed to show Dvorak being superior to QWERTY in typing speed. Comfort is subjective.

Anyways, this was an awesome artilce, I look forward to the first Excel MMORPG!

Tim Maly
8 Mar 2008 at 12:11 pm PST
profile image
Awesome article and very cool ideas. But Ugh! Why did you have to keep perpetuating the myth that QWERTY was designed to slow typists down? DVORAK may be superior to QWERTY but the idea that QWERTY is intentionally slower has been pretty thoroughly debunked.

http://www.reason.com/news/show/29944.html

yutt nkik
8 Mar 2008 at 12:20 pm PST
profile image
@Anonymous

That "Excellence" video by Ananasmurska is pretty impressive. It isn't really a 3D engine, but an interesting example of what intelligent people with too much free time can do, with any tool. :)

Jarmo Petajaaho
10 Mar 2008 at 5:45 am PST
profile image
Figure 4 is currently linked to a wrong image. This is the correct one:
http://www.gamasutra.com/db_area/images/feature/3563/figure4.png

Andrew Lauritzen
11 Mar 2008 at 7:42 pm PST
profile image
Hehe I think some of you guys are missing the point. Unless I'm utterly mistaken, the article is written very "tongue in cheek" and while it's structured like an argumentative paper/essay, the ideas itself are ridiculous (Excel as a 3D engine?? lol!).

Indeed *that* is what is genius about the article: the way that it is written! All of the little details and arguments are similarly structured to papers, all-the-while being preposterous when actually considered. While the idea/implementation may not be new, it's the article that is the real cleverness.

Harun Vos
11 Mar 2008 at 11:55 pm PST
profile image
Hear hear, Andrew!
The idea is clever, but it is the writing that is truly superb.

Peter Mikelsons
13 Mar 2008 at 4:13 pm PST
profile image
Is it just me, or is this basically reinventing functional programming? And, since Excel yelled at me the last time I tried to make a circular reference in it, without the benefit of recursion?

Anonymous
18 Mar 2008 at 9:28 pm PST
profile image
Excel was made by Aliens. Bill barrowed the source when he was abducted. It is actually a Universal Galactic Operating System (UGOS). You need 7 fingers on your left hand and 6 on your right to activate it but I found an egg that created a static warp shell around my monitor. Found a way to localize it around my CPU which really increases the over clocking potential. Exciting stuff!

Andy Lundell
24 Mar 2008 at 1:25 pm PST
profile image
Not as cool as this, but once I implemented Conway's Game of Life in Excel for a school project.

It was the only time in my college career that a prof marked a paper "A+++" like it was eBay feedback.

Zombie Games
31 Mar 2008 at 5:48 am PST
profile image
Very interesting I could possibly make pong or something in it, not very useful but fun.

G G
29 Apr 2008 at 1:00 am PST
profile image
Makes me think back to the Caslte Wolfenstein / Doom -like Easter egg embedded in Excel 95.
http://www.eeggs.com/items/719.html

Bartlomiej Dzik
15 May 2008 at 11:44 am PST
profile image
Very well written and ingenious article. While most lay people still believe that Excel is designed to perform boring calculations, accounting and so on, Excel is, in fact, a powerful gaming platform. There are well over a hundred games developed in Excel VBA: arcades puzzles , and even strategy and dungeon crawlers (see my website) and I am currently developing a full-scale RPG in Excel in the style of early Ultimas.

And you can fc play these games at work - this is another strong advantage of Excel gaming engine :)

saç ekimi
19 May 2008 at 12:28 pm PST
profile image
It's not the bleeding-edge engine that can be used to produce famous games like Half Life 2, Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGINE2 (Crysis) or Clever's Paradox, but it's for simpler usage.

dur cos
24 Sep 2008 at 2:31 am PST
profile image
while Excel may not be a modern GPU, it, like the DS, Flash, Shockwave, etc, can be used. excel is very useful program indeed.

dur cos
24 Sep 2008 at 2:34 am PST
profile image
while Excel may not be a modern GPU, it, like the DS, Flash, Shockwave, etc, can be used. excel is very useful program indeed.

mos tod
9 Oct 2008 at 6:25 am PST
profile image
Big E-Z has lots of cool
programming that makes good use of your Excel program. It doesn't
matter what your skill level is -- anyone can use it


none
 
Comment:
 


Submit Comment