Thefoggiest.dev

“Why yes, I do have the foggiest”

MSX Elite

May 13, 2024

We hope you die a horribly long lingering death at the hands of a slimey green lobstoid if you’re not blown to bits by our sun

The above text is from the game Elite, by David Braben and Ian Bell, more precisely from the MSX disk version of the game. Elite was originally an 8 bit wireframe 3D-game, the earliest predecessor of Elite:Dangerous, a game I also enjoyed, but that is for another time. “Wireframe” in this context means that the surfaces of the 3D-objects in the game are not filled in, but rather only outlined, like in the screenshot below. Through the viewport of the player’s spaceship, four more ships are visible: a Krait, a Mamba, a Wolf, and an Asp Mk. II. You can clearly see the shapes of the ships, but not their colouring or textures.

Elite cockpit

Anyone who has played Elite:Dangerous will instantly recognise the scanner in the middle of the console below the window, indicating the position of each ship, relative to the player’s.

Elite was originally created for the BBC Micro, but subsequently ported to several platforms, such as Sinclair’s ZX Spectrum, the Commodore 64, the Apple II and 16 bit machines such as the Atari ST, Amiga, and PC. All these versions differed in their ships, missions, and other game elements. The MSX version of Elite was programmed by Rob Nicholson of Mr. Micro and released by Firebird in 1987, who also programmed the Atari ST and Amiga versions. Although the MSX2 standard was already a year old then, the game was made for the first generation of MSX computers. It came in two versions, a tape version and a disk version, which also had different ships.

The box and the manuals that came with the disk version were actually for other versions. Through the sticker reading “MSX” that was on the box, “ZX Spectrum 48K” could be read easily.

Elite MSX sticker

The manual mentions a ship called “Fer-de-Lance”, which is in the tape version of MSX Elite, but not in the disk version of the game, and omits many that are. The screenshots do no correspond either. The one on the back of the box is in black, white and pink, further betraying that the box was created for the ZX Spectrum version. The MSX Elite version uses 16 colours.

Elite box back

The box contained the disk, a manual, and a novel called “The Dark Wheel”, written by David Holstock, to get the player into the atmosphere of the game. For me, as a kid in the eighties, it worked. The game has a clock that betrays one's total playing time. When I finally made Elite, it said 8 days, 22 hours and 19 minutes.

For those who never played any of its successors or variants, Elite is an open-ended space game. The player starts out with a badly outfitted ship and a hundred credits in a relatively safe but not very lucrative solar system. There is no set goal but to attain the rank of Elite. To get there, one needs to slaughter ships, about 22,673 of them, at least in the MSX version of the game. Indeed, this must be one of the bloodiest games I’ve ever played. And whether those are hostile aliens, pirates, other traders or even police ships, the game doesn’t care.

To play effectively, the ship needs upgrades, such as more powerful lasers, cargo bay extensions, anti-missile systems and laser cooling boosters. Most of these can be bought at stations, but some can only be obtained by performing missions. To make money, the player can trade, which means flying between two systems and buying merchandise for a lower price than selling them. Trading is easy. Agricultural economies export food and textiles, highly advanced worlds export computers. The more valuable the merchandise, the higher the margins. Moreover, beating pirate ships is awarded with bonus credits and points towards your elite ranking.

Universe

Elite’s universe is pretty straightforward. There are eight galaxies with 200 solar systems each. Every solar system consists of one star and one planet. Near the planet is always a space station. The station is where the player buys their merchandise (and missiles) and sells whatever’s in their cargo hold. Ships that are blown up often leave canisters behind for the player to pick up, so leaving a bit of room in a cargo hold is usually a good idea. To jump between systems, ships require a hyperdrive, which spends fuel. Fuel can be bought at stations, but a fuel scoop allows scooping it up for free by grazing a star while simultaneously making sure not to burn up. To jump from one galaxy to the next (or from the last one to the first one again), a special galactic hyperdrive is needed, which can only be used once and which is a bit harder to come by than other equipment.

The mechanism which allowed these limited platforms to consistently contain data about eight times 200 solar systems, each with a name, a position within its galaxy, an economy type, a tech level and other attributes, is called procedural generation. The game retains a fixed number called a seed, from which all other numbers are calculated using a simple formula. For example, a sentence, like the one in pink in the picture below, can be formed by having the resulting numbers select words like “cursed” and “lobstoids” from a list. The other attributes work the same way.

Planet data screen

Anarchies are replete with pirate activity, well worth the risk

Sidenote: In the lore of Elite:Dangerous, the original game is mentioned as being in that game’s past. I find that odd. The original Elite has galactic hyperdrives, all kinds of aliens roam about and trade with the player, and Earth is nowhere to be seen. Pilots in Elite:Dangerous cannot leave the Milky Way, the only aliens are the extinct Guardians and the Thargoids, and humankind is still firmly fixed on and around Earth. I’d say the original game is in the deep future, long after the events of Elite:Dangerous. Then again, the build dates of the ships, as mentioned in the manual, state that most of them are to be built in the early 3000s, which is three centuries before the Elite:Dangerous timeline starts. End of sidenote.

Hostiles

During their travels, the pilot will, of course, encounter all kinds of dangers, the most frequent being pirates. Depending on how safe the system is, these will come solo or in waves of quartets and quintets, which significantly slows the game down until one or more attackers are destroyed. Hyperjumping away could provide an escape, but there is a ten-second countdown. Since the ships in each pirate group always come similarly armed, it is always best to destroy the lightest ships first, also because the larger ones carry freight that can be more easily picked up when undisturbed by as-yet-unslain pirates. Unlike in other versions of Elite, most notably the Acorn Archimedes version, the player is the centre of the universe. Pirates, even those of different groups, leave each other alone while focussing solely on the player.

The other, rather grave, danger is formed by Thargoids. These aliens fly large hexagonal ships which are slow to turn but all but impervious to missiles and need a lot of firepower to beat. They also launch lots of Thargons, small heavily armed drones that keep attacking the player even when on the run. With some skill though, these Thargons can be picked up like cargo canisters and sold for a handsome price at the nearest station.

Thargoids sometimes enter regular space, but more often they are encountered in hyperspace. Right after a jump, the player is notified of a drive malfunction, after which the objects in the universe become blue. The player has entered witch space, and it appears the only objects there are Thargoids. The engine will repair itself, but that takes time, during which the player needs to survive the swarm of alien ships. There is, however, another object in hyperspace. Since the big Thargoid ships aren't very fast, it is possible to go and look for it.

The blue planet

The mysterious world in hyperspace

The game will let the player know when the ship’s hyperdrive is repaired, after which they can set a hyperspace destination within fuel range and jump to (relative) safety. Of course, the jump is preceded by the usual ten second count down.

Missions

Five times during the game, the MSX Elite pilot is asked to do a mission. They are always announced when the player docks at a station. The first time, it mentions a prototype of a naval ship has been stolen. The player has to find it and destroy it. First, they need to follow the directions given to them after landing at each station they visit. This goes on for a while, after this instruction will follow: “There is a nasty and hostile ship here.” After taking off, the player will be attacked by a Constrictor, the prototype of the ship in question. When successful, a bounty is paid.

The second mission will provide the player with a naval energy unit, which will greatly enhance their ship’s lasers. For this, they need to transport Thargoid battleship blueprints to another station. Despite reassurances to the contrary, the pilot will meet heavy Thargoid resistance. For the third mission, the player already needs to have a galactic hyperdrive. They are told the local sun will go supernova, so the station’s inhabitants have to be evacuated. Payment is 50 Kg worth of jewels. Like any mission, the player can, of course, decide not to bother, in which case an insult follows, like for this particular mission, the one cited above.

The fourth mission is more of a special event than a mission. After exiting of hyperspace, the pilot will be attacked by a ship identifying as a Cougar. The Cougar is equipped with a cloaking device that makes it invisible to both the player’s eyes and their radar. After destroying, pick up the container it leaves behind. It contains the cloaking device.

Two groups of pirates attacking

Two pirate groups of four each, rapidly depleting front shields and only three missiles left

The cloaking device is a bit odd. When switching it on, one would expect enemies to keep firing on the pilot’s last known location, at least until they stop hitting anything. Then, as soon as the player starts firing, they would again know the location of their target. Instead, when the cloaking device is on, all enemies instantly stop firing, even if the player fires at them. Using the cloaking device costs a lot of energy, which adds a limit to its usage.

Sidenote 2: cloaking devices are often misused in science fiction. When a ship is cloaked, it is invisible, which means it lets through all light from behind. This means that this light is not entering the cloaked ship, which means that cloaked ships must be blind. This would be a fantastic story element since it greatly disadvantages any cloaked ship, but it is always missed.

The fifth and last mission takes place when a system has been invaded by Thargoids. They’re using a space station as their base. The player has to fight their way through an entire Thargoid fleet and destroy the station. Payment is an ECM jammer, a device that stops enemy anti-missile systems from destroying their missiles. A very useful device that also works with Thargoids. When combined with a cloaking device, the ship’s energy reserves are used up rapidly.

Grind

When the missions are over, the player has a very nicely outfitted ship, and they need it because obtaining the rank of Elite is only for the very patient, especially in the MSX version. The player’s Elite rating depends on the points they get for each kill. On average, a kill in MSX Elite earns 74 points. The table below shows the number of points at which ranks are awarded. The figures for the other platforms, are significantly lower, but largely follow the ratios of MSX Elite.

RankScoreWhich isZX, BBC, C64, Apple II kills
Harmless0Start0
Mostly harmless2,00025 to 30 kills8
Poor4,0002 × Mostly harmless, ~55 kills16
Average8,192213, ~113 kills32
Above average16,3842 × Average, ~227 kills64
Competent32,7682 × Above Average, ~453 kills128
Dangerous131,0724 × Competent, ~1,814 kills512
Deadly655,36010 x 216, ~9,096 kills2,560
Elite1,638,4002.5 × Deadly, ~22,673 kills6,400

It appeared that each platform’s version was made by someone else, and that they all tried to improve on the original. Anyway, there is quite a bit of grind to this game. Trading is mostly interesting at the start of the game, but when the player has enough money to replace any destroyed equipment, bounty hunting is basically all that’s left. Especially after all missions are completed, apart from different enemy ships and the occasional mis-jump, there is no variation to the game any more. Of course, you can pick a fight with the vipers for a change, but it always takes both a lot of tenacity and a lot of time to slowly crawl towards the rank of Elite.

Promotion notice

Commander ACE is an ELITE pilot with a rather questionable legal status.

Concluding

I had a lot of fun playing this game. Despite the crude graphics, there is an atmosphere to this game that spoke to me as a kid, and it was the only game that felt like I was flying a spaceship. The game is difficult and slow at first, before a docking computer can be bought. Once the equipment is there, you still need to learn tactics to be able to beat a group of four or five heavily armed pirate ships. Despite the grind, I loved this game and still have fond memories of it.


Did De Villeneuve read Dune?

May 09, 2024

Perhaps inspired by De Villeneuve's newest attempt at making movies out of the Dune books, I recently started re-reading them and still think especially the first book to be one of the greatest science fiction books ever. I am not alone in this, the book has won multiple awards. But to understand them, there are a few key elements to its story, you need to keep in mind when re-telling it.

The Bene Gesserit, the ancient order of women, has, over the past the millennia, been secretly planting religions among backward people, throughout the universe, like the Fremen. They left one of their priests there to oversee and steer the development of the religion. The Fremen are very good at surviving with tiny amounts of water, but they are an isolated people. For a younger generation to develop skepsis of this religion makes little sense, and only serves to make Chani a more lovable character.

The Fremen have no concept of monogamy. Arranged marriages are as common among them as they are among the nobility. For example, when Paul and Jessica first joined Stilgar's tribe, Paul had to duel Jamis. After he killed him, Jamis' wife and kids became his. Considering customs like that, Chani should not have reacted with jealousy on Paul's proposal to marry Irulan. In fact, considering Paul's heritage, she should have expected it. For the film to portray her as rightly jealous either missed or ignored this altogether.

One primary story element is almost absent in the film. The film is long enough as it is, so perhaps that is why, but it will become a problem in the sequels. Paul has been trained by his mother in Bene Genesserit techniques. These, combined with his unique genes, give him the ability to see into the past as well as the future. In this future he sees, he will be causing a lot of violence and misery, and he is constantly trying to find ways of preventing that. At some point, his premonitions dry up as it were, and that is why, against the advice of everybody around him, he drinks the holy water, hoping it will bring back his premonitions. He barely survives it. In the film, everybody seems to suspect him to have a sip of it as soon as he sees it, without explaining why this is. Especially in the third book, these premonitions will become much more important, but I'm afraid, in the movies, they will come out of nowhere.

The reason the emperor lent the Harkonnnen his army to defeat the Atreides was that Leto Atreides had become so popular among the nobility, he had become a threat. The reason he did it secretly was that he expected the nobility to revolt against him if they found out he had used his powerful Sardaukar against one of them. For the emperor to tell Paul he killed his father for his weakness makes me think De Villeneuve simply didn't grasp this plot or he thought his audience wouldn't.

With my copy of the Dune book series, there were some interviews with Frank Herbert, which explain he wrote these books as a multi-layered story which flawed characters, each with their own motivation, about how power always corrupts and how important it is to handle limited resources, like water, responsibly. Both are themes that are currently rather important, but De Villeneuve ignored those, took the first book and made it into a simple hero falls in love and conquers the bad guys story with awesome visuals.


Using MSX Word processors in 2024

May 06, 2024

I was asking myself what would be the most niche and possibly useless post I could write, and reading Rubenerd’s Using an old computer for new writing, I came up with the idea to compare various MSX word processors. But when I started trying them by writing about them using them, I noticed these word processors vary from sloppy coded and well-meant but misguided to pragmatically thought-through. Trying to learn how to use them is nothing short of an adventure. Perhaps it’s fitting, then, to include an attempt at a word processor by a game publisher.

During the eighties of the last century, MSX computers were increasingly marketed as game machines, but since they all came with a passable keyboard, they were as capable of some word processing as any other computer not fitted with an IBM model M keyboard.

The eighties were the last decade of the dedicated word processor, a machine with a keyboard that was just a word processor and nothing else. Because of the way corporate offices worked in those times, these machines were primarily used by women, and in his autobiography, “Almost Perfect“, W.E. Peterson describes how he and his team relentlessly interviewed them to create the perfect word processor that in the end became WordPerfect. Wang Laboratories was the market leader before software word processing took over, but both Toshiba and Yamaha have created non-Japanese MSX based word-processing machines, such as the Yamaha STC-01 that had communication firmware as well, an indispensable feature in an office environment.

Philips NMS 8250 MSX2 desktop computer

A Philips NMS 8250

It would be nice to see if I could emulate one of these machines, since obtaining the hardware is out of the question. For the rest, I will write about TED, which I used extensively, EASE Word-Pro, the only WYSIWYG word-processor for MSX, the MSX port of Tasword Two and a word-processor called Aackotext, by Dutch video game developer and publisher Aackosoft.

Text, when saved as 8-bit ASCII characters, takes about two Kilobytes per page, so half a Megabyte is plenty for a complete novel. This is why my father, who was a teacher, could use Tasword Two on his 48K ZX Spectrum+ professionally at that time. Of course, he didn’t need to transfer his documents to other machines. Students only worked by reading from and writing on paper, and my father had a printer. Even as late as 1995, I was using my Philips NMS 8250 MSX2 to write essays for my history study, using TED, a word processor that was small, fast and especially good at finding every available byte of RAM in my machine. Of course, there was no parsing of bibtex files and I had to type all my references by hand, but printed on my Philips VW0030 printer, I didn’t need WordPerfect, or Word for that matter, to hand in my work.

Philips VW0030 dot matrix printer

A Philips VW0030 dot matrix printer, the type I used to use to hand in my essays.

After my first year, however, we started handing in work by email, so I bought a second hand PC. There was no networking, let alone email clients for MSX yet. But until then, I used TED.

So in theory, I could write texts like this post on my MSX, using a good enough word processor application. Given the total focus one gets with a non-multitasking machine, this could even be a productive idea. The MSX could save the text to a flash medium or even upload it to FTP over Ethernet, after which I could copy that file to this site. Said word processor would have to be reasonably fast, not get in the way with a badly thought out UI or difficult to remember function keys, and, of course, allow for lengthy texts. Nice-to-haves would be search and replace, word counting, spell checking and styling.

This will be fun.


Privacy policy

May 05, 2024

Looking at my logs today, I saw that someone had requested /privacy-policy/ and was disappointed by my server. There's a good reason for that. When you open your browser's developer console (F12 in Firefox) and navigate to the Storage tab, you see a small clickable list with entries like Cookies, Session Storage and such. When you click them, you will see my domain name. If you see any data there, delete it. It's there because you visited this site when it was still a WordPress blog. WordPress places all kind of data in your browser that it needs to function.

This site is a static site, which means it doesn't do that. The deal is simple: you request a file, if I have it, I send it to you. If it wants to download other stuff from my site, it's a style sheet and some pictures. All very inert stuff. No code will execute in your browser and nothing needs to store anything in the form of cookies or session data on your computer that will be there, taking up space and running the risk of being exposed to evil other sites.

And since I do not run or store those things, there is nothing I receive from you (except for the original request), and I therefore can't store anything that belongs to you. That is why I don't need a privacy policy. Or perhaps, that is my privacy policy. I don't want or need anything from you, except for you to enjoy what I post.

Two other things I've taken care of, based on what I noticed in my logs:

  • Numbers in dates from permalinks smaller than 10 now have a 0 prepended, but original links still work
  • Trailing slashes in request paths are allowed but ignored

If you want to respond or contact me, send an email to "hello" at this domain. I welcome feedback.


On migration, freedom and wokeism: is the right all that's left?

May 02, 2024

Throughout most of the twentieth century, season bound cross-border immigration by people looking for work was considered normal in Europe. People, usually men, would migrate, largely unhindered, into countries like the Netherlands who needed a greater working population for a few months. When the work was done, they would migrate back, certain that they could return the next season when they were needed again. In market economy theory, migration in this form is considered healthy, since it allows for a flexible labour market where companies can easily expand their workforce temporarily when needed.

In the seventies, socialist Dutch prime minister Joop den Uyl vocally regarded this phenomenon as an unequal form of workplace competition, since migrant workers would usually be paid lower wages than native Dutch workers. This was largely a populist stance, since native workers mostly had protected permanent positions and would normally apply for different, higher skilled, jobs. These native workers would also more indirectly benefit from their temporary colleagues because it allowed their employers to service the market in a flexible way without requiring that flexibility from their permanent workforce. Den Uyls policies to close borders for these workers also didn't have the intended effect. Knowing that once they migrated back, they wouldn't be able to return, most immigrant workers opted to remain in the Netherlands.

That is was the left, who originally took that position, does not surprise me. Socialist politicians are traditionally concerned with the fate of the worker. What does surprise me, is that it is the right, traditionally more indirectly concerned with the fate of workers, through the growth of companies and the unhindered functioning of the market economy, have taken over this position. This was nicely illustrated when Dutch chip machine maker and national pride ASML, heavily dependent on high skilled migrant workers, publicly considered moving to France after the radical right won the Dutch elections, last November.

Right-wing parties in the Netherlands tend to use the word freedom a lot. Current prime minister Mark Rutte's party Volkspartij voor Vrijheid en Democratie (People's party for Freedom and Democracy, VVD) is an example, as is incumbent prime minister Geert Wilder's party Partij voor de Vrijheid (Party for Freedom, PVV). While the PVV's vision of freedom has never been sufficiently explained, the VVD's idea of freedom refers to concepts from market liberties. This is why liberal in the Dutch political context refers to the right, not the left.

Ignoring this narrow definition of freedom, right-wing politicians usually maintain that freedom, individualism and personal self-determination are in good hands with them. In this regard, to find wokeness to be a left wing thing is at least as odd as finding measures to protect workers against immigrants at the right. Wokeness, which Wikipedia defines as a broader awareness of social inequalities such as racial injustice, sexism, and denial of LGBT rights, can be regarded as the ultimate expression of personal freedom.

The left is traditionally considered more collectively oriented. Think for example of labour unions, which exist to counter the power of capitalism by standing up against it collectively. One-person strikes are normally not successful. While traditional socialist parties, however, appear to have trouble retaining voters, the progressive left has reoriented itself to views such as wokeness, internationalism and nature and climate preservation, which are of less interest to people trying to make monthly ends meet. Still, this shift was to be expected. When at the beginning of the seventies, the Keynesian economy had successfully elevated the masses to middle-class citizenry, the left needed a new direction. Post-materialism formed the presumed outcome, and in such an economy this would not have been surprising.

The economic crises at the start of the eighties and the subsequent reorienting of the right towards neoliberal ideas, however, appeared to have put an abrupt stop to this. The crisis left countless young workers unemployed, and right-wing politicians catered to their chagrin. The ultimate fall of Eastern European communism had post-materialism replaced with a reinvigorated consumerism, and the left couldn't help but shift right. What was left of the left, was left with wokeness and nature preservation, which never delivered them the votes of the masses. Meanwhile, the current coalition forming process, at the precise moment that I'm writing this, seems to be talking about maximum speeds on motorways. To drive fast is to be free, I suppose.

Dutch people say they are living in a right-wing country. Based on what I observe here, they're really not. They want their government to look out for them and protect them against dangers. When media parrot politicians telling voters migrants or wokeness are dangerous, that's what they believe and what they want them to protect them from. When the four parties, currently negotiating about what to base their government on, finally start ruling, they will have to find a way to protect Dutch citizens from what really never was a danger to begin with.


CC-BY-SA 2006-2024 thefoggiest.dev