
3D engine made of MS Excel formulae - jbawgs
https://www.gamasutra.com/blogs/CBel/20180208/308549/3D_engine_entirely_made_of_MS_Excel_formulae__Enjoy_this_Doomxls_file_.php
======
jasonallen
As an excel developer in the 90's, this brings up great memories. I wrote the
Doom Excel credits in Office 95. I wish I'd had thought of doing this instead.
Kudos.

~~~
ramses0
My brain is desperately attempting to recall the sequence of steps to open it.
Ctrl + Shift, clicking something in the Help -> About... dialog box, then F5
or something? And/or there was a star-wars scroller in one of other apps,
right?

~~~
zeusk
[https://www.youtube.com/watch?v=Xb9AXBowb0E](https://www.youtube.com/watch?v=Xb9AXBowb0E)

------
RcouF1uZ4gsC
Spreadsheets in general and Excel in particular are magic. It is very likely
that spreadsheets were the killer application that drove the demand for PC's
by businesses.

Spreadsheets are truly the programming tool of the masses (who don't even
necessarily think they are programming).

------
grizzles
Since Excel is a pure functional programming paradigm, I suppose this will
make FP people happy to see FP taken so far without mixing in any imperative
constructs. It's the Übermensch of functional 3d engines.

~~~
xjjfuudud
calling this a functional 3d engine is a stretch, but sure grats functional
programming, you have entered the 80s

------
EvanAnderson
I just watched a talk this morning about doing high dynamic range photography
in Excel
([https://www.youtube.com/watch?v=bkQJdaGGVM8](https://www.youtube.com/watch?v=bkQJdaGGVM8)).
Looks like now I've got something to watch tomorrow!

~~~
f00_
that is great, both of these reminded me of deepexcel: multi-layer neural
networks implemented with a spreadsheet!:

[http://www.deepexcel.net/](http://www.deepexcel.net/)

------
Pulcinella
I really like how the only VBA macros are for catching key inputs so you don’t
have to manually update your location cell.

Most “look what this crazy person built in excel!” things end up really having
VBA do all the work.

------
jacquesm
That's very neat. Another nice example of the power of excel and spreadsheets
in general is the fast.ai course, almost all of the basics are covered in
spreadsheets.

------
cr0sh
This is crazy. I'm pretty floored that someone did something like this.

Then again, we've all seen (or worse, have been roped into trying to convert!)
some of the crazy Excel monstrosities some manager wrote that runs an entire
company or such!

Prior to seeing this, I had found (somewhere - dunno if it still exists out
there) a "tutorial" on how a neural network works - and the whole thing was
done as an Excel worksheet. I thought that was pretty insane at the time...

------
nayuki
As a less extreme example, an implementation of the AES cipher in Excel
formulas (no macros): [https://www.nayuki.io/page/aes-cipher-internals-in-
excel](https://www.nayuki.io/page/aes-cipher-internals-in-excel)

~~~
bonzini
That reminds me of when my mother-in-law asked me if you could compute IBAN
check digits in Excel. The suggestion by IT had been to cut-and-paste customer
data into a random "compute IBAN check digit" website, one customer at a time,
because they couldn't be arsed to update the database automatically.

------
JasonFruit
I've always thought a data-centered programming language that compiles to an
Excel spreadsheet would be a Fun Challenge™ and possibly even useful.
Spreadsheets are an amazing tool. This is an amazing demonstration.

------
johnhenry
Kinda Similar:
[https://www.youtube.com/watch?v=uNjxe8ShM-8](https://www.youtube.com/watch?v=uNjxe8ShM-8)

------
app4soft
Could be rewrited for LibreOffice Calc?

~~~
edent
It renders in LibreOffice - although I wasn't able to get the movement to
work, even after enabling macros.

~~~
chris_wot
Try logging a bug, I know it might seem ridiculous but it may help with
efforts to improve VBA compatibility.

~~~
edent
Sadly LibreOffice ignores user bug reports.

~~~
chris_wot
Hardly. Why do you say that? I have personally worked on bugs reported by end
users.

~~~
edent
That's been my experience. Bugs reported and then either ignored or closed as
duplicates of ancient bugs.

See [https://tommorris.org/posts/9491](https://tommorris.org/posts/9491) (not
my post, but similar experience).

~~~
sethrin
Half of the problems listed are about how the app doesn't provide macOS-
specific integrations. The rest are very minor usability issues that might
have valid justifications for being that way. I am not inclined to view these
as being terribly legitimate complaints.

------
katastic
That reminds me of people doing 3-D engines in MegaZeux.

[http://vault.digitalmzx.net/screens2/cde248323538306a9712eb9...](http://vault.digitalmzx.net/screens2/cde248323538306a9712eb9c1d06ed6667293c9d446ae477af0236a2e35c9bb5)

MegaZeux is a ZZT successor.

[https://image.dosgamesarchive.com/screenshots/zzt4.gif](https://image.dosgamesarchive.com/screenshots/zzt4.gif)

And uses ASCII characters. MegaZeux up'd the ante and allowed you to edit the
VGA text glyphs so you could make "sprites."

Back-in-the-day Megazeux and ZZT were like their own dedicated systems, like
software console systems. It was really fun to see what people did with
incredibly constrained systems.

