News Download About Screenshots Donate |
| ||
According to my previous post, this marks twenty-one years since I
first touched main.cpp in my POWDER baseline!
POWDER is now old enough to drink in the US! Now, you may have noticed POWDER isn't the most frequently updated project on the internet, so it is a good thing it isn't my full-time job. In that world, I'm very proud to link to an industry award I'll be getting soon! https://press.oscars.org/news/16-scientific-and-technical-achievements-be-honored-academy-awardsr. This is for my contributions to OpenVDB. For those that played my 7DRL "War of 1812", you may be interested to note it uses a 2d acceleration structure based off OpenVDB to handle the massive terrain and armies effeciently. Another year, and another 7DRL, Wizard-Thief-Fighter. Expanding on the tech of MAGE, but adding a twist inspired from Puss'n Boots, you play across not one, but three maps at the same time. Switching the protaganist will switch the maps. And the items. There is even a way that all three characters can get what they want at the end. I don't think anyone has found it, however. I tried to make the clues obvious. Those wondering about my 3d-printed RC-car, I abandoned the idea of raspberry-pi control, and switched over to off the shelf transmitter/receiver and ESC. A nice bonus is I could switch to full 3d printed system, and I don't have to futz with a bluetooth keyboard to control it. I've still not gone through and re-updated all my old 7DRLs for this post SDL 1.2 world. Bit-rot is a real thing :< |
| ||
According to my previous post, this marks twenty years since I
first touched main.cpp in my POWDER baseline!
This is a bit confusing to me. The arbiter of all truth, ChatGPT, informed me that POWDER was first released in 2005. OTOH, it also claims I have taken over development of larn, so we might not want to be too swift to trust the new AI overlords. I did make another 7DRL, Mages Against Generic Enchantment. This is a still more traditional roguelike, this time inspired to be playable via audio only! I've realized I really need to go through and re-update all my old 7drls as I've had reports they have also suffered bit rot with Windows refusal to work with SDL 1.2. |
| ||
According to my previous post, this marks nineteen years since I
first touched main.cpp in my POWDER baseline!
POWDER can now consume alcohol in Canada! I did make another 7DRL, Rogue Impact. This is a more traditional roguelike, inspired from the game that has kept me from updating POWDER: Genshin Impact. The other old roguelike I've just recently updated for this new year is Seven Day Band. My earlier 7DRLs were with early versions of libtcod or SDL 1.2. Unfortunately it seems Windows has taken a dislike to SDL 1.2, so they've stopped launching. I've managed to port Seven Day Band to SDL 2.0 so it should work on modern OSes. Thank you to the many people who wrote to say that they were stymied by this. Another sign I should spend some time "remastering" the old 7DRLs, not to give them fancy graphics, but just to get them running again! |
| ||
According to my previous post, this marks eighteen years since I
first touched main.cpp in my POWDER baseline!
POWDER is now old enough to vote! Hurrah! I did make another 7DRL, War of 1812. This time I investigate the importance of tactics in roguelikes by making a purported roguelike that lacks any tactical component! While I've not been working on POWDER (as evidenced by continued lack of updates), I have been tooling around with other random projects. My 3d-printed RC Car actually was able to steer itself, after a mere... I don't want to know how many years... on the design table. It is very cool to iterate with physical designs though - the analogue space of reality has such different constraints than code that I usually work with. |
| ||
According to my previous post, this marks seventeen years since I
first touched main.cpp in my POWDER baseline!
It seems I have not managed to make an update in time for this release to fix the race condition on iOS11. But let us not dwell on regrets! I did make another 7DRL, Tower of Babel. Back to pure ASCII again, this roguelike asks the question of what happens if you randomize everything! One cool project I must draw your attention to is the work of Mega Cat Studios, which has realized a physical instantiation of POWDER! They've sent me a copy to see their work, and the result is a serious step up from when I tried to package my own edition twelve years ago... You can find images of that down in the archives from when I submitted to the first PAX 10. I have directed any proceeds owed to me to instead be sent to some random charity; but I think it is good to support this reintepretation of an artform. And wait, there is more! Minh Tran has been working on an impressive tileset for POWDER, the git hub can be found here. This not only attempts an ASCII font-set, but also tries for colour-blind support. |
| ||
According to my previous post, this marks sixteen years since I first touched
main.cpp in my POWDER baseline!
Finally, however, I can say that POWDER got an update! Hurrah! We should all celebrate, however that may be spelled. The benefit is iOS11 will work, the downside is there seems to be race condition with the a button that causes double taps. I made another 7DRL, Day Star. This was a fun roguelike to write as I did it in partnership with Faesu, who handled the art. It is cool to work with artists, as they always approach problems differently, and are more willing to spend time on more frames of animation than more procedural code. |
| ||
According to my previous post, this marks fifteen years since I first touched
main.cpp in my POWDER baseline!
Another year of roguelikes has come and gone, and still POWDER remains un-updated! I made another 7DRL, Everything Is Fodder. No rush on this one. I like the resulting magic system, though few have noticed the underlying message. As you may have guessed, POWDER isn't my full-time job (a good thing too, considering this update rate!) I'm proud to link to an industry award I'll be getting this year: www.oscars.org/news/10-scientific-and-technical-achievements-be-honored-academy-awards. In less exciting news, iOS 11 does not like POWDER. I really had hoped to have been ahead of the curve here, but as you can see I'm still failing to get a new build out. Here is a picture of a tridude trying to convince a re-branded Mac Mini that I do have all the required icons in my pList! |
| ||
According to my previous post, this marks fourteen years since I first touched
main.cpp in my POWDER baseline!
Another year of roguelikes has come and gone, and still POWDER remains un-updated! Well, there was a bit of a release, in the form of Beta-3 of the Android version. So, yay! Progress! I made another 7DRL, Six Two One, this time in rather short time as I had to fly to Japan during the week. I'm looking forward to this years 7DRL when I currently have no plans to fly anywhere. For the last four or five years I've always been able to identify a video game responsible for my lack of free time for writing POWDER. 2016 is no exception. I joined the VR bandwagon and spent too many hours flying spaceships in Elite Dangerous. |
| ||
One downside of not releasing is that none of the tweaks I made to
the Android built made it into the wild. Since I'd rather not
force people to using hex editors to fix their installs, this
is a Beta 3 release of the Android. I'm also providing the current
118 source code.
Note that you may need to do a clean install, I had to on one of my phones. And save games will not be compatible. I hope I have included what you need to compile the source... Remember: Press the menu button on your phone to rotate from portrait mode! |
| ||
According to my previous post, this marks thirteen years since I first touched
main.cpp in my POWDER baseline!
While this does unfortunately mark another year of celbebrate being spelled wrong, it also was a good year for non-POWDER activities, so I cannot complain over much. If you haven't noticed, "roguelikes" have gone from a niche which I had to explicitly define to justify POWDER being one to a blanket term applied to anything with procedural content and an aversion to save & continue gameplay. My lack of coding on POWDER hasn't meant I've fully abdicated the scene; we've seen many successful international roguelike development conferences, including one in North America in 2015. This was an excellent chance to see that North America can hold its own against Europe, despite the exorbiant air flight prices. And, my most recent seven day roguelike, Seven Day Band was honoured as an Indie Cade Finalist at the 2015 Indiecade! So here is to another year of roguelikes! |
| ||
According to my previous post, this marks twelve years since I first touched
main.cpp in my POWDER baseline!
I cannot, however, say that POWDER has been developed for twelve years, as whatever sporadic changes I've been making have not made there way into an actual release, so should not be genuinely counted. The game itself, however, remains what it is, which is something I am quite proud of. So here is to celebrating another year of Celebrate spelled wrong! It truly is appropriate, however, considering the nature of the foul daemon whose heart you are retrieving. Beezl'bub did manage to make himself immune to all spells; too bad that means no one can ever spell Baezlebub! |
| ||
According to my previous post, this marks eleven years since I first touched
main.cpp in my POWDER baseline!
I managed to maintain my record of zero releases! Yay! Well, unless you count the beta release of the Android version, found below. My goal with POWDER development is to never promise anything that isn't already released, and to never feel guilty about not working on it. So, I present this year as it is! My main regret? Celebrate is still spelled wrong. I really need a 118 update if only to address that! |
| ||
According to my records, this marks ten years since I first touched
main.cpp in my POWDER baseline!
So how did the Year of the Dragon fare? Well, exactly zero releases in the previous calender year does not bode very well. I'd like to claim that it was because I was very busy with my non-POWDER life. But, more accurately, it was Diablo III. Since I realized I wasn't going to get 118 out for the tenth anniversary, I wondered what I should do instead. After some deliberation I decided: an Android port. I'm very happy with this first pass. It works on 2.2+, so should run on most any phone out there. I look forward to your experiences! As an experiment, I have also setup a Trello Board where I'm tracking my work on this live. So if you find an Android specific bug missing on that list, drop me an email! One last hint: Press the menu button on your phone to rotate from portrait mode! |
| ||
According to my records, this marks nine years since I first touched
main.cpp in my POWDER baseline!
Only two releases in the last year. This does keep the spectre of release 127 at bay (yes, I do use a char to store a version number somewhere) - at this rate I have another five years to figure out a work around. The upcoming year is the Year of the Dragon! I never did add the monkey I threatened so many internet-eons ago. Fortunately there already enough dragons in POWDER. Well, that is not exactly true. I do receive the occasional email from people who feel there should be more. |
| ||
Well, I'm off to Vancouver for SIGGRAPH '11 this Sunday.
Any also at Siggraph are welcome to send me a message. My schedule can be rather hectic, but I can always find time for POWDER players. You can also watch me perform - I'll be presenting a talk at Siggraph on "Correcting Low Frequency Impulses in Distributed Simulations." Yes, it is that exciting! I'll also be moderating a much more exciting set of talks. All the excitement is on Thursday, the last day of the conference. http://www.siggraph.org/s2011/for_attendees/talks" If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
This weekend I'll be presening my submission, "Towards an Algebra of Roguelike
Games" at the International Roguelike Development Conference 2011. The IRDC is being held in Visby, Sweden this year.
Any also at IRDC 2011, or happen to be in Stockholm before or Visby during, are welcome to send me a message. Our schedule isn't very busy. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
I am honoured to announce that POWDER has been selected for the
Nintendo DS Homebrew Showcase exhibit at the Silent Barn.
And here is the Facebook Event link. The fun starts April 8th! So if you find yourself in Queens, check it out! |
| ||
According to my records, this marks eight years since I first touched
main.cpp in my POWDER baseline!
Fifty-percent more releases, year over year. This sounds impressive until you realise I only released twice the previous year. The major advance the last year was just in platforms, with the iPhone finally seeing a POWDER version. Another bit of trivia is that as of this year, every computer that was used to initially develop POWDER eight years ago has gone to the big bit bucket in the sky. My original Gameboy Advance (with Afterburner internal front light) cracked first. The flash card outlived it, but was then subsumed by modern SD based carts. My main development machine of that time - a dual athlon 1800+ - finally shut down for the last time this summer. This lost me the PSP tool chain, which I have not yet managed to bootstrap. But fortunately one jungletek has come through with a 115 build to tide you over. |
| ||
Well, I'm off to Los Angeles for SIGGRAPH '10!
Any also at Siggraph are welcome to send me a message. My schedule can be rather hectic, but I can always try to find time for POWDER players. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
I am honoured to have IndieCade select Smart Kobold for
demonstration at their booth at E3!
More info about their E3 presence, along with the other cool games being shown, over at their press release. Sadly, I will not be able to attend. But if any POWDER players happen to be at E3, I suggest you check out IndieCade's booth! |
| ||
A while back I came across this video.
It is a fun look at roguelike development. However, I feared that
some inaccuracies in the video might lead to problems.
There is, for example, the implication that you can just go and write a roguelike. It should not need to be repeated that roguelikes can only be written after a detailed design document has been expressly approved by the cabal (there is no cabal). Much more serious, however, is the scene in which an Angband developer is bested through the use of a nerf sword. This is, of course, a dangerous claim to make. I have decided to make the following public service advisory to remind viewers that to become a roguelike developer one must already have access to spells of much greater level than the demonstrated In Flam Ylem. (I'd have demonstrated Sunfire, but air travellers have already had enough flight delays due to volcanic dust this year)
I do approve of the clean coding style shown in the video, however. |
| ||
So I release a new version to a new platform and manage to have an
off-by-one error in the help system. I guess the good news is that I
now know that people actually do read the help!
Of course, Murphy being what it is, shortly after releasing 113 my off-site Subversion machine decided to stop working. Don't fear, I have backups of the repo, and am now in the process of extracting the last repo directly from the machine's flash drive. But I think it likely is a good point to try out one of these new fangled source control systems. Mercurial is the one I'm thinking of. Being distributed, future failures will be less critical as I can easily rebuild a master repo from any of the checked out baselines and just resynch. So what does this have to do with no moving parts? When my previous CVS machine died, I took the chance to switch to Subversion and also to move away from the standard PC platform. I went with a Zonbu, an excellent little mini-PC that uses only 15W of power. It is also has the virtue of running of a Compact Flash and thus has no moving parts. No moving parts, in my mind, meant no failure conditions. If nothing moves, nothing can go wrong? Right? I think I've identified what's wrong with my logic. There are no computers with no moving parts. Because, you see, to be at all useful, there's a heck of a lot of electrons moving about in there. And these electrons rushing about, filling and discharging capacitors, heating up wires, etc, can lead to a system failure as easily as a frozen fan. Not being one to learn from my mistakes, I've put in an order for a GuruPlug Server to replace the Zonbu. It also has "no moving parts", but an added advantage of being a mere 5 watts in power. |
| ||
I am happy to announce that as of 113, POWDER is on the iPhone! At
some point I'll figure out how to make one of the cool app-links, but
in the mean time just use "roguelike" as your search term in the
app-store. As an added bonus you'll also get to see all the other
fine roguelikes that have made this platform their home.
I'd like to thank the beta testers that put up with the early versions of this port and pushed me in the right directions to make it more useable on this platform. The many remaining deficiencies are not their fault, however. My apologies to those who wanted the iPhone space kept pure from mere "ports". The current POWDER version isn't what I'd design if I had started with the iPhone as my target. But I do believe that it is close enough to fulfill the need of the many people who have emailed me asking for a port. You will note that the iPhone version is different in another significant fashion: to enable the wizard codes and access the last ten levels, you need to use the in-app purchase to upgrade. In the case of the wizard codes, this is no different from other platforms where these are the reward for those who donate. As for the level lock? Since many players can spend months trying to get to level 15, let alone past it, I don't consider the second aspect something that makes this crippleware. |
| ||
I managed to write another roguelike in 168 hours! Woohoo! For those
of you counting, this is the sixth such roguelike, produced in the
sixth year of the 7DRL challenge.
This one is called Smart Kobold. Since I delayed announcing it here so long, you can play the 002 version rather than the raw 7DRL version. The deep artistic message in this game was supposed to be that you shouldn't ask game developers for smarter AI or you might just get it. It turns out, however, that many game players are much smarter than I, so are still able to best the kobolds. Do not be ashamed if you are not able to - they are beyond my abilities. Check it out at: http://www.zincland.com/7drl/kobold Previous seven day roguelikes: |
| ||
According to my records, this marks seven years since I first touched
main.cpp in my POWDER baseline!
A huge drop in releases last year - a paltry two releases! I think I can safely blame this on Jacaob's Matrix. Despite being a 7DRL with limited development time, it grabbed a lot of mental resources from me this year. I'll try and better limit the effect of this years 7DRL on my POWDER development. This time I've actually managed to post this on the actual anniversary, however, avoiding the need for any ugly backdating. |
| ||
I was worried about the 112 release causing problems due to it being a
10.5 only OSX build. It seems that at least POWDER Mac players keep
their OS up to date as I've not heard any complaints.
Thanks to my brother's aid, I have a new temporary mac build machine so I can build locally rather than in a remote bunker. I've left it with the 10.5+ build style, however, but I think I installed XCode with 10.4 support. Any 10.4 players should let me know soon and I can try to revert the 10.5+ changes. Hopefully this means I can finally sort out backspace vs delete on this platform! In completely off-topic news, I recently bought an iTouch. |
| ||
IndieCade 2009 is starting
soon - October 1st to be precise! Sadly, my submission did not make
the cut for nomination. But, happily, this means the games that did
make it are of superior quality!
I will actually be able to attend Thursday and Friday, so if any of you are in Culver City, let me know. Speaking of conferences, I should note that the International Roguelike Development Conference will be running November 6-8th. I'll be presenting something in Geneva, but I'll reserve the right to change my mind closer to the date. |
| ||
Well, I'm off to New Orleans for SIGGRAPH '09 the coming Monday.
Unfortunately, it has been a while since the latest version so I'll
have to use this as an excuse for any delay.
Any also at Siggraph are welcome to send me a message. My schedule can be rather hectic, but I can always find time for POWDER players. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
Two things of note.
First, I'm about to leave for the Games Developer's Conference in San Francisco. I'll be there Monday to Thursday. While I do have a fair amount booked, I am not completely booked, so drop me a line if you are in town and want to meet up. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. I managed to write another roguelike in 168 hours! Woohoo! This one is called Jacob's Matrix. There is no deep meaning with it, just an attempt to capture some Flow in gameplay. Check it out at: http://www.zincland.com/7drl/jacob Previous seven day roguelikes: |
| ||
According to my records, this marks six years since I first touched
main.cpp in my POWDER baseline!
Exactly 10 releases in the last year. Fortunately I have no magical 100 staring me in the face. I do have release 256 to worry about - I am foolishly storing the version number as a char. I've again managed to miss the actual anniversary, relying once more on back-dating and the short-term memory of the internet. |
| ||
I am greatly honoured to be a finalist for IndieCade 2008's Open
Satellite! No, not for POWDER, but for Fatherhood, the
Seven Day Roguelike I created earlier this year!
I'll be flying to Seattle for Friday and Saturday for the beginnings of the Open Satellite festivities. I think my schedule is fully booked with the IndieCade events, but at least that means you know where I'll be. For those wondering how my last jet-set conference went, the International Roguelike Development Conference was a great success. We even ended up with a definition for "Roguelike" for you to denounce as incomplete and inconsistent! |
| ||
In a few weeks I'll be presenting my submission, "The Discretization
of Space and Time: Role in Roguelike Design", at the International
Roguelike Development Conference. The IRDC is being held in
Berlin, Germany this year.
Any also at IRDC 2008, or happen to be in Berlin, are welcome to send me a message. My schedule isn't very busy, so I should be able to find time for POWDER players. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
Well, I'm off to Los Angeles for SIGGRAPH '08 next Sunday.
Fortunately, I have just released a new version so I won't have to use
it as an excuse for any delays.
Any also at Siggraph are welcome to send me a message. My schedule can be rather hectic, but I can always find time for POWDER players. If you are wondering how you can contact me, I recommend reading to the end of the README.TXT that ships with POWDER. |
| ||
Penny Arcade has announced the PAX 10, ten indie games that will be
show cased at PAX. The list is here. As it
happens, POWDER was submitted to the contest, which means those ten
were found superior to POWDER. I encourage you to give them a try!
POWDER lovers can take some consolation in the wide range of genres
judged in the PAX 10 contest, I really would not want to be one of the
judges faced with selecting between such a variety of games.
What makes this newsworthy is that my submission was not a mere download link. No, I did not want the excuse of believing that POWDER was unfairly judged by the Mac build ("Too pixellated!"). I went the extra step and submitted an actual cartridge! So, without further ado, here are pics of the ultra-rare POWDER cartridge! Before you inquire, only one such cartridges has been made and I no longer have it. |
| ||
I find myself in Tokyo, Japan until Friday. Any POWDER players in the
vicinity are welcome to contact me and we can try and arrange a
meeting.
After Friday the POWDER tour continues to Kobe. |
| ||
Two points to announce.
I managed to write another roguelike in 168 hours! Woohoo! The Seven Day Roguelike Playing week is on us! This is the time to actually play the large number of roguelikes that were created this year and post mini-reviews and bug reports to rec.games.roguelike.misc. Don't worry, POWDER is still being worked on. Check it out at: http://www.zincland.com/7drl/fatherhood |
| ||
According to my records, this marks five years since I first touched
main.cpp in my POWDER baseline!
I've managed to break my dismal prediction of three years to 100 by reaching that goal on my fifth anniversary! |
| ||
I thought I was going to be able to post an ascension in 099.
However, my own cleverness got the better of me.
The uniquely named Orange had reached the dimensional portal. He was faring very well. A strange paucity of dig wands had been made up for with an unending pile of polymorph wands. Polypiling rings and the Identify spell led me to having one of every type of ring, including polymorph control. I then made my first mistake: I decided to be clever and polymorph myself before entering the dimensional portal. Equip ring of polymorph control. Zap self with polymorph wand. I turn into a slug. Oh. It seems I grabbed the ring of polymorph by accident, not polymorph control! No problem, I figure. I swap on the polymorph control ring and get ready to convert to my chosen form. I then made my second mistake. While I was in my slug form, some enemies had started to surround me. I figured I'd clean them up first so I can enter the portal without any followers. So, I decided to first polymorph into something really powerful. Scrolling through the list vanquished foes, I thought I found the perfect form: Living Frost. All of my equipment falls to the ground. Living Frost's don't have any inventory slots. No problem, I'll just random poly until I'm in a form that does. I quickly clean up the pesky creatures with my frost attack, ignoring their puny attempts to damage me (resist physical damage is nice). Now it is just me and the portal. Time to poly into something with a ring slot. I zap the wand. "You shudder." I then realize the horrible truth. In addition to all of the super-cool intrinsics, like resist physical, resist cold, etc, Living Frosts also have unchanging. My new form is permanent. Life as a Living Frost gets old quick. First, they are not smart. So walking into doors doesn't open them - you have to use the Open command. Even worse, they are so weak that they can't even open doors in this manner! I had to quaff my supply of mana potions to get enough magic points to be able to cast Knock to make my way forward. Still, not one to give up, I soldier on. Surrounded most of the time, I slowly bash my way forward. My only weakness is fire so I run at the sight of fire elementals. Eventually, I get to level 25 and come face to face with Beezlbub! He casts fireball. I die. Let this be a lesson to other adventurers. Some forms are not as good as others! |
| ||
Those who have become accustomed to the iconic red, black, and white
look of this website may be dismayed to see these recent changes.
Before you complain, please consult your optic nerve, as it has been
sending me angry emails for years now.
It is always a dangerous thing playing around with one's website change. While maintaining The Actively Developing Roguelike List I get a semi-monthly look at all too many end-stage websites. All too often the final message from a roguelike author is: "I hope you like the website's new look!" However, I have confidence in confidence and confidence in me, so I shall charge ahead and change the website, thumbing my nose at fate. |
| ||
Late last week I noticed that I didn't receive an external email. I
found out about it when another person replied and CCed me. I thought
it was some weird mail bug issue. Today, I noticed that in a mailing
list I am on I was only getting one half of the conversation. Some
research provided the answer.
It seems that upstream from my mail machine Spam Assassin was installed. This was done year(s?) ago and left me with a blissfully clean email feed. Unfortunately, I never bothered to check the spam basket to monitor its progress, naively treating it as a black box. Any AI researcher will tell you that the hardest thing in setting up learning sets is avoiding the system finding some trivial solution to the problem. Every complex problem has a simple and obvious solution that is wrong, after al. In this case, miscategorized real messages slowly polluted the learning set until the system decided ALL email was spam. One would think I'd notice this immediately. Unfortunately, the system does have white lists that cover 99% of my normal email, so it was largely business as usual with just some strange hiccups. So, why is this in the POWDER news section? The contact address I give is routed through this system. Which means if you emailed me and I didn't reply it is likely because it was eaten by Spam Assassin. Please re-send any such email. I am now dutifully reading the spam box to rescue any messages. |
| ||
Well, I'm off to San Diego for SIGGRAPH '07 on Sunday. This will
delay the 088 update, which might be a good thing as I'm reworking the
tile management system so likely should take some time to do it right.
Any also at Siggraph are welcome to send me a message. My schedule is rather hectic, but I can always find time for POWDER players. |
| ||
It's been a while since my last personal ascension post. I am glad to
point out that I was again beaten to a 086 ascension.
Elias Erkamo playing as Jindoo, and LoveLover playing as Jorge both won 085. LoveLover saw Ponpon ascend in 086. Soon after we saw Mark Ehlke lead his self-named avatar to victory in that version. Enough of the glory of other's - time for some personal vindication over He Who Cannot Be Spelled Properly. (I understand that the big B completed a powerful ritual to protect him from magic by ensuring any spells directed his way would be misfired. Sadly, it merely ensured that it is inevitable that we mispell his name.) This was a very fun game that I continued to play even after 087 was released because I was doing very well. I dressed as a proper wizard quite early, and even had a choice of artifact shoes to wear! I cleaned out Belweir's library, fully explored Quizar's secrets, defeated all of H'ruth's foes, and saved Klaskov's village from an orcish onslaught. After all this, a certain named demon proved little issues. My most valuable spell for the end game was Blizzard - more for its effect on terrain than on enemies, however. I ended up well loved by Klaskov, Belweir, and Quizar - the first two being my chosen gods as I balanced HP with MP.
The silver sword Relattrey was an early find and used almost all the game. Its dual fire/shock resist are essential for magicians that want to use fireball/lightning bolt with impunity. Artifacts found were:
Time: 4 hours, 4 minutes, and 24 seconds AC: 12 Intrinsics: Fast, Fire Resist, Shock Resist, Acid Resist, Poison Resist, Position Fixed, Regeneration, Reflective, Invisible, See Invisible, Dressed as a Wizard. Skills: Dodge, Evade Trap, Endure Hunger, Helmets, Body Armour, Cloth, Medium Weapon, Ranged Weapon, Edged Weapon, Pointed Weapon. Spells: Sticky Flames, Chilling Touch, Living Frost, Blizzard, Fire Ball, Sunfire, Heal, Cure Poison, Major Heal, Light, Force Bolt, Force Wall, Dig, Rolling Boulder, Knock, Preserve, Magic Map, Teleport, Identify, Detect Curse, Direct Wind, Petrify. 687 Creatures Killed (including 32 Living Frosts :>)
|
| ||
I am very pleased that the rate of ascension posts exceeded my rate of
updating this site! A flurry of successful combatants told their
tales of conquest.
First, we had Farlight who won 084 with Esikil, a rogue fighter. Then we had LoveLover take the first announced victory in 085 with George the Babarian (an odd description as his magic level matched his physical level). Finally, we say Invain succeed with the self-named Invain pure fighter, again in 085. To keep this post manageable, I'm not including the usual quote of the victory post - go to rec.games.roguelike.misc to read it yourself! |
| ||
I've been working on these for a while. Extremely limited edition
POWDER cartridges have been produced!
Before you inquire, only two such cartridges have been made and both have been delivered to their intended audiences. If you want one of your own, all you need is a label printer, a steady hand for cutting, and this image. |
| ||
I am very pleased to announce that the seventh ascension post to
rec.games.roguelike.misc has been made!
Beefhaze (or is that 833fh423?) successfully won 083 and posted of his achievement on rgra. The following is his post: First: Thank you, Jeff Lait, for creating my favorite roguelike and favorite GBA game. You, sir, rock! |
| ||
I managed to write another roguelike in 168 hours! Woohoo!
While my life is a lot hectic than last year, it still took me a few weeks to actually post the announcement here :> Don't worry, POWDER is still being worked on. Check it out at: http://www.zincland.com/7drl/savescummer |
| ||
According to my records, this marks four years since I first touched
main.cpp in my POWDER baseline!
I've slipped from 10 releases a year down to 8 releases a year. I think means I am still at three years of development left to get to the magical 100. It seems that the only constant is the number of years left to get to 100! The observant will notice that this was posted long after Jan 22nd as I missed the exact anniversary. The beauty of the internet is that one can timestamp one's own posts. I'm quite happy with 080 to have initial support for the DS. My long term plans for POWDER remain focused on the GBA, but I would like to have some support for the cooler features of the DS. |
| ||
I am very pleased to announce that the sixth ascension post to
rec.games.roguelike.misc has been made!
Bill, posting as hotpoo, successfully won 078 and posted of his achievement on rgra. This is the second ascension posted by him - the previous was just over one year ago with version 070. My failure to post my own ascension shames me. I had a character that was doing very well as a necromancer, but then I encountered the dreaded late-game-crash bug and lost him. So, for any players that have encountered this, know well that I am suffering too and going over the relevant code with a fine toothed comb searching for the error. The following is his post: It's bee a while since I played... since 071 judging by what was on my laptop. Your laundry list of changes seems to be balancing out nicely (the regen nerf and the "boost" from lich and kobold mage corpses are both excellent balance adjustments). I especially like the highly informative "Zinc" message. :-Î÷Îñ I'll have to reload the new and improved version on my GBA now (as I lost everything on it due to a catastrophic memory failure). |
| ||
I am very pleased to announce that the fifth ascension post to
rec.games.roguelike.misc has been made!
Jorge successfully won 078 and posted of his achievement on rgra. Once again, a player has beaten me to the ascension in a release! The following is his post: Yeah!! i've been playing the game since its 073 release (078 by now) and i got my first ascension today!my character called Rey, a fighter since he always has been disciple of klaskov had not a really hard time until dungeon level 24 (he was polymorphed into an iron golem in level 15 and returned normal shape in 24). the hill orcs were problematic at first but i found a way to next level taking care of them with 2 fire and 3 ice wands.Baezl'bub was near the ladder so i had not big problem to find him and i killed him with my 2 ice wands left. my way out the dungen was just a little problematic on floor 23 where i had left some kobold assassins alive, i made my way out of there polymorphing into a bat and leaving the items i had equiped there (ouch! my sweet artfacts!). |
| ||
Today I managed to become a devout follower of Pax. After a few levels
following the prinicple of Peace, I learned the covetted Resurrection spell. I
soon had a pair of Yellow Dragons. I named them Bob and Dan.
Pet Yellow Dragons are very powerful. Especially when one has an artifact that grants Breathless so one doesn't have to fear their acidic breath. After a few levels playing with them, I received a message that I always knew was possible, but had never managed to trigger in a game: Bob the yellow dragon is stronger. Bob had killed enough foes to gain a level! Now let us see if I can keep Bob alive to the surface world. |
| ||
Despite the bugs in 073, I managed a win. Apologies for the lack of a bug
fix update - I, as demonstrated by the multiple months it has taken to
merely post this ascension news, have been busy. At least you can rest
assured that I have been playing the buggy version almost daily for those
intervening months. My high score table is getting increasingly hard to get
on, so I think it is definitely time for an update :>
On to the exciting details! I spent this game largely polymorphed into a Lich. I even gained numerous levels as a Lich.
Artifacts found were:
|
| ||
Well, I'm in Boston for SIGGRAPH '06 tonight. This means updates are delayed, but you kind of expect that by now. Anyone in Siggraph is welcome to send me message. |
| ||
Finally managed to win in a new version! Has it really been a year since my
last ascension post?
I picked up the necromantic arts early and practiced them well. I had a lot of fun with Bind Soul, and ascended with several preserved corpses in my backpack ready for the right scenario. The new final levels worked well - having invisibility made them considerably easier, however. So did turning the worst of the enemies to my side.
Time: 3 hours 17 minutes and 54 seconds. AC: 13 Intrinsics: Fast, Quick, Fire Resistance, Acid Resistance, Position Fixed, Regeneration, Invisible, Telepathic. Skills: Dodge, Moving Target, Evade Trap, Endure Hunger, Dual Wield, Shield, Small Weapon, Medium Weapon, Ranged Weapon, Edged Weapon, Blunt Weapon. Spells: Sticky Flames, Magic Missile, Spark, Fireball, Regenerate, Force Bolt, Preserve, Teleport, Identify, Detect Curse, Poison Item, Poison Bolt, Raise Undead, Ghastify, Bind Soul. 580 Creatures Killed |
| ||
The artifacts in POWDER are all randomly generated. In theory, this should
result in meaningless, boring, artifacts. In practice, I often find that
the human mind's ability to ascribe meaning to any pattern results in cool
artifact choices.
My recent 070 game is no exception. First, it was very impressive how I kept finding artifact warhammers. But, consider these well designed artifacts: The holy +2 warhammer Relatfrost: This artifact grants light radius 2 and does extra 2d1+1 light damage. Only makes sense a warhammer of light damages foes with light. The -2 plate mail Frostamy: This artifact grants life saved, armour 7. This started as a -3 platemail - again, I could see a story behind the life-save spell being tied to the poor defences. The plate mail Bazrelat: This artifact grants cold resistance, aflame, armour 9. I like this one. The platemail is on fire, doing fire damage every round to you if you can't resist. However, with logic, it thus grants you resistance to cold attacks! Of course, not all artifacts are so well designed. I have my usual token artifact scroll of remove curse Whizrelatrelat (grants warning), the somewhat useful -1 mithril chainmail Zubfrost (grants freedom - you can't get that outside of artifacts!), and my warhammer that makes specializing in warhammers sensible: The +3 warhammer Whizklay, grants fast, does a bonus 2d5+1 death damage! Sadly, with the new release, this character is going to be left on dungeon level 20 as I try out the new version's features... |
| ||
I managed to write another roguelike in 168 hours! Woohoo!
This is despite being in a rather hectic stage of my life. How hectic? Well, it's taken me a few weeks to actually announce my completion here :> Don't worry, POWDER is still being worked on. Check it out at: http://www.zincland.com/7drl/letterhunt |
| ||
According to my records, this marks three years since I first touched
main.cpp in my POWDER baseline!
I've slipped slightly from a release a month to approximately 10 releases a year. This means I still have three years of development left to get to the magical 100. In other news, I am very happy that I am still actively working on this project after three years! In part, that's because I'm still actively playing POWDER on a near daily basis. It is also, however, no doubt due to the numerous emails I get from people who have enjoyed the game. I always have said that if the only person who likes POWDER is myself, I will consider it a success. Considering the fresh downloads I see with every version release, POWDER's success has exceeded my demands a hundred-fold. |
| ||
I am very pleased to announce that the fourth ascension post to
rec.games.roguelike.misc has been made!
Bill, posting under "hotpoo", successfully won 070 and posted of his achievement on rgra. Once again, a player has beaten me to the ascension in a release! It was close - I just grew overconfident with my last Wizard. The following is his post: Ascension in 070 |
| ||
As you likely noticed, POWDER development has been at a standstill for
the last month. You have NaNoWriMo to blame:
http://www.nanowrimo.org/
The good news is that November is over and I have successfully written 50,000 words, earning me the bragging rights of claiming to be a novelist. With free time once again available, I finished off what I had done on 070's release. The most exciting update is the new graphical ascii tiles that Kelly Bailey put together. |
| ||
Thanks to Lou Rinaldi who alerted me that Computer Games magazine has
a mention of POWDER in print!
While the online site, http://www.cgonline.com/, does not show the link, I had a contact in the states (Thanks George!) acquire a copy of the September issue. Sure enough, there is a bright orange side bar titled "Homebrew Hack-and-Slash" which features a screenshot from POWDER! The screenshot is using the Adam Bolt tileset, which was adapted for POWDER by Zak. The following is an excerpt of what they had to say about POWDER: Powder (zincland.com/powder) is an original rogue-like with an offbeat sense of humour. Various 16x16 tile-sets are supported, and the controls, while a little cumbersome, map as well as one could hope for given the GBA's dearth of buttons. The article also mentions Donnie Russel's work with AGB Rogue and more recent attempts with Angband and Nethack for the DS. |
| ||
This was a long battle. I followed the Principle of Pax from very
early in the game thanks to a spellbook of Heal. In good time I
acquired Resurrect and got my first pet, Snow the White Dragon. White
dragons make good pets if you have cold resistance.
I started off with a lucky amulet of life saving. It turned out to be the only amulet I found the entire game. And, it turned out to have been very lucky, as I used it before ascending. Snow sadly perished breathing the acidic fumes of a yellow dragon. My next pet came from a named Lich, Porqual. Porqual ended up well armed:
The ring of shock resistance was a good idea as my mirror shield wouldl have otherwise led to Porqual's unfortunate suicide. Deeper in the dungeon I coerced a hill orc to join my party. Fred the Hill Orc was outfitted with:
Finally, there was me. Needless to say I kept all the choice bits of equipment:
The ring of see invisible is because Porqual's special power was innate invisibility. Helps to know where your pets are. Unfortunately, when I got to the water levels, Porqual could no longer keep up. Further, I realized that Fred refused to pathfind over water when chasing me. Not willing to let them go, I turned them both into statues and carted them with me. When facing Baez'lbub I destoned Fred and let him fight one-on-one. Fred did quite well, despite Slugshock's special attack being negated. Nonetheless, he did fall in the end, leaving me to deal with Baazl'bub myself. Porqual I kept in statue form until I got back to level 1 where I brought him back to come to the surface world with me. I wonder what the villagers will think of me taking a tame named lich out of the dungeons? At least since she's invisible, I don't have to worry about them running in fright. Time: 5 hours 16 minutes and 4 seconds. AC: 20 Intrinsics: Stone Resistance, Fire Resitance, Poison Resistance, Position Fixed, Regeneration, Reflection, See Invisible, Telepathy, Jump. Skills: Helmet, Shield, Body, Boots, Ranged, Edged, Pointed, Medium, Parrying. Spells: Magic Missile, Spark, Lightning Bolt, Regeneration, Slow Poison, Heal, Cure Poison, Major Heal, Resurrect, Force Bolt, Dig, Create Pit, Entomb, Teleport, Identify, Detect Curse, Petrify, Raise Undead. 748 Creatures Killed |
| ||
Woohoo! Managed to ascend before anyone else!
This was one of my more abusive games... Early on, I got myself poisoned and at 2 hit points. Fortunately, I had ided a wand of poly, so polyed myself. Of course, my base type stayed poisoned, so every time the poly would expire I'd have to quickly reapply it until I finally found a cure poison potion. Then, later on, I got myself to 2 hitpoint and on fire. Again, polymorph to the rescue. Of course, I then learn that while the fire may wear off on your new type, it stays active on your base type! (See, I suffer with bugs too!) Undaunted, I try on my amulets hoping for a Life Saving or similar. Of course, I score a cursed amulet of strangulation. I continue to drain my poly wand until I turn into an Iron Golem, which don't mind not being able to breathe. I had ided an amulet of unchanging, so I decided that I might as well play an Iron Golem. It turned out to be ><0|V| who finally sanctified my water, allowing me to remove the offending amulet and put on unchanging. Iron Golems rock. The down side is never gaining another level. The upside is having 25 skill and 20 spell slots to play with! I heavily abused my polymorph wands to try and stock up on most of the spells. Of course, the RNG didn't leave me unscathed. I didn't find a single staff of utility, spellbook of utility, or wand of digging. The stairs for Baezl'bub were, of course in an unconnected segment of the dungeon. Thankfully, I did have a staff of destruction. A quick cast of Sunfire later, and the offending walls were reduced to lava. Artifacts found were:
Time: 2 hours 21 minutes and 42 seconds. base 7, 2 current, 4, 42 current! AC: 24 Intrinsics: Fast, Unchanging, Shock Resistance, Position Fixed, Invisible, See Invisible, Warning, Breathless. Skills: Dodge, Search, Evade Trap, Dual Wield, Helmet, Shield, Body, Boots, Cloth, Leather, Iron, Exotic, Medium Weapon, Edged Weapon, Blunt Weapon, Pointed Weapon, Parrying. Spells: Sticky Flames, Magic Missile, Chilling Touch, Frost Bolt, Fire Ball, Lightning Bolt, Acid Splash, Heal, Cure Poison, Major Heal, Light, Knock, Magic Map, Identify, Direct Wind, Poison Item, Poison Bolt, Raise Undead, Ghastify, Bind Soul, Summon Imp. Equipment: 534 Creatures Killed |
| ||
I am very pleased to announce that the third ascension post to
rec.games.roguelike.misc has been made!
Andrew Walker successfully won 064 and posted of his achievement on rgra. Once again, a player has beaten me to the ascension in a release! I still haven't won 064 myself. It took him 18,844 turns to retrieve the heart and escape to the surface world. The following is his post: I am Walker the steve the stalker |
| ||
I managed to write a roguelike in 168 hours! Woohoo!
Check it out at: http://www.zincland.com/7drl/liveonce |
| ||
I am very pleased to announce that the second ascension post to
rec.games.roguelike.misc has been made!
Igor D. WonderLlama successfully won 063 and posted of his achievement on rgra. As an added bonus, he did this before I managed to beat 063 myself! It took him 21,235 turns to retrieve the heart and escape to the surface world. The following is his post: I won with my first character in 063 after never getting past floor 5 in 062. |
| ||
I am very pleased to announce that this first ascnesion post to
rec.games.roguelike.misc has been made!
Lauri Vallo is immortalized as the first person to have won POWDER and properly followed the end-game instructions! It took him 23,935 turns to retrieve the heart and escape to the surface world. The following is his post: POWDER 062 Victory post, score 6361 |
| ||
This game I was mostly a disciple of Pax. I used the resurrect spell
a couple of times, but all of my pets ended up dead sooner than later.
My Orc was the most disappointing. My Blue Dragon definitely worked
the best. A pet that flies makes later levels a lot easier.
I spent most of the game desperately searching for spell books. I kept getting skill books. The one wand of polymorph I found was recharged frequently to try to fill out my spell list. Artifacts found were:
Melee: 1d4 (Cold) I got this from a kobold fighter lair. It was a tough nest of kobolds to deal with - they seem to have stock piled wands of cold. Thankfully I had my mirror shield by that point. This was my prize from the Cretan Minotaur! A rip off, if you ask me. (It wasn't even holy to begin with - it was Pax that did that) Time: 3 hours, 32 minutes, 42 seconds. AC: 17 Intrinsics: Fire Resistance, Poison Resistance, Position Fixed, Teleport Control, Regeneration, Reflective, Warning, Walk on Water. Skills: Dodge, Cloth, Leather, Exotic, Medium Weapon, Ranged Weapon, Edged Weapon, Blunt Weapon. Spells: Sticky Flames, Magic Missile, Spark, Lightning Bolt, Regenerate, Slow Poison, Heal, Cure Poison, Major Heal, Resurrect, Light, Force Bolt, Dig, Entomb, Teleport, Direct Wind, Petrify, Poison Item. Equipment: 638 Creatures Killed |
| ||
According to my records, this marks two years since I first touched
main.cpp in my POWDER baseline!
Development, as measured by release numbers, has slowed over the last year. My prediction (made after release 020) that I'd hit 100 by November 2004 has been proven woefully wrong. At the current rate of about a release a month, I have over three years left! Let's see what excuse I make for myself in 2007. |
| ||
In this game, I atoned for my previous ill-treatment of Quizar. After
too long a time polymorphed into a Shitomi (being barely able to open
doors is annoying!), I found some nice artifact studded leather
armour. I knew then I'd dress as a ranger and be a devout follower of
Quizar.
Sure enough, I ascended with 1645 points in Quizar's favour! (You'll note I didn't pick Quizar for most of my level ups though - those were mostly either Klaskov (Fighter) or Belweir (Wizard)) Found another buffer overrun. Do not dip named studded leather gorgets into acid! At least until 062. Artifacts found were:
I found this early, and it chose my path as a Ranger. Melee: 1d8 (Acid) I wanted to rename this dagger "Water Elemental Killer". Time: 3 hours, 3 minutes, 51 seconds. AC: 13 Intrinsics: Cold Resistance, Shock Resistance, Acid Resistance, Poison Resistance, Position Fixed, Teleport Control, Walk on Water, Dressed as a Ranger. Skills: Dodge, Helmet, Shield, Body, Cloth, Leather, Medium Weapon, Large Weapon, Ranged Weapon, Pointed Weapon. Spells: Sticky Flames, Magic Missile, Chilling Touch, Spark, Frost Bolt, Fire Ball, Lightning Bolt, Regenerate, Heal, Cure Poison, Major Heal, Light, Force Bolt, Dig, Entomb, Teleport, Petrify, Summon Imp. Equipment: 596 Creatures Killed |
| ||
Good news is that I ascended in 060. Bad news is that I encountered
game crashing bug whilst fighting Baezl'bub. I have not yet
determined if it always happens with him, or it was an artifact of how
long the game had lasted.
Fortunately, after having it crash after four or five fights with him, I managed to kill him and retrieve the heart without corrupting the game state. Having Jump, Water Walk, and Fire Resist at the same time makes the trip back much faster. This ascension was practically godless. I picked Adventurer on most level ups. I once tried Tlosh and foolishly cast Heal while following him. Ouch! By the end, only Klaskov liked me, and Quizar had hatred score at 624! I'm only listing the non-base portion of artifact damage. Artifacts found were:
Melee: 1d6+2 (death) I got this artifact early, thus the high enchantment on it. Time: 2 hours, 54 minutes, 22 seconds. AC: 15 Intrinsics: Fast, Fire Resistance, Shock Resistance, Poison Resistance, Position Fixed, Teleport Control, Regeneration, Reflective, Warning, Jump. Skills: Dodge, Helmet, Shield, Body, Boots, Medium Weapon, Large Weapon, Ranged Weapon, Edged Weapon, Pointed Weapon. Spells: Magic Missile, Spark, Lightning Bolt, Acid Splash, Heal, Cure Poison, Major Heal. Equipment: 522 Creatures Killed |
| ||
This game got luck with a Staff of Death that was ironshod. I used it
for the rest of the game as my main weapon. I also abused Bind Soul
to create many varied pets to great effect. I had several good
Clerics going earlier who all died in horrible ways around level 20.
It was a nice change to go for pure evil. I ended up still hated by
everyone but Belweir and Klaskov because I didn't hesitate to indulge
in Heal.
I ascended with a statue of Bob the skeleton, which was the Cretan Minotaur turned into a skeleton. Never found the spell book I needed to bring him back to life :< An artifact scroll I found got destroyed by an acid splash, and the guarantees artifacts of both the troll room and the minotaur room were potions that got thrown at me :> The first artifact was the Leather Cap Shockwere which actually was quite useful for the light radius. The Torch Froodyslug was found on the ground by the stairs on level 30. Right beside a couple of angry Water Elementals. They suddenly seemed a lot less threatening. Artifacts found were:
Time: 2 hours, 53 minutes, 37 seconds. AC: 13 Intrinsics: Fast, Fire Resistance, Acid Resistance, Poison Resistance, Position Fixed, Regeneration, Reflective, Warning, Telepathic, Breathless. Skills: Dodge, Search, Small Weapon, Medium Weapon, Large Weapon, Ranged Weapon. Spells: Magic Missile, Spark, Lightning Bolt, Acid Splash, Mind Acid, Heal, Cure Poison, Light, Knock, Teleport, Direct Wind, Finger Of Death, Poison Item, Poison Bolt, Raise Undead, Ghastify, Bind Soul, Summon Imp, Cloud Kill. Equipment: 538 Creatures Killed |
| ||
This marks another prime release. You know what that means. A time to
record some meaningless statistics about POWDER.
POWDER now lies between ADOM 0.6.3 and 0.7.0 according to lines of code. You'll note some categories have actually decreased. Especially Spellbooks as the method of learning magic has changed a lot since 031. Data Brag: Code Brag: (LOC = Lines of Code) |
| ||
It was revealed to me that the old splicebmp program had stopped
working. It seems that when I added a new colour to the palette that
the reference image changed slightly.
I've updated the reference image and you can get the new splicer here (53k). Happy splicing! |
| ||
Played this game as an almost pure wizard. Only a couple of levels of
Fighter to round out my health. Ironically, I found extremely few
spellbooks, and had to rely almost entirely on my god-given spells.
My artifact list here is incomplete. I found a lot of potion artifacts which I ended up using in desperation. I also found a very sweet artifact long sword. It gave 2d3+3 shock damage and it gave the breathless intrinsic! I lost it to a dipping bug, unfortunately. Artifacts found were:
Time: 2 hours, 31 minutes, 6 seconds AC: 14 Intrinsics: Quick, Fire Resistance, Shock Resistance, Poison Resistance, Position Fixed, Regeneration, Reflection, Vulnerable to Cold, Invisible, See Invisible, Warning, Telepathic, Freedom, Walk on Water. Skills: Dodge, Evade Traps, Armour. Spells: Sticky Flames, Magic Missile, Chilling Touch, Frost Bolt, Fire Ball, Heal, Cure Poison, Major Heal, Resurrect, Light, Force Bolt, Dig, Entomb, Knock, Magic Map, Teleport, Identify, Petrify, Poison Item. Equipment: 488 Creatures Killed |
| ||
Started off this game with a tome of divination. I thus lit up the
first few levels of the dungeon and ended up in Belweir's good books.
This let me go up in Wizard levels very early. Played the first two
thirds of the game with a max health of 36. This makes a lot of
things more interesting.
An early ring of regeneration was essential for getting away with low initial health. I had wondered how the reduced creature in-fighting would affect the game. The answer is that it makes the end game much harder. The ten cavern levels at the end were very tough - I ended up using Blink extensively to get through them quickly. Even then, a glance at the turn count shows that it took me a while. The return to the surface would have been much harder had I not found a nifty exploit that lets me carry Baezl'bub's heart to the surface without suffering from the Position Fixed intrinsic. I may put off fixing this exploit until someone else abuses it :> The reduced total kill count is due to creatures not killing each other as often. This also means it is a better count of how many people I personally slew. Artifacts found were:
Time: 3 hours, 27 minuts, 1 second AC: 21 Intrinsics: Fast, Fire Resistance, Cold Resistance, Acid Resistance, Poison Resistance, Position Fixed, Regeneration, Reflection, Warning, Life Saved. Skills: Dodge, Armour, Shield, Body Armour, Edged Weapon, Pointed Weapon. Spells: Sticky Flames, Magic Missile, Spark, Fire Ball, Flamestrike, Lightning Bolt, Sunfire, Heal, Cure Poison, Major Heal, Light, Force Bolt, Dig, Entomb, Knock, Magic Map, Teleport, Direct Wind, Petrify. Equipment: 682 Creatures Killed |
| ||
Well, I'm off to Los Angeles for SIGGRAPH '04 tomorrow. This means there won't be any update anytime soon. Of course, with the way my schedule has slipped into a more bi-weekly to monthly level, you may not notice a difference :> |
| ||
Lots of useful early artifacts this game, which made my ascension kit
rather non standard.
Started off as a barbarian, and then betrayed Hruth for Tlosh until I could switch over to Belweir, to whom I remained true to the end. I really like the new Qix levels, but that might be just because they are new. Artifacts found were:
Time: 2 hours, 6 minutes, 33 seconds AC: 14 Intrinsics: Fast, Fire Resistance, Acid Resistance, Poison Resistance, Position Fixed, Regeneration, Vulnerable to Silver, Vulnerable to Acid, Warning, Walk on Water. Skills: Dodge, Evade Traps, Natural Armour, Medium Weapon, Large Weapon, Edged Weapon, Blunt Weapon. Spells: Sticky Flames, Magic Missile, Chilling Touch, Spark, Frost Bolt, Fire Ball, Flamestrike, Lightning Bolt, Heal, Major Heal, Light, Force Bolt, Dig, Entomb, Knock, Magic Map, Identify, Petrify. Equipment: 944 Creatures Killed |
| ||
Played as an almost pure Wizard. Found many books of necromancy and
books of armour, which was frustrating as I only found a single wand
of polymorph, which only had one charge. Thus, I didn't have much
choice in my skill or spell selection.
I was dressed as a wizard until I decided to use the cool artifact boots (which came *this* close to saving my life) However, I was not smart enough to swap out my robe when it was no longer required by the dress code. The Cretan Minotaur was cooked with numerous fireballs. Baezl'bub met his doom at the point of my artifact spear Bazamyamy. I didn't use that spear until the final fight, previuosly I had used the short sword Slugbar, as unchanging is a very useful intrinsic. That poor short sword was disliked by various deities: I had enchanted it twice, but it still ended up with -1 enchantment at the end. Artifacts found were:
Time: 2 hours, 49 minutes, 11 seconds AC: 15 Intrinsics: Quick, Shock Resistance, Acid Resistance, Position Fixed, Regeneration, Reflection, See Invisible, Life Saved, Sleep Ressitance. Skills: Evade Traps, Armour, Helmet, Shield, Boots, Small Weapon, Large Weapon, Ranged Weapon. Spells: Sticky Flames, Magic Missile, Chilling Touch, Spark, Frost Bolt, Fire Ball, Heal, Cure Poison, Light, Force Bolt, Dig, Teleport, Poison Item. Equipment: Creatures Vanquished: 7 green dragons, 15 white dragons, 14 red dragons, 16 blue dragons, 11 yellow dragons, 8 cockatrices, 14 daemons, 9 ice daemons, Baezl'bub, Cretan Minotaur, 21 tridudes, 25 fire beetles, 23 ice snakes, 20 green snakes, 33 fire snakes, 32 mice, 35 rats, 37 giant rats, 42 grid bugs, 8 shitomis, 21 luxes, 13 purple slugs, 35 brown slugs, 2 death slugs, 25 floating eyes, 7 gelatinous cubes, 23 scorpions, 28 cave spiders, 8 giant spiders, 19 kiwis, 27 bats, 10 large bats, 23 vampire bats, 14 invisible stalkers, 22 giant frogs, 32 skeletons, 14 zombies, 16 ghasts, 8 liches, 28 imps, 22 kobolds, 15 kobold mages, 12 kobold fighters, 37 trolls, 7 cave trolls, 15 lizardmen, 10 turtloids, 4 large turtloids, 15 orcs, 7 hill orcs, 25 headlesses, 21 chameleons, 4 earth elementals, an air elemental, 2 water elementals, 5 flesh golems.
|
| ||
The random artifact generator can throw out some interesting things.
One recent case:
The Evil Helm of Blinders Worklaybrask It's a good thing that silver-fearing creatures don't yet take damage from wearing or wielding silver items, or this would have a nice double-whammy effect. |
| ||
A new approach to spells! I had grown increasingly annoyed with my
implementation of spells. The one-spell-per-spellbook meant I needed
lots of spellbooks. The time out on spells from spellbooks meant as a
player I didn't want spells from spellbooks, I only wanted them from
gods. This led me to go straight to Belweir and ignore spellbooks
entirely. A not very happy situation.
My solution is to move in a Crawl-like direction. Each spellbook (and now skill books, as skills work the same as spells) still has a fixed number of charges. This is the number of times you can learn a spell from it. The book will have several spells to choose from, however. Each spell so learned is learned permamently, there is no need to refresh your memory. The catch is that you only have so many spell slots (one more than your magic level), so you must make some choices. Each spell only costs one slot. However, as the mention of skill trees implies, some spells have prerequisites which means that if you only wanted that spell, it would take a minimum number of slots. I'm looking forward to seeing how this will play out. Hopefully I can balance it out for the 050 release, as we all know that is an important arbitrary milestone. |
| ||
So, why a Windows port?
I've been thinking about this for some time. One thing that has been painful has been debugging. The problems are two fold. First, I haven't bothered to figure out how to get a good debugger hooked up to the emulator, so debugging has involved reverse look ups of assembly code. Secondly, the Gameboy Advance is *very* lenient about certain bad practices. Reading from null pointers, for example, pass without mention. The more platforms you port to, the stabler you will be. You will get the union of all the compiler warnings, for example. The next issue is that playing POWDER in an emulator is annoying. You are forced to use the GBAs meager selection of buttons, despite an entire keyboard being before you. This is a very light weight port. As I want to have the same behaviour on the different platforms where possible, I haven't done anything crazy like pull off the message queues into a seperate window. I have managed to get the different keyboard input in place, however. And ensure the program doesn't poll continuously like it does on the GBA. My primary platform remains the Gameboy Advance, so do not expect any more Windows specific features. You may safely expect a Linux port of some sort after I get my CVS repository working again. |
| ||
As my starting equipment was a couple of weapons, I decided to play as
a pure barbarian. Lots of hack-and-slash fun ensued. Going without
magic was less difficult than I expected. The early find of a ring of
regeneration likely helped, but I fond Tlosh, H'ruth, and Klaskov all
eager to heal me.
Artifacts found were:
Time: 1 hours, 39 minutes, 43 seconds AC: 22 Intrinsics: Fast, Cold Resistance, Acid Resistance, Poison Resistance, Position Fixed, Regeneration, Reflection, Search, Vulnerable to Silver, Telepathic. Skills: Natural Armour Spells: None. Equipment: Creatures Vanquished: 7 green dragons, 8 white dragons, 12 red dragons, 13 blue dragons, 8 yellow dragons, 9 cockatrices, 9 daemons, 8 ice daemons, Baezl'bub, 15 tridudes, 25 fire beetles, 19 ice snakes, 19 green snakes, 26 fire snakes, 32 mice, 29 rats, 35 giant rats, 25 grid bugs, 9 shitomis, 30 luxes, 21 purple slugs, 22 brown slugs, 16 death slugs, 29 floating eyes, 11 gelatinous cubes, 16 scorpions, 19 cave spiders, 10 giant spiders, 13 kiwi, 29 bats, 30 large bats, 10 vampire bats, 12 invisible stalkers, 21 giant frogs, 31 skeletons, 23 zombies, 19 ghasts, 8 liches, 16 imps, 19 kobolds, 14 kobold mages, 11 kobold fighters, 28 trolls, 21 cave trolls, 20 lizardmen, 7 turtleoids, 4 large turloids, 10 orcs, 12 hill orcs, 14 headlesses, 13 chameleon, 5 earth elementals, 3 air elementals, a fire elemental, 5 water elementals, 9 flesh golems, 6 stone golems a iron golem. |
| ||
Woohoo! Random artifacts are fun! In retrospect, making absolutely
any item type have a chance of being a randart wasn't such a great
idea. The evil wand of nothing Wereworwere was cute. But, finding
THREE artifact corpses was a bit extreme :>
Ascension this time was due to a lucky pair of artifact boots. They granted the never before available (and still only available via artifact) intrinsic Freedom. Since I haven't yet nerfed ghasts, this was the only reason why this character didn't get perma-paralysed by a ghast. My favorite artifact, however, was the evil scroll of enchant weapon Froodyamywang. This granted Unchanging by being in my inventory, so freed up an amulet slot right away! Artifacts found were:
Time: 2 hours, 52 minutes, 38 seconds AC: 18 Intrinsics: Unchanging, Fire Resistance, Acid Resistance, Position Fixed, Reflection, Telepathic, Life Saved, Freedom, Walk on Water Skills: Dodge, Armour Spells: Magic Missile, Frost Bolt, Lightning Bolt, Chain Lightning, Sunfire, Heal, Cure Poison, Major Heal, Knock, Teleport, Petrify, Raise Skeletons, Summon Imp, Cloud Kill Equipment: Creatures Vanquished: 16 green dragons, 19 white dragons, 26 red dragons, 21 blue dragons, 18 yellow dragons, 29 cockatrices, 21 daemons, 30 ice daemons, Baezl'bub, 38 tridudes, 46 fire beetles, 44 ice snakes, 39 green snakes, 37 fire snakes, 47 mice, 35 rats, 43 giant rats, 42 grid bugs, 27 shitomis, 52 luxes, 36 purple slugs, 43 brown slugs, 19 death slugs, 41 floating eyes, 20 gelatinous cubes, 37 scorpions, 37 cave spiders, 30 giant spiders, 36 kiwi, 33 bats, 28 large bats, 27 vampire bats, 22 invisible stalkers, 33 giant frogs, 49 skeletons, 39 zombies, 23 ghasts, 23 liches, 35 imps, 33 kobolds, 26 kobold mages, 13 kobold fighters, 45 trolls, 18 cave trolls, 22 lizardmen, 27 headless, 35 chameleon, 7 earth elementals, 3 air elementals, 8 water elementals, 18 flesh golems, 5 stone golems a stone golem. |
| ||
An early ring of invisability was well abused in this game. I was a
very happy camper when I got on the good side of Belweir and learned
Fireball!
Belweir showered me with gifts, and I ascended with two holy +3 staffs of destruction, +2 staff of death, and a holy +3 staff of healing. Time: 2 hours, 33 minutes, 45 seconds AC: 7 Intrinsics: Quick, Unchanging, Fire Resistance, Acid Resistance, Position Fixed, Regeneration, Reflection, Vulnerable to Silver, Invisible, Jump, Dressed as a Wizard Spells: Fireball, Sunfire, Regenerate, Slow Poison, Heal, Cure Poison, Major Heal, Resurrect, Light, Knock, Teleport, Direct Wind, Petrify, Raise Skeleton, Raise Zombie Equipment: Creatures Vanquished: 16 green dragons, 17 white dragons, 20 red dragons, 19 blue dragons, 11 yellow dragons, 28 cockatrice, 21 daemons, 20 ice daemons, Baezl'bub, 34 tridudes, 26 fire beetles, 29 ice snakes, 38 green snakes, 41 fire snakes, 33 mice, 32 rats, 33 giant rats, 46 grid bugs, 20 shitomi, 40 luxes, 29 purple slugs, 32 brown slugs, 19 death slugs, 30 floating eyes, 8 gelatinous cubes, 23 scorpions, 27 cave spiders, 27 giant spiders, 31 kiwi, 27 bats, 40 large bats, 21 vampire bats, 21 invisible stalkers, 19 giant frogs, 28 skeletons, 47 zombies, 18 ghasts, 15 liches, 32 imps, 20 kobolds, 21 kobold mages, 34 trolls, 26 lizardmen, 21 headless, 37 chameleon, 4 earth elementals, a water elemental, 14 flesh golem, a stone golem. |
| ||
Much to my surprise, I recently learned that POWDER has become
recognized by Google! Search for:
gba roguelike on Google and, at least at this moment, this webpage comes up as the top hit! |
| ||
As evidenced by the speed boots on this winner, the speed changes of
036 made them finally worthwhile. My favorite food was Bats, which
granted me the covetted Quick intrinsic to suplement my Fast from the
boots.
Time: 2 hours 31 minutes, 57 seconds. AC 19 Intrinsics: Fast, Quick, Fire Resistance, Cold Resistance, Position Fixed, Reflection, Life Saved Spells: Sticky Flames, Magic Missile, Frost Bolt, Fire Ball, Lightning Bolt, Chain Lightning, Sunfire, Slow Poison, Heal, Cure Poison Equipment: Creatures Vanquished: 9 green dragons, 22 white dragons, 20 red dragons, 24 blue dragons, 24 cockatrices, 23 daemons, 10 ice daemons, Baezl'bub, 32 tridudes, 34 fire beetles, 32 ice snakes, 26 green snakes, 40 fire snakes, 30 mice, 41 rats, 31 giant rats, 21 grid bugs, 15 shitomis, 39 luxes, 24 purple slugs, 34 brown slugs, 12 death slugs, 28 floating eyes, 14 gelatinous cubes, 32 scorpions, 32 cave spiders, 16 giant spiders, 21 kiwis, 34 bats, 26 large bats, 25 vampire bats, 30 invisible stalkers, 26 giant frogs, 35 skeletons, 46 zombies, 28 ghasts, 18 liches, 22 imps, 27 kobolds, 25 kobold mages, 26 trolls, 25 lizardmen, 23 headlesses, 26 chameleons, 2 earth elementals, a water elemental, 6 flesh golems, 6 stone golems |
| ||
According to my records, this marks one year since I first touched
main.cpp in my POWDER baseline! POWDER has certainly developed a lot
from the early prototypes. As this also marks the Year of the Monkey,
I am somewhat tempted to add a Monkey as a MOB.
In honour of the one year anniversary, I'm also glad to announce that I think I have the splicebmp program working. This program allows you to edit the raw bitmaps that define POWDER's tiles. It then will splice the bitmaps into the ROM! You can get the splicer here (53k). You can get the ArtPack for 037 here (12k). |
| ||
This game I played a bit differently. I had poor luck with heal
magic, so ended up with Resurrect really early. I then pushed for
utility hoping for Petrify, but ended up with such excellent spells as
Direct Wind. Thankfully, stragetic spellbooks (two spellbooks of
Finger of Death!) gave me sufficient fire power for the end game.
I made no few pets this time. My first pet was a troll, which I had barely armed before I lost him while escaping from a cockatrice. My next was a White Dragon which did quite well. The white dragon got stoned a few times, but I had a spellbook of petrify so could remedy that. When he died, I replaced him soon after with yet another white dragon. Flying pets are pretty nice. I lost him just before the final battle. On the way back up I got a nice tame troll which ascended with me (no inclusion of pets on the ascension report, but he's off wandering the surface world with me, so it's there in spirit) Potions of enlightenment proved very useful in the end game. Smoke potions were used to effect a few escapes, but I wouldn't list them as necessary adventure gear just yet. Time: 2 hours 6 minutes and 8 seconds. Turns: 10,294 AC: 23 Intrinsics: Unchanging, Position Fixed, Regeneration, Reflection, Search, Telepathic Spells: Regenerate, Slow Poison, Heal, Cure Poison, Resurrect, Knock, Teleport, Identify, Direct Wind, Petrify Equipment: Creatures Vanquished: 10 green dragons, 36 white dragons, 13 red dragons, 21 blue dragons, 21 cockatrices, 16 daemons, 12 ice daemons, Baezl'bub, 32 tridudes, 36 fire beetles, 32 ice snakes, 31 green snakes, 35 fire snakes, 36 mice, 38 rats, 26 giant rats, 25 grid bugs, 16 shitomis, 33 luxes, 33 purple slugs, 48 brown slugs, 10 death slugs, 33 floating eyes, 11 gelatinous cubes, 19 scorpions, 22 cave spiders, 28 giant spiders, 33 kiwis, 49 bats, 34 large bats, 20 vampire bats, 16 invisible stalkers, 32 giant frogs, 29 skeletons, 30 zombies, 26 ghasts, 8 lichs (I think my pluralization is wrong here), 33 imps, 24 kobolds, 19 kobold mages, 33 trolls, 28 lizardmans (I thought I had fixed this?), 28 headlesses, 40 chameleons, an earth elemental, a water elemental (Finger of Death), 13 flesh golems, a stone golem |
| ||||||||||||||||||
There has been a long break in the ascension messages. I thought
there wouldn't be one with this version - the Cockatrice was proving
an exceptionally dangerous foe.
Fortunately, after losing many ascension ready characters to stoning, I realized I could poly-item my amulet of reflection. I was very lucky and the first poly yielded an amulet of unchanging! Later, I got an amulet of poison resist, so spent the game carefully toggling between the two. The observant would notice I ascended with Acid Resistance, thanks to a helpful slug. Time: 1 hour, 49 minutes, and 36 seconds AC: 16 Intrinsics
Equipment: |
| |||||||||||||||
I have been having a lot of fun with Polymorph this release. One game
I managed to play two thirds of it as a Kobold Mage. I managed to
retrieve the Heart as a Kobold, but lost my polystatus on the way up.
Then I lost my life.
This ascension was more straightforward. I tried using polymorph as an offensive weapon once. I was fighting two Flesh Golems, so decided to poly one so I would only have one powerful enemy to fight. Needless to say, its new form happened to be an Iron Golem. I have found the mouse a really fun monster. It adds some flavour to the game - thanks to 5parrow on rec.games.roguelike.nethack who suggested the movement algorithm. Final save game size: 20,066 bytes compressed, 90kb uncompressed. Time: 2 hours, 3 minutes, and 38 seconds AC: 20 Intrinsics:
Equipment: |
| ||
We are at another prime release, so it is another prime time to record
the current state of POWDER. Interestingly enough, ADOM published in
its TECHSTAT.DOC the word count of various versions of ADOM. POWDER
now lies between 0.3.0 and 0.4.0.
Data Brag: Code Brag: (LOC = Lines of Code) |
| |||||||||||||||
I was worried about play balance in this version. I had made major
changes. The dungeon was twice as deep, monsters only had 10% chance
of having an items, and items are now scattered on the ground. I also
removed the newbie bonus to XP, so early levels took a bit longer.
The good news is that things still play nicely. I seem to be close to my goal of one character level per dungeon level for the first five or so levels. The scattered items means exploration is rewarded over camping. The deeper dungeon lets you get a feel for the different room types rather than just giving a smorgasborg. This game was fun. An early ring of fire resistance meant fireball was a most fun spell to use. The staff of bolts was also acquired early, which meant I didn't have to worry about water. The utility staff was highly used for Light and Identify. The lack of poison curing worried me. I reached Green Dragon depths before I found the amulet of poison resistance. My random heal spells seemed to avoid cure/slow poison. Fortunately, I had a single spellbook of slow poison. And an identified amulet of unchanging. The amulet, due to laziness on my part, prevents any timed intrinsic from decaying. This means poison never times out, but the temporary resist poison from Slow Poison also never wears out. And temporary spellbook spells don't run out. I thought I had the perfect abuseable system, but then I realized a catch. If you get paralysed by a Ghast, that paralyzation would never run out! Ghasts were fireballed from a distance or teleported if they got close :> Eventually I lucked out with the Amulet of Poison Resistance and things got a lot easier. Baezl'bub was Finger of Deathed. Then resurrected. He promptly Major Healed and Regenerated, so it wasn't the insta-rekill that I hoped :> One key question is save game size. Despite the now 30 levels in memory, the final save game was 21,049 bytes of 93kb uncompressed. That's a 22% compression rate. The slightly better compression I attribute to the fewer items due to creatures no longer littering the dungeon. Time: 1 hour 50 minutes and 10 seconds AC: 19 Intrinsics:
Equipment: Inventory: |
| ||||||||||||||||||
Another fun victory. Thanks to the changed monster generation rate,
it is a lot easier to ascend. Also, Poison Resistance is no longer
mandatory as green dragons are much rarer. I only met a few green
dragons, and they were dealt with by judicious use of a Staff of
Curing.
The new necromancy spells proved fun. I didn't use Finger of Death on Baazl'bub (instead preferring to whack him with my +6 flaming sword), but I used Animate Zombie a lot. Indeed, as it always animates a hostile zombie currently, it was a fountain of XP. I played with Resurrection a few times. Most notably, I brought Baazl'bub back to life so I could kill him again. Then I raised his corpse as a zombie and killed that. This game was quite lucky with scrolls. I ended up with no shortage of identify or enchant weapon. I ascended with 3 enchant weapon scrolls I was too chicken to use. I should have kept my Unholy water to try to go for +7. The really good news is, thanks to my fix to my data compression, the final save game was 14,725 bytes, of 59kb uncompressed. That's a 24% compression rate, compared to 36% of the previous, 024, ascension. Time: 1 hour 25 minutes and 19 seconds AC: 20 Intrinsics:
Equipment: |
| ||||||||||||||||||
This proved a fun victory! I managed to take advantage of both the
fighter gear and the wizard gear. The fighter gear I used despite
having a mirror shield and no amulet of reflection. Also of interest
is the ascension with a "low grade" weapon, a short sword. With
enough bonuses, the weapon you use is less important.
I ided a ring of shock resistance from use, which proved very useful when coupled with wizard gear and being able to cast Lightning Bolt. Time: 1 hour 35 minutes 41 seconds. AC: 7 Intrinsics
Equipment: |
| ||||||||||||||||
At last! After having failed entirely to ascend under the 023
version, I had begun to despair the task of bringning Baezl'bub's
heart to the surface might be too difficulty. However, thanks in part
to the new super-Slow Poison spell, I got the heart to the surface and
got to wander around the surface world! Hurrah!
This ascension was made rather more difficult by a complete and utter absense of identify scrolls. Not a single scroll of identify or spell book of identify was found. I also had the chance to save the game pre-ascension and get an idea of the save game size. It weighed in at 20,345 bytes compressed, 54 kb uncompressed. I'm definitely hitting the edge of my memory availability here. Time: 1 hour 4 minutes 19 seconds. AC: 16
Intrinsics:
Equipment: |
| ||||||||||||||
This ascension took a bit longer than it might have needed to. I
found two books of Sunfire, so wanted to try out the spell. I was
quite lucky with gear this game. I got a ring of regeneration early.
I also found furlined boots & ring of fire resistance pretty early,
which made the daemons pretty easy.
The first Sunfire casting was in the Big Room, where I let myself get surrounded, and then called down a little surprise for the poor critters. Watching them all catch on fire and sink into the lava was good fun. I then put on my water walking boots and waltzed over their entombed bodies. The third casting was a special treat for Baazl'bub. Even though he is 2x2 tiles, he only got the light damage once, as the first blast blinded him. He's also fire resistant and can fly, so ignored the lava. What proved very useful, however, was the other annoying critters were kept at bay by the searing pools of lava, leaving Baazl'bub and myself to battle it out. Time: 1 hour, 5 minutes, and 20 seconds AC: 19 Intrinsics:
Equipment: |
| ||
On the way home on Tuesday I dropped my GBA. This normally isn't a
problem - I've done it lots of times. However, I was standing on a
flight of hard stairs in the subway. The GBA bounced sickenly most of
the way down. When I retrieved it, with the help of fellow commuters,
I found the LCD had been cracked.
The good news is the underlying hardware seems to still run just fine. Also, the light appears even, suggesting my Afterburner is still good. The other good news is that GBAs are commodity items, so I took this as a sign to try upgrading to the GBA SP. I picked up a nice Onyx GBA SP today. I must say the LCDs are MUCH higher quality on the SP. The dark brown for unexplored map, which I had planned on changing as it was black on my GBA, is quite easily distinguishable. That being said, I am leary of the ergonomics of the SP. I like the horizontal, robust, feel of the GBA. The SP feels flimsier and the buttons more cramped. For now I'm keeping the button layout the same, but I may end up swapping things to make POWDER play better on an SP. I wonder if Nintendo was far sighted enough to make a way to autodetect the SP vs GBA? Would be nice to not require an option to switch between layouts, or at least have it default properly. I think this means my target platform will be the GBA SP for the next while. |
| ||
This may have been a lot harder an ascension if I hadn't discovered by
accident that chain lightning takes no mana to cast :> As soon as I
had reflection, I abused this to no end. The second saving grace was
my Iron Torc of Poison Resist. The Green Dragons were still
surprisingly tough - I'm not sure how I'd fare without poison resist.
I finished Baez'lbub off with a single chain lightning. The spell took about 5 minutes to finish chain reacting though :> I did the river level the hard way - cast frost bolt to build a bridge across. A friendly white dragon made the job much easier, however. Time: 1 hour, 18 minutes, 29 seconds AC: 19 Intrinsics: Equipment: |
| ||
One fifth of the way there!
At least, by my self-proclaimed "Release 100" metric. Don't worry, I'll either not make it that far, or keep going well beyond there :> Three and a half months of public releases, and almost nine months of total development. (January 22nd, 2003, was the date I first editted main.cpp) With that in mind, I'm glad I can point out this is a hobby I work on in my spare time, as I don't have that much to show for nine months :> Releases started three and a half months ago, so at the current release rate we are looking at completion date of November 2004 :> |
| ||
Despite the lack of graphics for most of the high end dragons, I still
prevailed. It wasn't easy: with no reflection, no fire resistance,
and no amulets, I had a tough time. Judicious use of wands of digging
to run away accounts for this character living to defeat Baezl'bub.
Baezl'bub himself was mostly killed by a convient green dragon :>
Time: 1 hour, 8 minutes, 57 seconds AC: 17 Intrinsics: Equipment: |
| ||
The caverns did not prove to be too unbalancing. Definitely back on
the sane side of difficulty, but I did lose some high level characters
which suggests it is not a cake walk. Fireball is really an insane
spell in its current implementation. As soon as you get fire
resistance, it is a wonderful instant kill against mobs. Tried it
against Baezl'bub and ended up with a LARGE amount of spam from both
of us resisting it in turn :>
Time: 41 minutes, 34 seconds AC: 20 Intrinsics: Equipment: No amulets of life saving were found. I found lots of spellbooks (which I used to great effect) and many enchantment scrolls. Only one wand of digging was found, but that was enough to cut my ascension time down. |
| ||
Now that we have got to release 017 (A prime release if there ever was
one (Note: 002, 003, 005, 007, 011, 013 were also prime)) perhaps I
should record some of the current stats of Powder. Hopefully this
will allow for some more indication of a delta-change than the slowly
bloating .tar.gz size.
Data Brag: Code Brag: (LOC = Lines of Code) |
| ||
My last set of improvements definitely made the game more difficult.
The item redistribution means you don't ascend with a backpack full of
amulets of lifesaving and a guaranteed mirror shield, at least. And
the perma-poison? Just icing on the cake!
I actually managed to ascend, however, with the following stats: AC: 20 Intrinsics: Equipment: I didn't find any rings of shock resistance, fire resistance, nor mirror shields. This made the dragons very difficult. Baaz'lbub did not prove hard, however, thanks to judicious use of poison on my sword. |
| ||
While I never intend POWDER to be a hard game, it has certainly become
easier over the last few releases. Many new powers have been granted
to the user, with the mobs not gaining much difficulty. While it is
still extradorinarly lethal to the starting player, after one gets to
character level 4, you are unlikely to die before Baezl'bub.
One reason for this is the braindead AI I did as a place holder. One problem of my great future plan was that I intended to have each mob properly look at the creatures around it and determine its victim. This would be expensive, so has been postponed for release after release. I've decided to axe that and use a less realistic "Everyone hates the avatar" approach. This has the advantage of making the game somewhat more difficult as the monsters should swarm you. The monsters also are less likely to attack someone else trying to get to you, so it should be harder to pass one monster off on another. I am looking forward to playtesting this and seeing if it is any more balanced in the end game. |
| ||
Quite a bit to this build. Managed to play 012 enough to beat
Baezl'bub and see the nifty win screen! As a result, I should list my
new ascension kit status...
|
| ||
Well, I'm off to San Diego for SIGGRAPH '03 tomorrow. This means
there won't be any update anytime soon, likely not until a week into
August.
My current concern is the slow down in deep dungeon levels. This is due to the ray-delay code being run even if the ray is not visible, as the ray doesn't check LOS with the avatar. My plan is to calculate an FOV mask, like was suggested by the clever people of rec.games.roguelike.development. This should also reduce the map-refresh costs, and thus allow me to reduce still farther the sync problems when running through a dungeon. My current plan is to hide the FOV map entirely from the avatar code. It will still use hasLOS(x1, y1, x2, y2), but the hasLOS function will check to see if the x1, y1 is the current FOV location. If so, it can just use the FOV map rather than an LOS calculation. |
| ||
After a many year absense from usenet, I decided to start lurking in
rec.games.roguelike.development once more, as I am, after all,
actively developing a roguelike. Being the opinionated person I am,
lurking inevitably leads quickly to posting.
So, for those visitting from r.g.r.d, welcome! |
| ||
I have been aiming for a weekly release, which I have clearly missed
the last week. The cause of this is quite simple: last week I
acquried Star Wars Galaxies. Raph Koster has outdid himself and
developed an MMORPG which comes preinstalled with every 3rd party
program I'd want for it. Let's put it this way: When you want to
deliver some note for an NPC as part of a stupid quest:
Now that is what I call player friendly! Anyways, last weekend, instead of working on POWDER, I spent 30 hours playing a game whose addictive qualities are similar to another type of powder. Worry not, I have experience with these sort of games, so am currently rationing myself to eight hours a week. I should hopefully be able to keep updates coming, if a bit curtailed by having a new time sink. Along those lines, Bioware has the nerve to release an expansion to Neverwinter Nights that I simply must play, as has Blizzard to Warcraft II. |
| ||
Many people ask: "What is the best compression algorithm?" Or, "How
much could I compress this data?" The answer is not simple. The key
fact often overlooked, however, is that the more you know about the
data, the more you can compress it. While general purpose compressors
like gzip will easily beat any halfbaked homebrew attempt at
compression, they are not psychic. There are an infinite number of
different relationships that there could be in data, and for
information theoritical reasons, they cannot test them all and still
compress the data.
However, we can cheat. We know what the data should look like, and massage it ahead of time to present the traditional compressor with friendlier data. This sort of preprocessing can take VERY significantly increase the compressability of data. Consider a photograph. While the RGB values show no particular pattern to gzip, we know that for a high res photo, the values will change slowly from pixel to pixel. We could thus preprocess the image by saving the difference between each pixel and its left neighbour. This will change flat areas of the image to values near zero, with large values only on sharp edges. If you edge detect an image, you will see this process in action. Because the range of the data is now smaller (most pixels are -8 to 8, rather than 0 to 255), sending this processed image to gzip will result in a significantly better compression than the unprocessed image. What does all this have to do with POWDER? Well, with a 32k SRAM slot to save all your adventures in, one must be very parsinomous with memory. Uncompressed, each map is 2k, each creature 24 bytes, each item 14 bytes. With no creatures or items, this would limit you to 16 levels. Even in its currently small incarnation, you would likely be unable to save the game when you reach Baezl'bub. Thus, out comes the oracles! Each data element is preprocessed by xoring it with its initial state. A creature's health is xored against its maximum health (most creatures are at full health). An item's material against its default material type. And the map? The random number seed for the map is saved. When it comes time to save the map, the map is rebuilt, and each tile & flag is xorred against the rebuilt value. As a result of this, when anything is written to the SRAM, it will contain as many zeros as possible. The next line of defence is the SRAM buffer. Due to physical limitations of SRAM, it is not a good idea to write to it willy nilly. Thus, the SRAM writes are buffered in a 1k buffer. When that fills, it is compressed and the result sent to SRAM propper. Before compressing, however, we again check to see if any preprocessing would be beneficial. We scan the 1k block to see if xoring each byte with its previous, second previous, or fourth previous, would result in more zeros than leaving it alone. The type of preprocessing & compression (none, constant, zerotable, RLE) is saved as the first byte. Finally, the proper compression is run. None is the easiest to implement: 1k of raw data. Constant is the next easiest: 4 bytes that repeat for the entire 1k. ZeroTable is basically a fixed table huffman with zero encoded with one bit. It has the advantage over huffman that the zero table itself (128 bytes) can itself be compressed, allowing it to break huffman optimality in certain cases. RLE is run length encoding. I haven't got it to work yet, and due to the success of ZeroTable, likely never will. On another note, be warned that a new random number generator has been used, as the default rand() has no methods to get the actual seed. This means a serious risk that it could be flawed, and bad things happen. Consider this an offer to blame any problems on the RNG. |
| ||
With release 006 we see some cool new features, such as wands. This
version also boasts some preliminary playtesting, as I finished
implementing wands Sunday, so had a proto-build running today. I've
fixed a few egregarious bugs here, and hope I didn't introduce
anything new. I've been thinking of doing something to identify the
last well-tested release. Currently that would be 005, prior to it
002. I'd put this version on the easy side of the spectrum. Death
comes a bit too harsh at the start, but if you get past level 1 you
pretty much have an easy ride to Bae'zlbub.
Another thing with 006 is a rough stab at a license statement. It basically states that POWDER is free to play and copy, but I don't want people charging money for it, or claiming it as their own work. One specific thing is I do not want people doing wide scale distribution (ie, posting on their websites) without express permission from me. Such permission is easy to get, so just ask. |
| ||
Not much to this build, just trying to keep regular updates to drive
my development forward. I'm looking forward to stress testing the new
enchantment changes. I've been playing release 002 recently, having
not got 003 to my GBA. I'm about to burn this one, so if there are
game breaking bugs you'll see a patch quickly :>
I thought I'd point out my current ascension kit, mainly for posterity. This is the setup I want when I hit Bael'zbub...
I usually wander the dungeons with a ring of light rather than the fire resistance, as it greatly speeds up exploration. |
| ||
I finally got a CVS repository running on Ugh! Yay! This now means
my code is nicely revision controlled so I can back out the crazy
changes I make while too drunk to code coherently.
New release to go with this announcement, 003. Not quite up to my goal of weekly drops. I'm hitting more the Lethargic Lad weakly drop schedule. I am quite pleased with the current Baelz'bub quest - it takes me almost exactly my subway ride home to complete it from a fresh character. Balance seems remarkably good seeing as I just randomly chose values for everything :> Hopefully the new Giant Rat doesn't throw things off. |
| ||
When I set this up, I had some good idea why I wanted a seperate
release and news section. My theory was to update people about the
development in the news section, and use the release list for new
releases. However, it seems I am putting the release information in
the release section (which makes sense) and then having nothing of
note to say here.
That never stopped me from typing before. |
| ||
After spending many scores of hours developing POWDER for my own personal benefit, I have decided to make it available to those who might be interested. I have thus put some minimal documentation up, along with some insights into where I am planning on taking this project. I have also made my first release (001) available. By far not entirely balanced, but it is playable. Indeed, I play it daily on the commute to work. |