Tuesday, February 26, 2008

Fixing Some Roadblocks

Overhauling the mob remains effects is a big thing that I'm planning. Unfortunately, I've been largely unable to start due to being utterly stymied by the manner in which I'd implemented one of the biggest parts of MageGuild.

Well, I just rebuilt the Effect class, which required me to change about 400 lines of code, which were scattered through just about every source file. Everything uses this class, and I altered something such that each and every call to it required a new parameter. But, it's done now, and all the better for it. Another unfortunate little internal wart removed. I've got a few more of those that need burned off before I can hammer a couple of particularly annoying proud nails, but we'll get there. Next on the hitlist: weird messages when dunking items into fountains.

Also spent some time last night playing around with dynamic content in pure HTML/JS/CSS. I lack the fundage to get a really decent web host, and the free host I'm using doesn't support any sort of server-side scripting, so I had to build a system for a site-wide, relatively maintainable navigation bar/header bar/footer bar in AJAX (sans any Microsoft support...pure HTML/JS AJAX). Which was surprisingly entertaining, actually. Good news is, that's in place. The Lukos website got a bit of a facelift in the process, but it's far from done. There are many things I'd rather do than screw with web stuff, especially with the jank-ass hosting. But one survives.

Sunday, February 24, 2008

Watching the Time Tick Tick Away

Development has been slow. And by slow, I mean nonexistant. I've been getting hammered at work and bogged down at home, so MG's development has been a bit stunted. Regardless, the game plan for 0.5 is solidifying in my head; nothing's really different from the list presented in the last post, but the urges to implement the other ideas percolating around in my head have largely been quelled.

If anything, I've been pondering what's next on the project list, once MG v1.0 goes out the door. I've got some pretty big ideas that might be added to MG (v1.1? v2.0? v1.5? sky's the limit!). I've got at least three other roguelikes dancing an eerie jig in the back of my head, clamoring for attention. I'm playing around with concepts for a multiplayer online wargame, a space fantasy FPS/RPG hybrid (...oh, God, so much work...), something akin to an MMO. and then there's all the little idea fragments; mechanics, settings, design concepts, internal architecture plans, all looking for games to house them.

Must focus. MG 1.0 out the door, then we can worry about the other crap.

Thursday, February 21, 2008

Decisions for the Decisive

Some things have resolved themselves in my mind from the last post. "Yes and now," to contingency, and "probably but later," to bitmap tiles. Contingency is a nice safety net for newer players, and provides a skill-testing opportunity: making the leap from "this saves my butt" to "this prevents me from taking things that keep my butt from needing to be saved" is an important paradigm shift that I'd like to encourage. Bitmap tiles are possible, but will require a near-total rewrite of the output library I wrote for MG. That's just not something I'm willing to do while trying to zero in on a release candidate. Once 1.0 hits, we'll talk. Also, if I do decide to add tiles, I'll be using an existing tileset (probably Gervais' excellent tiles), possibly with a few small alterations...I've learned my lesson on that one.

0.5 is planned to be the first public beta. I also think 0.5 is where I draw a line in the sand on new features. After 0.5 is released, the only things that will be added are bug fixes, balance fixes, and features that are absolutely demanded by usability or balance. That means the feature list for what's going into 0.5 looks something like this, as of right now:
  • Spell hotkeys
  • Contingency
  • Overhaul mob remains effects
  • Possibly try to fill in some gaps in the item mixing interactions
  • Whatever hare-brained ideas I come up with the night before releasing 0.5

I've got a few small (mostly cosmetic) bugs that've been floating around for a while that are on my hitlist for 0.5; at this point, they've become proud nails that I'm damn sure going to hammer before the public sees them. God-willing-and-the-creeks-don't-rise, I don't know of any crash bugs or other major faux pas that will hold up the public release, but I'm sure my closed-beta cabal will change that for me soon.

The next big question is, "when am I going to overhaul the code surrounding saving and loading the game?" Right now, everything works (and is pretty slick, if I do say so myself...Reflection is an amazing tool) but works much slower than I'd like it to. This also, again, gets back into the lower-level display routines, as initializing the in-game windows is sucking up way more time than it should be. I'm leery of doing too much with the problem, lest I should create some bizarre little bug that I don't catch until it's found by the general public, but I'm thoroughly not happy with the performance of the code as-is. More decisions.

Wednesday, February 20, 2008

Perils of Contingency

I should be very much in the "adding professional polish" phase of development on MageGuild. I know this. (I'm doing a lot of that sort of thing; newest features were the ability to drop character dumps and causing the game to check a savefile's version before loading it.) Nonetheless, I find myself addicted to adding content. Every day's commute to or from work leads me to think of some cool new thing that could be crammed in somewhere. That's what led to the rash of new edges in v0.4. There are a bunch of item mix combinations that don't do anything. Some of that is intentional, and some of it's simply because I couldn't think of anything cool for that combination to do...ideas to fill those holes keep popping up.

The latest question I'm kicking around is whether or not to add a new edge that would function as a one-time "Get Out of Death Free" card, much like the famous Amulet of Life Saving from Nethack (and a couple other RLs, if I recall correctly). I'm leaning toward it pretty heavily, as it's a nice safety net, but acquiring it carries a pretty high opportunity cost; something that will help less experienced players, without unbalancing the game for more experienced players.

That's actually a pretty constant theme, I'm finding, in my attempts to balance things. All roguelikes have a pretty steep learning curve, and MageGuild is worse than most, as it does away with a lot of the trappings of RPGs that most RLs drag along. I've been strongly pushing anything I can to make the game easier to pick up and play without changing the end gameplay too much.

That leads me to the other big, big change I'm playing around with; adding an optional bitmap tiles view, to take the place of the ascii. The concept is...scary, frankly. I didn't build the game with being able to add tiles in mind, which was a rather stupid plan. But when I started this, I wanted to create a RL that I knew was going to have a steep learning curve, that I knew was probably only going to appeal to hardcore RL players. Now...I've got a couple players who are pretty hooked that are thoroughly not hardcore RL players, and that's caused me to rethink a number of things. Are tiles in the future for MageGuild? I honestly don't know.

Monday, February 18, 2008

Lights On, Cue the Orchestra

The general purpose of this blog is to chronicle the development of my various projects, housed on the web under the ambitious name of Lukos Software.

Right now, it'll largely be concerned with my little roguelike, MageGuild, but I've got a host of other ideas waiting in the wings. With MageGuild about ready to fly on its own, there should be interesting content floating through here pretty regularly.

The site this stuff lives at is http://www.glistenimages.com/Documents/lukosHome.htm. It's quite plain right now, and getting a proper domain set up for it is rather high on my priority list. Regardless, it's there, and binaries and suchlike should show up there.