Two Nearly Down, Two to Go

I’m now in the process of wrapping up the second world disk… There’s a few transactions to write up, I need to finish populating the map headers with character and monster data, and I need to add the tile set data to the program file, so it knows this blocks sight, this makes that sound when you step on it, and so forth.

I’m glad I took the time to create a map extractor tool. Seeing the finished maps just auto-generated and including a black and white version is just neat! I’m considering adding a monochrome option to the game, just for fun.

Color map
Black and White map

As I was working, I realized I needed to make an infrastructure change. I’m going to have the game store all mobs for the current world disk in memory. That increases load time for loading and saving games, but it will give me the ability to allow the game to be restored to points before events that significantly altered the game. The more I’ve worked on this the more I’ve realized that modern gamers expect the equivalent of an “undo” button, and with the SAMS card I do have the memory to make this happen.

I live in western Washington so it looks very likely I’ll be snowed in most of the week… Hopefully that means I can make some great progress with this!

Posted in CRPG, Design, Screenshots, TI-99/4a | Leave a comment

Snowed In

So during yesterday’s Super Bore, er, Bowl, and overnight, I got 8+ inches of snow. Needless to say I was working from home today. 🙂

I spent a good part of my time during the football game working on a couple of new C# utilities, one that would extract and create a graphics PNG from my game file, and the other which would auto-generate maps from my map data using that PNG file. I’ve been spending far too much time saving screenshots in the emulator and pasting them together in MS Paint to create map images. So now I got an automatic tool which generates them, both in color and black and white. 😀

In case you’re wondering WHY I need map images, my editors on the TI are limited to the 32 column screen, and really limited with slanted maps. As a result, I often can’t see the entire map and get a feel for if it’s large enough, or TOO large, and where things are. Having map images helps me with my planning. Plus BW images will come in handy when I get around to writing up a hint book, I’m sure. 🙂

I’ve completed all the maps for the 2nd World part now, I’m now working on finishing mobs and transactions. This is where I often find I need to add or remove things, because I realize I need something to spruce things up somewhere. I was working on a cavern that was just for transition from one point to another, and I had a great idea for adding some specific monsters to it to make it a “special” location with a bit of a story to it.

The slowest part are the mobs, because I have to constantly look at the map to get coordinates, and I often decide treasure at that moment as well. I do placeholders as much as possible just to get data in place, but I want to limit that if I can. Many times with the first set of world content I found things I had forgotten to populate and now I had to do the work to make it look right.

Posted in CRPG, Design, Personal, TI-99/4a | Leave a comment

Centralize and Reorg

I had no idea I had so many maps to draw… It’s definitely taking longer than I thought!

I started on the 2nd disk’s contents, but I’m jumping all over to start the 3rd and 4th as well. In particular, I’m working on designing the world map so I can see “the whole” of the game at a glance.

The realms, pieced together! Just a few left to do…

One advantage of this approach is identifying some bottlenecks. For example, I originally had monster graphics split up among the world disks, each disk having a separate list. This was when I was attempting to keep the game playable on a 180K disk system.

I no longer need to segregate monsters, and I can actually combine the data and graphics files and keep them in one place. This has the following advantages:

  • I can load any monster anywhere in the world
  • I don’t need to replicate graphics or statistics, which means constantly updating them as I make tweaks and changes to battle balance
  • I can consolidate creating monster content in one phase, rather than having to start over each time

Once I get the world map complete, I can return focus to finishing up the 2nd disk’s contents. I’m mostly finished with transactions, but maps and mobs take considerably longer than expected to map out and write up…

Posted in CRPG, Design, Screenshots, TI-99/4a | 6 Comments

Big Tasks

Still grinding away at maps… I managed to pick up a cold this weekend that grounded me at home, but as soon as I had energy I was back at it!

A particular slow-down is for some of the maps, I need to create new graphics. I had several “special” sets that are only used for particular situations, and the time has come for me to actually draw them out.

This is part of what I think is fun about CRPG’s. You set expectations early (“Oh yeah, more hills and mountains, seen that kind of building before…”) then break them. (“Whoa, what the heck is this place?!”) Leave the players guessing as to what could happen down the road.

It’s a bit of a spoiler, but one thing I just decided tonight, and will need to make coding changes for potentially, is to have “giant” size mobs, which are 2 tiles tall, 1 tile wide. This lets me have “giants” who have their own land and places have a bit of scale to set them apart from the rest of the maps. It should really give you a sense of how “big” a problem you have. 😉

I’ve done some transaction write-ups as well, but the current ones went quickly because I had plotted text some time ago in a spreadsheet. After an early set of maps, I’ll be writing new material. I’ve had plots and ideas in my head for years, now is the time to commit them to a text file and see how they fly…

That’s part of the CRPG design process, honestly. You need to be able to change, alter, and update material as you go along, because you’ll have new ideas. You’ll realize there’s not enough information being provided in one place so you need to add a new NPC to tell the players something. Or you’ll realize some plot idea is overly complicated or has been done elsewhere, so you trim it back or remove it entirely.

It’s an organic process, and probably the biggest reason I haven’t started sharing it yet for testing is that it’s still incomplete. You can taste the stew before it’s ready but you don’t want people seeing the bones you’ve added or removed. 🙂

Posted in CRPG, Design, Personal, TI-99/4a | Leave a comment

Map Making

Another year, another resolution to get the CRPG done. This time I mean it though. 😉 I’m not updating that copyright on the title page again!

I made a couple engine fixes, my favorite being that monsters now don’t move towards you if you can’t see them. I ran into the problem that monsters immediately came through doors out of rooms to attack you. I don’t have a flag for tiles to be marked “permissible to players but not monsters” so I was trying to figure out how to stop that from happening.

I realized that I already had the solution; during the map view generation phase I place mobs on the map only if they’re visible. So at the same time, I can update a small array to indicate the monster either can see or NOT see the player, and have them react accordingly in the AI phase later.

Now I’m changing gears away from engine work, though, and getting started on content generation for the rest of the game. I have maps to create, mobs to place, script and dialogue to write, monster graphics to draw, and so forth… 🙂

I had considered starting beta testing with other people with just the content I have. But new content requirements could significantly alter the engine. Also, I’ve put off the work long enough. Certain cities and towns and dungeons have long been just a name in my head, it’s time to see them actually plotted out!

Drawing maps is both fun and helpful for plot. I always wanted to make the game so that exploring is rewarding. CRPG’s that have a lot of empty and meaningless territory without any significant interactions are boring. So I try and make sure if there’s a bridge leading to an island, for example, there’s SOMETHING on that island to check out. Otherwise, why put the bridge there in the first place?

The time to draw maps is considerable; I expect I’ll be working at this the rest of the month. And I’ll have to slow down when I get to some maps where I haven’t actually created the unique graphics for them yet. (A few special cases I’ve long planned.)

Posted in CRPG, Design, Graphics, Screenshots, TI-99/4a | 4 Comments

Year in Review

First of all, happy new year!

So a year is nearly gone… what has been done, and what’s left to do?

I decided in mid-2017 to start using the AMS (Advanced Memory System) for the game, which gave me tons of CPU memory to work with. I started a massive redesign and by the end of 2017, I was creating a music player and a title page for the game, and reworking the original engine code to make use of the added memory.

Looking back, I’m actually impressed with the amount of work I’ve accomplished. At the end of 2018, the engine is 99% complete and undergoing alpha/beta testing. I’ve even created a brand new dynamic battlemap system that wasn’t present in the original engine!

Content has largely stayed at the same level of completion because I’ve been trying NOT to work on it until the engine is done. That’s going to change soon, though. I can’t really draw a world map until I know what the whole thing looks like. 😀

The reason the game was stalled for so many years is I wasn’t certain I could finish it. The baseline “high-end” TI system had only 32 K of CPU RAM, and I was starting to realize the complexity of a CRPG engine strained it to the upmost. The fact I had to start using a cartridge to get an extra 8K RAM was definitely a sign my ambitions were getting too far.

So I kept putting it off, delaying the inevitable conclusion that the game was not possible to do. The original game engine would not have worked, not on hardware anyway. Pushing data to disk helped mitigate CPU RAM consumption, but the cost in read time would have rendered the game unplayable.

And now? It’s no longer a case of IF I’ll finish the game, but when. 🙂 And I’ll definitely finish in 2019!

Posted in CRPG, Design, Personal, TI-99/4a, Uncategorized | 2 Comments

I swear I saw a…

A new video! I still need to make some adjustments to direction determination for monster special attacks, but pretty good!

Posted in CRPG, TI-99/4a, Video | 5 Comments

Twas the Night Before

If you celebrate Christmas, a merry Christmas eve to you! If you don’t, happy holidays of whatever form of winter solstice festival you choose to observe! 😉

I’m just about finished testing out spells. I’ve gone through all the different spell schools and cast most of them. In the the process I discovered several bugs and improvements to be made.

For example, I realized it wasn’t clear WHAT monster was taking a turn or at all. If you cast spells that immobilize them or put them to sleep, you had no idea if they were just not moving or what. So I added a “blink” effect on each monster’s action that causes them to flash white, much like the players do. That way you know it’s cycling through monsters and can see if one tried to do something and failed. I considered adding notifications like ‘Bandit is held!” or “Bandit is asleep” as well, but I don’t want to slow down the progression that much. I’d have to wait at least a half-second on each text notification so the player can see them.

So my last couple engine tasks are:

  • Test the last few spells (disarming traps and unlocking doors mainly)
  • Fix regressions in boss combats
  • Reactivate monster special attacks

The numerous fixes I’ve made in other areas may have rectified a lot of the bugs. My next video should be a fight with something big…

After that, I need to start a fresh game from scratch and start playing the game through legitimately, checking that quests, content, and other elements all look good. I only have the first world disk completed, but I want to make sure I personally test all of it before I start involving beta testers.

Also, before I can start getting other people involved in testing, I need to complete the documentation. 🙂 That requires testing and feedback just as much as the game itself!

Posted in CRPG, Design, TI-99/4a | 2 Comments

Phone a Friend

I’ve finally reached my end of year vacation time, hurrah!

Besides holiday stuff going on, I also have a new cat in the house, a beautiful tuxedo long-hair I rescued from Petco. She’s slowly getting used to the house and my other cat, Jack. Currently she isn’t sure about him and hisses if he bounds too close. For his part, he’s ready to worship her!

CRPG work has been ongoing and making steady progress. I’m presently working through every single spell in the game to test code and ensure everything works! I’m a little over halfway through now.

I’ve made several small refinements to the game as I’ve gone along. For example, if you target an enemy one round, on the next round it remembers which one you targeted and defaults to them. I also fixed animation so that all animation occurs when you move. This helps stop the “water doesn’t move when I do” effect which was a little weird. Several spells were tweaked, as was how damage is calculated.

But enough talk, time for another video! In this one, you can see the “Guardian” spell at work, which summons a spiritual ally. Three different random types (bear, wolf, and eagle) are available. There is also another spell which allows you to summon a demon… although their degree of control the summoner has is far less.

Hopefully before the end of the year I will have finished enough to start some closed beta testing with others!

Posted in CRPG, Design, Personal, TI-99/4a, Video | 2 Comments

Bug Hunt Blues

Happy upcoming holidays to everyone! Crawling along with the work… Bugs are becoming a major hassle.

I implemented monster and mob movement, which have been disabled for quite some time. This created a perplexing bug where suddenly the game would just screeching crash for no apparent reason… it turned out my NPC mobs were moving onto my player and trying to trigger themselves! This didn’t work because a return stack wasn’t aligned for it.

Another bug happened after I cast a mass heal spell, and the game locked up. It turned out my “generate ally unit” list was including non-existent units, which caused all sorts of unexpected side effects and crashes. I suspect there are further bugs here because I’m still having the odd crash when a monster starts their turn.

And I haven’t even tested all the spell effects yet!

The program is big and complex enough now that small changes can cause regressions in other places I didn’t expect. This is a pain in the neck, to say the least… I want to get the engine to a complete enough state I can start getting some help with play balance testing instead of engine testing.

I was noticing that my party was wiping the floor with most of the monsters, so I increased hit points across the board. I think I may have gone a bit too far that direction, but I think I’ll wait for independent confirmation before any further changes. Rations are super-effective in recovering fatigue, almost TOO much, so they may need to be slowed.

There are plenty of lower-priority bugs as well. I noticed that monsters are spawning in spots they can’t get out of, many NPC’s are missing a “Leave” option so you’re trapped talking to them forever, map exits don’t come out where they are supposed to, and so forth. Content is relatively easy to fix, fortunately.

At some point I’ll also go back through the sound library and rework some of the sounds. I removed the original victory tune because I really wanted something different from Tunnels of Doom.

I also expanded the amount of sound memory available to 8K from 4K, so I actually have more space for complex sounds than I did before. For example, the lightning bolt sound from Tunnels of Doom takes over 360 bytes because it’s an unrolled loop of subtle frequency and volume changes. I don’t think I’ll do anything quite that large, but I definitely want to revise some sounds which I lifted from other TI games and make them my own.

The scariest bug, incidentally, is one on the hardware. I noticed when testing the game engine there that suddenly my party wasn’t able to hit the monsters in melee at all, and the monsters were hitting my characters and critically striking every single time. A very curious behavior… which does not repro in the emulator. I have a suspicion that the timer clock I’m using for the random number generator MAY be skewing things, but I haven’t had time to dig deeply into it yet.

Santa won’t be putting the game in your stockings quite yet, 99’ers… but we’re close!

Posted in Assembly, CRPG, Design, Screenshots, TI-99/4a | 2 Comments