Sunday, June 9, 2024

Terminal Space 0.2 is out

Tradewars 2002 fever is back! I recently picked up a game I started in 2019; a text-based space game, titled "Terminal Space"


I had already written the basic structure, client/server bits, and simple UI. I just added some ascii animations to give it more personality.

To do the animations, I found an approach that uses simple drawing primitives but renders decent enough visuals that can be 100% dynamic.

  1. Use Python's pillow to create a canvas based on the size available (as the terminal may be any size). One pixel per character
  2. Use pillow's Draw API to draw basic shapes, encoding both the ANSI color and glyph in the color itself (RGBA, so R=ANSI color code (fg+bg), G=glyph index, B=unused)
  3. Scale and transform the items and image itself as desired
  4. Walk through the pixels and render as ANSI control codes and characters

With this approach, I'm able to generate animations that compose and scale the objects per frame with decent performance.

From here, should this be a more faithful copy of Tradewars 2002 or something else? I'm thinking something else as. There was a great post on https://classictw.com (well, I'd link but I can't find it now) that pointed out the ways that Tradewars 2002 really isn't that good of a game, especially to a modern player. What simultaneously killed and saved TW2002 is scripting, turning a plodding game into a blitz of automated bots and text floods. 

When I think back on why I liked it backend in the day, it was definitely the P2P nature of the game, especially as there wasn't many other options in those days pre-internet. Therefore, I'm thinking of not focusing too much on TW2002, but maybe more Space Rangers, a delightfully bizarre game that created a compelling single player experience.

Or, maybe I'll just amuse myself for a bit then pick it up in another 5 years :)

Bringing blogging back

It's been a minute; 5781600 or thereabouts. I'm increasingly disillusioned with social media for casual folks such as myself. More and more, it is a business for the platforms to serve ads and the big creators to grab a piece of that pie. 

Maybe it has always been this way, and I'm just now understanding it. 

They feed you all these metrics such as views, likes, click-through-rate, etc to drive you to create more marketable content and persist a feeling of inadequacy. If creating is your business, that's fine, but for personal projects, it is hugely distracting. Hence bring back blogging. No metrics, no virality, no pressure. Simply posting thoughts for my own value and historic record.