Showing posts with label unbrogue. Show all posts
Showing posts with label unbrogue. Show all posts

Sunday, 13 July 2014

UnBrogue postmortem: part 2

It has been over a year since my last UnBrogue post-mortem article, which just goes to show how much time I have spent developing this Brogue variant, which is to say, virtually none.

However, Brogue itself has had two version releases since I last finished the game, and a number of design changes have either vindicated or echoed decisions I made in UnBrogue, so I thought it worth documenting the similarities. I'm not going to be able to draw many conclusions from these, other than 'I told you so' and there's plenty of things in UnBrogue that are not in or intended to be in Brogue, but which I'd like to see preserved and playable at some future date.

The most obvious one in Brogue is that armour now affects your stealth. This was one of the original reasons for creating UnBrogue, however Pender incorporated a significant rewrite of the stealth mechanism for the Brogue release whereas I merely added a stealth modifier for different armour types. I've not played enough Brogue 1.7.4 to know how the stealth mechanics differ, but the effect was significant enough in UnBrogue that in plate armour you'd effectively end up fighting all the monsters on a level near the stairs you entered through. I'd like to think I was somewhat influential here in making a case for linking armour with stealth, although this is harder a revolutionary idea.

The second is that the dagger now has a higher backstab multiplier than other weapons - although a fixed amount in Brogue, whereas it is enchantment dependent in UnBrogue. Again, hardly a revolutionary idea, but it was one that I was criticised for by some long term Brogue players, so I had a small moment of satisfaction in seeing this in the release notes for 1.7.4.

The third is that immunities and slays now include categories of monsters rather than individual monster types. Again, Pender differed significantly here in that the categories of slaying and immunity are far broader than the ones I chose, although there are some of the same choices (jelly immunity in both versions). I'm less willing to claim any influence here, because I believe Pender already had intended to do this.

The fourth is one of the new puzzle rooms is similar in theory to a number of the puzzle rooms in UnBrogue. Again, this is because I built it from the same elements already present in Pender's game - and Pender would have noted direct inspiration in the source code.

The fifth is the addition of further weapon types. The designs are radically different (and much more inspired on Pender's behalf), and the flail is likely influenced by games like Hoplite, but it was clear that there was a need for more variety, and what I've played of the whip is especially fun.

As for UnBrogue, I'd like to fix up the last remaining bugs and release a full 1.1.7 rather than the release candidate it has been stuck at for 2 days less than a full year; however the bugs I've introduced were pretty resistant to being fixed (I can't duplicate the wand/staff crash bug) and it is likely to be some time before this will happen.

And the attraction of working on UnBrogue has weakened far faster and further than UnAngband. I think there's several reasons for this. Firstly, as noted above, a big part of the initial reasons for UnBrogue have been incorporated into the main game, even though UnBrogue has gone a lot further than just these initial changes. Secondly, Brogue has diverged in a number of systemic ways that it would probably require that I start reimplementing UnBrogue from scratch on the new code base. Thirdly, Brogue has fallen into this unusual space for me, game play wise. After playing the likes of 868-Hack and Hoplite, Brogue feels in many ways both too big a game: the early decisions are spaced 'too far apart' rather than being turn by turn, and I now find myself on autopilot through the first few levels which inevitably gets me killed on level 4 or 5. Whereas Brogue doesn't have enough strategic headroom to be a truly sprawling game that I can lose myself in (like Unangband).

That's not to say that I don't think Brogue is an amazing game. And I also would like to preserve some of the crazy ideas that UnBrogue has, to continue as a variant of Brogue moving forward. But between child rearing, starting work on Unangband again, and my other current obsessions (like play testing the 3rd edition of High Frontier), I don't see a time or a place in the short term for a new UnBrogue release.

PS: I've updated the Rogue Basin UnBrogue page and added a page on the Brogue wikia to include the links to the latest UnBrogue downloads if you are still interested in playing the game. I think it is well worth it, and I've spent a huge amount of satisfying time adding stuff. I'm especially proud of all the new puzzle room designs I was able to come up with.

Monday, 10 June 2013

UnBrogue postmortem

This isn't an actual postmortem, because I've not finished with UnBrogue, but the 1.1 series of releases is coming towards a natural conclusion (with soon to be released 1.1.6 - assuming there are no further bugs requiring fixing that I can resolve in this branch) and I suspect there'll be a significant break between the 1.0/1.1 releases and 1.2 releases for reasons to be discussed.

UnBrogue started as a personal variant where I added and changed a few things that were annoying me, and then grew enough legs that it became worthwhile releasing for the 2012 Annual Roguelike Release Party (and which I deliberately kept under the radar prior to then). The main focus of the earliest release were about making plate armour and staffs of lightning bolts less of a no-brainer choice, making ogres more useful allies, and trying to increase the viability of a stealth game which I thought had potential but due to a dearth of rings of stealth in games I had been playing was something I hadn't experienced.

At a more meta level, I was curious to see whether I could incorporate some of the ideas I had been playing around after having played and fallen in love with the Binding of Isaac, a game which is particular "content-wide" in the sense that you will only encounter a small vertical slice of the possible content in the game in any one play through. Brogue has some of that width, but I wanted to see how much further and in what directions I could push it and still have a robust and interesting game.

What went right

1. Choosing a great game and code base to base it on.

Brogue is a great game of ideas to play around with, and a beautiful code base to write with. This ensured that when it came to development I was generally working at the coal face of working on new designs and ideas rather than having to worry about the back end framework. This is especially important for roguelikes which have a large number of complex systems with robust and interesting interactions; and in a hobbyist area where motivation is always a challenge, you want to maximise the amount of time you spend doing interesting things.

2. Not limiting myself to ideas that I could argue be reintroduced to the main game

This meant I could quite happily go and break the beauty of the code in search of new ideas. There is some pretty ugly additions to the code (Talismans of the Sinister Hand being the worst offence here), but I could quite happily add lots of stuff without worrying that I was adding a second (or third) set of flags to a particular data type, or that the elegance of the code was being diminished by bolting on a new way of doing things.

3. Spears and war pike redesign

The entire 1.0 branch pretty much failed to change the flavour of the game because while I added a lot of stuff, you only rarely encountered it (talismans) or found it useful (shields) - the changes to armour impact on stealth and enchantment impact on sneak attacks notwithstanding. Whereas, redesigning how spears and war pikes worked immediately made 1.1 much more interesting because you had a frequently occurring mechanic which worked significantly differently from the Brogue baseline. They were (and still are if you are on 1.1.3) a significant source of bugs, but the idea (which had to be modified prior to implementation because the original plan matched what Pender did with rapiers) is sound, makes sense as a game mechanic, and contrasts with the way other weapons work. The mace and warhammer changes helped here too.

4. Honouring the implementation of the Discoveries screen while changing the intent

The implicit contract in Brogue is that you are always given enough information as a first time player to be able to make intelligent decisions from a turn to turn basis. The Discoveries screen is a great example of this: you are told ahead of time what all the items could possibly be, which you can use as a source of making educated guesses about what specific item you're carrying. UnBrogue breaks this contract: there are staffs, wands and potions which are deliberately withheld from this screen, as well as whole classes of items (tomes, elixirs) which don't appear on it. But none of the items which are hidden from this screen can be both a) randomly found in the game and b) harmful to you (allies are fair game) except where c) staffs/wands of summoning which as a class are listed on the Discoveries screen, but which list of monsters can be summoned by these items is hidden information. Brogue went on to weaken this contract in the 1.7.x release with charms which are not listed on the Discoveries screen, but are always identified; of course, weapons and armor, and runics were never listed previously and could only be enumerated through repeat play.

5. The crafting system

I'm incredibly happy with the crafting implementation in UnBrogue which I have designed in such a way that it is possible to play 95% of games without even knowing it exists. Crafting ingredients are always useful items in themselves, because the ingredients are (almost) always other items: potions, scrolls and so on; and the method of combining them is as logical as I could make it. There are three methods of crafting in UnBrogue: a) fixed crafting locations which allow you to combine two existing items to make a new one, b) certain talismans which are only rarely available and c) potions of Winds. The crafting system also forced me to add lots of items: the vast majority of which are incredibly interesting in their own right because of the way Brogue's systems have been designed, while allowing these items to exist behind the wall of item placement - because they are not randomly placed, I could add as many as I want freely, while leaking them into the game in a process I hope feels like peeling back the torn edge of the wall paper to find a hidden treasury. I've changed this approach slightly in 1.1.4 and later, so that the majority of these items can be randomly generated, while reserving some as craft-only special creations. The only instances where the crafting locations require a non-functional ingredient allow me to use this non-functional ingredient as the bait in one of Brogue's machine rooms or one of the many rooms I added to support these.

6. Armor redesign and armor prefixes

While making stealth degrade as your armour improved made plate armour less of a no brainer, armour in UnBrogue was pretty flavourless and uninteresting, runics aside. This changed significantly in 1.1.4 in two ways: I redesigned the existing armour types to make them more distinct, including adding three leather armour variants, and dropping one intermediate armour type; and I added armour prefixes which gave various armour types new abilities which in many cases were just buffs or tweaks, or the equivalent of low strength runics but with drawbacks. I didn't want to overburden the armour identification mini-game, which is already the weakest of any identification routine, so I made armour prefixes obvious - this also meant I could add more flavour to them without affecting suspension of disbelief; and one of the leather armour variants, robes, is effectively automatically identified as being runic to make things even easier. Armour prefixes have been pretty much great from their initial introduction, bar one which is undergoing redesign, but the work I put into the leather armour variants was at risk of going to waste because so few games result in winners in leather. So I compensated by balancing them up by allowing scrolls of protect armour to buff them to the equivalent power level (give or take) of banded mail. This may have made every suit of armour too useful: but it is a risk I'm willing to take to make them more interesting.

7. Adding lots of the right stuff

1.1.4 seems to have hit the sweet spot for item generation so that there is sufficient variety for every single play through I've experienced: 1.1.6 is getting to a similar place for placement of machine rooms in the dungeon so there's enough variation from game to game (prior to this version, there's not enough different rooms early on). I'll just quickly enumerate how much stuff UnBrogue adds to the game: as of 1.1.6, I've added 12 autogenerators (flavoured blobs of terrain which gets added to the dungeon), 12 reward rooms and another 23 machine rooms (rooms which have puzzle type challenges in them) - I'm guessing all up roughly doubling the original figures, give or take, and this doesn't include modifications to 3 or 4 existing rooms - 12 monsters (of which only 2 appear as 'regular' monsters in the main game), 5 melee weapons, 9 missile weapons, 3 armours, 19 armour prefixes (new 'runic' type), 3 shields (new item category), 2 scrolls, 14 tomes (new item category), 5 potions, 21 elixirs (new item category), 7 wands or staffs of which staffs of summoning can summon 13 different monster types, 12 wand or staff runics (new runic type), 2 rings, 22 charms and 16 talismans. Having said that, other than talismans, autogenerators and reward and machine rooms, there's very little of which is truly original: I would say across all these items only marking, grappling and extinguishing darts, potions of Winds, staffs/wands of Nature, Telekinesis and Detonation and wand/staff runics bring new systems into play, and Nature and Detonation both riff on ideas which Pender originally introduced to Brogue (bloodwort plants and explosive mutations).

Next to UnAngband (where I added over 1000 monsters to vanilla Angband), these numbers pale into insignificance - but here they have far more impact. Even the humble potion of Water is incredibly useful - you can steal items from monsters, use it to make your escape or cover your scent, make a temporary bridge over lava, create a steam bath to kill something in; and more importantly, due to the finite constraint on resources that Brogue's core design entails, these actions can be life saving and even game winning. At the same time, items I added as an afterthought can become core to a play strategy: I recently almost ascended relying on a staff of Dead Man's Ear which creates a immobile and inactive monster which simply acts as a damage sponge, which more than doubled the combat capability of my single troll ally since it acted preferentially as a target while he engaged in melee (wiser players than I would have taken a direct path to the amulet of Yendor using my wand of Tunnelling instead of naively walking the long way around).

These successes are testament to the core Brogue design, but also the strengths of the roguelike genre: provided you play to those strengths as Joshua Day has written about previously. And it turns out that my central thesis: more variety is better appears to hold for the most part, even if the variety is 10 or more sets of 3 similar items with the same effect but with non-uniform activations. As it turns out, the most problematic parts of the game occur when I try to strike out further with new abilities, instead of tweak and iterate on existing systems.

And in the follow up article, I'll write about what went wrong and discuss in more detail some of the stuff I've implemented and hopefully come to some more robust conclusions.

Tuesday, 4 June 2013

UnBrogue 1.1.4 and 1.1.5 released

This isn't going to feel like much of an announcement unless you have OS/X, as there are serious problems affecting the Windows and Linux build of UnBrogue at the moment that are preventing it from being updated to the latest version. However, I've released 1.1.4 and 1.1.5 in relatively quick succession and you can download the OS/X build here. For full details on what's happening see this thread on the Brogue forums - the tldr is that I'm going to be porting UnBrogue to a newer off-trunk version of Brogue to hopefully fix the above issues, but this will be some time away.


Changes for 1.1.5
- Staffs of nature charge half as quickly.
- Rewrote spoiler free changes from Brogue.
- Vault keys are rarer but vault items are always better than those found randomly.
- Add two more machine rooms.
- Fix bug where partial armor did not have a strength requirement reduction.
- Fix description of royal purple armor.
- Fix bug where regular staff and wand workshops would require a challenge to access.
- Fix charms of duplication.
- Fix (and enable) 'too boring' Brogue summoning circle room by adding paralytic gas. Paralytic gas makes everything more interesting.

Changes for 1.1.4
- Increase variety of items which can be found in the game (as opposed to made).
- Add wands, staffs of telekinesis.
- Add potions, elixirs, charms of regeneration.
- Add armor and shields of repulsion.
- Upgraded charms of winds to be charms of respiration.
- Add scimitars and cleavers which have Brogue's stats for maces and war hammers, but 1 additional strength requirement and which continue to attack enemies either clockwise or counter clockwise, randomly chosen, from your target. These may be overpowered.
- Add sickles and war scythes which are quick and can also attack up to two enemies adjacent to both you and your target.
- Knight's shields allow you to choose the target of any reflected bolts. Tower shields also block slowing and negation bolts -- these do not damage the shield.
- Remove banded mail.
- Increased chain mail's protection and strength requirement (so that it now acts like Brogue's banded mail).
- Increased scale mail's protection while making it noisier (so that it now provides protection equivalent to Brogue's chain mail but with a lower strength requirement).
- Decreased plate mail strength requirement.
- Add robes which are always runic and allowed with all talismans, cloaks which have the best stealth of any armor (including no armor), and furs which have the lowest strength requirement.
- Fabrics and leather are reinforced by scrolls of protect armor so that cloaks, furs, robes, leather armor and scale mail gain +1 to +3 protection when first protected by these scrolls.
- Added various armor prefixes to further increase armor variety -- these prefixes are immediately visible.
- Darts and javelins gain +1 to +3 enchantment when first affected by a scroll of protect weapon.
- Thrown weapons are now degraded by acid. You are not warned before throwing at the moment. Stacks of thrown weapons will restack if you end up matching the enchantment level through acid damage. (Requested by thaumato)
- Combining items can help identify either the ingredients or the resulting item depending on the identification status of the product and output.
- Add two new talismans.
- Lamias are restricted to liquids but appear in groups.
- Precise runic does not apply to bolts which only affect one monster (Requested by tinyrodent).
- Tomes of summoning do not summon bloats (Reported by tinyrodent).
- Guaranteed good charm rooms don't contain throwable charms.
- Change spelling of sabre to American English saber to be consistent with other American English spelling.
- No longer take half damage on level 1 (From 1.7.2).
- Fix dart stacking bug (From 1.7.2).
- Fix bug where level divided by water would end up with an area filled with corridors.
- Fix bug where water trap could be generated too far away from a fountain.
- Fix bug where explosive blinking staffs would cause mysterious corpse explosions (Reported by tinyrodent).
- Fix description when enchanting a cursed item.
- Fix for tomes of slaying/immunity when applied to an already enchanted item.
- Fix bug where you could naturally regenerate while in debt.
- Fix bug where acid damaged shields could block infinite blows. (Reported by Jadeite)
- Fix bug where extinguishing gas would not put out burning flying monsters.
- Fix automatic identification of talismans, elixirs, tomes.
- Fix crash caused by trying to land an impaled blinking monster twice (Reported by tinyrodent).
- Fix tomes of teleportation.
- Fix instances where enchantment is inadvertently revealed when the rune is noticed on runic armor.
- Fix backstabbing with a heavy weapon could cause zero or negative damage, and calculate fractional backstab multipliers correctly.
- Fix damage multipliers from rapier, saber lunging, spear, pike impaling so they don't get sneak attack bonus, dual wield penalty if these don't apply.

Sunday, 17 March 2013

UnBrogue 1.1.3 released

This version is intended to primarily be a bug fix release. I'm distributing through Dropbox as the Berlios backend required to upload releases is down at the moment - Windows, OS/X.


Known issues
- Monsters will not flee through water.

Changes for 1.1.3
- Rename 'stagger' to 'hit' in bolt damage description text (Requested by tinyrodent).
- Add combat message when a fire bolt is blocked by a shield.
- Armor of burden increases armor class by one for every two strength requirement increased.
- Armor of immolation increases immolation chance at +2 or higher enchantment.
- Add more toads to wand/staff of Toads.
- Added wands/staffs of Detonation.
- Adjust power curve of spiders created by Talisman of Spiders (Requested by ggoDeye).
- Add brief note about noise level of armor in description (Suggested by Creaphis).
- Allow charms to start with up to +3 enchantment.
- Cursed weapons, armor, shields, rings no longer generated in reward rooms (From 1.7.2).
- Staffs, rings, wands identified when you enter a reward room rather than when you pick the item up (From 1.7.2).
- Ensure bolts of slowing last at least two turns (so that the status effect applies and is visible for at least a turn).
- Add missing charm descriptions.
- Items affected by a talisman of rune mastery now display their full effects.
- Your allies cannot learn healing from Dar Priestesses.
- Fix to prevent fire bolts double hitting the last target they penetrate to (Reported by tinyrodent). 
- Fix crash when impaling a blinking monster (Reported by tinyrodent).
- Fix non-runic items appearing in runic reward rooms (Reported by tinyrodent).
- Fix force, cursed weapon descriptions.
- Fix cursed armor names.
- Fix bug where stolen items altar would detect everything on level (Reported by thaumato).
- Fix bug where shattering would always shatter reflective monsters.
- Fix bug where canceling using a staff when it had no charges would destroy it.
- Fix bug where canceling using a staff would use a charge and a turn.
- Fix bug where wearing another talisman when you couldn't remove a talisman due to your inventory load out would delete it.
- Fix bug where you could equip a talisman of [spoiler] while you are wearing cursed armor.
- Fix bug where multi-bolt items would use additional turns.
- Fix a variety of typos (reported by tinyrodent).
- Fix some rune descriptions (reported by tinyrodent).
- Fix negation not negating shields (reported by ggoDeye).
- Fix bug preventing obstruction being removed by tunneling.
- Fix staffs of tunneling not tunneling the correct number of grids.
- Fix scrolls of identifying not identifying all wands and staffs.
- Fix length of displayed path when targeting range limited wands.
- Fix elixir of light.

Saturday, 23 February 2013

UnBrogue 1.1.2 released

Further fixes. Windows, OS/X.

Known issues
- Monsters will not flee through water.

Changes for 1.1.2
- Ogre shields now less effective when weakened.
- Mandrakes will now follow you down stairs (Requested by tinyrodent).
- Improve some tome names to better distinguish what they do.
- Harpies are more common and always spawn in flocks.
- Made lamias slightly tougher in combat and freely move through deep water.
- Prevent talismans of witchcraft upgrading items which had already been discovered.
- Provide damaging forewarning and additional stage of obsidian collapsing into lava and prevent pathing across any stage of collapsing obsidian.
- Freshly created mandrakes take longer to sprout.
- Fix and rebalance talisman of dungeoneering.
- Fix crash impaling zombies. (Reported by requerant)
- Fix various crashes to do with item workshops that could result in item corruption.
- Fix phasing penetrating or reflecting bolts.
- Fix force bolts damaging enemies which didn't collide with anything.
- Fix mandrake bolts. (Reported by tinyrodent)
- Fix polymorphed dominated monsters resulting in perma-allegiance. (Reported by qlordz).
- Fix elixir of strength (Reported by ggoDeye).
- Fix recharge times on charm of protection (reported by ggoDeye).
- Fix a number of OOS errors when using charms and talismans (reported by ggoDeye).
- Fix a crash when escaping out of enchanting an item (reported by ggoDeye).
- Fix a bug where you could consume any item when applying a potion to darts.
- Fix bug where lamias could spawn embedded in walls.
- Fix another display bug when getting hit while shielded (reported by ggoDeye).
- Fix tome and elixir graphics being the wrong way around.
- Really fix potion and scroll experiments.

Thursday, 21 February 2013

UnBrogue 1.1.1 released

As discussed on the Brogue forums, this is a quick bug fix release. Nothing serious but lots of annoying bugs fixed. Windows, OS/X.

Changes for 1.1.1
- Spears, pikes get stained with the blood of any creature they kill by impaling.
- Significantly improve the feedback of identify, enchanting effects which apply to more than one item.
- Improve correctness of spear, pike impaling to try to fix out of sync errors, reports of crashing.
- Made permanent status effects actually permanent.
- Mark monsters as permanently negated only if they have underlying racial abilities/traits which can be negated.
- Make it clear what witch hazel does.
- Add a couple of reward room entrances (one from 1.7.1).
- Add monster tweaks from 1.7.1.
- Add some post-amulet monsters to try to spice up the deep a bit more.
- Improve description and appearance of obsidian walls (reported by tinyrodent).
- Flatten power curve of staff of protection.
- Fix problems with charms, talismans destroying items when using them.
- Fix blinking, pushed monsters failing to impale themselves on an extended spear or pike if they blink or are pushed through the grid.
- Fix various reward rooms not being impregnable (now using 1.7.1 code to prevent corner clipping).
- Fix potion and scroll experiments found throughout the dungeon.
- Fix protection display glitch and logic problems on getting damaged (Reported by Creaphis).
- Fix bug where half of all charms of protection had no recharge time (Reported by tinyrodent).
- Fix bug where you could not injure your allies using throwing weapons (Reported by ggoDeye).
- Fix bug preventing gambling from working.
- Fix occasional crypt weirdness/crash.
- Fix challenging staff/wand workshops and provide more information on construction rules.

Tuesday, 19 February 2013

Linux, seed scummer builds of 1.1 available

Joshua Day has made me a Linux build of UnBrogue which you can get here. And Patashu has tempted the fate of the RNG to give you a seed scummer version of UnBrogue 1.1 including a Windows compile, which you can get links to from the Brogue thread on UnBrogue.

UnBrogue 1.1 released

Many thanks to Marco Salamone and Harrison Kreimer for taking the time to test the pre-release versions of the 1.1 release. Windows, OS/X Linux (thanks to Joshua Day for compiling this and updating the Linux platform code).

Changes for 1.1
- Code base updated to Brogue 1.7.
- Some changes have been added from 1.7.1: Bloodworts, lunging with rapiers, weapons of Force, reflection is now negatable, improvement to low level charms of protection, moving around obstacles diagonally.
- The majority of Brogue 1.7.1 change will be included in the next major UnBrogue release (1.2); the diff between 1.7.0 and 1.7.1 is approximately twice that of 1.6.3 to 1.7.0, and a number of systems changed significantly (dungeon generation, monster AI) in ways that will require more time to port across.
- Unlike 1.7.1, statues cannot be moved around diagonally.
- Added sabres which attack all adjacent targets in regular combat and when lunging.
- Blinking with a rapier, sabre will perform a lunge while blinking if there is a monster in the path of the blink.
- Moving with a spear or pike extends the weapon into the next grid in the direction you are moving if it is unoccupied. Any monster entering this grid will be automatically hit for x3 times damage.
- Maces, hammers damage is halved but they knock back enemies they hit 2 grids, doing triple damage if the enemy is knocked into an obstruction.
- Talisman of madness bonus now only affects weapons and armour. (One does not simply walk into DL100).
- Spiders summoned by a talisman of spiders appear at the stairs on the current level and begin levelled up twice for each enchantment on the talisman; this does not allow them to learn new abilities.
- Fix potion of winds typo.
- Scrolls of duplication correctly duplicate keys.
- Scrolls, charms of shattering have a chance of shattering reflective monsters, based on proximity and shattering radius.
- Fix protection so that it really only lasts 20 turns.
- Golems are not tortured.
- Dragons attack all adjacent targets; horror attacks penetrate like a Brogue spear/pike.
- Armour AC is increased by 1 for all armors except leather, plate. Plate strength requirement increased by one.
- Imps, nagas, salamanders get flee near death flag.
- Nagas and salamanders rapidly heal when submerged (2 hp per turn).
- Nagas and salamanders hate each other and will always attack each other on sight, even if allied.
- Added 'h'arpies, 'l'amias and [spoiler]. Feedback on how unfair these monsters are is welcome.
- You take half damage falling into shallow water, bogs or dense foliage, or if the air below is filled with strong winds.
- Slays/immunities now apply to a group of similar monsters (dar slaying, jelly slaying) rather than individual monsters in some instances.
- Firebolt is piercing: left over damage is applied to the next monster in line of fire if the first is killed.
- Aggravate Monster temporarily aggravates all monsters in LOS: aggravated monsters attack instead of fleeing, flitting or keeping their distance.
- Throwing potions of fire immunity creates a fire extinguishing gas. Throwing potions of life creates a healing gas.
- Centaur and arrow turret attacks unaffected by negation. Dart and acid turrets are stripped of their special effects but can still attack from a distance if negated. Ogres do not lose their shields if negated.
- Captive and dominated monsters generated out of depth don't begin gaining experience until they reach their minimum depth.
- Removed rings of Accuracy, Wizardry and Alchemy.
- Added Transference as a ring again. Removed Transference runic.
- Excess hit points stolen with transference adds to protection.
- Thrown weapons are not destroyed when they hit a target, unless it is a dart or javelin with a special ability such as incendiary darts. To compensate they all appear in smaller stacks and you begin the game with only 3 darts. (Inspired by morphles' patch).
- Thrown spears and pikes penetrate through to a second target in the next grid along the aimed path; thrown axes, sabres hit all targets adjacent to the grid before the first target they would hit.
- Wand and staff types are combined, with each type randomly being a wand or staff from game to game, but a minimum of two wands and three staffs, one of which will be a direct damage staff (lightning, fire, poison, force).
- Wands/staffs of Force and Nature added. Force pushes monster backwards 1 grid per enchantment and damages them if they hit an obstruction: triple damage if the target is knocked into a wall. Nature stops and grows a plant if the bolt crosses consecutive three fertile grids of the same type - either observe what plants grow on what terrain in the dungeon, or experiment to see what you can grow - and nature wands grow wooden bridges over chasms.
- Added more monsters summoned by wands/staffs of summoning. Staffs of phantoms removed as invisible hard hitting enemies on level 1 was not fun.
- Added more talismans. Check 'D'iscoveries for names.
- Talismans now all significantly change how part of the game works so that the least interesting ones are those which require that you be hallucinating, poisoned or on fire.
- Added some new reward rooms for further mid and end game variety.
- Runic wands and staffs.

Tuesday, 2 October 2012

UnBrogue 1.0.5 released

Mac OSX + source. Windows + source.

This release fixes all outstanding issues and to do list items, however could do with a little bit more testing before being considered a stable release.

Changes for 1.0.5

- Prevent a player from killing themselves by wielding an enchanted weapon of Transference they lack the strength to use. (Reported by tinyrodent).
- Prevent sparks from [spoiler] causing slow down and visual bugs during playback.
- Correctly calculate shield gold value.
- Allow shields and talismans to be called something, instead of crashing. (Reported by tinyrodent).
- Potion of winds do not help other gases spread.
- Added 3 more machine rooms.
- Talismans generated as rewards will not be cursed (Requested by tinyrodent).
- Fix scroll of duplication messages.
- Prevent scrolls of duplication from duplicating themselves (Reported by multiple people).
- Prevent scrolls of enchantment from enchanting [spoiler].


Saturday, 29 September 2012

UnBrogue 1.0.4 released

OS X + source. Windows + source.

Changes for 1.0.4

- Wearing an uncursed but unknown item marks it as not cursed.
- Fix drop message when you drop one item from a stack. (Reported by tinyrodent).
- Remove debugging code which made one type of machine room far too frequent.
- Fix sparks so that they don't have a directional bias. (Reported by tinyrodent).
- Fix [spoiler] machines so that exits are not blocked.
- Fix crash caused by staff of reflection (Reported by autoquark).

To do list - some user interface clean up stuff:
- Sparks mess up recordings when emitted by [spoiler].
- Potion of duplication can duplicate itself. This is a UI bug/very slight exploit has a high(ish) risk fix.
- Talismans can be enchanted when [spoiler].

Unconfirmed, works fine for me and haven't been able to duplicate:
- Food isn't being created as frequently as possible, or regeneration is too slow.
Please drop a note in the comments if you see any other bugs or are experiencing either of the unconfirmed issues, as I'd love to get these fixed or confirmed as working fine.

Tuesday, 25 September 2012

First UnBrogue ascension

Congratulations to tinyrodent who successfully ascended with version 1.0.3.

Sunday, 23 September 2012

UnBrogue 1.0.3 released

UnBrogue 1.0.3 has been released. OS X + source, Windows + source. Let me know in the comments if you're able to compile a Linux version.

Changes for 1.0.3

- Add Talisman of Spiders.
- Fix healing so that Talisman of Shadows prevents your darkened state from being completely removed.
- Fix bug preventing talismans from being enchanted.
- Altered talisman relative frequencies to make the most useful talismans appear more often.
- Ensured every machine room has solution available on the same level.
- Added [spoiler] which can be manufactured with [spoiler].
- Add 3 machine rooms which use [spoiler].
- Lightning which hits a target standing in water causes the lightning bolt to ground: creating up to 6 sparks which randomly travel from the target to nearby conductive grids with the bolt damage divided between them. A conductive grid either contains water, metallic terrain such as iron manacles and chains or a monster (or the player) which is not flying or levitating, and sparks will travel through up to two non-conductive grids to get to a conductive grid.

Friday, 21 September 2012

UnBrogue 1.0.2 release candidate (OS X)

UnBrogue 1.0.2 Mac OS X version including source code can be downloaded here.

This is a release candidate for the next stable release. I've not had a chance to test it extensively, but given that it fixes a crash bug in 1.0.1 and earlier versions, at a risk of introducing new bugs I'm releasing this now for early adopters. Once I've had a chance to test for a couple of days, I'll either be making this the next stable version or releasing a 1.0.3.

Changes for 1.0.2

- Made [spoiler] dormant in [spoiler].
- Monsters summoned by staffs of summoning do not now provide experience if the staff is identified. (Exploit identified by Autoquark).
- If you left a level after [spoiler] and returned, visible [spoiler] were not updating correctly.
- Fix typo in ring of wizardry. (Reported by Autoquark).
- Fixed build in wall features within machines which require line of sight to origin so they can't be generated on the 'near' or concave walls without FOV going through interior of machine.
- Weapons of slaying will always hit the monsters they are vorpal towards and [spoiler] have a 100% chance to [spoiler]. (Requested by tinyrodent).
- [spoiler] does not make [spoiler] discordant. (Inspired by Autoquark and a bug in an earlier build).
- Allow [spoiler] to be enchanted. (Reported by Autoquark).
- Wind disperses other gases a lot faster.
- Fixed potion of water interactions with [spoiler].
- Added 3 platformer machine rooms to get much needed indie credibility.
- Fixed potions of (null), potions of crash appearing. (First reported by Dr Science, detailed analysis by Patashu).
- Fixed some machine puzzles which require line of sight between components other than to the origin. (Confirming with Pender whether this is worth upstreaming to brogue. It's a lot of code for a 1 machine room).
- Prevented potions of water getting items out of cages. (Reported by tinyrodent).
- Fixed wind [spoiler] description. (Reported by Autoquark).
- [spoiler] generated on the floor instead of the [spoiler] when you need to [spoiler] an item. (Reported by tinyrodent).
- Change one reward in [spoiler] rooms to 2 scrolls of [spoiler] from 2 potions of [spoiler].
- Workaround for dormant [spoiler] in [spoiler] not correctly activating when [spoiler].
- Slight tweaks to item rarities to bring them completely in line with Brogue rarities: adjusted by reducing the frequency of gold drops by 8%. (Requested by no_signal, tinyrodent, ggoDeye).
- Rings of wizardry, alchemy, accuracy no longer provide any benefit at +0 (Reported by Autoquark).

Monday, 17 September 2012

This makes it all worthwhile

Comment from the brogue forums on UnBrogue:

Okay I realised last night that maybe the key rooms weren't a bug and am glad to have that confirmed here.
What I'd like to know is whether I am doing anything wrong as I have found one of the open treasure rooms with the things removed from two of the alters and the key on one. The cages lift off when I step into the doorway and I have tried everything I can think of. I have no blinking so that's out. I tried all my scrolls and that didn't help. THen I tried throwing each of my items to knock the key off, to no avail. I can only see the key alter form the doorway so I can't replace any gear at the other alters. ANy help? If the puzzle is working properly and I just haven't figured it out don't give it away (maybe a little hint) but at the moment I'm stumped. THe seed is 1347859068 and it's depth two if you'd like to check it out.

EDIT: Don't worry, I just figured it out. Nice one.

Saturday, 15 September 2012

Let's get this ARRPty started

UnBrogue 1.0 (OSX + source, and thanks to Joshua Day for the Linux source and Windows+source builds)

[Edit: If you're coming from reddit, I've added a page at Rogue Basin explaining the spoiler free changes.]

[Edit 2: The above now links to 1.0.1 which is a bug fix release fixing the bugs identified in the comments section]