Wednesday 22 November 2023

Proton/Linux: Mudrunner

I had my eye on this game around 2017, but felt it was too expensive and perhaps my computer couldn't handle it back then. Now it's an easy peasy task for the 1660TI GPU and Steam/proton.

I've never been too enthusiastic about truck or car games, but with this and Eurotruck Simulator 2 I've played two truck-themed games in recent times. 

There's something for little boys here: huge trucks and splattering mud around. Some of the scenarios in the game relate to the film The Wages of Fear (1953), its remake Sorcerer (1977) and the McGyver episode Hellfire (based on the 1953 film). I'm unsure if the nerve-racking nitroglycerine mission features in the game, but it's made of similar stuff.

Perhaps there's a narrow category of "car games for people who usually don't like car games", and Mudrunner might fit it.

I'll instantly say I enjoyed the short challenges more than the main game, there was always variety of tasks, equipment and environments and it didn't get boring.

In contrast, the main game gives you tasks that are rather meandering and even a little dull. Deliver 8 points worth of logs to the log mill(s), while avoiding running out of fuel, damaging the trucks too much or flipping over. All while the vehicles move rather slowly through the terrain and the problems remain similar.

The physics are realistic enough, but there's inevitably some uncanniness. Sometimes I feel it is obvious the truck and the load would flip over, yet they don't. Whereas when it does flip over, I sometimes ask if it would have really happened that way.

Trying to cut corners where there's uneven terrain, often has disastrous results...

The sense of getting more and more stuck to a position is made very palpable. Fortunately, there's a powerful winch for getting out of these type of situations, and if that's not enough or possible another truck can give a bump. Fortunately the winch isn't super-realistic, you can instantly connect to nearby trees, no matter what the terrain is.

The missions usually feature a jeep that can be recalled instantly to the current position, which is good for scouting unexplored areas and tagging those navigation flags which uncover map elements. The jeep is rather easy to flip over or wreck to pieces. 

The instant recall seems somewhat against the spirit of the game, but I guess there had to be some kind of helpful element to the game.

Ultimately the biggest draw, the mud, isn't such a big factor in many maps. You just have to persevere. The game is more about finding safe enough routes and not getting lost in the dark.

When I at first saw the visuals years back, it looked like some kind of pinnacle of ultra-realism, and yes the mud and water effects are still quite well made and the car models have detail.

Felled woods crack and twist under the wheels, and you can mow some of the smaller plantation. The mud cakes on your wheels and your truck gets wet after dipping into the water.

After seeing most of the tricks the game has to offer, I didn't feel a huge draw to complete all the maps, or perform better. But I might return to it occasionally.

Wednesday 15 November 2023

Ulanzi I-light wands

This is getting out of hand

For 15€ a piece I chose to buy two of these 6W light wands. At first I thought I should have ordered more, but perhaps these are enough. A word of warning: I've seen these sold with a 50€ price tag.

Both ends have a magnet and the standard camera mount. The magnet is strong enough for waving a few of them around together, but a real bolt might be preferable if you intend to pretend it's a lightsaber.

The battery provides light for a few hours, depending on the brightness setting. This should be fine for any kind of minor hobbyist photoshoot. At 6W, I don't think it's a great substitute for desk lights and such. The light can be used while charging, though.

For video chat sessions, the wands can give some added lighting but again perhaps not as the only light source, unless going for some kind of dramatic effect. Setting them to low brightness can be helpful and doesn't use so much power.

The typical unsubtle colors you'll go for the first few days

USB-C can be used for recharging the 2000mAh battery, this can take a couple of hours.

Despite the USB connector, the lights can't be externally controlled nor are they even very hackable. As yet, I didn't find anyone providing ways to change the firmware.

There's no screws visible so I couldn't get them open either. There could be screws under the very thin rubber feet.

The interface gives some light effects "scenes", Cop Car, Ambulance, Fire Engine, Lightning, Fireworks, TV, Candle, Party, Fault Bulb, Pulsing, Strobe, RGB Strobe, Paparazzi, Emergency, H/L beam, Red Flash, Green Flash, Blue Flash, HSI Slow, HSI Fast. 

These effects only have a brightness parameter (0-100) so they are sadly rather one-dimensional.

As the lights are not very powerful, I'm not sure how large areas can be covered with the scene effects. But for videos of miniature dioramas etc., these live effects could be a fun addition.

Hue reminder

The other modes are more practical, you can have a light of specified color temperature ranging from 2500K to 9000K, with brightness 0-100.

Finally, you can adjust the color of the light using Hue (0-359), Saturation (0-100) and Brightness (0-100). The device has a helpful diagram showing each hue and its corresponding degree. 

There's a tiny display on the opposite side of the lamp, easy enough to read. A combination of four keys is used to navigate the different modes, options and parameters.

Sunday 5 November 2023

Scifi roundup

It's been a while, some of these I wrote years ago.

The descriptions are inevitably somewhat *spoilerific*. But I won't mention all the major plot reveals and outcomes.

James P. Hogan: Code of the Lifemaker (1983) & Immortality Option (1995)

I bought these two randomly off a flea market.

The prologue tells how an automatic interplanetary robot explorer/factory system fails as the alien star system turns nova. After countless millennia, the crazed probe crashes on a moon of another system and the robots begin to evolve into self-conscious lifeforms. This results in a medieval robot world based on a non-carbon ecosystem, with some properties more advanced than Earth science could achieve.

On future Earth, an expedition is launched for Mars, revealed in process to be headed to Titan, but no-one gives a really good reason for the change of plans. Could it be...?

The real main character is one Zambendorf, a very public person who made a career by claiming he has psychic powers. The arguments for and against parapsychology are rooted around the time of the novel's writing, reminding of the Uri Geller phenomenon.

The initial parts of the novel reminded me of Alfred Bester's stories, but it is soon found out to be very different. In addition there's some weird soapboxing against solar power and other "green" or "leftist" mindsets.

The idea of the self-evolving robot life was interesting, whereas comedy takes center stage as the antics of the medieval robot scientists and religious fanatics are explored.

The sequel, written a decade afterwards, acts both as a direct sequel and a kind of prequel to the first book, detailing the events leading to the robot evolution. Topically, there's less of the robotic science-religion irreverence, and more attention is paid to intelligent entities living within computer networks, in essence "fixing" the absence of software AI's from the first novel.

Neither of the novels are especially good, age hasn't graced them and the plotting is convoluted. Although Zambendorf's parapsychology is made to some good use in both of the novels, at the same time it flattens the story to an anecdote about outwitting the opponent.

Apart from all the hijinks and comedy, Hogan has managed a relatively plausible first contact scenario without resorting to faster than light travel. 

Larry Niven and Jerry Pournelle: The Mote in the God's Eye (1974)

Niven and Pournelle co-wrote this fairly brick-sized novel about humanity's first encounter with an alien race far in the future.

As a fun inversion, alien language isn't a problem as they learn English quickly enough. In contrast, the complexity of their language prevents it from being ever understood by humans. Come to think of it, something similar happened in Hogan's novels discussed above.

The alien race appears to have many resources and skills humans do not have. The question arises, as the puny humanity has invented faster than light jump travel long ago, why are the ostensibly more intelligent aliens stuck on their homeworld?

Apart from this central mystery, this sci-fi examines what precautions need to be taken in a first contact situation, what misunderstandings might take place and how could they be resolved.

Niven explores his style of alien races with ease, incorporating the geometric thinking that helped make Ringworld intriguing. For example, the logic of the hyperjump to the Mote system, and the reason why the Mote's can't do it in reverse, is satisfyingly spatial. 

I'm less sure what Pournelle's contribution to the novel is, but the more muted naval military elements of the Human Empire feels less Niven. Consulting Wikipedia, the novel indeed takes place in Pournelle's universe. There's some of Niven's usual silliness and stereotypical characters, and the novel really doesn't rise above its plot, which was enjoyable enough. 

The Mote in the God's Eye is rather modern sci-fi for something published in 1974. Perhaps because now the generic video game sci-fi universes resemble the one presented here.

Also, those parts of the Halo video game universe and plot, which are not taken from Niven's Ringworld, are largely derived from this book. Or Pournelle's universe, to be more precise.

Or it's just that sci-fi ideas in popular culture simply became stuck in the 1980s.

Vernor Vinge: A Fire upon the Deep (1992)

This has even been translated to Finnish ("Linnunradan ääret", 2001), but I've missed it entirely. 

It turns out that from our local vantage point, we don't know that much about how universe works. Towards the center of the galaxy, machines work less effectively, spaceships move slower, even organic minds begin to lose their capacity. Moving outward, towards the galactic rim, faster than light travel is possible, technology works more fluidly and even minds are more capable.

A vast conglomerate of alien cultures mingle with each other there, communicating through an ultra-internet spanning the galaxy, or rather, the outer rim. 

This creates a dynamic backdrop for stories that might not make much sense in our physically constrained universe. Conventional sci-fi empires in the slow zone have little expansion potential before they perish. Civilizations like the Earth's, have a hope of ascending through, but they might just as well become extinct.

Then, something wicked this way comes from the human outpost of Straumli, awakening even the interest of the Powers, entities transcended beyond the galactic rim. Shortly after the rapidly escalating catastrophe, a human refugee ship descends on a medieval world, with a pack-mind culture unaware of the rest of the galaxy.

What at first appears tiresomely post-modern and post-internet mish-mash of confusion, is eventually balanced with what is essentially a rollicking space opera, with twists and turns and reveals round every corner.

The story, problems and solutions are intertwined satisfyingly with the world concepts. The pack-mind alien race and the universe only really work in the written medium, otherwise I guess it would have been filmed already.

David Brin: The Postman (1985)

After a short nuclear winter, the United States is reduced to a scattered wasteland, Western-like territories with mountain men and outlaw gangs. Jeremiah Johnson is even name-dropped.

Gordon makes a living travelling about and performing little plays and leading entertainment events with singing and stories that remind people of times before the fall.

When Gordon finds a near-intact post courier's jeep, with a mail bag and a uniform, this sets wheels in motion. Due to the uniform, he gets a grand reception at a village of simpletons. Being a bit of an idealist, Gordon continues to work as a mail carrier in the name of the Restored United States. But does this play act become more real in the process? Are symbols really so strong?

The book is quite episodic, Gordon's role as a Postman leads him to various locales where people attempt to keep up civilization. Instead of staying as a picaresque, the story escalates and leads to larger themes.

The last portion of the book is like the end part of a sequel book was bolted on, with partly different characters and themes that were not developed in the beginning. Apart from this incongruity it does make fun reading.

Fred and Geoffrey Hoyle: Rockets in Ursa Major (1969)

Earth sent the rocket DSP-15 to "Ursa Major" thirty years ago, its crew in deep sleep. All such journeys apparently failed or fell silent, but now the DSP-15 has inexplicably returned.

This is an interesting setup, but then the action shifts too soon into high gear, forgoing the mystery. Soon all points to an alien intelligence, set to invade the Earth. No sooner a ship is sent to probe the outer reaches of the solar system, the attack is found to be already in process.

The book can be dismissed as a novelette for juvenile audiences, with the "Hullo, Dick, wait while I adjust the batteries of my chrono-temporal wrist terminal" type dialogue and heavy-handed description of gadgets in the future world, most of them having no bearing on the actual story.

However, the story has a nice example of the "dark forest" concept. There's a thriving galactic community of aliens, and a malevolent race only called the Yela, the Unseen Ones. They would destroy the Earth just because they know it exists. Pour hydrogen on the atmosphere, apply pressure, and voilà, life on Earth will be vaporized.

This alone is a thrilling concept, but there isn't much else going for Ursa Major. The space battles are fun, unpretentious bashing using rigged torpedoes and such. The inevitable table-turning solution is a little too bombastic and not too credible, but the story had to stop somewhere.

Arthur Clarke: Rendezvous with Rama (1973)

A well known and deservedly a classic, Rendezvous with Rama is a story of an interstellar object arriving to the solar system. When ʻOumuamua did the rounds around 2017, it spurred many comparisons with this novel.

As human race has spread out to habitate the solar system, it's not too much of a problem to divert one competent spaceship crew to the silent cylindrical mini-world dubbed as Rama. Landing on top of it, they discover a way in and thus begins the adventure for discovering the secrets of a dead, alien culture. Or is it so dead after all?

Possibly the best book on display here, I am somehow less eager to divulge its contents. Suffice to say it's a rare example of a science fiction novel where the initial mystery is not flattened through the story's conclusion. There are sequels, but they were made so much later I suspect they are not worth reading.

Isaac Asimov: Nemesis (1989)

A latter day Asimov I've somehow been able to avoid.

Using a half-realized FTL drive, a group of human settlers are able to reach Nemesis, a star system only couple of light years away. As the star has escaped detection, the shrewd commander of the colony has decided to keep it secret from Earthlings and the other solar system settlements. 

Meanwhile, it is revealed Nemesis might eventually hit the solar system, with grave consequences for Earth... are the Earth politicians and their soon overpopulating melting pot, that much better?

Asimov weaves together a perhaps too many threads for comfort, as the human drama, near-telepathic inference talent of one Marlene, and the mystery of the Plague on the settler world Erythro take the center stage. But "comfort food" it essentially is, mystery piling on mystery until it is all unraveled.

Asimov makes a point of saying the story is not part of the Foundation and Robots series, which is just as well as I didn't include it in my massive Asimov through-read...

...however, the statement might be something of a red herring, as the story isn't that contradictory with the larger Asimov tapestry. He never said it wasn't part of the same universe! The very end and the epilogue makes the connection rather blatant, hinting at the Earth/Spacer split, future events and possible makeup of the early colonies. This may include, among other things, the potential origin for the trans-human Solaria and eventual mind-controlling factions in the Foundation novels.

Sunday 29 October 2023

Keep on Eurotruckin' : Finland

Just to be clear. I'm not a very enthusiastic Eurotruck Simulator 2 player. But I have to admit for a while it's been fun to try to handle a truck instead of all the racing cars games usually have on offer.

As a typical Finn, I was mostly curious about how Finland is represented. For this I needed the Beyond the Baltic Sea DLC, and even then it only has southern Finland. You can visit for example Helsinki, Tampere, Turku, Pori, Kouvola and Kotka.

Being a simulation, you have to follow various laws, such as observing the speed limit, left-side/right-side traffic and whether lights need to be on in this country or not.

More technically, cruise control, windshield wiper, high beams and signaling adds complexity to the controls, although not everything really needs to be performed. Reversing a truck and a trailer can be really counterintuitive at times, which makes for a fun challenge.

Driving a truck does seem a stressful job, even in this simplified universe where you get to bump into things without repercussions, and no-one bothers your parking.

The Finnish experience

As the game mostly takes you from one industrial setup to another, you don't get to see that many sights in the cities. The portion of Helsinki on display does give a funny déjà vu, what with the local police cars, traffic signs and the green trams, but it's not a particularly accurate depiction.

I especially appreciate the first thing I see are areas under construction, because that's what Helsinki these days seems to be. Ha, ha. But it's really Jätkäsaari, under construction, an area that's been finished for a while.

Arriving in Helsinki West Harbor. Jätkäsaari is being built.

My first gig is from Helsinki to Turku, and although I don't know Turku, the Helsinki exit road from west is familiar terrain. Very vaguely I get the impression of leaving Helsinki over Lauttasaari, viewing perhaps Otaniemi coasts on the right, but I also have to say the scenery is a little weird there.

Arriving to Helsinki from the west, it looks more familiar. These should be Wärtsilä, Stora Enso, maybe even Cable Factory looming at the right side of the road.

Nearing the terminus of road 51.

The skyline is lacking the smokestacks. I guess most of the buildings are created from generic elements, and there's probably not that much unique geometry in the Finnish cities.

Then, at the left, it must be the Orthodox cemetery at Lapinniemi viewed from Porkkalankatu.


What follows must be the road that leads to the West Harbor, and it does look kind of familiar. 

It's just that the Jätkäsaari area has now been built full of highrise, and the DLC doesn't quite reflect these newer developments.


Outside Helsinki, the scenery between cities does give a nice impression of the usual Finnish motorway, the surroundings forests, fields and the occasional old shed.

Coming from Tampere to Helsinki did spark some recognition, Riihimäki is somewhat represented (though not named) and the Linnatuuli station complex is there by name of "Linna Tuuli" but the structure over the motorway has not been replicated.

The usual Finnish road.

For a moment I get some Martinlaakso vibes before entering Helsinki, but I'm redirected to the Ring Road again so I don't get to see the actual beginning of Mannerheimintie.

This could be virtual counterpart of the long-standing Lahnus Shell station, facing southeast, even if the surroundings are not that similar and the road that leads to it from Helsinki turns somewhat sketchy. But the south side of the station has a (non-driveable) road leading north(east), corresponding with the topology. Change my mind.

Lahnus Shell

Thursday 12 October 2023

Carrier Command 2

The titular Carrier

The original Carrier Command from 1988 ran on Amiga and Atari ST. This was the pinnacle of 16-bit home computer gaming: a technical tour de force of solid 3D graphics, multi-vehicle control and a complex mouse/icon-driven interface. 

It's like a demo of what would not be possible on the 8-bits. And then it was converted to ZX Spectrum too.

The technicality and multi-screen play covered a fairly simple strategy game focusing on the control of a handful units, made more tricky by the real-time aspect and the delightfully cluttered interface.

Carrier Command on the Amiga

Yet Carrier Command remains a cult game and many have probably wondered if the concept could be updated for more recent computers.

As the Microprose brand returned, I had my eyes on their future offerings for a while. Then, crucially, Carrier Command 2 (2021) was released and I only found about it a year later, thought it was little weird as the original was published by Rainbird. Another year passed before I bought the game from Steam.

It's not the first time the theme has been resuscitated. There's also a Carrier Command: Gaea Mission (2012), but that Bohemia Interactive interpretation has some Halo knock-off fps elements which put me off. Perhaps some day.

This is not a Linux game originally, but as usual, Proton to the rescue. I didn't experience any in-game crashes with Proton 7.0-6.

All aboard the Carrier

Carrier Command 2 is surprisingly almost the same game concept as the Amiga original, and this is what piqued my interest.

You are in control of a retro-futuristic carrier, with the goal of conquering an archipelago of small islands, or the destruction of the enemy carrier. The enemy carrier is wandering about with a similar purpose.

Most of the screens at one glance.

The first impressions were very good. The prologue brings the player down from the orbit on to the surface of an alien world, and on board the carrier. 

There is only a minimal amount of story content and the game is not split into on-rails episodes or smaller portions.

The campaign is a complete simulation of the war on the archipelago, and one run can take tens of hours. Bad choices early on can result in a game over that only becomes apparent much later.

Indie-esque art directorial choices and budgetary constraints are evident, but the creators have focused in the essentials and still managed to make a nice looking game.

The captain's holodisplay, neat but rather useless in single-player mode.

The Carrier and the weapon systems are imaginary sci-fi equipment in an imaginary world. The alien feel is heightened as no-one else is around except you. 

The simple step-by-step tutorial at the beginning shows how to switch on power, move about, how to use the Carrier main gun and how to deploy vehicles.

Rather than clicking various icons over different screens, the player has to walk about and man different stations, and use the screens from there.

Many buttons, switches and levers can be activated in the "physical" space too. Much of the added detail and complexity relates to the on/off and brightness adjustment buttons connected to every screen. It's also possible to wander off to the sparsely modeled Carrier interiors, but this serves no real purpose.

Weather changes and the day cycle add to the atmosphere

The approach makes sense considering CC2 has a multiplayer mode where a complete crew can man the bridge stations and do different things in parallel, also using virtual headsets. I doubt I will ever test that.

Playing solo involves hopping between stations to do actions that in principle could have been done from a single screen. It is difficult to handle multiple vehicles and the Carrier attack/defense systems in the heat of a battle.

But the original game also showcased similar type of thinking and the game might lose its essence if there was an effective keyboard shortcut for every action.

There's no overall "God's eye" camera of the surroundings, you only see what "you" see, mediated through cameras or not.

The tactical display, where the various assets are controlled

Actions take time. Deploying some of the vehicles is especially slow, and firing main guns does not happen instantly. In the Amiga original, you could at least fire the deck laser gun in frustration, here you need to designate targets and wait for the gun to fire.

It does make me wonder though why I cannot delay the last "fire" order until after the gun is ready?

After deploying amphibious surface vehicles, helicopters and planes, these can be controlled using waypoints on a map.

It is also possible to enter the camera view of each and guide them directly. Taking manual control at a crucial moment can be useful, as the vehicles can sometimes be painfully passive.

Enemies can be visually eyeballed from far away, but unless they are scanned through a specific kind of camera, they won't identify permanently on the map. Further scan is required to identify the weapon systems, after which the enemy weapons reach become visible as circles.

An Albatross being deployed.

Install this gimbal camera to an Albatross or a Petrel and you can "paint" enemy targets and activate Carrier main weapons from above via in-flight screen. Not always the easiest approach.

In any case, a tiniest mistake in the approach can lose your precious vehicle(s). There's a way to make more, though.

The scale of the game is far bigger than the tiny islets in the Amiga version, which means the islands span multiple kilometers. On one hand this makes the situations more complex and realistic, but on the other hand there's a lot more waiting and flushing out of enemy units. This choice really highlights how abstract the original was.

Conquering the islands is (as far as I see) achieved by dumping virus bots near the command center of the island. This can be tricky, if there are enemies around they will most certainly shoot the virus bots first and the attack will be repelled. This can easily happen even in the "tutorial".

SEALs carrying Virus Bombs, viewed from another SEAL.

At the beginning, nudging between waypoint and hands-on mode was essential to gain an edge over the opposition who has similar equipment and the player can't afford to lose anything.

Sometimes a huge number of enemy tracks becomes stuck at the same position, and one cruise missile or a volley from the Carrier main gun can get rid of them all. Knowing this made some of the approaches more manageable.

After the tutorial is over, the player is left alone with the manual and the humongous carrier and all its sub-systems. Frankly, the in-game manual isn't that helpful or even very readable, and it might have been helpful if there was another tutorial explaining the archipelago logistics even a little. Fortunately, there is more information online.

Barging in

The important tidbit: Unless you conquer an island that can produce fuel, your Carrier will run out of it rather soon. 

To refuel the carrier, you need to master the rather poorly documented topic of Barge ships. Barges can replenish the lost resources of the Carrier, if the materials are available on your conquered islands.
The Barge is bringing me more missiles, Albatrosses and Razorbills.

To start production in an island, you go to the logistics screen and activate the island's icon from there, forming an production order queue.

Only the barges can bring you materials, it doesn't help at all if your Carrier is sitting next to a fuel-producing island.

You first need to place an "order" for the equipment you need, otherwise the barges don't know what to carry. After this has been done, the barge waypoints (logistic screen again) are dragged to the source of production (island icon) and then the carrier.

The barge waypoints cannot be set from the tactical screens, where the deployed vehicle waypoints are set. Go figure.

The second barge is unloading fuel to the Carrier.

The Barge appears to be at least as fast as the Carrier, but it does take time waiting and it is better to try to anticipate needs and do parallel tasks rather than do things in sequence.

However, just as you get fuel logistics rolling, you'll soon find out the ammunition is running out from the main gun, you need replacement vehicles, missiles etc. and each of these categories require different factories.

You eventually need to build more barges to maintain logistics across your widening grip over the archipelago.

Taking the barges too far from the map can slow them down to a halt without warning, just so you know.

In my opinion the barges sometimes refuse to start loading the ordered materials without any kind of explanatory message, and this can be a little frustrating.

Part of the Archipelago islands and their resources on the Logistics screen.

End Note

Carrier Command 2 is an unashamedly long-winded simulation game. After about 24 hours of game time I can say it has been a rather interesting experience and I'm far from understanding it all.

Much like the original Amiga Carrier Command, I will remain mostly perplexed about how to go about playing it, and will probably not even try to complete it. I can see the game is able to keep up excitement, as new things become unlocked and discovered. The game has far more variety of equipment than the original had. 

My first campaign proceeded slowly, trying to figure out the barge logistics and how each weapon subsystem works, nudging each island assault carefully with the scant resources. All while the enemy struck a rapid and fearsome division into the archipelago.

I tried encountering the enemy Carrier once, with glorious fireworks both over the sea and over the nearby turret-infested island. I did not prevail.

The first encounter with the enemy Carrier, with obvious results.

I find myself reverting to saves quite often when things go wrong, which is another sign of an old style gaming. Possibly the package could have benefited from having a few more piecemeal missions and a "tiny campaign" after a tutorial, with saves only between operations.

But it is fascinating in many ways. There's a serene and watchful atmosphere. The carrier chugs along, closing in on an enemy island (there's no accelerated time). The waves on the alien world grow high, forcing the ship into impossible angles. The rain subsides, evening darkens and I spot flickering lights in the distance of an island buried in fog...

One of my biggest gripes has to do with what is really a small detail. The trees. I can bash the island with the biggest guns on the Carrier, resulting in impressive fireballs that light the sky and the surroundings. However, the trees do care not at all, not even a single pine needle or snowflake falls off from their branches.

Raining destruction on the enemy tracks

I wish the starting point for the island modeling had been the fact that it will be pounded by missiles and guns. The terrain ought to blacken, trees and small buildings blown to smithereens.

Based on this new game, I still think there's life left in the old Carrier Command concept. If only Midwinter (1989) was remade with similar sensibility. I'm having an eye on Microprose's Tiny Combat Arena, which is in early access.

Edit 20.10.2023: Completed!

I did complete the game after all. It took 46 hours. The cracks and flaws in the single-player campaign begun to emerge, and I felt the destruction of the enemy carrier was a result of combining some tactical insight and very nearly using "exploits".

After depleting the enemy carrier fleet and its resources, its destruction wasn't that difficult and perhaps even a little anti-climactic, considering my earlier encounters with it tended to result in sudden death.

Perhaps I will come back to this in more detail. But it does seem that if you manage to take over more than 10 islands your global energy budget is so high, the islands can be covered with defensive turrets, and the warehouse can produce almost constant feed of Needlefish ships.

Saturday 23 September 2023

Lancess Priya plus/4

I found some time to convert the Lancess Priya game to Commodore plus/4, the underappreciated little brother of Commodore 64. I formally demo'd the plus/4 version at the Skrolli magazine demoparty at 23th September 2023, and the game is now available at plus4world.

Lancess C64 made extensive use of sprites to generate the dashboard and fireball graphics, so all this had to be made to work in the pseudo-pixel character graphics.

But this was not a great problem, some of the font elements could even look nicer when they are more chunky. I already experimented with it on the C64 version before deciding on the sprite approach. This also simplified the interrupt a little, as there's no need to multiplex sprites.

The fireballs (enemy shots) were the toughest, as these needed to be drawn differently. I believe the added speed of the plus/4 made it possible to draw them without noticeable slowdown. The graphics also use less space than the sprites, which although not necessary, made handling memory issues easier.

The fireballs, taken together with the sights also means the gameplay area is quite monochromatic. The sights cannot be moved in every frame like in the C64 version, but I felt this wasn't a problem. I added some color to the texts, to take at least some advantage of the platform qualities.

TED sound is much simpler than SID, so it didn't take long to have some sound fx and some abysmal ditties playing here and there. I didn't set the bar very high though! I ignored the SIDCart route this time as the C64 version soundscape was quite simple to begin with.

I took the opportunity to fix a few glitches and bugs found from the C64 version, these may be eventually released as a C64 v. 1.1.

-You could ambiguously "fly over" the towers, which wasn't very apparent if you fly closer to the ground. It made it look you could just pass through everything, but this was not the intention. The towers are clamped a little awkwardly to the bottom of the screen to prevent them from disappearing.

-The "deathstar" graphic in the space battle would wrap around in a rather silly way. I just couldn't be bothered for the initial release. I now made the wrap-around at least a little less conspicuous for this non-moon.

Lancess Priya at plus4world

Friday 8 September 2023

The Raspberry-based Z88-wannabe

After playing with the portable Cambridge Z88 computer and reading little more about devices such as Amstrad NC-100, Epson HC-20, Husky Hunter/Hawk and the Tandy TRS-80 Model 100 (Kyotronic KC-85), I began to wonder if anything exists currently in the same form factor.

There are a few keyboard-display hybrids. There's the Ficihp K2 keyboard with an integrated display.  Another is a BQAA RGB keyboard, which looks larger with keypad included, and something called Kwumsy, a very similar concept.

These hybrids do not contain a computer. Expensive, and apparently geared more as an add-on for gamers and such, I passed these opportunities as something that wouldn't work for me and not easy to hack into a full portable computer.

But it became clear that mass-produced screens must exist for such devices, and I started planning my own version.

*** Some of the details are left vague on purpose – for inspiration only! I'm not responsible for destroyed Raspberries, lost data and house fires other than my own. ***

Model 100 or Z88?

Exactly ten years after building a wooden prototype to house a Raspberry Pi, I felt I could hodge-podge something together without going too deep into electronics or software development.

And yes, many have hacked Tandy Model 100-inspired cases for Raspberry, or even used an original case. Model 100 was far more widespread and better known than the Z88, especially in the US.

Hobbyists and crowdfunders have built some Model-100 successors, such as the Clockwork DevTerm, and the Ready! Model 100. Just looking a these makes me feel I don't want all that clutter.

My concept:

A no-nonsense slab computer inspired by Cambridge Z88, mostly for writing.

-Large-font terminal for focused text editing etc.
-No GUI/Desktop/Browser
-No mouse, no trackpad, no nothing
-No connectors
-Flat rubber keyboard if possible!
-Wifi is still needed there to install software and easy transfer of files

I would not break my Z88, and my project is not about building a computer inside that case. I probably couldn't get the parts to fit there anyway.

Well, off to hacking.

The screen

I started by hunting for a suitable display. The Z88 original design depended greatly on the availability of a particular LCD display, and I have a very similar design constraint here.

I would have liked to use an e-Ink display just for the added weirdness, because I've seen videos of people connecting them to Rpi. But I couldn't find anything close in the aspect ratio and size range I'd need. It's either book page territory or tiny electronic price badges.

Some of the first tests with the display, running Raspberry OS

Eventually I decided on a Waveshare 10.9 inch HDMI display with 320x1480 resolution. Another option might have been an 8.8 inch screen with 480x1920 resolution, but the proportions didn't look that inviting. And yes, the 320 is the default horizontal resolution!

It's a touchscreen, but I'm not going to use that feature.

I ordered the Waveshare from berrybase on ebay and received it soon enough. The package included the screen, HDMI cable, USB power cable, and an assortment of screws, stands and USB adapters for different Raspberry models. There's also a cloth for wiping the display clean.

Just connecting the HDMI to any old output of a computer doesn't work, the computer needs to have drivers. And fortunately the Raspberry Pi OS has that, and the product is clearly intended to work together with a Pi. 

It is a good idea to do the initial tests with the basic OS without jumping into the Lite OS or some other build.

The configuration is clean, but a little tall for my purposes.

A fresh desktop is a little annoying as the initial dialogues do not fit the narrow screen. Remember, the screen is horizontal in the 320-dimension. But after getting through this, it's possible to use the OS screen/display functions to rotate the screen.

A better way to do this is to adjust the config.txt and the display parameters prior to booting up.

With some more fooling about, I had a correctly rotated terminal screen using a 16x32 font (sudo dpkg-reconfigure console-setup). This gave me a chunky-looking 93x10 character display, inspired by the 8-line Cambridge Z88 display. After that I began to think of installing the OS lite version without desktop on a separate card. More about that below.

I feel the shape of the screen is quite close to what I want, and the product connects and displays the Pi screen with no big hassle. All in all this stage was a lot easier than I thought.


I did the initial tests with PSUs, but I was eager to start planning and building the case itself.

A thin battery would be desirable. There are really small products that cater mostly for no-display, low power operations. The JuicePi hats look a little daunting, eating all that space would be a little counterproductive.

A battery should run the Raspberry for many hours and the screen is likely to eat up power. So I tried to look for something sturdy, such as a power bank.

I bought an Insmat Exclusive PD3.0 Super Mini 10000mAh power bank, because it happened to be on the shop shelf and had promising enough parameters. It's about 18mm thick with 2 USB-A output sockets. This made it possible to power both the screen and the Raspberry instantly without any modifications.

10000mAh sounded like a minimum, a ballpark estimate says I might be able to run the Pi and the screen for a couple of hours.

I wish there were more flexible backlight options on the Waveshare, I could live with a relatively dim screen in this context. A similar display with ISP technology seems to have more options in this regard. Here, even the lowest setting is quite bright. Only in a very bright office environment it begins to look dimmer in comparison to other displays.

The power switch

There are a lot of tutorials on how to build a safe power on/standby switch, but nothing very reassuring about cutting the power physically. I think it should be safe to cut the power after I've issued the shutdown command, just as I have to do anyway when I pull off the cable.

I tried powering the screen from the Raspberry 5V out, using only one USB out from the power bank. This should be the same as sharing the input of the MicroUSB. But although initially promising, this seemed to cause problems and undervoltage, so I reverted back to using the both USB power outs separately, as it appeared to work better. Fortunately I have a switch that controls two separate power lines.

I'll discuss the undervoltage problems further below, it's not certain that powering the screen from Pi was to blame.


The first keyboard connected was a quality Apple Mac mini keyboard. This was all well until I noticed I had trouble getting <|> keys from where I'd expect. Changing the settings from raspi-config seemed to do nothing. Oh well.

I'm not going to mutilate the Apple keyboard for this project anyway, so I went for my old Deltaco TB-5V. Which, incidentally, mapped correctly.

This mediocre mini keyboard was cannibalized already before and it'll live again for this prototype. It's not quite as wide as the screen, which is fine. The keyboard model is rather good for repurposing, as the controller is still a simple separate through-hole board and the connections are easy to understand. I de-soldered the LED lights as I have no room for them.

I did look into the idea of using a laptop-specific keyboards, but getting them to work on a Raspberry is not as simple as plugging in.

First attempt, will everything fit?

For a more Z88-like experience, I wanted to use rubber keyboards.

Aliexpress does sell the aptly named 85Keys Foldable Soft Silicone Mute USB Wired Mini Keyboard Computer folding keyboard Accessory, but this has an annoying lump at the left side so it's a no-no.

Having that lump appears to be a common feature in rubber keyboards. Wetkeys sells soft-comfort rubber keyboards without a lump, but they also have a numeric keypad which makes them far too wide.

I'll forget about this angle at least for now.

Raspberry Pi : Putting it all together

From my loose assortment of Raspberries, I have a choice of 1/2/3. As I'm going to run a Linux terminal there with no graphics, I could even use some of my older Pis.

Explosion. The screen is still "upside down" compared to the final arrangement.

I settled with 3B+ for the moment as the Waveshare promises to work with it. I need to mod the Pi so I'd prefer not to alter the earlier models which might become museum items.

Admittedly, the 3B+ uses more power than many other models, and in the future it might be wise to consider Pi Zero W model for such a modest purpose.

The logic of getting the screen to work and rotate correctly may be a little different depending on the Pi model.

The Waveshare product included the screws and stands to fit the Raspberry below the screen, and at first I did just that. The HDMI-HDMI connector dongle is a neat addition which removes the need for a bulky, inflexible cable. The power cables however stick out from an unfortunate angle, which can't be helped now.

The HDMI-to-HDMI is neat, but the power cables are still in the way. Keyboard controller at right.

The Waveshare concept pointed to overall device thickness in the 40mm territory, which was a little too tall for me. I looked into how to either reposition the Raspberry or remove the tall USB connectors and the ethernet connector, and using lower stands.

Trying out various loose configurations, I kept coming back to the way Waveshare intended: Raspberry screwed together under the display. To get at 30mm thick device, I changed the 25mm stands to 15mm and removed the bulkier elements from the Raspberry board.

It might have been better to get a Raspberry 3A+, which is thinner, but I was a little impatient and some Raspberrys can still be a little hard to find.

Smashing away the USB connectors.

Removing the Ethernet connector with heated pump and soldering iron was almost possible to do cleanly. But for the USB it was far easier to just peel it open with pliers, cut and crush the parts inside. Then cut the wires and solder wires on the remaining "pins".

Sadly this means breaking and throwing away perfectly good parts. But now at least I could fit the display on 15mm stands, bringing the overall thickness to 32mm (The MDF board is 3mm thick).

Ultimately the battery height of 18mm under the keyboard decides the height of the computer, so there's no benefit in getting the screen any lower.

So, it's rather bulky compared to the Cambridge Z88. As a minor consolation, at 292x190x32mm the depth of the computer is at least less than the Z88. The chunky chipboard appearance is rather nice.

Figuring out dimensions in a LibreCAD section.

As mentioned, I eventually got electrical problems, at least the Raspberry was eager to show the "undervoltage" warning occasionally.

I really started to get these only after packaging the whole thing and connecting the power switch. So, this might be due to bad cables, connectors, soldering, or whatever.

But it might also be that this particular power bank doesn't give power evenly, and the display is such a power hog the intake will easily drop below the minimum. I don't have very clear specifications about how many amperes the display would like, Waveshare site suggests 3A and that's also the power bank nominal output.

The power bank specs are unclear about whether the separate outputs supply 3A at the same time, so I assume it the value is for the total.

The 3B+ Pi model is apparently a little finicky about the power input, whereas an earlier model might complain less. However the 2B doesn't have wifi, which would be a little too limiting. And besides, it might be a good idea to actually have these warnings so I know it is an area to be improved.

After I fiddled with the connectors and the wires, and gave the power bank a good recharge, I stopped seeing the undervoltage warnings. But the wiring inside is still a problem area and I'm not going to show that mess now.

The below image sketches out the basic case shape and especially the keyboard holder, but it's not a precise indication of how it was built and what kind of parts were used. I used clamps and wood glue to pile together 3mm cardboard and MDF pieces.

This Blender model was made after building.

OS and Software

Although the Cambridge Z88 served as a point of departure for this computer collage, I'm not looking for actual Z88 simulation here.

But just for fun I looked at software that could create a somewhat comparable experience, using the 93x10 character terminal as a tribute to the 8-line display of the Z88.

So, goodbye mouse and x, I use terminal-based Linux to boot into the command line, and launch Nano the text editor for productivity.

I installed the Raspi OS Lite on a new card, and adjusted the config.txt to accommodate the display format before even booting it the first time.

sc-im on

There's less hand-holding than with the full OS, but it's not difficult because almost everything can be handled using the raspi-config. (sudo raspi-config) I am glad I am somewhat more experienced with Linux and Raspberries than ten years ago.

First it's necessary to set the wifi country, the wifi SSID and passphrase itself. Again, using raspi-config. Only after that the network is accessible. Or use ethernet, unless someone has pried it off(!)

It's also useful to set the timezone.

There are some tricks to whittle away boot time, such as removing boot delay and the splash screen. Some services, such as the network, could be shut down – if the intention is to lose the internet. 

Reducing processor speed could also decrease power need, but perhaps not in total as the tasks will take more time to achieve.

The font and font size are best handled through sudo nano /etc/default/console-setup

Some initial software ideas:

Nano ought to be launched without the space-eating shortcut display. I would also show line numbers, as there's no other simple way to show where I currently am in the document.

nano -x --linenumbers --softwrap testnano.txt

-x disables the list of shortcuts at the bottom of the screen.

The --softwrap in the command line activates soft line wrapping, so the text contents of a line are always seen on screen, which depending on preference might be desirable or not.

Nano reconfigured. (Linux Mint screencapture)

I could try to add some of the Z88-feel by running the PipeDream hybrid spreadsheet/text editor software that was central to the Cambridge computer. After all it was available for multiple platforms, including DOS and Windows.

DosBox could run Pipedream DOS version and Rakewell offers a download for free.

Using emu2 I can run DOS text-based apps via terminal, which sounds interesting. After installing git, I could clone the repository and compile it.

PipeDream on emu2. (Linux Mint screencapture)

PipeDream is far too troublesome to run in the limited terminal screen I prefer, as in the DOS way the screen is assumed to be of a fixed size. Troubles begin when you have to scroll the screen. From the little time I used that software on the Z88, I found it fine for that computer but have no great desire to see it running here. So I'll pass.

For a terminal-friendly spreadsheet, I installed sc-im the terminal-based spreadsheet. This requires some more compiling and fiddling with git repos, but it was do-able. The software isn't very simple, though.

sc-im (Linux Mint screencapture)

From apt I could directly install calc for calculator, or just use bc. These aren't particularly visual, though.

Calc is not to be confused with cal, which simply shows the month calendar. Which is, logically enough, installed through sudo apt install ncal

Again, hexcurse for hex editor, or hexyl for just viewing hex.

I tried Ranger for file listing. It can actually work as a kind of launcher for other apps, but I also found it to be bit slow to init on the Raspberry and maybe not that useful at this point.

Tmux the terminal multiplexer can enable complex task switching, splitting of the terminal screen and generally toying around. Obviously using ALT-F1, F2 ... etc it's possible to switch between logins and it might be enough, but with tmux I could have a text editor running on the left side of the screen and a terminal prompt on the other side.

The OS Lite has Python already installed for programming tasks, and the Raspberry GPIO pins can be controlled from there. Obviously the GPIO pins are not very accessible here.

Browsing could be a possibility, by using lynx or w3m.

For games, I installed Gnuchess. In my preferred 10-line terminal, the program doesn't display the game well. If it wasn't for the pesky "Thinking..." text, the board would fit. Using "show board" after each computer move works, though.

With the smaller font I could play roguelikes and...

But this wasn't supposed to be a web-browsing and gaming platform. I've installed so much junk already, the idea of a very focused computer is beginning to get muddled!

Some notes

What about emulating Z88 itself?

I would have liked to try this, but I couldn't get ozvm to compile easily even on a full desktop Linux Mint, and I have my doubts about getting it to work on a Raspberry OS. I gave up on that angle at least for now. Using the Circle environment, it might be possible to create a comparatively "bare metal" Raspberry Pi emulation of the Z88 computer, as people have done with ZX Spectrum. Someone would need to do that hard work first.

If the aim is to create something that fits inside the original Z88 case, this is not the solution as the screen itself is already too large.

I'm already somewhat through my "Z88 phase", and having a Linux terminal is really just more powerful and flexible. In the future I could look into reducing the boot time, which is still something where the Z88 really excels at. Oh, and also the Z88 battery life is much longer, but at least I can recharge the power bank.

Boot time is more than 20 seconds

If I have ever learned something about building stuff is that a detail not taken seriously during the design process is likely to end up haunting in the build. For this box, things like how to recharge the power bank, or how to change the SD card, were not really thought about that well. Therefore they ended up relatively unresolved. To recharge, I currently remove the keyboard and pull out the bank. For the SD card, fortunately I might not even need to change it.

As far as casing projects go, this was in some ways one of the simpler ones, as the display and keyboard are dropped in and there are no ports to consider. Perhaps I should have made 25mm thickness into a hard constraint in the beginning, but 32mm isn't really that bad.

Like I mentioned, the problems are more in the electronics side of things, and I haven't yet reached a conclusion. I have already seen the power bank last for the 2 hours I hoped for, although it looks that the undervoltage issues increase in proportion as the bank depletes. I may report back once the power bank has seen a few more recharge cycles.