Thursday, December 11, 2008

Bugs and the Fixes That Love Them

I just released MG 1.2. I feel pretty good about this release; hunted down every bug reported about 1.1.1 that I felt I could fix without massive rewriting. All that remains are minor things, generally linked into the display code.

I'm currently waffling back and forth between working on new stuff for MG 2.0, and working on other projects. I need to focus on one or the other, I think. At this point, I'm leaning toward other projects. I've had a fairly steady flow of ideas for MG 2.0 for quite some time, but many of them aren't mature yet, and other projects are a fine occupation while they ripen.

Monday, November 24, 2008

...once more, with feeling...

Just released 1.1.1; should correct a couple of nasty crash bugs in 1.1. Need to be more careful, need to test more. This kind of stuff is unacceptable.

Friday, November 21, 2008

MageGuild 1.1 out the door

And it is done, MG 1.1 has been turned loose. Got a flood of last minute bugs in, fixed them, and got it turned around.

Wednesday, November 5, 2008

Two New Tidbits

Two new bits of information to share...

The first, I've released the code for the display library that MG uses, after renaming it Phasma. If you're developing some sort of tile-based (be it ascii or bitmap) game in C#, it might be worth a look.

The second...The code that will become MageGuild 1.1 is caught up. All of the ugly little bugs  that were reported about 1.0 have been caught and squashed, and I've gotten in a little bit of tweaking for balance and so forth. Added a few new things as well. The question becomes...how long do I wait before chunking it out? I'd like to give people more time to play with 1.0 before I go throwing a new version at them. Partly because I don't want to push people to constantly download new versions of things, and partly because I want more time to let the bugs sift to the top.

This really brings up a bigger issue...in a stable game, how often does one release patches and fixes? More to the point, regardless of the general process, how often do I want to release patches and fixes?

Thursday, October 16, 2008

MageGuild Out of Beta

MageGuild is out of beta. It's about all I can say, I'm currently too busy plastering the internet with announcements to add much to that. Check it out: http://glistenimages.com/Lukos/lukosMageGuild.htm.

Tuesday, October 14, 2008

Finally Here

I'm putting the finishing touches on what will be 1.0. I'm currently assembling a list of places to post the announcement about 1.0, the first non beta release. Nerves are setting in. But it will be finished, and it will be finished soon, and it will be released. And then...some other project. :)

Wednesday, September 10, 2008

The Last of the Bugs?

0.7.3 is out, now. So far, so good: no bug reports. I've got some balance and minor feature issues to iron out, and I think that (plus squishing any bugs that crop up) will constitute an 0.8 release. Depending on the reception for it, I'll probably just renumber 0.8 to 1.0 and make it the first non-beta release. That's if all is well with 0.8, of course.

My thoughts are increasingly turning to the next project; I've got enough ideas (both submitted ideas and ones I've come up with) to get to at least a 1.1, probably a 2.0. But I think I'd like to take a break from MG after 1.0 is released, work on something else for a while. The other roguelike that I've been toying around with is a potential to be that next project, but I'm still not sure.

Thursday, September 4, 2008

Another day, another release...

I went ahead and pushed out a quick 0.7.2 release, mostly to fix a pair of crash bugs. I was hoping to avoid having too many more releases before a non-beta, but I'd like to nip swarms of people crashing at the same point in the bud.

Incidentally, another bug I ran across was one relating to the game pegging the CPU at 100% usage (or less, if you had a multi-core processor, but either way, it pegged whatever core was running the game). Apparently, this is normal behavior for an application that uses a loop of Application.DoEvents calls to simulate a pause for user input. I found a quick hack that works well enough, but I'd like to do better for the next roguelike project. .NET has some support for asynchronous method calls, maybe I can get some traction there. Hmm.

Tuesday, September 2, 2008

Too long in coming...

Well, it's been a while (again) but 0.7.1 is about ready to roll. I'm doing some last-minute testing, then it'll be out the door.

I've been banging around a little with what I think will follow the GA release of MG; a roguelike of a more epic scale, more focused on number-crunching...more Angband, less NetHack. Is that actually going to be the next project released? No idea. Time will tell.

Friday, July 25, 2008

MageGuild v0.7

Finally! MageGuild 0.7 is released. After this, it's bug-fixes and balance-tweaks left and right, and then we'll be into full-on public release...And on to a new project, for a while.

Monday, July 21, 2008

Slowly, slowly...

More progress. Two large features down for 0.7, and the other three mostly done. At this point, I'm plugging holes, fixing bugs, and cleaning up messes. Release date? Soon. (Ah, vagueness...the final refuge of the terminally busy.)

Friday, June 27, 2008

Progress!

Well, for two nights running now, I've made some headway on MageGuild. It feels good to code again...it's funny how easy it is to lose track of how much one enjoys a hobby. I've been working on adding fixed content to the end of the game...yeah, sure, I'll raise the cone of silence: boss levels.

I'm...extremely hesitant to put a timeframe on 0.7, still. I'm not 100% sure how long things are going to take, nor how much longer I'll be able to dedicate time regularly, and I'd rather not issue a date I can't keep. Regardless; MageGuild is not dead, development continues.

Thursday, May 15, 2008

On The Lack of Time

Progress on MageGuild has slowed to a crawl, alas. My real job's been hammering me pretty badly, and I've been lucky to find time to eat and sleep, let alone to work on MG. Regardless, there is progress. The game plan for 0.7 was a big pile of content and a small pile of rebalancing.

The rebalancing is largely done; hopefully, this will curtail the grotesque HP/MP gaining that was going on, as well as weaken some of the most overused spells. Some edges were changed and added in this, so there should be some new options there, as well.

The content...is coming along. The new item type that I'm adding is taking quite a long time to finish. They're relatively rare, but they're quite powerful, and they do things that MG hasn't seen before. Which means that I'm forging quite a bit of new territory, when it comes to coding.

So, in short, progress continues. I'm hesitant to put a date on release for 0.7 until the work situation settles down a bit, but when I know, you'll know.

Tuesday, April 22, 2008

A chapt! A chapt! My dingkom for a chapt!

I've released a v0.6.1, a quick patch for the nasty little crash bugs that snuck into v0.6. Made the save/load code a bit more stable in general, and fixed the weird little bug that I introduced into the AI code when I optimized it. (A weird little bug that, as far as I can tell, is responsible for the nearly-random crashes that have been reported.)

A fair bit of the new content stuff for 0.7 was already in place; some of it I left, some of it I hid or removed (due to incompleteness, not due to sheer bloody-mindedness, I assure you. :) ). There's a special kind of irony to having to remove content in order to release. If I had a proper SCM system in place, I could have simply fixed the bugs in the v0.6 branch, released a v0.6.1 off of that, and then integrated the bug fixes back into the development trunk. It's what I would have done at work, in fact. Getting an SCM set up for my personal projects is certainly something to think about, I'm just unsure if the (hopefully rare) occasions where it would be handy are worth the hassle the rest of the time.

Tuesday, April 15, 2008

The Game Plan

So, I think I've decided what the plan is, for the rest of MG releases through v1.0. v0.7 is going to consist of a few fixes and modifications, and a number of New Things. In fact, anything that I want to go into v1.0 is going into v0.7. There will be no new content after v0.7; only bug-fixes, UI changes, balance tweaks, etc. Depending on how badly v0.7 is bugged/unbalanced, there will either be a v0.8 or we'll go straight to v1.0.

The issue now becomes, what new features are going into v0.7, and what's going to wait until v1.X?

I'm currently struggling with MageGuild's identity a little bit. I was shooting for somewhere between "coffee-break" roguelike (i.e. DoomRL) and "epic" roguelike (i.e. Angband), in terms of game-length, complexity, etc. I thought I'd hit that mark pretty well, so far. However, a lot of the feedback I've gotten has been suggesting pushing things more toward the epic end of the spectrum. And there are a lot of very cool ideas in there, many of which I'd like to use, in some manner or another. Problem is, I'm not sure if I'm currently sitting too close to coffee-break, or if I'm already in about the right area, and could easily topple over into epic territory.

The current plan is to start adding things, lowest-impact first, and kinda feel my way along. Hopefully, I'll end up in the right spot.

Thursday, April 10, 2008

Release Part Deux

v0.6 just rolled out the door. I ended up cramming a few more New Things into v0.6, because I'm addicted to coding content. Mob descriptions and amulets, primarily, were the two big things that went in that I didn't expect to. Some other smaller things. And the cycle begins anew...time to plan for v0.7, and to start figuring out where the v1.0 line-in-the-sand is.

Tuesday, April 8, 2008

Good Reviews, and Lots of Work

Well, the response for MageGuild v0.5 has been extremely positive. I'd like to thank everyone for trying out my pet project. :) There have been a lot of bugs found, and a lot of good suggestions for things to add.

I've got a rough plan for v0.6 outlined:
- Assorted small bugs
- Clarify a couple of points in the help file
- Couple of small UI tweaks
- Add spell descriptions
- Improve pathfinding efficiency
- Overhaul for Mono/non-Windows compatibility
- Clean up and add more invertible mobs

There are a number of other items lurking on the "some later release" list, as well as the "might do at some point" list, but these strike me as the top priorities, so they're going to get banged out first. As always, when v0.6 hits, check the changelist file for all the details.

Thursday, April 3, 2008

Alea Iacta Est

MageGuild v0.5, the first public beta, has been released. I have absolutely no idea what the reaction to this is going to be, or if there will even be one.

Let's see how things go.

Monday, March 17, 2008

Zeroing In

Well, we're within a stone's throw of 0.5 and the public beta. Been trying to get back the professional polish that went down the toilet when the tiles got added, and have largely succeeded. I think I'm pretty much done adding content for 0.5, and I've gotten all the bugs I know about nailed down. The real stumbling block for releasing 0.5 is now making some updates to the Lukos Software website to make it something vaguely approaching presentable. Once that's done...we're on the road to public release!

Monday, March 10, 2008

My, My, How the Time Does Fly

Alas, I've been neglecting this space...been busy enough that I'm lucky to have time to develop, let alone to write about development.

Anyways. Big news in MageGuild-land. Despite my better judgement, I've implemented bitmap tiles. There are still some kinks to iron out. It required a near-rewrite of my display library, which has created some unexpected fallout, such as the message window being much slower, now. There are some pretty serious gaps in the Gervais tileset as pertains to my purposes, which I've already started addressing, but I'm not really in the mood to spend lots of time building/fixing tiles. This change has required me to remove some of MG's dynamic symbol and color changes, which I'm not really OK with; I've got some ideas on how to resolve it, but that's another kettle of fish.

I'm also having some issues determining the proper way to translate some of MG's visual quirks to tiles. For example, in non-tiles MG, it colors the lines of effect when you go to aim something in red. Which is fine. When that happens with tiles on, it becomes either eye-searing or simply confusing, depending on how bright I make the red. But, that'll get fixed.

I'm actually glad that this is taking longer than I'd planned, as I'm not ready to release 0.5 to the public yet, beyond the feature list. Right now, I just don't have time to keep my finger on the pulse of the response. Hopefully, more time will coincide with 0.5 being done technically, and we'll get a release.

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.