This is another blast from the past, FinSweep was a Minesweeper clone I created in Navision Financials in 1996. In this video we take a look at how it was created:
In this Blast from the Past video, Erik takes us back to 1996 to demonstrate what might be the very first game ever written inside Navision Financials — a Minesweeper clone called FinSweep. The story behind it involves a training seminar, a bold claim by an instructor, and a developer who couldn’t resist a challenge.
The Origin Story: A Challenge Accepted
The year was 1996, and Navision Financials had just been released. Navision was holding seminars to bring developers up to speed on the new tool and its features. During one of these sessions — focused on the form designer — the instructor, Lars Laström (whom Erik notes you can find on LinkedIn), made an offhand remark about how powerful the form designer was. He mentioned that they had even tried to recreate Minesweeper inside the form designer, but couldn’t quite pull it off.
Erik, sitting in the audience, had a different reaction: “Challenge accepted.”
Instead of following along with the rest of the class and doing the assigned work, Erik spent the remainder of the day trying to build Minesweeper inside Navision Financials. By the end of the day, he had a working version — and it would go on to spread virally across clients and companies.
FinSweep in Action
Erik demonstrates the game running inside a 2009 R2 client, though the code itself dates back to the original 1996 implementation. The game is contained in a single form, and when you run it, you’re greeted with a splash screen that Erik cleverly “carbon dated”:
- Date: March 6, 1996
- Name: FinSweep (a play on “Financials” —
fin.exe— and Minesweeper) - Company: TAB — The Absolute Business Partner, based in Denmark
The gameplay works exactly as you’d expect from Minesweeper. You click on squares in the minefield, and each revealed cell shows the number of adjacent mines. Click on a mine, and you lose — with the cheeky message: “Let’s hope you’re better at bookkeeping!” Clear all the safe squares while avoiding the eight hard-coded mines, and you win — followed by a prompt to get back to bookkeeping.
How It Was Built: The Technical Trick
The implementation relied on two clever techniques that exploited the capabilities of the Navision form designer:
Layered Controls: Buttons Over Text Boxes
Each cell in the minefield consisted of two controls stacked on top of each other:
- A button (e.g.,
T1) — visible on top, representing an unrevealed cell - A text box (e.g.,
K1) — hidden underneath, same size, holding the revealed content
This layering was made possible by editing the form in text format. The text export/import format was relatively new in Navision Financials, and while the old product had a text format, it was more for documentation than editing. In this version, you could actually edit the .txt format and place controls precisely — including stacking a button directly on top of a text field.
The OnPush Logic
When a button was clicked (OnPush trigger), the code would:
- Make the button invisible
- Make the underlying text box visible
- Call a
CheckInputfunction, passing the control ID directly
Because Navision’s C/AL language didn’t support abstracting controls into arrays, each button had to reference its corresponding control by its specific control ID. The CheckInput function would then:
- Check if the minefield array (
MineFelt— Danish for “minefield”) contained anXat that position - If yes: reveal the entire minefield by removing all buttons, then display the “hope you’re better at bookkeeping” message
- If no: calculate how many mines surrounded that cell and display the count
- If all non-mine cells were revealed: congratulate the player and send them back to bookkeeping
Erik notes that some of the string formatting code looks dated by modern standards — a simple FORMAT call could replace several lines — but he left it as-is to preserve the historical authenticity.
The Viral Easter Egg
What happened next is a testament to the culture of early Navision development. The game spread organically — almost virally — across clients and companies. Erik describes how it became an Easter egg hidden in plain sight:
In the older versions of Navision Financials (before the fancy menu introduced in version 4), the main menu featured a blue square with a turquoise-green circle in the middle. Many customers discovered that if they had a free form object that wasn’t being used for anything, they could click on the green circle and launch FinSweep. It became a beloved Easter egg across numerous customer installations.
The game traveled with Erik too. When he moved from Denmark to the United States in the summer of 1996–97, FinSweep followed, finding its way onto client systems on the other side of the Atlantic as well.
A Call for More Games
Erik wraps up with an open invitation to the community: if you know of a game written inside Navision Financials that predates March 6, 1996, he wants to hear about it. And if you wrote a game inside the ERP system after that date, he’d love to showcase it on the channel. As Erik puts it, it’s “pretty cool that you could actually do stuff like that in an ERP package.”
Summary
FinSweep is a wonderful piece of Navision history — a Minesweeper clone built inside a form designer during a training class in 1996, using layered button and text box controls with direct control ID references. It demonstrates both the surprising flexibility of the early Navision platform and the playful ingenuity of its developer community. What started as a challenge from an instructor became one of the most widely distributed Easter eggs in the Navision ecosystem, hiding behind a green circle on main menus across Denmark and beyond.