Summer of Testing

And here we are in July, in what is proving to be the most “interesting” year of the new century so far. And I don’t mean that in a complimentary fashion. πŸ˜›

My 45th birthday is coming up this week, and sadly I’ll have to spend it at home alone. My family (my mom’s birthday is the day before mine, my brother’s a week after mine) all live in Yakima county, which if you’ve been reading the news, has the highest rate of infection and positive cases for the entire west coast. This doesn’t surprise me in the least; the county’s population is very neanderthal conservative and pretty much ignored all the state government’s emergency mandates until just a month ago.

Even though my family is being ultra-safe, we decided it’s better I don’t come come over to visit until things improve a bit. (I’ll have to deliberately self-quarantine myself coming BACK, just as a precaution.)

And meanwhile, testing continues. And continues. And continues some more!

Beta 29.4 is nearing the end of it’s cycle and 30 will be coming shortly. One of my testers has been both enthusiastic and thorough, and it’s really helped with finding content bugs and even code bugs. I really wanted 30 to be the last beta build, but we’ll see how that goes.

The engine feels like it’s getting pretty solid now. Although… there is some signs there may be some subtle and inconsistent bugs in the code somewhere. After several hours of play, testing started to see little “glitches” on the display, and crashes when interacting with mobs. A game restart cleared up the issues. These could take awhile to hunt down, unfortunately…

One example was a bug with teleport in combat. It crashed the game, but not every time. I eventually had to use a debugger dump to figure out where it was before it went crazy, and it turned out the data table storing the address for the “teleport” routine was getting over-written by monster pathfinding algorithms, as they were next to each other in memory.

I also had to make changes to content when it came to altering maps. I have script and mob types that alter map tiles, but I had to greatly reduce their use. Why? Because they reset after you reload. This creates situations where a player may get trapped. This is something I never noticed in my own testing because I wasn’t playing a “save/reload” style a typical player would.

Both my level curve and monster stats needed adjustment as well. My main tester easily got the party to level 11 (out of 16) without even touching several areas of content, and generally found the bosses easy to defeat if they didn’t have any special attacks. I’d rather err on the side of “too easy” than “too hard” though.

One thing this whole process has made me realize is with any complex system (like a CRPG), the amount of testing is staggering. You could get away with less testing, if you have a much more simple system, but you may not end up with that great of a game.

Also, it’s important to leave your ego out of it. As a game designer and coder, you may get feedback you don’t like hearing. I wasn’t convinced that floating values for damage was necessary, and it was a pain to implement, but I did it. And I’m glad I did so now. Good testers make for a great game!

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

15 Years of Development

Title Screen
Early Title Screen

In May of 2005, I graduated from college with my Bachelor’s in Computer Science. At the time, I had started preliminary work on my CRPG, having decided that working on something original and new was better than trying to port over other games. (Which, in this case, was Chris Crawford’s Eastern Front 1941 for the Atari 8-bit systems.) My first task was to create a scrolling engine, using line of sight blocking. I wonder if every top-down CRPG starts with this?

So, with this month, it’s been 15 years. Yikes.

So it’s been an interesting couple months. I was furloughed from work for six weeks, as a cost-saving measure as the company re-oriented itself for a new and uncertain future. I’m back working now, thankfully, but I’m definitely keeping my eye on how things go.

Despite having nothing but free time, development has been slow. Stressing out about potentially needing to find new work in the middle of the worst crisis the country has experienced in over a century is not very conducive to creative thinking. I did get beta 28 out, but I still have a lot of script testing to do.

A few new features made their way into beta 29, based upon tester feedback:

  • A “return to town” effect, which will take the party back to the last place they rested. Or the starting location, if they haven’t yet. There is both a spell and an item that can do this. Some maps can’t be escaped from this way, because the game requires you to be “trapped”.
  • Floating damage indicators on the battlemap screen. The damage inflicted appears as little floating digits briefly. I pushed back on this a little, not seeing the need but one of the testers said they were so focused on the battlemap they never saw the numbers displayed below.

I still have script testing to do in several more locations, so I’m trying to buckle down and get that done. I want to make beta 29 and/or 30 the LAST beta build before a release.

After that, I have to figure out how I will distribute it. I was originally going to just put it up free for download, but I’ve been realizing that doing so would be wrong. A lot of work goes into a game like this, and to set the expectation that it should be free just because it’s on a vintage system is a bad idea.

As a look back, here’s some screen shots of the early game development to enjoy!

Statistic Bars
Early engine design, different appearance!
Screenshot #1
Early look. Not a lot of mixed colors used… Maps also had names
Screenshot #2
A lot of the basic graphics were done long ago
Screenshot #5
Dungeon walls changed, stopped trying for 3D isometric perspective
Screenshot #8
Combat was similar, but I was running out of screen space…
Posted in Beta, CRPG, Personal, RPG, Screenshots, TI-99/4a | 4 Comments

Beta Blitz

Crazy times…

I’m hunkered down in my home working remotely as we wait out the worst of the coronavirus. Even though our original plans to attend Emerald City Comic Con in Seattle were cancelled, we did end up doing a “hotel staycation” that was very fun and timely; many of the places we went are now shut down for the rest of the month.

You’d think that would mean I’d have plenty of time to work on the game, but my more immediate concerns were making sure that all of us had the supplies we needed to weather the coming weeks without having to use spare socks as toilet paper. πŸ˜‰ Hopefully that should change this week, as I pick back up on the work.

Beta testing has been ongoing for just over four months now, and we’re up to build 27, and 28 should be coming soon. My “major” version number indicates that a new saved game is needed, while “minor” means that only the program binaries and support files need to be changed and that saved game files can be preserved.

That was something I hadn’t honestly anticipated. Having testers have to play through the same content over and over again quickly erodes interest, even when it’s critical to do, such as when a major change to the engine is introduced that fundamentally affects gameplay at all levels.

Unfortunately, it’s hard to avoid. Because I may add or remove text or mob data for fixes or expansions, every single internal address updates as well. This means old saves end up wildly inaccurate and wrong. Plus, saved games actually alter and change the data as they go along, which makes conversion difficult and not worth the time to do.

I’ve also discovered, to my own disgust, that a LOT of scripting is just not working right in places, or has small annoying issues. This is because I never had a chance to play through it and bullet-proof it. I was hoping the beta testing could expose this and make it easier to fix, but in practice because it often blocks the testers and forces a restart, it’s been better for me to just play the content myself and make sure everything is working right. Then anything they find are the small outliers or details that just slipped by but aren’t breaking.

However, I’ve been very pleased with the progress with the game’s improvements. Lots of excellent interface changes made their way in, based upon feedback. I re-wrote the monster pathfinding to make boss monsters move more adroitly and with greater challenge. And several dungeons got major overhauls to make them easier, harder, or just more interesting.

So my next steps are to drop my “super party” (who are max level and can blow through monsters easily; I’m not focused on testing combat/game balance) into some new areas and make sure all the scripting is solid and working as intended. My goal is to make sure in beta 28 there is no areas I haven’t personally checked out.

My goal was to be done by May, and that may still happen. It all depends on how things go! Everyone stay safe out there.

Posted in Beta, CRPG, Personal, TI-99/4a | 3 Comments

Goodbye 2019!

Another year gone, another year the CRPG is not done… Bah! However, it’s NEARLY done. πŸ™‚

Beta testing has been ongoing for over a month, and it’s been going well. A lot of bugs and changes introduced to make the game better, and I know it will get done next year for certain. I’m hopeful I can get it done well before May, which would mark the 15 year anniversary of when I started this project.

Wow, 15 years…. where does the time go?

Back in May 2005, I was graduating college and preparing to move to western Washington to pursue a career in software development. I had dug my TI out of the basement a year or so earlier because working on code had re-awakened so many old ideas and plans. I quickly discovered that the old hardware was difficult to work on, and moved over to emulation for development. (Classic99 even then was an impressive piece of work that functioned extremely well!) I completed a few projects in assembly, and got started on some others, when I decided to take the plunge and work on a full-on CRPG.

It took a year or so to even get to a state where I could say there WAS a game being made. I did a lot of prototyping in the first few years. The first big challenge was replicating the line-of-sight algorithm from Ultima, and a scrolling map. At this point, I created my original website, “Crafting a Vintage CRPG“, which was a predecessor to this blog.

And from there on, it’s been on again, off again year after year… I’m pleased to finally be able to say though it will be done. I am honestly looking forward to sharing this work with everyone, and I hope that people find the game fun and that it helps bring some attention to a very seldom considered vintage computer. πŸ™‚

So what did we accomplish in 2019? Let’s see…

  • I completed the content for the other three world disks. (Mostly. I’m still wrapping up the final dungeon and adding some new content)
  • I completed the combat engine and did some very heavy testing of it
  • I added large-size creatures to the game
  • I started using GitHub to maintain my code base, which has done a lot for efficiency
  • Created the game map in Campaign Cartographer
  • Wrote up the manual and reference card, using stock art purchased from DriveThruRPG
  • I started the beta test with a small selected group of testers
  • Based on testing feedback, I re-added an old favorite features, offhand weapons for rogues

The bulk of the year was spent on content, but I consider that a good thing. If your content isn’t interesting, it isn’t going to keep gamers interested. πŸ™‚

So what’s next? Finish the beta testing, finish the game, get it out there! To quote the 10th Doctor, Allons-y!

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

And Go!

Beta testing has started! I spent several hours today cleaning up boss special attacks and at the moment, the engine should be complete other than bug fixes.

Launches are never clean… I found several mob misalignments with graphics that I fixed immediately myself. And my link was wrong so nobody could download it initially. πŸ˜›

I’m planning to try and step back and let some feedback come in from the beta test team (which has about 10 people on it at the moment) before stepping in myself to play through. I’ve been too close to it for awhile so some external feedback is critical for fixing things I may just be overlooking.

You can check where things are on the Progress tab! My plan is still to launch the game before the end of the year.

I also resurrected my long dormant Twitter account… I figure I should probably have SOME presence there. I’ve also set up a Discord server specifically for the beta testing for quick feedback.

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

Beta Max

November 1st, I’m running out of time to not have to update the copyright on the title screen… But things are going smoothly, and beta testing should begin very soon!

Right now I’m fixing game engine bugs to get it far enough along that anything the testers find will be hopefully something I haven’t encountered yet. I addressed several bugs and features over the last few days, and just have a few more to go. The big one is updating the combat engine so boss monsters attacks offset from their larger footprint. I only have about 128 bytes left in the module though, so I may have to do some trimming…

Content-wise, I still have the last few dungeons to complete. However, I’m going to be doing a lot of content updating during the beta test, adding and expanding dialogue and NPC’s based on feedback, and likely no tester is going to reach end-game anytime soon, so I have time to get that done.

I also have a plan for the game box. I was going to see if I could get a particular company that creates custom game boxes (mainly board games) to do the work for me, but the cost is just too high. If I had unique custom artwork, it would be worth it, but I mainly have free art (used under license) and if I HAD to, I could just do all the printing and assembly myself.

Here is a mock-up of the game box:

The front
The back

I found some cheap cardboard mailer boxes that, even after shipping, are just under a dollar apiece. I’ll get sticker paper and just print the front and back on those, cut it on a cutting board, and then apply them to the box. Well, it’s a step up from ziploc bags at least. πŸ˜€

I’ll have to provide the game on a CD-ROM, unfortunately. Floppy disks these days are just too rare and likely to fail. At some point in the future, I may make a loader cartridge for the main game files which will load MUCH faster. This will not eliminate the need for a SAMS card though.

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

Chaotic Cartography

Been a crazy month…

My cat had to be rushed to the ER again, this time with an actual urinary blockage. They cleared it with a urethra tube, but now he MUST be on prescription urinary foods from now on. I don’t mind the extra cost of those, it’s mainly that he’s a stubborn little cuss who doesn’t want to eat it. It will take awhile to transition him.

“Eat your dinner!” “No, it’s yucky!”

As a result, I had to cancel my plans to attend the Portland Retro Game Expo. I just didn’t have anyone available who could both house-sit and cat-monitor, and we’d have been far too worried about him to enjoy the trip.

Oh well, at least that means I can focus on getting the game ready for beta testing. πŸ™‚

My work on ancillary items continues. I finished the reference card. The game is sufficiently complex enough to warrant one for the various keys, and I realized that many of the in-game icons may need to be detailed. I did them up in black and white and then put them on the card. I may also, if I have the memory space, expand the in-game help page to include the icons and their meanings.

The other task, which I have long put off, is creating a map. Every good vintage CRPG has a map. The challenge is to create one that is professional and artistic but also doesn’t spoil the game. I also had to finish the in game maps and stitch them together to figure out what the land actually looked like.

I already had the perfect software for the job; Campaign Cartographer, from ProFantasy Software. In fact, I’ve been an owner of the software way back to their first version that ran in DOS 6.11. They used the core engine of a CAD system to build it, so it’s a very complicated and powerful tool with a VERY high learning curve.

One challenge I had to overcome how to print the map. I don’t think I can afford to have cloth maps. (This place makes them but that’s expensive. I’d have to crowdsource fund that.) So I’m working with the idea of printing it on 11×17 paper ($1.18 at your local Office Depot) and then two-folding it. That should be affordable and the results pleasing.

I’ve run into a similar issue with the manuals. Doing embossed style covers with foil print and rich textured paper like the old Ultima manuals is considered “special custom” printing these days, which means you probably have minimum print runs of 500 and likely four-figure costs. For a hobby project, I just can’t justify that.

Anyway, here is the map!

I created the map by taking giant tile block map and used it as a background layer, which then allowed me to trace coastlines and add other land features. I started out VERY detailed but I realized that everything would be too small to see at the print scale. So I started over and used fixed scales and just made it more general.

I’m sure there is more that I could do to pretty it up… There’s LOTS of threads online about using Campaign Cartographer to achieve certain effects. But overall I’m pleased and willing to move on with it as is.

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

Manual Intervention

Slow progress on the CRPG…

I had a fun but exhausting weekend at Rose City Comic Con in Portland, one of my cats got sick and I had to rush him to the ER on a Sunday (fortunately he’s okay!), work has been on a major upswing lately, classic World of Warcraft continues to draw me in, and I had a death in the family as well.

When I’m feeling stuck in a rut, I change direction onto some other portion of the project. Which in this case, is the manuals. I had always envisioned creating beautiful manuals for the game. The gold star in this area is, of course, the Ultima series.

A good example would be the Ultima IV manuals. There is the history and spell book, written in a flavored prose which still manages to convey the necessary information on the game’s structure. And then a reference card which has some of the more technical aspects like the key controls and specific elements for each computer platform.

The Ultima IV Manuals! (And cloth map)

However, I’ve never gotten very far with writing up a history book in the prose style I wanted. It just felt fake and weird… And I started to realize it just wasn’t my style. I like a good manual but a manual should be exactly what it is; instructions.

Maybe I just don’t have the writing skills to pull it off… But as I read the Ultima manuals over again, I started to realize it wasn’t what I wanted to do. They do add flavor and verisimilitude, but that’s mainly because the games those manuals are for has so little.

Another aspect of it was I realized a lot of the history and background information I wanted to convey, I could do so in the game itself. There are several places in game I can scatter books that share little bits of history and trivia that will be far more rewarding for the player to discover themselves, rather than read it in a manual outside the game.

In order to find a style of writing that worked for me, I also researched on the TI side of things. I read over the Tunnels of Doom and Legends manuals and was impressed with both of them; what they lack in production values they make up for in informative instructions. The TOD manual even provides the steps to using the TI computer to load the game, something I tried to emulate myself.

So there will just be one instruction manual, and maybe a reference card (I’ll see if there’s enough information to put ON a card to warrant it). My first draft is 40 pages, that may go up a bit as I add or remove things. I’ll definitely have to get them professionally printed; when you get too many pages you need a place that can print and align them straight and trim the edges off. I can do a nice cover of some kind as well.

One thing I did NOT want to omit, but wasn’t sure how to get, was artwork for the manual. I am not an artist myself, so I knew I’d have to get it elsewhere. Fortunately, I discovered that sites like DriveThruRPG actually sell stock art with an open license for use in RPG products! This is far better than commissioning artwork, which can get VERY expensive.

Rough draft of the manual!

I will make a map for the game, but unless a very convenient and economic means presents itself, it will probably be on paper and not cloth. I have several map drawing programs I can use to create a good one. I may even hand-draw that one myself.

I had envisioned at the start that I could create a box for the game, but I’m not certain about the economics of that right now. I found an online source that crafts custom boxes with artwork for board games, RPG’s, and similar, but their per unit price would be extremely high for a low production count. And they also manufacture them overseas which means prices are likely to go up…

I may have to resort to getting blank boxes from somewhere and just pasting art onto them myself. A step up from a zip-loc bag at least.

Posted in CRPG, Personal, Screenshots, TI-99/4a | 7 Comments

Classic Addict

A quick update on the CRPG…

Work on the final dungeons continues, inch by inch. I got maps drawn up and I now need to populate them with monsters, treasure, transactions, and so forth. It’s slow going because I’m trying not to hurry; I don’t want placeholders for something better to come along later. I got some good ideas for the Volcano Fortress! After that only the Dark Tower remains…

I also did several code changes to transactions to allow for linear sequences of mob updates. When you find yourself writing the same command over and over with one variance, that’s a clear sign you could probably collapse it into a single operation. Now I can just say “Change mobs 5-17 to a MobMonster” rather than each one individually. It saves a few bytes in the file and is more efficient to write as a command.

From a more “generic CRPG engine” standpoint, I would get better mileage if you could provide a list of mob numbers OR a range, and just store those individually in the architecture. But if I just structure my data in the necessary blocks, I don’t need to do this. My goal isn’t to create a CRPG engine, just an engine that drives my specific game. πŸ™‚

Waiting for single mobs… because in Vanilla WoW, mobs are lethal

But in other news… World of Warcraft Classic came out this week… And yeah, I’m playing it. πŸ™‚

I’m honestly amazed how much I missed the original game. I’ll cover the differences in broad points:

  • Money is scarce. Part of this is because the game just started, so there are no high level players dumping money into the lower-end of the economy yet.
  • Flights are expensive at low levels, you often find yourself going “A silver piece? Eh, I’ll walk.”
  • Walking everywhere, and not having mounts until much later, has the effect of making the entire game much slower-paced, both for leveling and for questing.
  • Flight points are relatively rare, there is typically only one per zone, and in the case of starting zones, none. A zone like Stranglethorn Vale becomes very difficult to quest in because there is literally only one flight point there, at the southern tip. (For Alliance, anyway.)
  • There is also only one graveyard for each zone. This is a pain in the neck, really; it must have been after the first expansion that they added additional graveyards per zone to speed up corpse-running.
  • The slower pace has the effect of making you pay closer attention to all the fun details in the game. I love going into the inns and just noticing the furniture and decor rather than racing through.
  • Mana runs out FAST. At some point in regular WoW, they just decided to disable the entire mana mechanic, and use spell cooldowns only as a control. Bah. I like the dependency. Spellcasters are typically DPS, so the cost of doing more damage is exhaustion of mana.
  • The point-based talent system is far more customizable. I missed having arcane spells with my fire mage. Granted, you can make a pretty broken or useless character, but isn’t that part of the fun?
  • Some spells require reagents, which aren’t always purchasable. I missed that! Now I remember why it was good to get tips to open portals…
  • Quest items are not always “quest items”, they are sellable. And EVERYTHING takes up bag space.
  • Many mobs of regular monsters are placed so that they will all aggro if one is attacked. This makes solo questing more difficult, and encourages party play. I hadn’t recognized this as a design decision in the old days.
  • I love the classic zones as they once were… Westfall, for example. I hated the revision post-Cataclysm, with the elemental damage everywhere and the hokey C.S.I. Miami references.

I love Classic WoW. It feels like an actual world, not a game. And probably the best part is that I’m gaming with my brother again. The two of us, with friends, played a lot of WoW back in the day, and it feels good to have that connection again. πŸ˜€

I figure at some point we’ll both get bored or frustrated and quit. We disliked the dungeons a lot, because it required teaming up and we were pretty bad at it to start. (We wiped dozens of times in the Deadmines.)

Also, the middle zones (level 30-50) aren’t as fun to play in. They are hard to get to and have far less quests. Some even have broken ones. (Dustwallow Marsh comes to mind, with it’s abruptly aborted narrative about the burned down inn.) So once I get to 30 I’ll have to see if it’s still fun to keep going or not.

What I’ll be interested in seeing is how popular Classic remains, after the initial surge dies down. Will players say they prefer the old over the new? Will that influence Blizzard’s design decisions? Will the schism in WoW’s cultural base create two fan bases both fighting for resources and attention? That would be a far more dire and interesting faction split than the Alliance and Horde ever were.

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

Heating Up

Finally finished up the underwater city dungeon. Two more big dungeons to go!

I’m not going quite as fast as I wanted to, for a couple reasons. One, summer is now in full force and the house gets warm enough that working on the computer is not always fun. Two, I was distracted for a bit with new content in World of Warcraft; finally able to get flight in the new zones! Ironic that one of the newest zones is an exposed “underwater” zone…

I was able to get a bunch of fixes into code, including updates to tile data and battlemaps. A lot of my graphic sets didn’t have tile particulars defined like “opaque” or “Makes this noise when you cross it”, so it was good to get that data filled in.

The next dungeon is a volcano fortress. This has particular meaning in the TI community because the very first 3rd party developed Tunnels of Doom game is “The Volcano Fortress”.

The Manual Cover

In 1985, John Behnke reverse-engineered the original Tunnels of Doom game’s format and wrote an editor so that anyone could make Tunnels of Doom games. This allowed you to create entirely new classes, graphics, monsters, items, and so forth.

It had some limitations; the basic fetch quest was not alterable except in the number of items you had to acquire (up to eight.) You also couldn’t change monster special attack effects, only their names and assignments. Classes can be renamed but otherwise function as the same four. But overall the effort was worth it; Asgard Software turned out several “Doom game” collections over the next few years. A few of the fan favorites were:

“Adventures in K-Mart” where you sought the blue light special and fought other shoppers with attacks like ‘bad breath’. I like this one because ALL the graphics were updated, which makes it a very different feeling game from the baseline.

“Doctor Who” where you took the role of the Doctor’s companions (or the Doctor himself if you played a solo game) fighting daleks, cybermen, and whatnot. Clearly there were some Whovians among the 99’er crowd back in the 80’s! K-9 was the Rogue class equivalent.

I actually was able to buy a copy of Volcano Fortress on original 5 1/4″ disk with manual on eBay a few months ago. Sadly, the disk was toast; not an uncommon issue these days as the old magnetic formatting dies. But a fellow 99’er was able to send me the binary file for the game.

Volcano Fortress itself was clearly more of a proof of concept in design; none of the graphics were changed, which is a bit disappointing. But the monsters, classes and weapons were all updated, and I quickly discovered that the game is actually MUCH more difficult than Quest of the King, when my party was nearly wiped out in the first encounter.

My goal is still to get content done and get some beta testing started, preferably before the Retro Gaming Expo in October. Fingers crossed!

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