
<rss version="2.0">
<channel>

<title><![CDATA[Tilting at Windmills]]></title>
<link>http://www.adamantyr.com/</link>
<description><![CDATA[A development blog for my vintage programming projects]]></description>
<language>en-us</language>
<lastBuildDate>Thu, 21 Aug 2008 00:06:16 GMT</lastBuildDate>

<item>
<title><![CDATA[Obfuscated Entertainment]]></title>
<link>http://www.adamantyr.com/?p=140</link>
<description><![CDATA[Haven't had a lot of time lately to work on the game... work's been really busy, personal medical issues, and whatnot. The question of character statistics I've been dealing with also raises the issue of how much feedback you should get while playing. <br /><br />
Consider the original Tunnels of Doom. The game offered very little direct feedback on the characters. Your hit points and level were a general indication of power, and you had an abstract attack/defend rating for armors and weapons. But you never knew how much damage you actually did in an attack, only what the potential was.<br /><br />
Part of the reason for this was, of course, the fact that the game runs in a very low footprint of memory, and a lot of feedback just isn't possible. But is it desirable?<br /><br />
Recently in World of Warcraft, I was running an instance with some guild mates. The leader, a tank who's usually in on the guild raids, asked if I used Omen, a popular add-on for the game that calculates threat levels. I don't use such add-ons, because I'm not into raids (who has the time?) and while it may make fighting raid bosses easier, it certainly doesn't make it more fun.<br /><br />
Another example is when I was younger, I wanted to write a better version of TI Trek, the basic program released by Texas Instruments on cassette. (I eventually wrote an assembly conversion of TI-Trek, in fact.) I wrote a fairly impressive version in TI Extended BASIC with the 32k memory expansion which offered a lot of refinements like a torpedo course calculator.The technique was pretty simple, I used an arc-tangent function to derive the exact angle at which to shoot a torpedo to hit an enemy.<br /><br />
It sounds great, but then I begin to realize that part of the charm of TI-Trek was guessing exact courses. The challenge there is visual acuity and abstraction of the angle into a degree course. By removing the challenge by putting in a "cheat" that just told you what angle to use, the gameplay was greatly diminished. When I wrote an openGL C++ version of TI-Trek (called GL-Trek) for a school project I created a GUI compass with needles you could drag to a specific angle, which kept some guesswork in the game.<br /><br />
So for my CRPG, I'm still debating how much feedback to provide. I think the amount of damage done on an attack should be indicated, but I want to preserve some mystery and hide some numbers from the player's general view. Unlike Tunnels of Doom, monster statistics will NOT be immediately available on the press of a button, that I know for certain.<br /><br />
Links:<br /><br />
<a href="http://www.adamantyr.com/titrek.html">TI-Trek in Assembly Language</a><br /><br />
<a href="http://www.adamantyr.com/gltrek.html">GL-Trek for PC</a><br />]]></description>
<pubDate>Thu, 21 Aug 2008 00:06:16 GMT</pubDate>
</item>

<item>
<title><![CDATA[Return of the Class]]></title>
<link>http://www.adamantyr.com/?p=133</link>
<description><![CDATA[So, after some design work, here's what I ended up with:<br /><br />
<ul><li>Level</li><li>Health</li><li>Mana (for spell-casting classes only)</li></ul>For mechanics, the simplest is always best. Your level is essentially your "catch-all" skill check. A random "roll" is made and added to your level, and compared to a target value. If it equals or exceeds it, you succeed.<br /><br />
Instead of using a complex binary skill system, all special abilities are tied to classes. I also eliminated the idea of user-initiated abilities; most are passive and occur in specific situations. This means I don't have to develop any UI for it. (In fact, these changes will hopefully cut back on the memory footprint my status screens were generating.)<br /><br />
What about attributes? Well, they're gone, sort of. Instead of having an abstract value that has to be crunched to come up with something else, I just have flat "bonuses" added to the important game factors, as follows:<br /><br />
<ul><li>Melee attack - add to level for hit in combat</li><li>Melee damage - add to damage from hit</li><li>Melee critical - add to critical range</li><li>Ranged attack - add to level for hit in combat</li><li>Ranged damage - add to damage from hit</li><li>Ranged critical - add to critical range</li><li>Spell attack - add to level for hit in combat</li><li>Spell damage - add to damage from hit</li><li>Spell critical - add to critical range</li><li>Evade - Dodge an attack</li><li>Armor - Amount damage reduced from a successful attack</li><li>Block - Block an attack with a shield</li><li>Parry - Parry an attack with a weapon</li><li>Resist - Resist a non-attack spell</li><li>Skill - Pick locks, disarm traps</li></ul>Different classes have different values, so some are more effective than others. Various trinkets in game can be equipped to apply direct bonuses to these, and special items will even allow you to permanently raise some of them.<br /><br />
One particular change was dropping the idea of stamina and having "action" instead. Every class has identical action points; the only way to increase them is through spells or trinkets. I think 2 actions (move, attack, two attacks, two moves) is sufficient for tacticals. I'm debating having "readying" in the game, so that you have to spend an action point to switch from melee to ranged, or to change to a different active spell. It's extra work, and it would slow down combat, which may not be desirable.<br /><br />
Now that I have a basic structure in mind, I can start throwing together a framework program to start playing around in. The combat engine is, in effect, a sidebar from the main program, but I don't want to proceed with anything else until it's done to my satisfaction.<br />]]></description>
<pubDate>Tue, 29 Jul 2008 20:37:56 GMT</pubDate>
</item>

<item>
<title><![CDATA[Dust and Delays]]></title>
<link>http://www.adamantyr.com/?p=132</link>
<description><![CDATA[Been awhile since I posted anything on the game... primarily because I haven't been working on it. My job (and the coding I'm doing) jumped up a notch, so when I get home, I'm usually not in a mood to do MORE coding.<br /><br />
Another factor has been running a D&amp;D game. The new edition has made me realize a few things with a character system.<br /><br />
On an open-ended memory model, I'd have the freedom to design the system first, and then simply code it on the machine. On my very limited space TI, though, I have to do things in reverse; define and create every possible action until you hit what you can accomplish, and define your system based on what's possible, rather than what you would like. It's not a bad thing, though, having such a tight box. You focus on what you really want in the game, and discard the rest.<br /><br />
&nbsp;For example, consider ability scores or attributes, a common stable of RPG's. Are they really needed? Most RPG's use them as an abstract value to derive other abstract values. In other words, they affect other variables in game, but have no direct effect in themselves. In a tight memory space, it may be best to discard them entirely, and just keep the ones that actually affect things directly, like hit points, damage bonuses, etc.<br /><br />
In fact, I've come full circle back to the idea of class systems. I actually like the idea of an open-ended character design, allowing players to custom-create classes. Sure it's got a lot of potential to be unbalanced, but that's part of the fun with CRPG's at times. :) However, the fact is I probably don't have the memory for it. An open-ended system requires more UI, more variable manipulation, etc.<br /><br />
So I may go back to a class system now. I'll also need to re-evaluate every element of a character and decide what goes in, and how each class advances. On the plus side, that means I can make sure each class is balanced and interesting to play.<br /><br />
Fortunately, that won't delay the combat engine at all. Because in the combat engine, to start with, every character will be an "uber" character, capable of doing everything. Classes become a limiter of action, in a sense. I'll have to design a separate set of milestones for the combat engine, and when it's complete I'll integrate it with the rest of the engine. It always helps to make a list of what needs doing so you can pace yourself.<br />]]></description>
<pubDate>Tue, 22 Jul 2008 23:22:47 GMT</pubDate>
</item>

<item>
<title><![CDATA[The One True Beginning]]></title>
<link>http://www.adamantyr.com/?p=126</link>
<description><![CDATA[4th Edition Dungeons and Dragons came out last week. Although I will never be the tabletop gamer my brother is (who plays and runs games weekly), I still enjoy it a lot, and I've been looking forward to the new edition.<br /><br />
This sentiment has not been shared by the gaming community as a whole, though. The community is rather polarized on the subject, and many vicious threads can be found on various gaming forums attacking the new edition as simply a corporate grab for more money. Others say the game is too "simplified" and that characters are too powerful, and that the borrowing of ideas from massive-multiplayer online games was a mistake.<br /><br />
The truly hilarous element, though, is how the older gamers sound so much like the war gamers that grumbled when war games were the dominant hobby and role-playing was the upstart. Resentment, anger, and dismissive patronizing comments were rife then, as they are now.<br /><br />
My feelings on the matter are that the game's primary purpose is to provide fun and entertainment for the players and the game master. Anything in the rules system that detracts too much from this should be questioned and if deemed unsuitable, discarded. Sacred cows in the rules should not be preserved if they are in the way.<br /><br />
In particular, I feel that the days of a tabletop RPG trying to simulate reality should be left behind. Most of the older rules systems do this because of their war gaming roots. But these days, computers are far superior at this task than any single person would be. A computer has the time to keep track of thousands of variables and counters, a human being would not.<br /><br />
Instead, I feel tabletop gaming needs to focus on the elements that the computer can't do. In particular, interactivity. This is the Holy Grail of most gaming, and there are very few games that even get close to it. Interactivity means the not reacting, but interacting with the player, and such things simply don't happen. The computer can never replace a human being for true interactive storycrafting.<br /><br />
The new edition actually has a lot of good streamlining and an even more varied encounter system. It is NOT a cakewalk either; any player who walks into it thinking it's easier will be in for a surprise. A lot of the changes really don't become apparent until you actually play. And it may not be for everyone, of course. Unfortunately, trolls are always hungry... whether they dwell under bridges or on forums. :)<br /><br />
This gave me some thought about my CRPG as well; I realized that I should consider simplifying some of the game's elements myself, to cut down the amount of memory-expensive controls it would require. In particular, I was originally intending to offer a lot of flexibility with level advancement. But when I gave it some thought, I realized such flexibility would probably offer little extra to the player and just take up room for other things.<br /><br />
I may want to actually scale back the class/skill system to something really simple... and then add back to it once I have an actual working system in code. I wanted a more complex character system than Tunnels of Doom or Legends had, but sometimes you only got so much memory to work with.<br />]]></description>
<pubDate>Mon, 16 Jun 2008 07:48:55 GMT</pubDate>
</item>

<item>
<title><![CDATA[Lost Treasures]]></title>
<link>http://www.adamantyr.com/?p=122</link>
<description><![CDATA[Still inching back into game design mode... I found an error with my battlemap editor, which was screwing up the tail end of maps. That's fixed, but now I need to consider making a monster editor... I can always hack something together for test data, but the combat engine will need something to chew on. *sighs* A lot of work to even get a basic framework going...<br /><br />In other news, I recently aquired some old TI equipment from a fellow 99'er in my area. His name is Hans Quennet, former USAF. He had it in his garage for quite some time (20 years), and his wife wanted him to get rid of it. I told him I'd be happy to take it and make sure it got to good homes. (And before you ask, the P.E. box is spoken for, and does NOT have anything exotic like a Myarc HDFC. All authentic TI cards.)<br /><br />I must admit I felt quite a bit of nostalgia firing the box up. That musty smell of old electronics really gets the blood going! Of course, I do have my own P.E. box in my parent's garage back home, so I'm hardly deprived... but all the little notes taped to the computer and box are heartwarming to see, I remember doing similar things myself!<br /><br />The little monitor there is particularly cool. It's a small comfortable size, and very similar to the old TI monitor in form, although it also has a B/W switch. Very nice! I think I may hang onto that.<br /><br />The 'phat lewt' included several TI consoles, including one missing a space bar and in dubious operating shape, a beige/cream TI, one that's pretty shiny new with the cables still in original cardboard packaging, Hans's personal unit (in photo), and one that looks all right. All the black/silver ones have the mechanical keyboards instead of membranes that I can see, which is good news.<br /><br />Software-wise, a small stock of base TI cartridges, nothing exotic of the later Triton/TM Direct days. Disk software consists of the E/A disks and TI-Artist (copy) with TI Artist's Companions 1 and 2.<br /><br />I spent an hour or two chatting with Hans, and he's earned his ribbons as a 99'er. He spent a lot of time writing BASIC and XB programs, including a Scrabble game that he managed to optimize very effectively for speed. To which a friend asked him "How does it know it spelled the words right?" which was an annoying revelation for him. :)<br /><br />He also told me a story about how an Apple store guy has shown him a fractal plotter, and scoffed when he mentioned his TI. Hans took that as a challenge and converted the Apple BASIC program to TI-BASIC, and left it to run overnight. In the morning, he'd gotten a fracal curve on screen (courtesy of CHAR defining) and he took a photo with a camera to show the guy, who was quite blown away. "You did this on a TI?!" he said incredulously. A dream moment for any 99'er. :)<br /><br />I also found, while doing some eBay shopping, that I have a place in town here that buys and sells vintage and modern computer equipment. It's called RE-PC, and they would probably be any vintage guy's place to shop. I saw several old systems and some software; the only TI stuff I saw of note was a copy of Narovine's Console Writer and Database cartridge... Not much else TI, although they just sold a P.E. box on EBay for a nice chunk of cash. If you live in the Seattle area and are into hardcore retro-vintage computing, check them out.<br /><br /><a href="http://www.repc.com/">RE-PC Home Site</a><br /><br />]]></description>
<pubDate>Sun, 01 Jun 2008 05:39:59 GMT</pubDate>
</item>

<item>
<title><![CDATA[Title Deeds]]></title>
<link>http://www.adamantyr.com/?p=121</link>
<description><![CDATA[I've been inching back into the CRPG work... mostly thinking about combat. I may need to write-out the entire battle engine in pseudo-code first, and then do an honest assessment of whether or not I have the memory to do what I want. Things have a way of taking up a LOT more space than you initially thought. I'd probably also go back to the idea of making the engine run in a stand-alone format for testing and refinement, and then integrating it into the travel engine.<br /><br />
In the mean-time, I've also been doing something more creative but of lesser priority.. the title screen.<br /><br />
A good title screen is something you tend to remember about a game. Ultima boasted some lively animated ones, and a lot of Apple II games made it a point to have a VERY good title screen, something that would draw people in if viewed in, say, a computer store.<br /><br />
The TI's bitmap mode is actually very capable of generating some fantastic images, despite the color limitation of 2-colors per octet. (That's 8-bits horizontal.) There's even some very good utilities to convert images to TMS9918A bitmap format (Usually called mode 2), thanks to some overlap from the MSX crowd, who have done more of this sort of thing than 99'ers over the years.<br /><br />
I wanted a nice landscape picture for my title, but also something that wasn't proprietary. So I went with a piece called "The White Mountains" by Thomas Moran, a famous painter of American landscapes in the late 19th century. It's pleasing, and it's public domain.<br /><br />
Converting it to the TI bitmap mode, though, has proven to be a real challenge. Just a straight computer conversion looks like absolute crap. This isn't surprising, since the 15-color limitation is going to wreck havoc on a watercolor piece with a number of hues and gradients.<br /><br />
Right now, my solution has been to convert the images to something slightly closer, around 256 colors, then I have separated the background and foreground objects, and rendered them into black and white. From there, I can individually apply color to bring certain objects into better detail. I also want the piece to have a "black" background to go with the game. I may need to dither the background part a bit to lessen it, as the two combined at the moment make a royal mess that's hard to distinguish...<br /><br />
I eventually plan to put the game's title into the background, hopefully making the letters both stand out and flow with the picture... somehow. I'm not sure how well that's going to come off as yet.<br />]]></description>
<pubDate>Fri, 09 May 2008 21:16:42 GMT</pubDate>
</item>

<item>
<title><![CDATA[Wedding Bells]]></title>
<link>http://www.adamantyr.com/?p=118</link>
<description><![CDATA[Well, my brother's wedding is over, and it went very well. The only thing that didn't happen was my parent's apple trees hadn't bloomed yet... blame all the cold snaps we've had. The cherry crops were wiped out by them, so expect high prices on cherries this year.<br /><br />
The photographers put up a bunch of "candid" as well as posing shots at a particular URL, so I've provided it below. I'm the guy with the blue tie against a black shirt. Man I need to lose some weight...<br /><br />
Game news has been sparse of late. I've been playing a lot of World of Warcraft with a friend of mine, and just found a pretty decent guild with some good people. I don't think MMO's will ever fully replace the classic single-player CRPG, but they have their strong points... games are always more fun with friends!<br /><br />
<a href="http://holden.smugmug.com/gallery/4806397_5gbWT#285598907_nztPF">My Brother's Wedding Pictures</a>]]></description>
<pubDate>Wed, 30 Apr 2008 22:30:14 GMT</pubDate>
</item>

<item>
<title><![CDATA[April... snow?!]]></title>
<link>http://www.adamantyr.com/?p=117</link>
<description><![CDATA[It has been awhile since I posted... My CRPG work is sidelined at the moment, as my new job is consuming a lot of my "coder" resources, and I've been playing more games.<br /><br />
I'm all for pushing on and finishing things, but it's also important to take breaks. If I was getting a paycheck for this kind of work, that would be different. But with hobby projects, sometimes it's good to take an extended break. Fortunately, I've set it up so I can easily pick back up where I left off with a minimum of trouble.<br /><br />
My brother's wedding is this upcoming weekend, at which I will be the best man. It was set in late April so that we could have the ceremony in my parent's apple orchard, with the trees in full bloom... we're hoping they will be, anyway! The weather in the Pacific Northwest has been very odd the last few weeks. It appeared like a normal spring, but we had snow fall last weekend, on both sides of the mountains... this is definitely out of pattern. I'm sure global warming is to blame somewhere in there.<br /><br />
In CRPG-related news, Stu has finally completed Gates of Delirium. The success of the posts has lead the host site, Armchair Arcade, to propose the idea of calling such activities (playing through old games and blogging the experience) as a 'slog'. Stu's next project is another obscure title, the Color Computer 3 game "The Seventh Link". Let's hope this one is less tedious!]]></description>
<pubDate>Tue, 22 Apr 2008 18:07:13 GMT</pubDate>
</item>

<item>
<title><![CDATA[Books and Business]]></title>
<link>http://www.adamantyr.com/?p=115</link>
<description><![CDATA[So, I'm at my new job, and things are going well. As per usual, though, I have to ramp up very quickly on a number of new things. So when I'm not focused on work, my free time is consumed with play instead. :)<br /><br />But let me take a moment to plug a very good book just released by a fellow CRPG enthusiast, Matthew Barton, "Dungeons & Desktops".<br /><br />Matt spent a considerable amount of time researching the different CRPG's over the various eras of computing, and this book provides a comprehensive look at many titles, both popular and obscure, and how they affected the industry and changed it.<br /><br />And yes, 99'ers, Tunnels of Doom is in there. Although he got one small fact wrong (there are no thrones in ToD like there are in Telengard), the write-up is very well done and very complimentary. And you'll also find a small contribution from yours truly, a screenshot of Ultima 9 that I provided.<br /><br />About the only real flaw of the book is the very small color insert that only has about a half-dozen shots, and the relative darkness of most of the photos.<br /><br />Also, he forgot Jade Empire. Normally I wouldn't nitpick like that, since there's likely plenty of obscure titles he missed because, frankly, they're obscure! But JE is different in that it's a mainstream game, it was an exclusive hit on the XBox console for some time and was recently released for the PC, it's one of the first original settings designed by Bioware, and it even featured a unique artificial language patterned after East Asian languages. I was a little surprsied it was overlooked!<br /><br />If you like CRPG's and want to see how they came about and potentially where they're going, this book should definitely be on your shelf.<br /><br /><a href="http://www.amazon.com/gp/product/1568814119?ie=UTF8&tag=armcharcad-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1568814119">Dungeons & Desktops at Amazon.com</a><br /><br />]]></description>
<pubDate>Mon, 31 Mar 2008 22:12:16 GMT</pubDate>
</item>

<item>
<title><![CDATA[Employment and the Gates of Tedium]]></title>
<link>http://www.adamantyr.com/?p=112</link>
<description><![CDATA[Huzzah, I have a new job lined up, two weeks short of my doomsday "end of contract" period. And it's a good job too, no fill-in while waiting for another contract, this one's a keeper!<br /><br />
CRPG work's fallen to the side for the moment, as I've been gaming more with friends. There are times when you just need to charge the battery back up, and not lose focus of why you're working on a game in the first place, because games are fun!<br /><br />
Well, most games are. Stu (of Stu's Rusty Bucket, see links in prior blog entries) has been working on playing through Gates of Delirium, an Ultima-clone written for the TRS-80 Color Computer back in the 80's. He's been keeping a live blog journal on his adventures over at Armchair Arcade.<br /><br />
In many ways, the experiment has, in my opinion, illustrated the real difference between designing a game and designing a game engine. The creator of the game did a very good job replicating the engine of Ultimas II-III. Close enough that had Origin ever taken notice I'm certain that he'd have gotten in trouble.<br /><br />
However, the gameplay stinks. Stu's experience has been one of sheer lack of information on anything, even the actual goal of the game! He eventually deduced that he must unlock the seven gates in a given location, marked by large keyhole tiles. He further deduced that the keys were only located in dungeons. But in-between these discoveries there was a lot of empty and fruitless conversations with NPC's who offered little or nothing.<br /><br />
Another problem was the presumed lack of a "cure" spell in the game, to remove poison states. Poison in the game is lethal and permanent, and curing it was only possible at towns with healers. He eventually discovered that a particular letter-key for a spell turned out to be a Cure spell, NOT documented in the manual. Seems like a clever secret, but it isn't. It's a meta-secret, having to do with the controls. Fighting games on consoles use such ideas for secret moves, but they do let you know about them beforehand so you can experiment. CRPG's should NOT do these kinds of things.<br /><br />
On the subject of the manual, it's pretty simplistic, mostly focused on describing the mechanics of gameplay. Ultimas II-IV featured very detailed story-like manuals that really evoked a feeling of being something more than pixels and mechanics in motion. The map looks like something I could draw up with pencil and a piece of copy paper in a few minutes.<br /><br />
Fortunately for all of us, Stu's got the strength of will to see the job through, as terrible as it has become. He's certainly stuck with it longer than I would have.<br /><br />
Links:<br /><br />
<a href="http://armchairarcade.com/neo/taxonomy/term/1187">Gates of Delirium Live!</a><br />]]></description>
<pubDate>Tue, 11 Mar 2008 22:36:35 GMT</pubDate>
</item>


</channel>
</rss>


