Saturday 30 December 2023

ZX Spectrum Next

Sinclair ZX Spectrum Next

The first ZX Spectrum Next Kickstarter was launched in 2017. Back then I felt the ZX Evolution was enough for me. When I learned of the second Kickstarter, promising improvements over the first one, I had to jump in.

The board is a continuation of the TBBlue, where an FPGA drives the entire thing. So it's not a software emulator but there's no factory-made bona fide Z80 chip inside. In fact they call it the Z80N because it has a few extra instructions. If the magical aura of a genuine 8-bit CPU is absolutely necessary, then steer elsewhere...  

But let's not forget the original Spectrum ULA video chip was a kind of proto-FPGA chip too. It's just nowadays more realistic to have everything in the "ULA".

256 colour graphics with support for scrolling and sprites, multi-channel sound, SD card storage media, 2MB memory. For programming this means a memory paging system, because the Z80 cannot address more then 64 kilobytes of memory directly.

The computer can also work as ZX80, ZX81, 48K, 128K, through either emulating or switching the ROM and capabilities.

Instead of listing everything the computer does (and it does a lot) I'll just relate my initial observations and things I have found interesting after week and a half.

First Impressions

The Next comes packaged with the appropriate PSU and a printed booklet in the tradition of the original Sinclair manuals. It's crammed with information and tables. In addition there's also a quick start sheet.

The great thing here is that I don't need to buy anything extra to get it up and running. Ok, a video cable is necessary but who doesn't have a HDMI or a VGA lying around?

The case is physically very impressive, a proper industrially molded case and keyboard. In size and appearance it is quite close to the Spectrum Plus, although not nearly as tall. Rick Dickinson, the original designer of many Sinclair products, was still involved with the design before his passing.

In the correct order

I'm not a big fan of rounded corners in tech, but I have to admit the rounding and the rainbow plastics gives the box a lot of character. It's also a tribute to the original rubber-keyed Spectrum.

The keyboard appearance and feel exceeded my expectations. It mostly follows the Spectrum Plus layout, the main difference being the cursor keys have been positioned more reasonably. 

The layout difference makes it hard to compare the Next with modern keyboards. It feels right but I tend to mistype because my fingers are one key off, typing LIAR instead of LIST and so on.

Occasionally I lapse into Speccy-thinking, using shift+P to create " and even searching the cursor keys from both sides of the space bar! My brain hasn't really decided yet what to do with the keyboard.

The lack of explicit CTRL and ALT keys also affects the way software deals with keyboard shortcuts.

Instead we have True Video and Inverse Video

Connectors

There's a bunch of modern and less modern connectors at the backside. In the great Sinclair tradition, there is no power switch on the computer itself and you can just "pull the plug". 

Fortunately, the package includes a separate power switch cable extension. Together with the modular adapter there's quite many parts to fiddle with, which makes me worry a little.

If you have the additional Raspberry board (I don't) the USB and digital video debug ports are available. You cannot use them as conventional USBs for keyboards and controllers.

I tried to load Horace Goes Skiing from tape using my Sanyo Data Recorder, but got no reaction. Possibly the cable was bad, I wasn't that motivated to find out the problem.

Edit: I was too lazy to check the connector, it's a split EAR/MIC, so it makes sense that a mono cable doesn't work.

I've yet to test the RGB connector, not sure if I should try to make the cable myself or just order one.  Big plus for the Next people for including the RGB.

You can attach a PS/2 mouse or a keyboard to the PS/2 connector. It's worth noting any external keyboard will still follow the Spectrum layout rather than its own.

The mouse needs to be supported by the software. The Next menus, file browsers and editors do not directly make use of it.

Power connector excluded

The left side of the computer hosts the Reset, Drive and NMI buttons, with the SD card "drive".

The NMI button accesses the "freezer" menu, there I can change the CPU speed (3.5/7/14/28MHz), enter POKEs, save Spectrum snapshots and screenshots. These save features won't work as well with the Next software, if at all.

For the sake Sinclair QL nostalgia, the SD card slot really ought to be at the front, near the right side of the computer, but it's fine as it is and certainly not in the way.

Without a spring ejector, it's a little tricky to remove cards from the slot. But with some preparation and use of the wi-fi, I don't need to swap the card that much.

It's recommended to backup the card on a PC before doing anything further.

Standardizing two joystick ports is a good thing. If you intend to use the Next mostly as a game console, the front positioning might be good. Again, hot-swapping joysticks is not recommended. 

For other activities the joysticks might be in the way. Although the ports are supposed to double as serial ports, I don't feel too good about connecting peripherals from the front side. 

I tried a Megadrive pad and it accepts a second fire button too. Nice. Turn off any autofires or other exotic features before plugging in...

Extra buttons

Modern video cables such as HDMI are not physically very flexible, something I noted with the similarly tiny Raspberry Pi 400. The Next at least has some size and weight to it, so it's not like a flap of plastic dangling at the end of its cables.

A cable mess was a fact of life with the integrated keyboard computers, and it can't be helped much. It is fortunate you can get away with only two cables, the PSU and display.


Booting up

At first I was a smidge doubtful about the Next booting from a SD card, but it looks to be fast enough. Resetting isn't exactly as instant as it used to be in the 8-bit era, but the few seconds are not too bothersome.

But as reset is often the default "exit" from a program, these seconds can begin to matter...

The main choices

(The screenshots are from the Zesarux emulator and can look different to the software in the Kickstarter 2 Next.)

There's a wealth of options in already in this menu, and the SD card has a plethora of apps, demos and games to keep one exploring for days. 

For the occasional games player, the main environment is likely to be the Browser. Here you can navigate the SD card folder structure and select any of the files there. These can be ZX Spectrum TAP tape files, or SNA/Z80 snapshot files.

Basic programs also launch happily from the browser, and autorun if they have been saved with SAVE "filename" LINE 10 or something similar.

The Browser

Apart from the Browser there are many ways to operate and do things with the Next.

A number of Basic environments are available, 48K, 128K and Next Basic.

The Command Line supports alternate browsing through commands such as CD, LS and also the running of "dot" commands.

The Command Line also doubles as a Basic environment, and the dot commands can be used from within NextBASIC listings.

One interesting dot command is the .HTTP, which allows fetching of files over the internet. There's also a software for searching and downloading Spectrum snapshots from a database. After installing Getit and NextSync, there's little need for juggling SD cards.

I never really liked the Sinclair 128 Basic editor, it's a weird compromise between a line and full screen editor. At first the Command Line looked like a better starting point for Basic, but I grudgingly accepted the 128-style editor.

Command Line

TXT2BAS and BAS2TXT are also worth checking out, as they can translate between tokenized basic and ASCII text files.

The neat thing is that using #autoline 10 in the text file, the TXT2BAS can fill in the line numbers. The NextBASIC has REPEAT...UNTIL and procedures, so you don't need to explicitly refer to line numbers with GO TO and GO SUB.

It's possible to use a text editor on Next (or PC) to write Basic and then turn it into a runnable program using TXT2BAS.

As the computer is capable of a high resolution text display, a full screen text editor or notepad would have been nice. At least you can view text files through the browser in a higher resolution.

A command-line assembler would have been nice too, there's something called Odin in development but I'm unsure if it's exactly what I would have hoped.

(Edit: The Sol assembler looks quite nice)

Of older scene demos, Aeon was supplied on the card and it looked fine. There are also technical demos of Next capabilities, like the Rusty Pixels' Scrollnutter, a throwback to the Amiga era of multiple-speed big-font scrollers. There's not that much Next activity on the demoscene, though.

Lords of Midnight

There's plenty of games or at least game demos already on the card. Next War is a surprisingly addictive tower defense type game and Night Knight is a fun-looking conversion of an MSX effort. Warhawk is quite impressive scrolling shooter with lots and lots of sprites. There's also a 256-color version of Mike Singleton's classic Lords of Midnight.


HDMI Update

It's worth applying the FPGA core update as soon as possible. I found some timing problems, flickering and music tempo fluctuation in a program where it wouldn't really happen on a 48/128 machine.

I guess it could also affect game experience even in cases where nothing is visibly or audibly wrong.

By now you should have your SD card contents backed up.

Make sure Next is turned off, take the SD card out of and use your PC to access it.

Download the file TBBLUE.TBU from Phoebus Dokos' Gitlab site.

Direct download link:

https://www.gitlab.com/thesmog358/tbblue/-/raw/master/TBBLUE.TBU

Copy this one over the one on the SD card root.

Insert the SDcard back into the Next, and press U while powering up the computer.

Go through the flashing process (it takes a while), then switch off and on again as instructed. The new version number should be indicated in the boot screen.


50/60 display refresh rates

Talking of display, the 50Hz legacy of 8-bit computers can be a potential source of woes.

The ZX Spectrum was 50Hz, and so was Commodore 64 and everything else in Europe. But many computer displays today can't work with 50Hz, you'll likely have better luck with a TV than a dedicated computer display.

My HP Elite display seems to be happy with the 50/60 changes and any experiments with scrolling resulted in no glitches.

Just be aware that from an European point of view 50hz was really the more "authentic" display refresh rate, and all games and demos might not function correctly in the 60hz refresh rate.

For completeness, Next can adopt different timings and the Russian Pentagon timings are also included.

By the way, PAUSE 1 is a simple way of invoking "Wait Vertical Blank" in Sinclair Basic. I believe it just invokes the HALT Z80 command which stops the CPU until the ULA is ready to redraw a new display frame.

It works in NextBASIC too, so, adding these lines to the basicTiles/smoothTileScroll.bas source...

5 RUN AT 3

165 PAUSE 1

205 PAUSE 1

...makes that demo genuinely smooth scrolling.

smoothTileScroll.bas

The PAUSE/HALT method is not very sophisticated. The Spectrum Next has a proper line interrupt, I should check how to make better use of that, or if it can be easily used from Basic at all.

New graphics

Somewhat controversially, the Next heavily expands the graphics capabilities of the Spectrum. This reminds me a little of the TS-Conf setup which brought Amiga-esque capabilities to the ZX Evolution board.

The Next's additions are more closely integrated with the Spectrum-like ROM, NextBASIC and other features.

The hardware supports a 256 color mode, tile maps and a large number of sprites. There are so many modes I can't really examine all of them here. For example, there's a 128x96 16/256 color mode, Timex hires and Timex 8x1 color modes are also possible.

All in the best possible taste

Note that 256x192 with 256 colors takes 8 times more memory than the original 1-bit 256x192 Spectrum display file (excluding the attributes), resulting in 48K image files. That 2MB doesn't sound so huge after all.

Conveniently, 28MHz is also 8 times faster than the original Spectrum processor speed, and the graphics are also banked. What I'm saying a filled vector flight simulator or a Doom-style routine is unlikely to turn out super-fast on the 256 color bitmap. Although there's a Wolfenstein raycaster demo that seems to prove me wrong. Well.

What really helps here are the scrolling tiled modes and sprites, making the hardware closer to 1990s consoles such as Super Nintendo or Sega Megadrive.

The new modes work cleverly as layers on top of (or under) the classic graphic mode. So you could in principle have 1-bit bitmap elements on the Spectrum attribute layer, and then sprites on top of that.

256 colors through NextBASIC. One line is transparency, letting the background through.

Here's a little NextBASIC program to show 256 colors:

10 RUN AT 3
20 LAYER 2,1
30 BORDER 0 : CLS
40 FOR N=0 TO 255
50 INK N
60 PLOT N,0
70 DRAW 0,191
80 NEXT N
90 INK 0 : PAUSE 0


Line 10 activates the 28MHz processor speed.

Line 20 switches on the layer 2 (256x192 x 256 colors) and selects it.

The further INK, PLOT and DRAW commands play out on the selected layer.

Note that the LAYER 2 considers the top left corner as the 0,0 point, and the bottom right corner is 255,191. The old Spectrum graphics has bottom left corner as 0,0. This was more correct for plotting mathematics, but extremely confusing nonetheless.

You can have either 8-bit or a 9-bit color palette.

The 8-bit palette has only 2 bits for Blue, but simulates the third bit by performing an OR 1 with the most significant of the two bits.

So,

RRRGGGBB b
00000000 0

BB b
00 0 =   0
01 0 =  73
10 1 = 182
11 1 = 255

The outcome values are how to represent the blue value on PC, these seem to agree with Zesarux emulator and other sources I could find. Red and Green ramps would have values 0,36,73,109,146,182,219,255.

To be honest, the 9-bit RGB seems to be used all over. 256 colors can be freely chosen from a total of 512, much like in the original Atari ST.

As 320x256 is also possible, it shouldn't be difficult to display ST images on the Next. It takes a whopping 80K of bank memory, though.

The 256 color default palette is already well thought-out, and it can be a good idea to explore its possibilities before even trying to change it.

Next Ninja, courtesy of Bing create, conversion and some adjustments by hand.

Manual etc.

The book has a lot of information in it, replicating in parts the nostalgic experience of wading through the original ZX Spectrum manuals.

It is, however, not a book that explains in a simple way how to start using the Next features in your Basic or Assembler programs. There's no alphabetically ordered explanation of what each Basic command does. It might no make sense anyway, as some of the keywords are used in very different roles. For example, the old keyword ERASE on its own simply wipes out the current program, used to terminate an autoexec.bas.

The book is not very visual at explaining the computer capabilities, and some of the few diagrams are printed in small size. I kept scratching my head about the layer, sprite, palette and color specifications, trying to find out concise information from the internet.

Still, having the book is far, far better than no book at all, and especially at times when I can't be bothered to open a browser on another computer while working on the Next, it's a valuable reference.

It's worth looking at the Basic listings included in the SDCard, if only to see how sprites are loaded and displayed on screen, how the mouse driver is invoked etc.

Utilizing the extra power requires some study of the memory banking and examining what the various commands and registers do. Remember that even at 28MHz, the Spectrum Basic isn't really all that fast.

End notes

It's a ZX Spectrum to end all ZX Spectrums, all right, but how do I feel about the "extra" dimension? Perhaps the computer could be seen as a Spectrum with a somewhat more modern retro games console tacked on as a compromise?

Or perhaps not, as the new features are also part of the NextBASIC and the generally Spectrum-like environment.

Almost needless to say the Spectrum Next is far above simple products such as TheC64 maxi/mini and especially the ZX Spectrum Vega. Those mostly worked as game platforms and rather poorly as computers. The MEGA65 is probably a comparable project.

It's early days for me, so I don't have a final verdict. But I feel the Next, with all its additions, is still somehow respectful to the original ZX Spectrum experience. The extra features could make it interesting for those looking for "new" 8-bit computers.

The primary use after all?

What makes this kind of computer fresh and attractive is the anarchy made possible by not having to care about security, localization, multi-user log in, accessibility and whatever else is taken granted in mainstream computing. Just some core functionality and a bunch of software written in very different, individualistic ways.

It looks like the Spectrum Next has generated enthusiasm. Hopefully there will be enough momentum to keep new software appearing for years to come. The hardware and the system is of course interesting in its own right. 

I left out the productivity software side. Although any serious developers are likely to use cross-development tools, there are still the obligatory character, sprite, tile and map editors, suggesting you could use Next directly for creative purposes. Maybe they are enough for small Basic programs, but better tools could inspire more software and content.

I had some minor success in compiling assembler, turning on layer 2 and displaying some extra colors. It looks like understanding the .nex package format would be very useful. I'll come back to this if I learn the ropes.

Sunday 10 December 2023

Proton/Linux: Just Cause 4

Army of Chaos, sure

Proton did well enough and I could finish the game after about 27 hours. I did change the proton version to 7.0-6 (instead of 8.0-6 or experimental) after first experiencing more crashes than I expected.

The game would still occasionally crash (once in couple of hours) but because of the game's structure it doesn't mean that much. This is what happened with Just Cause 3 too, and a possible feature of the native version.

The graphics are overall rather fine, the world has a good amount of detail and variety of zones. Some have waterways between vertical jungles, then there's the obligatory desert and snowy mountains.

That's a tornado near the horizon...

The cutscenes had some problems, related to Proton or not. Things like beard stubble and eyelids or eyelid shadows where somewhat weirdly rendered, but I did not bother to find out if I could do something for these.

I've usually enjoyed the Just Cause games, offering somewhat GTA-esque thrills without the investment and without being very story-heavy. I've come accustomed to the grapple-parachute-wingsuit acrobatics well enough.

But it's not a massive improvement over Just Cause 3, if it is an improvement at all.

Perhaps I liked Just Cause 3 more, because of the simple town liberation system. This has been replaced with "chaos army" that advances from one region to another, player making the choice of directing the troops.

Checking the world map and the enemy lines

Technically it's more of a way to structure the main story missions into a chronology, as most areas can't be captured without doing some pre-requisite tasks or conquering of other areas.

This shift in focus also means there's not that much to do in the towns and cities. Some optional tasks and fights take place there. The speed and stunt mini-missions are also often in the cities, but these I chose to avoid.

And as usual there's a lot of random encounters, side-quests, equipment, vehicles, weapons you can find, summon or steal from the environment.

Visiting the front lines

At the front line between two areas, you can actually witness the lines holding and a battle going on. This looks impressive at first, but it's just a paper-thin illusion really.

Try to intervene in the frontline battles and your troops can't perform any better. More likely the enemy will just summon more jets and tanks and you'll be dead eventually. Funnily enough these new enemy units can just as well spawn from behind the friendly line...

Another novelty are the weaponized mega-weather effects, sandstorms, lightning and the iconic tornado. The tornado is a game element that can arrive and mess with your unrelated task, and at times this can be quite fun.

Ok, you'd expect more to happen at this distance

I would have hoped some of the randomness of the enemy attacks could have been modified a little. There's just more and more of the enemies, approaching from unlikely places. 

As usual, the battles have all the subtlety of two pre-school kids bashing toys together. Mostly it is all for good fun, but it would be nice if at least the player sighting was more realistic. Now a line of sight is enough and the chaos starts ensuing. How do they know it's Rico from a distance of 200 meters?

As the fight escalates, helicopters, tanks and jets arrive at the scene from around the corner or behind the hill, with little consideration as to where they might have come from.

There's also some glitchiness and weird behavior resulting from the open world and physics engine. I thought such things could be improved by now. Helicopters and jets might spontaneously crash and the enemy units continue to have silly attack patterns, often resulting in their death.

1998 called and wanted its textures back

At one time, a rebel-occupied train whizzed past the enemy train, shot it with its mega-cannon, derailing both trains hilariously.

By the way, the trains and the train tracks are modeled so sparsely they'd not look out of place in Half Life 1. These are conveniently further off in the island so it's not the first thing you see.

Friday 1 December 2023

Proton/Linux: Lake

Providence Oaks, main street

One more "walking simulator" type game, comparable to The Long Dark, Firewatch, Virginia... oops, it seems I've tried more than a few of these over the years.

Of the above, Lake from 2021 might be most comparable to Firewatch. There's just a story that kind of unravels through reaching different map positions, which also serve as trigger points for cut scenes and discussions. With more characters and more locations, there's slightly more to "play" and explore here. But only slightly.

The story is told from the perspective of Meredith Weiss, who after 22 years returns to her home town of Providence Oaks, to take over her dad's mail route for a couple of weeks. It's 1986.

Is Addit'87 going to be a big hit?

A MIT graduate with career in computers, she is part of a soft-co about to launch a new DOS-based home organizer/diary software called Addit. Meredith hasn't quit this job, on occasions choices need to be made regarding Addit. These are handled via telephone calls and mail from "Steve".

Despite a potential story-telling device, the software isn't really seen often at all.

Although the laptop/luggable concept appears credible for 1986 (think IBM model 5140 or Toshiba T1100), the high-contrast color screen is far too good. A glowing orange display or a non-backlit LCD with a few greyscales would have been more likely. Artistic licence, and all.

Let's not forget the focus of the blog...

The mail route is repeated each day. For this Meredith drives a van, but for delivering the mail to the boxes she has to leave the car. Parcels are hoisted out from the trunk and taken to the door. Pressing the doorbell may result in further interactions, but most often not.

But make no mistake, it's not Eurotruck or any kind of car simulator. The game stays firmly in the walking genre. If anything, the car just helps make the larger environment of the Lake a little more functional. Looking at it cynically, it's just there to add to the game time.

The mail delivery premise allows for Meredith to meet various people around the town and the lake surroundings, leading to discussion-tree type interactions. It's unclear from the first play how much these affect further events, but perhaps the social routes might not be radically different. 

Am I being dragged into a romance part

Firewatch had some ingenuity in overlapping the walking with the (radio) dialogue choices, but here the driving and the social interactions are two quite separate elements of the game. 

The year 1986 is wisely approached from the perspective of different communications technologies. No internet, no mobile phones. People rely on letters and passing on information. Obviously land line telephones are much in use. In the evening, there is often a phone call or at least a phone message. Meredith has to choose whether to watch TV or read books... 

The decade is fortunately not exaggerated, no synthwave with neon grid Lamborghinis here. There's an understanding that much of mid-eighties was still based on decade-old cars, surroundings and mixtures of older fashions.

The game still has a fair share of film/game/tech references, making things relatable to today's video game player. On one hand it can be interesting for younger players to see that hobbies of today were already around in the 1980s, but on the other hand less-obvious topics could have been more interesting to explore.

I'm not sure if the point of reference for 40-somethings living in the era would be "the 80s". This is addressed in few occasions, though, and you can sometimes choose to make Meredith appear either hip or ignorant of the times.

Delivering a package. Watch out for those birds. Just kidding.

The radio plays pastiches of generic 1980s feelgood country-style pop, props for achieving this in such a small game, but the few songs do get a little repetitive rather soon.

Delivering the mail in itself doesn't have much variety after a few days. You'll get to see more locations, and you can get involved in more unconventional deliveries too, but these do not play differently. The evolving interactions is what keeps the player wanting to turn the pages further in the story.

I am not sure if it is a Proton problem or something with the original game, but I kept experiencing drops in audio channels. Dialogue would cease and from small fragments it was still clear the speech should be there. The tone of voice is often quite important for picking choices, so it can be a little annoying. ProtonDB only had a mention of potential audio delays, which I didn't encounter.

Aside from audio, the 3D world has some glitches too, and I doubt Proton has anything to do with this. With the focus on mail delivery, I'd have expected the letters would at least fit the mail box models!

"Oregon Trail", heh.

Almost anything outside the immediate roads and buildings is not modeled very richly, which is of course a pity but understandable. There's not much sense in exploring areas on foot. Sure, it's no GTA but the developers have managed to create a reasonable illusion of a small town.

I did find the cars could sometimes get stuck, even without any apparent player intervention. After one car chooses to stop, this creates a growing queue of cars which doesn't move until the traffic is reset for the next day. Usually they are able to recover and overtake cleverly enough.

Lake could be considered a feel-good game and the six hours were just about the appropriate length for the experience. As with Firewatch, I sometimes surprise myself with the meekness of my dialogue choices. It's just a game, what the hell?

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.

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.

Tyynenmerenkatu.

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.