Shadow Casting - in Excel!?! @s0lly
Shadow Casting - in Excel!?!  @s0lly
Uploaded May 2019 | Updated September 2026, 2 hours ago
All done in Excel using only formulae, with the only use of macros made for the inputting of key commands (e.g. wasd etc).

This shadow casting approach uses line equations rather than the typical ray-casting techniques that you see when researching this topic online. It works very well in large scenes, and I've been able to use many optimizations when applying this in a coding environment.

This is the exact same technique I used in my Dungeons and Flagons game - this video should look very similar: youtu.be/AEh6tQSSTPU

I've fast forwarded the video as the model isn't the fastest ;p but it runs at a reasonable enough speed - remember, this is Excel after all!

You can find the model on GitHub, here: github.com/s0lly/Shadow-Casting-Excel
Please ensure that you read the readme and run through the accompanying notes before using the file.

Hope you enjoy!


Interesting Resources:

If you are interested in learning how to use line equations in coding in general, and how I've approached this problem in particular, this video by Chili explains the topic very well: youtu.be/l-u6uxnOmH0 - it has many useful applications.

I was introduced to shadow casting by this very well-explained video by javidx9: youtu.be/fc3nnG2CG8U - but I do not use the same approach in my version, as mentioned above


Acknowledgements:

Music by Eric Skiff, song "All of Us" for the intro and "09 Come and Find Me - B mix" for the main sequence. (Available at EricSkiff.com/music)
Shadow Casting - in Excel!?!First Games in C++: Dungeons and Flagons (v0.75) - Multiple Light Sources2D N-Body Simulation in C++ (v5: 30,000 bodies!)OpenGL Engine - Showcase 10: To OrbitFirst Games in C++: Dungeons and Flagons (v0.89) - Pause Menu / Simple Saving & LoadingAI Steering Behaviour Visualisation v7: Swarm BehaviourSimple 2D Game Engine in C++: Draft 3 - Advanced Player Movement2D Game Engine in C++: [8] 2D Normal Maps2D Game Engine in C++: [5] Alpha BlendingFirst Games in C++ - PacMan! (First Draft)Creating a Positioning System in Racing Games (as used in Krazy Karts)Raytracing in Excel - Using the GPU!
s0lly |

Shadow Casting - in Excel!?!

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER