PeteCotton
 Guru
 Joined: 13/08/2020 Location: CanadaPosts: 490 |
Posted: 01:49am 05 Jan 2025 |
|
|
|
I'm going to ramble a bit here about mental health, so please forgive me. Recently I've been using BASIC programming therapy to improve my mental wellbeing. See, it works like this, I have a CMM2 setup in a spare bedroom, hooked up to a lovely mechanical keyboard. There's no other computers present, and my phone tends to stay in my pocket - so no modern distractions.
I have a bunch of different CMM2 projects on the go - but my one rule is that I'm not going to get stressed about finishing any of them. They are there to provide me with a simple distraction from my current work and family pressures, and it is working wonderfully.
One of these projects (which I am under no pressure to get finished) started out as a Star Trek game, but has morphed into something else (hence the ambiguous name in this thread title). I figured I'd keep you all updated on the progress in this thread, and maybe convince myself that it is okay to just tinker at a program without any actual end goal.
Some background: I have fond memories of typing in and playing the mainframe version of Star Trek back in 1980 (on the HP workstation my dad used to occasionally bring home from work). I loved that game - and spent many hours poking at the source to learn how it worked.
Fast forward a couple of years and our family got a Dragon 32. This was really exciting - finally a computer that we could play on every day. Of course, we bought the official Dragon Data Star Trek game (called Dragon Trek). It was a bit ….. woeful. I looked longingly at the cool versions on other contemporary computers and our Dragon version just didn't compare.
In fairness, there were warning signs. Look at the amazing graphics on these cassette covers for the C64 and Atari 400 versions.

Now compare that to the quality art on the Dragon cassette cover:
 Despite this bump in the road, the original Star Trek game held a fond place in my memories. Fast forward to the present day, and while I'm dabbling with the CMM2 I decide to write a version of Star Trek, with the aim of seeing how far I can push it on modern hardware without straying too far from the nostalgia of the game I fondly remember.
As a mental exercise, I set myself some limitations - it's got to run on a Gen 1 CMM2 (although I'm programming it on a Gen 2 - I have a Gen 1 to test on) - It's got to use MAX-SCII graphics (i.e. text only like PET-SCII), although I do allow myself pixel point positioning and transparent backgrounds. - Limited use of colours - because I want it to feel like that old HP workstation (which was green screen)
So, I quickly cobbled together the main part of the program (movement, phasers, torpedoes and local and long range maps). See below.
 It was about this time that I realised that the Star Trek game itself is a bit… well …. sh*t. It was great back in 1980, but my expectations have moved on massively since then. I also realised that the game's premise doesn't fit at all with the Star Trek philosophy. Flying around slaughtering Klingons doesn't really tie in with the optimistic vision of the future that Star Trek represents. And where were all of the other federation vessels? The Enterprise alone against an entire Klingon invasion?
Back to the drawing board.
I had always loved the idea of the Traveler RPG, but never played it back in the day (we were AD&D fanatics - buying another game's rulebooks was beyond our finances). Therefore, I've resolved to make this new CMM2 game a sort of Traveler inspired CRPG, where space combat was only a part of the experience. This would scratch my Traveler itch - and give me an excuse to buy the old rule books that I couldn't afford back then.
I also had to do something about the lack luster game play. Step 1 was to introduce directional shields (Front, Rear, Left, Right - or Fore, Aft, Port and Starboard if you want to be nautical), which also led to giving the player ship and enemies the ability to point in any of 8 directions (N,NE,E,SE,S,SW,W & NW). Step 2 was limiting the firing arcs of the weapons, so the player has to bring weapons to bear.
Right away, this greatly improved the gameplay - giving it more of a naval feel. Maneuvering around the enemy to keep your strongest shields facing them, and in turn to try and get a bearing on their weakened shields, introduces far more depth.
In keeping with the look and feel of the old HP workstation, I remapped font 9 to be a 10 by 20 VT Terminal font, with scanlines between the pixels.
I also created some Pet-SCII like characters that I could use for simple graphics.
 I added a fake monitor bezel, to further tickle the nostalgia neurons.
Up until now I had been using two 10x20 characters for each 20x20 pixel grid on the main map (shown above). To simplify this I created a 20x20 font of exclusively Pet-SCII like characters (mapped to Font 10) that I use to draw the map.
Because I also have fond memories of the amber VT Terminals from one of my first jobs, I put in the option to use amber instead of green as the main colour. But I still prefer the green.
 So, that's where we are at currently. I'm having an absolute blast just trying out different mechanics and seeing what works. I would never do this for a real project, but it is liberating to be working without any set design or deadlines. Edited 2025-01-05 13:23 by PeteCotton |