Shaun's been honing his 'soccer' skills thanks to a Commodore Vic-20 game this week
Retro: Fever Pitch
In anticipation of the FIFA World Cup in Brazil, Jeff Daniels has released an unofficial tribute to the 'Beautiful Game' (and whoever coined that phrase must have been watching the mighty Crewe Alexandra FC at the time). Jeff's release for the unexpanded Commodore VIC-20 is called FIFA World Cup 2014 and is described as a simple arcade-style soccer game for one or two players.
It features all 32 participating nations with adjustable skill levels for the computer opponent, as well as selectable teams for each side.
As you can imagine, there's not much to the game engine, with the VIC only having approximately 3.5KB available to the programmer. For instance, the teams do not switch sides at the half-time interval, and it's only six players per side. Play is largely static, being a reaction-based affair, but there's enough there for you to take your favourite national team from the 32 available all the way to the 8-bit finals.
If you prefer something cooler, Jeff has used the same mechanics of his game to create one that is themed around the American National Hockey League (NHL), which includes all thirty professional teams, as well as the sixteen participating nations in the International Ice Hockey Federation (IIHF).
All of Jeff's VIC games may be downloaded from sleepingelephant.com/denial/game, with the two mentioned titles available in a single compressed archive at sleepingelephant.com/denial/games/FIFA2014.zip.
Rubix Cube Simulator
For those people who are brainy enough to be able to solve a Rubix cube (and I am not one of them), there's an exciting simulator based on the classic puzzle that is being developed for the Commodore 64.
Featuring plush-looking 3D graphics and other presentation niceties, CubeSim64 has been released in preview form by Genesis Project (facebook.com/groups/genesis.project.c64) and is available to download now from csdb.dk/release/?id=131156. There's not much more to say about this other than I still can't solve a Rubix Cube even on a Commodore 64 simulator!
BASIC Top Tips
"Scrolly texts" (nowadays referred to as 'animated scrolling marquees') exist on quite a few 8-bit titles in some form; Booty by Firebird Software, Frantic Freddie by CDS and Jet Set Willy are three that spring to mind. Such things feature heavily in 'demo scene' productions as well with some great all-format examples available from pouet.net.
Like anything programming-related, there's usually more than one way to do things, and of course it depends on the dialect of BASIC that you're using. But the principles are the same: either shuffle the characters in a string variable around and display the first 32 or 40 on a line (depending on your screen size), or increase the starting number and display the next x number of characters from that, ensuring that you don't go over the end of the string. Here is the first method in Commodore BASIC, assuming a 40 column screen:
10 A$ = "...PROGRAMMING IN COMMODORE BASIC SCROLLY EXAMPLE... HELLO MUM"
20 L=LEN(AS) - 1
30 A$ = RIGHT$(AS, A) + LEFT$(AS, 1)
40 PRINT CHR$(19); LEFT$(A$, 40)
50 GOTO 30
And here's the same in Sinclair BASIC (Spectrum/zX81):
10 LET A$="...PROGRAMMING IN SINCLAIR BASIC SCROLLY EXAMPLE...HELLO MUM"
20 LET A$=A$(2 TO }+A$(1)
30 PRINT AT 0,0;A%(1 TO 32)
40 GOTO 20
Of course, the ZX Spectrum handles upper and lower case characters in strings by default, but I've used upper case for compatibility purposes. Stop by the Retro Mart sub forums (on the Micro Mart forums) if you want to talk more about BASIC programming.