Tuesday 26 July 2011

RangeBar addon?

I had another idea for an addon: a simple ‘range-to-target’ bar:

range bar screenshot showing target at between 20 and 30 yards range bar screenshot showing target at more than 40 yards

Not sure about the exact ranges – I’d need to check the RangeDisplay addon for that – but I think a small graphical indicator like this might be more useful to some people than a text-based one.

Edit

I looked at the Lua code for RangeDisplay. Good grief, that's an astonishing amount of work necessary just to display a simple range indicator.

FailScore

Yaggle’s comment in Gevlon’s recent post got me thinking about another addon I could make. Rather than something like GearScore, which gives you a larger arbitrary number the “better” your gear is, I propose an alternative: FailScore. This would start you at 0, then deduct points for things like wrong armour class (e.g. shaman wearing leather or cloth), wrong stats (e.g. hunter with intellect gear), missing/wrong enchants, glyphs and gems, and bad perhaps talents, although this last would have to be fairly specific in what it considers a fail (e.g. 41 points in one tree) as many non-optimal talents aren’t exactly bad, and often have a PVE utility function like being an interrupt.

The idea would be to have a FailScore as close to 0 as possible, and with more serious fails affecting the player’s score more than minor ones like a sub-optimal enchant. Different gear levels could also affect the score in different ways, too: unenchanted green-quality gear would be less of an issue than unenchanted epics, because it’s usually not worth enchanting gear that will be replaced so soon. Moreover, the cheaper enchants can sometimes be unavailable in the AH, or very overpriced.

Incidentally, I believe it should be a negative number simply to avoid any misunderstanding: if someone’s FailScore increased, they might (if they were a moron, which people with large FailScores probably are) mistake this to mean “higher = better”.

This would primarily be aimed at players below level 85, as obviously when levelling up it’s rarely worth enchanting or gemming quest gear, and even having the wrong armour class can be acceptable given the limited choices. However, some of the larger fails, e.g. wrong stats on armour, will still apply, possibly with some extra leniency in Outland due to the messed-up stat allocations (like strength and intellect on the same piece of gear); that said, hunters wearing cloth will still get large failscores.

One final thing I might include, although it may be a bad idea, is the ability to generate a FailScore Report, detailing the issues.

On and maybe I could make a Recount plugin, “DPS per FailScore”. Not sure what value that would provide, though.

Edit

I just thought of another idea: representing the fail as a percentage. For a given class/spec/gear setup/level, the maximum potential FailScore would be calculated, then the player’s actual score given as a percentage of it. This would in theory normalise all scores, as some classes probably have more potential for fail than others, and it also gets around the issue of lower-level players having lower scores but still being just as fail as an epic-geared 85.

Monday 25 July 2011

Addon Reins

Alas, some research on WoWWiki and the #wowuidev IRC channel has revealed that this point—

  • Clear differentiation between ‘historical’ nodes and ‘detected’ nodes.

—will be much harder to implement as I originally envisaged. For technical reasons, it’s not possible for an addon to get minimap tracking information, so I won’t be able to show current nodes without resorting to some SexyMap HudMap-style hackery.

That said, SexyMap HudMap-style hackery may not be such a bad thing. The issue in SexyMap is that when you enable the HudMap, the background of the map disappears, so you can’t see terrain features on it, which makes it difficult to assess where a node might be. To work around this, I still want to go with the ‘wireframe map’ idea, although obviously this requires a vast amount of work, to draw custom maps for every single zone.

Another downside to ‘faking’ it is that I have no control over the shape of the map; it’ll just be a circle, and it will have a fixed maximum range. This is in contrast to Gatherer’s HUD, for example, which allows it to show an angled ‘perspective’ view which can help when screen space is limited, and which some may find easier to read.

Another point—

  • Custom node icons, following the theme of the radar style – simplified wireframe shape (or just text), possibly coloured to match the associated herb.

—I want to expand upon. In any given zone there are a limited number of different node types, so rather than just use the herb’s icon as a map/radar marker, I think using custom node textures would work better as they can be both small yet easier to differentiate. The size is important: when you have a very extensive node map, it can get very crowded, so you could reduce the icon size, but then you have tiny 8-pixel blobs that are hard to tell apart.

As an example, in Storm Peaks, the only two herbs you’ll find are Lichbloom and Icethorn, both of which have blue/white icons. For that reason, I could for example use a for Icethorn and o for Lichbloom. In a zone like Sholazar Basin, where there is more variety of herbs, it could be something like for Adder’s Tongue, for Tiger Lily and o for Goldclover.

Another idea I had is based on the first picture in my first post on this matter:

aircraft radar screen

You’ll notice that the ‘centre’ of the map is near the bottom, which might be another good idea for saving space yet still providing decent range. After all, I suspect people are more interested in nodes in front of them than behind.

Edit

Here's a mockup I made of what I imagine the radar thing to look like, obviously in this case without terrain features; I might do one later with those included later.

The small blue circle is the detection range, within which nodes should appear on the minimap assuming they're present. The vertical dotted line is current heading, and the small number pairs along it are distance and time.

It's far from perfect – there are too many dashed circles, for one thing, and it definitely needs some adjustable opacity; possibly it could lose the quite large border too.

Thursday 21 July 2011

I came back to build something

I have renewed my subscription to WoW, and got myself some Cataclysm. This was quite unexpected, and although I’m pretty much done with raiding still, and even moreso with guild dramas, I had an Idea, and that Idea nagged at me until I gave in.

Watching my girlfriend farm herbs, it seemed to me there was a gap in the addon market for such activities. Gatherer is nice, but it’s kinda primitive in the way it represents nodes, even using the HUD: there’s no indication of how far you can ‘see’ herbs, the only way you can know a herb is nearby is by constantly looking to the minimap. The HUD is helpful, but limited, and awkward to set up.

So, being the programmery type I am, I’ve got it in my head to make something better. The plan is to create ‘radar-style’ HUD showing a basic wireframe terrain map, something like these:

Radar display

Radar display

Later on I’ll create a better mockup that better matches what I have in mind.

I want it to have the following features:

  • Node markers (obviously), with optional distance and time-to display.

  • Integration with Gatherer node data (very important).

  • Clear differentiation between ‘historical’ nodes and ‘detected’ nodes.

  • Coastlines/riverbanks, caves and possibly major terrain features like waterfalls or cliffs.

  • Optional display of enemy mobs and their aggro ranges.

  • A ‘detection range’ circle, ideally using the current lag figure to improve accuracy.

  • Custom node icons, following the theme of the radar style – simplified wireframe shape (or just text), possibly coloured to match the associated herb.

  • Various readouts such as player altitude, speed, radar display range, view direction,

  • Possibly a waypoints system.

  • Military HUD style ‘targetting’, i.e. overlaying a highlight box on nodes in the world (may be frowned upon by Blizzard).

I have no idea how feasible any of this is, and I know for sure that the actual wireframe terrain map is going to be either a lot of work, or just not possible, but I am eager to give it a go. I’ll be happy if I can even have the display without the terrain outlines.