How an accountant created an entire RPG inside an Excel spreadsheet

Arena.Xlsm puts macros to work for leveling, battling, and collecting items.

A communique from the emperor, above, expresses interest at my formidable skill in killing bunnies and koalas with rocks.

It's not always easy (or possible) to install your favorite games on your work computer. Sometimes a bit of Solitaire or some collaborative Bomberman might be all you can manage—and it had better look like work to any nearby screen snoopers.

Over this past winter, Cary Walkin created the perfect solution to this problem: an entire RPG made of a spreadsheet and many macros. The game, called Arena.Xlsm, is a turn-based RPG encompassed entirely in an Excel file. Players can progress through levels, collect items, and battle enemies and bosses with melee and ranged attacks as well as spells.

Enlarge/ As the game carries on, the hero finds new items to equip to bash on/lance at enemies.

While the game isn't a beauty to look at—the hero is represented by a smiley face and all enemies are all bracket-parenthesis pairs—it's fairly complex for, well, a spreadsheet. Attacks include a range of damage-inducing and healing spells that players buy and use with "blood," which regenerates with each turn. Players also find and can equip a range of weapons, including rocks, slingshots, bowling balls, rifles, ninja stars, and brass knuckles.

The game also engages in some light borrowing of characters and elements from other fictional universes. Players start off fighting bunnies and bees but quickly progress to vampires, ghosts, and dragons. The need to physically click on arrows to navigate around the screen can be a little bit cumbersome, but if your job is most easily simulated by a lot of clicking, your cubicle-mates may never notice a difference.

Enlarge/ Instructions for the game come wrapped in letters from your presumed significant other, with whom you have a son. Kylem is unusually knowledgeable.

The whole game is driven by an anachronistic story involving the hero's battle through an emperor's arena of monsters. As he progresses, he gets letters from his wife, Kylem, who talks about their son going to school, the police, and mercenary messengers. We can't say much for Kylem's exposition style ("The police came to the house today... They completely ransacked the house... Obviously I can't go to the police to report this") but she knows a suspiciously large amount of info about the abilities and attacks of the monsters our hero encounters. She guides you throughout the game.

In a Reddit Ask Me Anything (AMA) session with Walkin, he said that he decided to use Excel due to his extensive knowledge of the program (Walkin is an accountant by trade). “There is an old adage that underneath every RPG is a massive spreadsheet, so now the massive spreadsheet IS the RPG!” Walkin wrote.

Some players noted in the AMA that the macros in the spreadsheet are password-protected, so it’s impossible for players to tweak the game themselves. Walkin said that this was partially due to the code not being as tight as it could be, stating it’s “actually quite embarrassing.”

In response to requests, Walkin has released some code snippets that he hopes are clean enough for others to tinker with, but he still received plenty of feedback on how the code could have been better. Below is a variant of a subroutine for moving and collision detection that Walkin published on his blog:

He notes that four of these subroutines are required for all directions of movement, but it would be possible to have eight in total to incorporate diagonal movement as well. In the published game, players can only move in four directions but can attack and be attacked by enemies across diagonally adjacent tiles.

A few users expressed concern that the macros were locked, preventing would-be players from verifying that the .xlsm file contains no malware. Walkin stated that he understood the concern, but said that he had put his name all over the game and that the version hosted on his own site was the only one he could promise the integrity of (other versions have popped on new hosts). Others wrote that locking the macros was good practice to keep the game working, but that the source code should still be available.

Since its original release, Walkin has released version 1.1 with bug fixes. One fix is that—spoiler alert—Alec Trevelyan (originally James Bond's colleague-turned-nemesis in Goldeneye) manages to restore his energy after dying. He will now die when killed regardless of whether he is exhausted. Sounds like canon to us.

Promoted Comments

Crawling around a Spreadsheet Dungeon to slay monsters? Sounds like my first job.

Stay a while and listen...

Twas an age ago when Graphical User Interfaces were but a pipe dream in the minds of ordinary MicroSerfs. The dungeon in question resided in the land of SuperCalc. It was a dull and sorrowful land rendered in monochromatic green phosphor.

Woe had befallen my Lord for he had to account for the addition of 3 new markets on the gargantuan monstrosity that was the Monthly Turnover report. Many a brave knight had attempted to tame the Beast, but it had been in vain. All challengers failed in their task, they had wildly hacked and slashed at it causing it grow bigger and more angry.

The Monthly Turnover had become a twisted and distended 90 page long Paper Serpent scarred with the marks of brave idiots 'heroes' who foolishly tried to tackle it then fled in terror &/or confusion leaving nary a useful comment in their wake. To make matters worse, many parts of the beast that had been hacked now flailed around uselessly in disconnected cells with no clue as to their purpose.

So my Lord bid me, his young squire, to tame the wretched creature and "Add these three extra markets onto the Monthly Turnover for me.". Twas clear from the outset that my Lord considered it a trivial undertaking that would require but a day. Perhaps he believed in my abilities or possibly he didn't understand the enormity of task I faced.

Boldly I strode through the office and set up camp in the far corner, as far away from my noisy feckless fellow office adventurers as possible. With supplies of Coca-Cola, a pad and pencil, I set about unravelling the mystery laid out across 90 sheets continuous perforated paper. The elephant in the room soon reared its head and realised I was the poor bastard standing behind with neither broom nor bucket. The elephant's gut rumbled ominously, a big job was coming.

With grim determination I hacked through acres of dense cruft. Here and there dotted amongst steaming piles bloat were the glistening jewels of the original writers logic. They could be saved, but I would have to get my hands dirty.

I toiled 5 long days, tidying, rewriting and reducing the once feared freak of hasty revision and careless neglect into a 20 page document with clear summary pages. Helpful comments were hidden in the margins so that any Adventurer following in my footsteps would get to their destination safely.

My reward, a job well done.

Months later my Lord was fired for his incompetence, the cause of all the problems in the first place. As a Squire without a Lord to serve I was soon cast aside with redundancy.

Okay, that is pretty neat. Excel appears to have immersion breaking limitations to it, but he made it work correctly, and that's quite a feat. I probably won't download since the macros are locked and cannot be read however. I just like it conceptually.

What are the system requirements for this game?Arena.Xlsm has been tested to work on PC versions of Microsoft Excel including Excel 2007, and Excel 2010. It should also work on Excel 2013 although I have not been able to extensively test it. Arena.Xlsm will not work on Mac versions of Microsoft Excel.

Crawling around a Spreadsheet Dungeon to slay monsters? Sounds like my first job.

Stay a while and listen...

Twas an age ago when Graphical User Interfaces were but a pipe dream in the minds of ordinary MicroSerfs. The dungeon in question resided in the land of SuperCalc. It was a dull and sorrowful land rendered in monochromatic green phosphor.

Woe had befallen my Lord for he had to account for the addition of 3 new markets on the gargantuan monstrosity that was the Monthly Turnover report. Many a brave knight had attempted to tame the Beast, but it had been in vain. All challengers failed in their task, they had wildly hacked and slashed at it causing it grow bigger and more angry.

The Monthly Turnover had become a twisted and distended 90 page long Paper Serpent scarred with the marks of brave idiots 'heroes' who foolishly tried to tackle it then fled in terror &/or confusion leaving nary a useful comment in their wake. To make matters worse, many parts of the beast that had been hacked now flailed around uselessly in disconnected cells with no clue as to their purpose.

So my Lord bid me, his young squire, to tame the wretched creature and "Add these three extra markets onto the Monthly Turnover for me.". Twas clear from the outset that my Lord considered it a trivial undertaking that would require but a day. Perhaps he believed in my abilities or possibly he didn't understand the enormity of task I faced.

Boldly I strode through the office and set up camp in the far corner, as far away from my noisy feckless fellow office adventurers as possible. With supplies of Coca-Cola, a pad and pencil, I set about unravelling the mystery laid out across 90 sheets continuous perforated paper. The elephant in the room soon reared its head and realised I was the poor bastard standing behind with neither broom nor bucket. The elephant's gut rumbled ominously, a big job was coming.

With grim determination I hacked through acres of dense cruft. Here and there dotted amongst steaming piles bloat were the glistening jewels of the original writers logic. They could be saved, but I would have to get my hands dirty.

I toiled 5 long days, tidying, rewriting and reducing the once feared freak of hasty revision and careless neglect into a 20 page document with clear summary pages. Helpful comments were hidden in the margins so that any Adventurer following in my footsteps would get to their destination safely.

My reward, a job well done.

Months later my Lord was fired for his incompetence, the cause of all the problems in the first place. As a Squire without a Lord to serve I was soon cast aside with redundancy.

The most amazing spreadsheet game still has got to be whoever implemented pacman in excel. The guy basically used the cells sized as squares for pixels and animated be copying the characters maze and dots as formats from other locations on the workbook.

about the time of the DnD 4e launch, I was working mostly from home as an analyst. I had been looking for good character tracking spreadsheets and came across something a guy was working that went a lot further. I immediately liked where it was headed, but noted it had a few minor issues, and some calculation issues, on top of some rules issues. The coder was a spreadsheet genius, and I knew a crapload about DnD as I was heavily working in Maptools designing a big campaign, and had beta access to the 4e ruleset.

well, about 15 months of work, a few hundred emails, and we ended up collaborating (with several others), and turned that basic character management tool into a full-blown character creation system containing basically every rule in the entire first run set of expansions to 4e. Die rollers, powers that customized their numbers and stat display as you leveled up, stat trackers, everything. with a laptop, you could run the game right off the spreadsheet directly, level up, swap items, track power statuses, everything. I personally added a few thousand lines of excel formulas into the spreadsheet, several others helped load all the data from the books, and the originator did the UI and base logic. It was HUGE. we had some cells with more than 10K precedent cells. Best thing about it, only 3 cells in the entire system required you to enable macros, and 2 of those were related to importing or exporting characters to and from other formats, and one was just a convenience feature for printing. You could create characters and fully use it otherwise without macros. a HUGE plus when running it on work laptops or tablets.

It would have gone further, we were working on directed output so activity in the spreadsheet could feed right into maptools, but then WoTC released their own character editors officially, and our "license" to do what we were suddenly became in jeapordy. We'd added more than the base rule-set (with a great toggle system so you could toggle on and off supplemental rules and books you did and did not own), but with WoTC having an official generator (that was fee based) we could not continue work on ours. So, instead, I took some existing maptools mods, and re-built the generator in java. Though I didn't import all the data from the books, you could create any character (or monster) and have weapon swaping, and basically click a power and select targets and poof, rolls were made, damage and effects auto added, and we turned what would have been mult-hour complex combat rounds into 15 minutes of quick combat so we could get back to the role playing.

When WoTC dropped the character builder and shut down PDF versions of the manuals, requiring each and every group member to have a $9/mo fee to play instead of just the DM doing that, we stopped playing. The only benefit we really had was each player could mod their own characters online with DnD's official tool, and I could import the file, saving me tons of time between sessions. Once I had to do all the work manually, we lost 2 hours every game session doing menial work, and got bogged down, and stopped playing. stupidest move WoTC made in my opinion.

He's using Excel as a display device more than anything. VBA is a proper language -- if he'd done it using cell functions only, that would have been truly impressive.

Yes it's cool, somewhat insane even, but... why all the fuss? You could do the same thing in Power Point, Word and Access and the others, too.

I assisted building a full DnD 4e character generator, tracker, die roller, and full-on real-time character management system using exclusively cell functions. it was massive. some cells had over 10K precedents. took us almost 2 years total to get it done.

This, I admire. He's basically taken a simplified character manager (lets just say, less than 10 books of DnD content, probably still damned complex) and merged it with a zork-like story progression system and a few tables of item drops, and positional tracking, so basically a mini version of maptool meets our old spreadsheet. very cool. I totally respect the level of efort.

This is definitely cool, but a quick search turns up lots of Excel games, many of which are even more pretty than this one. None are RPGs that I've noticed so far, though. Will definitely check this out, as it's been forever since I played something like this. Hope he unlocks it soon so we can tweak the game ourselves if we so desire.

He's using Excel as a display device more than anything. VBA is a proper language -- if he'd done it using cell functions only, that would have been truly impressive.

Yes it's cool, somewhat insane even, but... why all the fuss? You could do the same thing in Power Point, Word and Access and the others, too.

I assisted building a full DnD 4e character generator, tracker, die roller, and full-on real-time character management system using exclusively cell functions. it was massive. some cells had over 10K precedents. took us almost 2 years total to get it done.

This, I admire. He's basically taken a simplified character manager (lets just say, less than 10 books of DnD content, probably still damned complex) and merged it with a zork-like story progression system and a few tables of item drops, and positional tracking, so basically a mini version of maptool meets our old spreadsheet. very cool. I totally respect the level of efort.

I admire your effort far more. :-) My group tried 4E, got fed up very quickly with the ludicrously complex character generations (and let's not talk about combat) and moved onto Pathfinder and now DCC.

I know what the guy's done is lots of work, I'm just bemused by the amount of media attention. As an earlier commenter mentions Pacman was done in Excel years ago.

Crawling around a Spreadsheet Dungeon to slay monsters? Sounds like my first job.

Stay a while and listen...

Twas an age ago when Graphical User Interfaces were but a pipe dream in the minds of ordinary MicroSerfs. The dungeon in question resided in the land of SuperCalc. It was a dull and sorrowful land rendered in monochromatic green phosphor.

Woe had befallen my Lord for he had to account for the addition of 3 new markets on the gargantuan monstrosity that was the Monthly Turnover report. Many a brave knight had attempted to tame the Beast, but it had been in vain. All challengers failed in their task, they had wildly hacked and slashed at it causing it grow bigger and more angry.

The Monthly Turnover had become a twisted and distended 90 page long Paper Serpent scarred with the marks of brave idiots 'heroes' who foolishly tried to tackle it then fled in terror &/or confusion leaving nary a useful comment in their wake. To make matters worse, many parts of the beast that had been hacked now flailed around uselessly in disconnected cells with no clue as to their purpose.

So my Lord bid me, his young squire, to tame the wretched creature and "Add these three extra markets onto the Monthly Turnover for me.". Twas clear from the outset that my Lord considered it a trivial undertaking that would require but a day. Perhaps he believed in my abilities or possibly he didn't understand the enormity of task I faced.

Boldly I strode through the office and set up camp in the far corner, as far away from my noisy feckless fellow office adventurers as possible. With supplies of Coca-Cola, a pad and pencil, I set about unravelling the mystery laid out across 90 sheets continuous perforated paper. The elephant in the room soon reared its head and realised I was the poor bastard standing behind with neither broom nor bucket. The elephant's gut rumbled ominously, a big job was coming.

With grim determination I hacked through acres of dense cruft. Here and there dotted amongst steaming piles bloat were the glistening jewels of the original writers logic. They could be saved, but I would have to get my hands dirty.

I toiled 5 long days, tidying, rewriting and reducing the once feared freak of hasty revision and careless neglect into a 20 page document with clear summary pages. Helpful comments were hidden in the margins so that any Adventurer following in my footsteps would get to their destination safely.

My reward, a job well done.

Months later my Lord was fired for his incompetence, the cause of all the problems in the first place. As a Squire without a Lord to serve I was soon cast aside with redundancy.

Crawling around a Spreadsheet Dungeon to slay monsters? Sounds like my first job.

Stay a while and listen...

Spoiler: show

Twas an age ago when Graphical User Interfaces were but a pipe dream in the minds of ordinary MicroSerfs. The dungeon in question resided in the land of SuperCalc. It was a dull and sorrowful land rendered in monochromatic green phosphor.

Woe had befallen my Lord for he had to account for the addition of 3 new markets on the gargantuan monstrosity that was the Monthly Turnover report. Many a brave knight had attempted to tame the Beast, but it had been in vain. All challengers failed in their task, they had wildly hacked and slashed at it causing it grow bigger and more angry.

The Monthly Turnover had become a twisted and distended 90 page long Paper Serpent scarred with the marks of brave idiots 'heroes' who foolishly tried to tackle it then fled in terror &/or confusion leaving nary a useful comment in their wake. To make matters worse, many parts of the beast that had been hacked now flailed around uselessly in disconnected cells with no clue as to their purpose.

So my Lord bid me, his young squire, to tame the wretched creature and "Add these three extra markets onto the Monthly Turnover for me.". Twas clear from the outset that my Lord considered it a trivial undertaking that would require but a day. Perhaps he believed in my abilities or possibly he didn't understand the enormity of task I faced.

Boldly I strode through the office and set up camp in the far corner, as far away from my noisy feckless fellow office adventurers as possible. With supplies of Coca-Cola, a pad and pencil, I set about unravelling the mystery laid out across 90 sheets continuous perforated paper. The elephant in the room soon reared its head and realised I was the poor bastard standing behind with neither broom nor bucket. The elephant's gut rumbled ominously, a big job was coming.

With grim determination I hacked through acres of dense cruft. Here and there dotted amongst steaming piles bloat were the glistening jewels of the original writers logic. They could be saved, but I would have to get my hands dirty.

I toiled 5 long days, tidying, rewriting and reducing the once feared freak of hasty revision and careless neglect into a 20 page document with clear summary pages. Helpful comments were hidden in the margins so that any Adventurer following in my footsteps would get to their destination safely.

My reward, a job well done.

Months later my Lord was fired for his incompetence, the cause of all the problems in the first place. As a Squire without a Lord to serve I was soon cast aside with redundancy.

My group tried 4E, got fed up very quickly with the ludicrously complex character generations (and let's not talk about combat) and moved onto Pathfinder and now DCC.

On what planet is a D&D 3.x based game less complex for character gen than 4E? Picking powers from a list is hard now? Clearly you have never played a game like Rolemaster if you think any edition of D&D had complex character gen. Speaking of...

Excel char gen> I had some friends that about 15 years ago built an Excel spreadsheet for making Rolemaster characters. It cut the 4 hour character generation time down from 4 hours to 1. Both methods, still add 1 hour if you were making a caster. Some of those printed character sheets got stupidly long, once you had all the tables printed for each of your weapons and possible crit tables and such. Everyone had everything they needed for the game in front of them tho.

I admire your effort far more. :-) My group tried 4E, got fed up very quickly with the ludicrously complex character generations (and let's not talk about combat) and moved onto Pathfinder and now DCC.

Ludicrously complex is not how I would describe 4E chargen, especially when comparing it to immensely more number heavy systems like Pathfinder and DCC.

I would like to point out that I hate, hate, hate Excel spreadsheet chargens. You have to have the full version of that version of MS Office to use them at all and they are god awfully slow is as the wont of too large and ponderous spreadsheets.Just pick up VB Express (free development programs from Microsoft) and write a damn standalone program.