Long Overdue

Hello all!

So yeah… been a year since my last update. Sadly I can’t say that I’ve been head down working on some fun coding projects. 2025 has been, as anyone else could probably agree, a very difficult year; clearly it’s gunning to win the trophy for worst year ever from 2020. So instead of creating content I’ve spent a lot more time consuming it to keep my sanity intact.

Well that doesn’t look right…

I did make one major step with my roguelike; I figured out how to make it mine. I can’t go into a lot of details about it, but I found a story arc/angle that really feels cool and unique and unlike other roguelikes. I also got a nice cave generator system implemented.

Ironically the blocking issue is that I decided I wasn’t fond of my dungeon map generator. It did corridors first then added rooms around them, which was time-consuming and problematic. So I decided to change to a room first approach, THEN draw corridors to connect them. As you can see, I’m struggling with that. 🙂 I need to spend some time researching about procedural generation and maybe look at some other roguelike source for ideas.

I also created a new pseudo-random number generator. My old one used a nanosecond clock on my TI to rotate bits on a classic linear congruential generator; add a big number to the seed, multiply it by another big number, but with a bit rotation in to make it interesting. It works, but it’s also not deterministic because the clock value can be ANYTHING at any given time. And I wanted one that didn’t use the multiply operation because on the TI it’s cycle-expensive, especially if you’re doing a lot of random values.

New PRNG in assembly

I was inspired by the Mersenne Twister, the PRNG of the modern era, which uses an array of seed values. I tried implementing a 16-bit version of it but the math was way too complex. So instead I created a small set of seed values that influence each other, and an algorithm only does an add, shift, and exclusive-OR operation on the value. I’ve tested it on my PC in a C# program as well as on the TI and it’s proven to be very random and yet also deterministic. (Ran it over a billion values and no repeats in the seeds.)

I found an old project I’d done, an implementation of Eastern Front 1941, originally released on the Atari 8-bit machines. I’d gotten the bemused permission of the author, Chris Crawford, to create a TI version back around 2004 and I had everything working except the AI, which is where I stalled. Recently I discovered he’s included a full document explaining the code line by line, which wasn’t with the download before. So I figured I should at least get it into a GitHub repository to see if I could finish it up.

First I had to extract my source code from disk images and get it into a functional shape that I could build quickly and manage better. It was basically just one long text file and naturally, I had commented NOTHING. I also did a lot of unnecessary jumps and returns, and had some weird logic to change the colors for different seasons when I could have just loaded a new color table from disk with a lot less effort.

Unfortunately, I realized I’d done everything the wrong way. The author had written the original game so that the AI was the core program that just endlessly iterates; apparently one cheat was to immediately end the turn so the AI had no time to calculate anything. Player actions were handled on interrupts. For some reason I thought the AI was done on the interrupts back in the day. Could it be done? Yes, but it would be fundamentally different from the original AI, which would calculate EVERY unit on the screen for each unit’s orders to find gaps in war fronts, units in trouble, etc. So that one may never see a release, as I would need to start over from scratch on it.

I’ve also been brainstorming a sequel for Realms of Antiquity. It’s always on my mind, trust me. 🙂 Mainly, I want to be sure that I can make something that’s as fun as the first one but also has a solid story. I spent years honing the story of the first one in my head and I don’t want a second one to disappoint. For those wondering, yes, it would still be on the classic TI platform, but this time since I’m using the SAMS from the start I can make a lot of changes that will make it more efficient and updates won’t break saves. Fortunately for me I got a great crew on my Discord who loved the first and will make sure I don’t steer the second one wrong!

One invaluable lesson that I will absolutely do in all my future games: a setting to swap between original TI keys and PC keys. That one caused a LOT of problems, and no modern PC user would understand why F9 and Escape seem to be doing the same thing.

Home sweet home!

And last thing, my recent obsession game-wise is Valheim, purchasable on Steam for only $20 US. I discovered it when a Minecraft streamer I started watching also played Valheim and I liked the look of it. It helped it was on sale at Steam for 50% off!

One reason the game is cheap is it’s early access; you’re warned ahead of time that at any point they may make a significant change or introduce features that you can’t find unless you start over. The game feels very complete; there is one biome that is unimplemented at this time. You can go there but you won’t find anything. I did notice the textures are low-grade but I learned that’s a deliberate design choice by the developers to focus on sweeping views over close-ups.

Scenic view

Valheim is a classic survival game with your avatar being a dead warrior who Odin has resurrected and dropped off in Valheim, the hitherto unknown 10th realm of Yggdrasil. (Looking up in game you can see the great tree in the sky all the time.) Your task is to slay the forsaken deities of the realm who turned against Odin eons before to prove your worthiness to enter Valhalla. To do so, you have to build a house, gather resources, make weapons, and learn skills to fight each boss. The world is procedurally generated so no game world is the same.

One aspect of the game I like is that repairing existing items costs nothing; you just have to return to a crafting bench of the appropriate type. I’m so used to survival games making you spend resources just to upkeep your equipment it was a pleasant surprise. The health/stamina system is intriguing as well; you eat food which provides bonuses to both for a limited amount of time, and up to three different food items can be “active”. Proteins favor health and vegetables stamina. This encourages the player to participate in the cooking system as it makes you stronger and more capable. The game has no ability scores, only skills, and all bonuses to intrinsic things like carrying weight are influenced by items. It’s a great design mechanic to encourage exploration for advancement.

Each biome has it’s own boss, which the game freely gives you the means to locate the first one at the starting area, the sacrificial stones. As you defeat each boss, you bring their head as a trophy to the stones to mount on a stone. You can then claim a power from each one, although only one at a time is active. The boss’s defeat always gives you something new that lets you move on to the next one; the Meadows boss is a huge elk called Eikthyr who drops antler bits you can use to craft a pick-axe, which lets you mine ore in the next biome. Each biome only generates within a certain radius of the starting point, so for each biome you must venture further out to find them. Building a raft or ship will eventually be necessary. You can build magical portals to link up your bases, although by default metal can’t be brought through it. (A stone portal is build-able in late game that can transport anything.)

That’s a big fella…

Downsides? Well, the difficulty curve is very high. The first “biome” you explore is called the Meadows, and the worst thing you have to deal with are Graylings, a weak fae creature that runs up and attacks you but runs away after, more a nuisance than a threat. But the next biome, the Black Forest, introduces trolls (20 foot tall giants) and bears, both of which have 10 times the hit points of anything in the Meadows. A frequent experience of beginning Valheim players is accidentally leading a troll to their home base which he destroys.

And the next biomes? They get even nastier. The swamps are perpetually rainy (being wet slows your recovery), and all the mobs are hostile. The Mountains are perpetually cold, requiring you to craft special armor or use frost resistance to survive. The Plains are universally feared by Valheim players. They look harmless but are home to one of the deadliest mobs in the game, the deathsquito. Most guides recommend only building in the first two biomes as the others are just too dangerous.

Had to shrink this to fit

Another issue is that the massive size of the world. It was created with multi-player in mind, although I’ve heard that the network play is a bit buggy. If you’re a single player, it’s WAY oversized. There are unique NPC’s and features that could take hundreds of real-time hours to find by luck. I used a website to generate the map of my world to help explore; I play games to have fun, not endlessly grind and be perpetually frustrated.

I do like, though, that the world settings let you change difficulty on a number of elements. Besides combat difficulty, they also have a setting for resources. You can set it up to 3 times normal, which means every animal drops 3 times their resources, every ore vein 3 times theirs, and so forth. That is really helpful for single players who don’t want to spend hours grinding for resources.

Well, that’s it for now. I hope to get back on some projects in 2026!

This entry was posted in Blog, CRPG, Design, Gaming, Personal, Roguelike, TI-99/4a. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *