Office-level Graphics Abstraction Layer
If there is no need for ECG's advanced features, like resizable pixels and variable aspect ratio then Excel's other rendering subsystem -- the Office-level Graphics Abstraction Layer -- is a possible choice.
OGAL provides additional functions (polygon drawing, filling, etc), higher performance and compatibility with other applications of the MS Office package. This compatibility can be extremely useful if the 3D application has to be ported to (e.g.) Word.
A curiosity of the rendering process is that rendering is performed on a separate layer in front of the worksheet, so the subsystem can work without modifying the existing content of the worksheet.
This feature makes it possible to run OGAL and ECG side by side, or show the background calculations and their results on the same screen -- which helps the debug process. A screenshot of the running OGAL subsystem can be seen below (Figure 8).
The separate rendering layer in front of the worksheet is easily observable on the picture: while the rotating cube is rendered on this layer, the 3D calculations performed by the engine can be seen in the background.
Figure 8: Engine in action (with Office-level Graphics Abstraction Layer)
A typical example of the OGAL subsystem's refinement is the available polygons: whereas the current 3D engines operate with triangles, the OGAL supports other polygons (like quadrangles, pentagons, etc.) as well.
There is no need for a separate background buffer because it is handled by OGAL. Colors can be set by the usual 24 bits and the subsystem provides an additional alpha channel for the transparency as well. Again, the demonstration file is available in our example Excel engine files - for those who shun real-time, here's a video of it in action:
Warning: Only for very-very determined experts!
Paradigm shift
Sequentiality essentially influences our actual programming paradigm. It can be found in every corner of the programming vocation: day by day thousands of programmers code their algorithms row-by-row, create the executables step-by-step (as defined in the makefiles), debug the executables command-by-command.
Thousands of different programs and billions of source code lines were created with this sequential approach. Sequentiality pervades our current programming paradigm so much that programmers don't question its reason for existence and take its limitations for granted.
Note: Please don't underestimate the power of habit! Probably you have a QWERTY keyboard in front of you which has intentionally the most uncomfortable button layout!
It's not a joke: the QWERTY layout was originally created for the typewriters in the 1860s when the jam was a difficult technological problem. The QWERTY layout ensures that successive keystrokes alternate between sides of the keyboard. This layout helps to solve the typewriters' jam problem but it causes the greatest possible demands on your fingers and joints. The wind of change has blown away the typewriters and their 150 year-old technological problems but we still use the most uncomfortable keyboard layout these days!
It is the power of habit.
(For further information visit http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard)
Excel breaks with this habit and exceeds sequentiality. Its revolutionary approach can be observed in the following fields:
-
Non-traditional source code
-
Non-sequential debugging
-
Instant feedback (without a sequential make process)
Non-traditional source code
It is commonly accepted among developers that source code (and the algoritms encoded in source code) handled by the current development tools require a sequential top-down reading and interpretation. Figure 9 illustrates this sequential top-down interpretation.
Figure 9: Traditional, top-down interpreted source code
We accepted this sequential, top-down mentality so much that interpretation of an unusually formatted (but syntactically correct) source code can be immensely hard. If you would like to test your thinking then you can find some challenging examples at http://www.textrush.com/code-formatting.htm. These examples are suitable only for the very determined readers, as they contain unusual line-breaks and tabulators as well.
|
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.
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.
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...
http://youtube.com/watch?v=_whSnPErl7c
However, if you have a specialised tool available, it usually beats Excel by a fair margin.
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!
http://www.microtron.org.uk/~craig/Microtron/Projects/XL3Drender/XL3Drender.xls
There are other shapes in that directory that can be rendered.
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.
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.
Anyways, this was an awesome artilce, I look forward to the first Excel MMORPG!
http://www.reason.com/news/show/29944.html
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. :)
http://www.gamasutra.com/db_area/images/feature/3563/figure4.png
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.
The idea is clever, but it is the writing that is truly superb.
It was the only time in my college career that a prof marked a paper "A+++" like it was eBay feedback.
http://www.eeggs.com/items/719.html
And you can fc play these games at work - this is another strong advantage of Excel gaming engine :)
programming that makes good use of your Excel program. It doesn't
matter what your skill level is -- anyone can use it
Anyway, it's amazing what you can acheive when you're bored at work eh?!