What do you want from Vanilla?

Travel facilities, quest simplification, loot retooling, mechanic changes, etc, have all been tuned to reduce friction of rapid leveling – but they have achieved a system that satisfies nobody.

Playing Old-WoW has been reduced to playing a slot machine that gives you a quarter back for every 4 spins of the wheels. It’s just there to distract you until the main show.

The reward-set for the starting quest hub in each leveling zone is un-special, and the pacing is such that you’re out-leveling the quests before you’ve finished the first gear set. At this stage, you need to fight yellow/orange mobs to get off more than 2-3 attacks, and you know that if you just went to the next zone you’d be having more interesting fights with better gear.

Crafting items during this phase are essentially pointless since if you try to gather the materials to make something useful, you’ll either get a better random-drop while you’re or out-level the item from bonus exp/etc while you’re working on it.

Despite all this, with 100 levels to reach end-game content, leveling is still. too. slow.

So now the majority of WoW’s legacy content is unpleasant either way:

. Nothing lives long enough for you to develop a “rotation” or learn the deep mechanics of your class,
. Progress rate eliminates value in rewards, drops and crafted items,
. Progress rate eliminates value in interacting with the lore you are traversing,
. Travel access decouples you from rich environs lore is set in,
. Zones have been reduced to quest hub sequences making gameplay dependent on travel access – WoW today feels more like SWGs early mission system than the rich questing experience of the release game,
– Compare with Suramar!
. Exploration is made pointless,
. Progress rate makes zone-completion counter-productive,
. Many zones/quest lines handle co-operation poorly,
. Progress gating makes it counter-productive to group up since you are still limited to content tagged level-appropriate,
– Misses out on opportunity for guilds to put together “hard mode” levelling groups that could race through content above their level for faster exp turn around and more challenge,
. Crafting is largely pointless: the time (and bonus exp) it takes to gather your materials often sees you out-level any item that would be useful,
. Lack of useful crafting/drops makes interaction at these levels (e.g auction house, crafting, etc) largely pointless

I posit that we need to use different levers and switches to allow rapid character progression and try to restore leveling to a more vanilla pace and character:
. Make it easier to get heirloom gear,
. Add bigger exp bonuses to heirloom gear,
. Target dungeons and raids for power-leveling,
. Dial-back the progress rate of world questing, leverage the “Chapter’s” concept seen in Legion and perhaps a “Lore” counter two; progress bars are awesome,
. Dial-back the stats across loot drops in world questing,
– Re-add some challenge to leveling,
– Re-add some value to crafted items,
– Re-add some value to rewards,
– Re-add some scope for stat tinkering during leveling,
. Tune up the difficulty of world questing mob encounters by 5-50% for longer fights and more opportunity to experiment with your skills, stats, etc,
. Re-factor some of the world-questing story-lines so that you come back to places more often:
– Currently you do 3-4 quests for “Jim” in “A town” who sends you for 3-4 quests with “Sue” in “B town” who … next zone,
– Originally you’d go back to “A town” to see if new quests had opened up; this largely went away to speed up progression rate,
– Gives you more reason to be involved in the area and designers chance to give an npc richness that might endure longer,

The goal, then, is to allow recapturing some of the richness of playing and developing *a character*. If you want to kick-back and roam the hills, slowly gathering bear pelts, take off your heirloom gear and have at it. But if you just want to be a healer for your raiding group and need to get it done, throw on your heirloom gear, run a bunch of dungeons or maybe a couple of raid instances, and you’ll be set.

I think it might also be a good idea to consider allowing a *free* choice of starting a toon at Wrath or BC.

Pi for kids?

Last year I gave my nephews an arduino starter kit as a present. They’re really bright, so it just made sense to them. Faster than I could demonstrate that wiring up the button and the lights let them create a control they’d already figured it out and wanted to know what else it could do.
I realize now it was handing someone of my generation a battery, some cash, and saying “you can power anything with this”. It fuels the path of creativity without nurturing it.
This year I was going to give them a raspberry-pi starter kit but it’ll just wind up being a way to run games if there’s not something to fuel and guide their imagination a little.
“It can do anything electronic”. “Like what?” “Uh, like, uhm, drive a motor” “Oh, to do what?” “Look, this is why I’m a programmer, just imaginate some stuff, squirt!”
And they’re too young for me to point them at “forums”. So:
I’m hoping some of you might be able to recommend maybe some kits, books, perhaps online courses or guides for a variety of beginner, entry/kid-level projects that include the programming but perhaps focus on the more physical aspect of doing things. They’re *not* gonna want a series of tutorials on how to make different patterns of blinking lights, they’re going to want something that demonstrates practical potentials and – ideally – gives them reason to go to the store with their parents and see the aisle of potential components they might tap into to fire off their little imaginations.

Ghost of Clippy-past

Cortana has some great functionality crippled by an obsolete, out-of-date set of concerns generated, perhaps, by Windows 8. Cortana wouldn’t be terribly out of place in 2010, but today?
A few days ago, Windows bamboozled me. A little pop-up appeared (grr, and stole focus): “If you tell me which teams you like – or don’t – I can tell you how they are doing”. My third thought(*1) was “who is this message from?!”
I’m just guessing it’s from Cortana, if so it seems like the Cortana team is for some reason resurrecting the worst of Clippy… (*2)
Thanks to daily interaction with Google, Amazon, Facebook, Siri, etc, a modern user will interpret “Ask me anything” on a device differently than they would have in 2010.
disablesearchIf your plumber has to google every step of a basic repair job for you, you’re going to try another plumber next time. You don’t hire an accountant on the basis that they “know the URL for TurboTax”.
When someone says “ask me anything”, the response “you can look that up on the web” quickly becomes a contradiction of the original statement.
Eventually, it feels like they lied.
That’s the current presentation of Cortana.

Virtualized desktops vs multi-boot

I’m trying to figure out a good way to compartmentalize/containerize my various Windows desktop usage modes: Development, gaming and general use. This seems like a good way to combat a number of things such as the surface-area of each model (exposure to risk) and things like registry bloat etc.

With fast boot times, multi-boot isn’t a terrible idea. But I kind of have this notion in my head of having a graphical Dom 0 (Win10, Ubuntu, something) where I can see my guests as windows and use them thusly, paste, drag’n’drop between them, etc, but have the option to quickly transition them to full screen at any time.

I found (thanks to Bill Hulley) that KVM can do some of this (https://bufferoverflow.io/gpu-passthrough/) but it sounds brittle/fragile to me, and I’m increasingly wary of this level of hackery for supporting such aggressively-evolving systems as GPUs, stuff gets abandoned, APIs and ABIs change, a maintainer drops out…

Having two user accounts might be an option, but they share the same HKLM and things like MSVC aren’t great at being discrete.

Windows Containers sound interesting, but I don’t know that there’s a way for the app inside a container to expose a GUI on the host, all the instructions I’ve found so far are for server-based containers. So for now, I’m just gonna continue putting all my eggs into the one basket :)

Would the interviewer be right?

Please avoid stating which problem these are solutions for.

During a recent discussion the following code was suggested

int desc(const Node* node, int d)
  int l = d, r = d;
  if (node->l) l = desc(node->l, d + 1);
  if (node->r) r = desc(node->r, d + 1);  // edit: thanks, Nico
  return max(l, r);
int d2(const Node* root)
  return root ? desc(root, 1) : 0;

One of the folks in the discussion shook his head and said: “If this was an interviewer, they would want you to do it in one function, though”. Then he presented this:

int d1(const Node* root)
  if (root == nullptr) return 0;
  return max(d1(root->l) + 1, d1(root->r) + 1);

Then he made the assertion “this is what an interviewer would be looking for”.

Drone registration

Have you registered your drone? It turns out you actually register yourself as a drone owner – rather than your individual drones. You get a single, 10-digit, UAS Certificate Number that you can put on all your drones.

It costs a hefty $5 unless you register before the 20th, in which case you save $5! o_O

Happy new year

To the random individual still tuned in, a happy new year to you.

I’m still at Facebook, no evidence of it being the evil empire folks want to believe it is. Rather, a collection of folks who worry about the same things you do, who care about privacy not least because their mom is on Facebook too.

I’ve been playing Crypt of the Necrodancer, Faster than Light (which I didn’t play when it was hot and new) and a lot of Kerbal Space Program.

I’m starting to feel I’m done with KSP now, though; I can launch to orbit, even recover small payloads from orbit with a recovery ship, I’ve built a (crappy) station.

I squeezed some extra longevity out of the game with mods including MechJeb (an autopilot, so I could focus on building rather than flying, because I just find the flying part tedious key-holding). But I haven’t flown a rover, built a base on another planet, manned mission to Duna etc.

It may be because I don’t feel “free” to experiment with stuff before I launch it into space. I’ve built rovers and driven around KSC with them but I’ve no clue how I would get it into space and drop it anywhere useful. (It doesn’t help that stock fairings are broken in 1.0.5 and turn any rocket into Tippy McSplodey).

Development-wise, nothing exciting to report at the moment. I’m building up a hankering to get my teeth into C++14 and ++17 properly, but I’m lacking a good project to work on and a good description of what the changes are to actually rustle up a project.

Talking with the new team at CRS/Playnet, I’m filled with a lot of confidence. I think the clean break is going to prove good for the guys, they’re clearing away the dead bodies that the old team — self included — were stumbling around. I’m really looking forward to them having a successful 1.35 launch. We left them a lot of landmines, so … be gentle on them.

Yes, Klesh

Enough? :)

Why not to buy the Surface.

I’m writing this on my Surface 3, I’ve found it amazingly robust, rugged, adaptable and insanely portable. I’m relatively excited about the Surface 4.

One thing will keep me from upgrading, a foot MS have chosen to keep firmly in the laptop ballpark:

No USB charging.

I’m not faulting the inclusion of a custom charger connector, but the lack of a way to feed the device power via it’s USB port or a USB-to-charger cable.

It’s precisely because the device is so adaptable and handy that this becomes an issue. USB ports are everywhere these days. But for power, the Surface is utterly reliant on the custom charger brick.

Star Citizen development: Training.

(I’ve been writing this over the last week or so, and I’m no editor so apologies if it’s a little jagged)

I got into the take-off training in Star Citizen. It made the hairs stand up on my neck and arms.

Let’s put the first card on the table: It’s alpha or pre-alpha or something. Early development.

Ok – the experience should be gauged accordingly.