top of page
Search
Writer's pictureTom Grove

White Lightning's Legacy

I am coming to the end of my somewhat indulgent dive back into the world of in Forth. I have shown that you could write games in White Lighting in 2020, but did anyone do so back in the 1980s?


The answer is mostly "no". It's hard to be completely certain, but I am aware of only one title that definitely used White Lightning, and that is https://worldofspectrum.org/archive/software/games/bmx-racers-mastertronic-ltd. This is not a good game and it is only partially written in Forth. This was released under the "Mastertronic" budget label and was exactly the sort of poor quality title this label was infamous for. It is possible that there are other titles which make uncredited use of the software, but I am not aware of any.


However, enough people must have bought White Lightning to justify the development of further products. These took the form of "Machine Lightning ", "Laser Basic" and "Laser Genius".


I owned Machine Lightning - this was essentially a macro assembler packaged with the same IDEAL code and sprite editor as White Lightning. I seem to remember it being a perfectly good assembler but little more. I have no direct experience of the Laser range ( published by Ocean ) but my understanding is that "Laser Basic" added hooks that allowed the IDEAL routines to be called from BASIC, while Laser Genius was a improved version of Machine Lightning. There was also a Laser Basic Compiler, but, as this review suggests ( http://www.crashonline.org.uk/26/laser.htm ) it was little more than a means of repackaging the Laser Basic code so that it could be shipped as a commercial product, something that the reviewer doubted anyone would want to do.


"Laser Basic" has earned a bit of infamy, though - it is the code behind the worst game ever: Sqij! ( Here's Kim Justice on it: https://www.youtube.com/watch?v=Xc3D5GEwWY8 ).


I have no idea what you are supposed to do and the game is pretty much unplayable. But as, you can see, it is definitely written in "Laser Basic" - note the IDEAL keywords on lines 30 and 31.


Not a terribly impressive portfolio, then. So why weren't any "good" games developed with White Lightning? Forth is partially to blame - and this is reflected by the later Oasis products dropping Forth in favour of machine code and BASIC. The manual tries hard to give a flavour of the language but cannot give comprehensive overview. The purchaser is expected to go out and buy another book on Forth. Then there's IDEAL: compared to the graphics facilities offered by BASIC, IDEAL is a huge improvement. But it's performance is far behind machine code and some poor design choices made it far more memory hungry than it could have been.


And memory is a problem: Forth and IDEAL occupy 16k of the 41k of non-video memory. If we leave BASIC with 1k, that leaves only 24k for source code, compiled code and sprites. In theory, you could get away with 4k for source leaving 20k for game code and sprites. That's less than half the available memory of the machine.


To make the Fox game fit in memory, I had to run length compress the tile maps and use a more complex method of updating the screen. This isn't a great trade-off - whatever benefit one gains from using Forth has to be paid for with increased complexity. In 1984 ( and, to be fair, 2020 ) the effort of writing a game in White Lighting is greater than the effort of writing it in assembly.


That said, I have a lot of affection for the product. In the early eighties there was a lot of interest in writing video games and a strong demand for tools that would make doing so more accessible. But for the platforms of the time any tool that improved accessibility was likely going to severely compromise capability. One cannot blame Oasis for not realising this. Before the late 90's professional game developers still dismissed third part engines for much the same reasons that professional developers would have dismissed White Lightning.


The first platform that seemed to gain significant developer support was RenderWare 3. This cross platform engine appeared in the late 1990's and supplied a much desired abstraction of PS2's hard-to-use graphics hardware. Two decades on, and Unity and Unreal are fully accepted as tools, to the extent that anyone outside of a few major studios would be unlikely to roll their own engine. Oasis were at least 20 years ahead of their time.


Many developers over a certain age seem to have used White Lightning. For all its problems, it provided a place where the important concepts of structured programming and bitwise operations could be mastered. Most experiences probably ended with frustration and developers moved on to assembly, better languages and more capable machines. But they - and I include myself in this - certainly learnt a lot from using the tool and it likely played a significant role in training a generation of developers.


That's a reasonable legacy.

95 views0 comments

Recent Posts

See All

Flying Shark : Object Logic

Every object has a type field ( 0x5 ) that selects a tick routine. The tick routine for a bomb power-up is shown below (link to video)....

コメント


bottom of page