When White Dwarf magazine published Code

I have a Warhammer habit. I was introduced to the hobby by my older brother in the mid-1980s, so I have an affection for issues of White Dwarf magazine from that era.

For those not aware: Games Workshop produce the Warhammer table-top wargame and also publishes White Dwarf magazine to talk about their games. In the very old days, White Dwarf would contain articles about non-Games Workshop products.

Over the weekend I picked up White Dwarf issue 58 on eBay. I was surprised to find it contains a computer program written in Microsoft Visual Basic! The program simulates the "growth" of planets as they form from the giant dust clouds orbiting a star. According to the accompanying article, the code is a simplified version of a program called ACRETE. ACRETE was written by Dr Stephen Cole in 1970. Rather pleasingly, when I googled it I could see ACRETE still being referenced in papers as recent as 2019!

The White Dwarf code was a tool to generate random but realistic solar systems for use in sci-fil roleplaying games. Reading the article over a good cup of coffee, I had the following observations:

  • There was a strong desire for realistic settings among these early game players. Researching and coding this simulator must have been a lengthy task.

  • Finding computer programs within a wargaming magazine feels very incongruous at first. However, I suspect that at this time, the intersection of table-top wargamers and hobbyist programmers was large! That said, these articles were discontinued shortly after issue 58, so maybe the demand was there after all.

  • Programming languages have come a long way since the 1980s. BASIC, with its line numbers, GoSubs and dreaded GoTo statements is definitely from a by-gone age.

  • That said, the author states that the program takes up 6k on disc and should be able to run in 16k of memory (or 'store', as the author calls it). No code bloat here!

Over the next few blog posts I will dive deeper into the code, with a view to re-writing it into a modern language.