Monday, November 14, 2011

JADE 0.2.2 has been released!

Directly on the heels of yesterdays JADE 0.2.1 release (read those release notes - they have the major things) I am sad having to announce that JADE 0.2.2 has been released. Some last minute changes broke  the game experience in major ways and this needed immediate fixing. Talk about releasing early and often ;-(

The major bug fix is about corpse rotting: Too many message were generated and required a (more) prompt. As a consequence the game experience was completely ruined as soon as the first corpse started to rot.

This issue and a few others have been fixed - I highly recommend to upgrade ASAP. Here's the complete list of changes wrought upon the game engine this morning:

* Fixed a major bug with corpse rotting that caused a message to appear
  on every step (issue 587).
* Fixed a major problem with passage of time (time got distorted by a
  calculation error that was in the game since JADE 0.0.1 - amazing;
  another bugfix now made it visible).
* Removed a bit of debugging output that might have caused a slowdown in some places.
* Fixed the probability of orc corpses being generated (it still was 100%).
* Adjusted some other corpse generation probabilities.
* Fixed the handling of monsters following the PC which slowed down movement on the
  world map immensely (after the passage of time bug mentioned above was fixed).
* The display is now immediately updated when a corpse lying on the ground rots away.

How do I feel about it? Sad. Do I have a quality problem? I don't think so considering the amount of changes JADE got during 0.2.0 and 0.2.1 - development right now is quite fast and loose.

So let me know: Would you prefer to wait a bit longer (e.g. giving me a couple of days to just play the game) or don't you mind getting a somewhat buggy release? Not that I am considering to stay on this quality level but obviously working like a maniac in what little time I have has side effects ;-)

Hopefully now JADE 0.2.2 will prove to be a lot more stable and convenient to use. For the next couple of days I will refrain from adding major new things and wait for incoming bug reports as I want to have a stabilized base before we proceed with the next cool features.


  1. Take the time to test the game before passing it off to us. If, in your own words, the game experience can be "ruined" as a result of poor testing, then there's no point in releasing early.

  2. I disagree with Gamer_2k4. We're your community, and your beta testers as such. At least I don't mind trying out a buggy game, finding a bug and then sending feedback. More people you have trying the game, the more bugs you can fish and fix. The rotting thing is quite obvious to spot fast, but who knows how many little bugs are there, to be found by lots of player trying stupid things :)

  3. I think it's sensible to release early and let the public find the bugs for you. Even if you played it for a week solid you'd still find fewer bugs than we will in a single night.

    You've got a limited amount of time you can invest in JADE. It seems like a waste for you to spend too much time checking for bugs when there are plenty of us who are more than happy to do it for you.

    I think the majority of people who play JADE understand the nature of the beast. We know that with new features will come new bugs. So long as you continue to respond to these bugs quickly then I can't see anyone getting too upset.

    Perhaps you could cover yourself by calling the (inevitably buggy) feature release betas.

  4. Absolutely give us buggy releases.

    What's the point of having a release early, release often schedule if not to allow your fans to participate in the creation of the masterpiece through play-testing? :-)

  5. "Would you prefer to wait a bit longer (e.g. giving me a couple of days to just play the game) or don't you mind getting a somewhat buggy release?"

    Without any doubt...


    I'm impatient, and when I read you talking about the new features it's hard to wait, I prefer to see them in a buggy state rather than to wait :)

    Furthermore, if the bugs in a release are just too much, we have the older download links to go back to previous releases.

    I think a balanced solution would be to mark the new, untested releases as unstable; and only mark them as stable when you see that people are playing and don't complain too much. That way, impatient people like me will download the unstable releases, and more calm people like Gamer_2k4 will get the stable ones.

  6. i vote for buggy releases. this potentially even brings closer the fixed ones. cos more people test stuff than just the author.
    i reckon if someone doesn't want to experience such bugs they can just wait a day or two after every release before trying it. i usually do that myself if i am not actively helping to test stuff.

  7. Whilst I'm loving the fast releases I can't help but think you should at least quickly run the game to check your implemented feature works as intended. I'm not talking extensive playtesting (that's the job of the players) but a quick 10 minute run to check for any glaring bugs before release. Remember that there may be bugs we don't even notice - things not working that we're not aware you've implemented and so on. The community can't be relied on 100% to ensure the game you're designing is actually coming out properly.

  8. @Darren: Believe me, I did that. But take the corpse example: It seems that during those 10 minutes I either ate all the corpses I found before they were able to rot or didn't find enough. The bug is glaringly obvious but permutational complexity often causes one to look for the wrong symptoms and miss others by doing so ;-) (e.g. during my last test games I was testing the various ways in which corpse generatoion can be implemented internally and all these ways might affect eating badly... so eating so far seems to be stable but I missed the rotting part ;-) ).

    I'm right now considering to do a kind of "nightly build" release that can be played under the assumption that it might ba arbitrarily buggy ;-)

  9. That's the problem with bugs - they are cunning, sneaky creatures that pop up where you least expect them and mischievously hide when you try to root them out...

    Nightly build would be cool, with the understanding that's it's bound to be unstable and buggy. The other big open source roguelikes that are still in development have the latest build always publicly accessible like that, and it helps a lot in getting bugs caught before a major release. Only the diehard fans play it of course, but hey, what are die hard fans for? ;)

  10. Another +1 for "buggy releases". One should obviously test whether a new feature works as intended, but with a complicated game there are bound to be feature interactions one doesn't think about. Trying to predict these yourself becomes nothing but a wasteful (and frustrating!) time sink after some point.

    If you want to feel safe, maybe put up a note that a new version should be considered "beta" until it is about a week old, so bug reports had a chance to come in?

  11. I'd say 0.9.0 is where you start extensively polishing individual releases. Before that, if one day's release is buggy and the next day's has the fix, everything's fine in alpha land!


  12. Release early and often. Finding bugs is mostly the playerbase's job, and I don't think anyone can validly complain about a ruined game experience when we're basically still in the alpha stage. If Jade 0.8.4 had a bug like this, yes we could complain, but at this point everyone knows you're working at breakneck speed. And we like that!

  13. I got some strange security warning from Microsoft Security Essentials when I launched Jade. Here's a link with more info

  14. You seem to be going really hard on yourself for missing a bug or two. Don't worry about it! I don't think there is a lot of use in you beta testing yourself for longer - as you said, through bad luck, it's just possible that you'll miss game breaking bugs anyway.

    I think it's fair that as you get closer to Jade 1.0.0, it's worthwhile doing more and more beta testing first, because the audience will be much bigger. Meanwhile, at the moment, most of the people following your progress are hardcore ADOM fans who have played ADOM files for hours before losing everything to a single stupid mistake. No one here minds that you missed that bug, now that 0.2.2 is out they've probably already forgotten!

    So if that's all the major bugs out the way, time to start on 0.3.0?!

  15. One more vote for 'nightly builds'.

  16. This comment has been removed by the author.

  17. Yet another vote for often, buggy releases. The developer should spend his time developing - let us find and report the bugs. And as said above - don't beat yourself up about bugs. Development should be fun. It's an alpha, nobody with an ounce of experience in testing or development expects anything to work as it should!

  18. Just to defend myself a little (as I see not a single person agrees with me), my career is as a software tester. In school and in my work, I've been told time and time again, "find bugs so the customer doesn't." I wouldn't release a product that I haven't thoroughly tested, so my first thought is to say, "find bugs yourself and release a robust product to your users."

    Of course, this situation is a little bit different than the one I'm used to. JADE is clearly in development, not a finished product, and as early adopters, we do have to take the bad with the good. Therefore, I'm changing my answer to "release early, release often."

    Woo, unanimity!

  19. I say release early and often, but at least test each new feature one time. To take a case in point, in ADOM 1.1.1, there are talents which, when chosen at the beginning of the game, immediately cause a crash. You can't blame that one on permutational complexity-- it's evident that you never attempted to choose those talents even one time.

  20. I can stand risking the odd bug on occasion. If I really want to play it, and the last release is broken, there's always the one before...

  21. Test it a little first for 1 main reason:

    If you release very broken builds someone new to JADE might stumble on one of these builds and never play the game again,.

  22. Someone new to JADE should as well know the game is incomplete and won't be complete for a while still.

    I vote for frequent releases (although personally I have no time to play :\ ).

    @Silfir, alpha is usually the internal testing, beta the public.

  23. I am a developer myself, so I would like to release often and early. You must combine this with an easy-to-go way to switch back to the last stable release, though. Something that a user can actually do, like a small GUI which automatically switches to a chosen version with executing diff-files invisibly to the user. That is just my style, though. I feel from reading about what you have to say about ADOM and JADE for some time now and I feel that you are probably more the traditional type of developer. So I think, if you really feel more comfortable with a bigger release time, then take it. Nothing is worse for the project, then you having no fun developing it. How should it get finished in that kind of fashion?