Thursday, May 28, 2009

Ighalsk - Invisibility and Awesomeness

I've just discovered "Fluent Self", an amazing and inspirational blog. Some of the posts got me thinking about my approach to Ighalsk, including "Visibility. Invisibility. Power. More pirates."

I was happy to be developing Ighalsk on my laptop for a long time, keeping an archive (using CVS archive) but not exposing it to the outside world or talking about it to other people (OK, maybe I mentioned it in broad terms to 2 friends and my wife). So I was running in stealth mode, lights off, invisible - which meant that no-one could criticise my work, *but* no-one could comment on it or praise it either. And acknowledgement and respect are big motivators for me. I'd always intended making Ighalsk open-source, it was just a question of when.

Even after releasing it (and I'm up to release 0.1.3 now), I've been keeping a lot of my plans under wraps for fear of Ighalsk being labelled "vapourware". *But* that always means that others can't know how awesome it's going to be, *and* can't help me make it more awesome. So here goes.

I'd always planned (well, since a couple weeks after deciding to write a roguelike), to have special levels throughout the dungeon. Each with its own name, theme, coherent selection of monsters, carefully designed layout presenting tactical challenges and opportunities, and of course a unique monster to defeat. The list I came up with early on was:
  • tunnels of lost dreams (dwelling place of Lord Apathy);
  • spider caves;
  • ogre halls;
  • necropolis;
  • caverns of night;
  • pits of chaos;
  • corrupted temple; and
  • imperial palace.

The original plan was to have these at every 5th level, but I recently changed my mind. Now I plan to have a series of dungeons which can be entered separately, with a hand-crafted level, including the chosen unique, at the bottom of each dungeon. Each dungeon will be a quest, described by the young queen in a royal audience.

Similarly the plan was to have increasing difficulty as the Hero descended, but now I'm thinking I'd like to mix monsters of all difficulties, presenting a different set of tactical and strategic challenges.

The Hero will start out tougher and more powerful, though my plan has always (almost always) been to have plenty of options (powers) available from the start, with quite different mixes for each type of Hero. This is something else that will change: instead of choosing their Hero's "Profession", a player will choose their "Primary Gift". "Warrior" will be replaced with "Mighty", "Priest" with "Blessed", and "Scholar" with "Philosophical".

Finally, something that I've also planned to do for a long time but have been thinking about again recently is Food that gives a small, short-duration bonus when eaten. What I have so far is Bread (or Potatoes) to restore Hit Points, some sort of vegetable (maybe Cauliflower or Cabbage) to restore Power Points, Spinach to temporarily boost Physical Strength, Fish for Mental Strength, and Wine for Spiritual. Then there's Beef and Chicken, which may well decrease and increase susceptibility to Fear.

Tuesday, May 12, 2009

Ighalsk - release 0.1.3 and plans for the future

After losing maybe a month to playing Dwarf Fortress, I'm picking up speed on Ighalsk again. I've just released v0.1.3 (minor changes from v0.1.2). The plan is to take development in a new direction: first adding another window with buttons for all the commands that are currently available (rather than having to remember everything), and then radically revamping the dungeon system and the character concept ...

For my own reference, here's the steps that I follow when making a release of Ighalsk:
1) svn copy from trunk to tags/release_x_y_z. (I'm skipping the URL, which really is not that edifying.)
2) svn export tags/release_x_y_z
3) Zip up this exported directory and rename as "ighalsk-x-y-z-src.zip" (to conform with Sourceforge's naming convention).
4) Upload the zip file to Sourceforge's file upload area.
5) Create a new release, add changelog and release notes, check the box next to the zip file, and done!