UE4 Tutorial: The Right Way to Do Left-Hand Weapon IK

Everyone else on the internet is wrong.

(Okay, not quite — though I spent a good many hours going through tutorials and not getting the results I wanted for left-hand IK. There are a LOT of tutorials out there doing it wrong, and with bad practices.)

I’m going to skip the super basics (like setting up an AnimBP – there are loads of great tutorials on that stuff already.)

When holding a weapon, third or first person, you want your character’s left hand to typically hold the weapon in a specific location. Let’s do it the right way. The right way means:

  • Versatile and dynamic for many weapons (not just hard-coding it for one weapon/rifle)
  • Little or no lag when moving the weapon around (in some setups the left-hand will lag behind quite substantially.)
  • That’s really all you need for left-hand IK.

There are more complexities you can get into, like using an animation slot for the left arm and playing unique left arm montages — but we’re not going to worry about any of that today. Let’s get down to this IK business.

First, add a socket to your weapon skeletal mesh. If it’s a pump shotgun, you might want to put this socket on the pump-action bone, so the hand moves when the shotgun animation pumps. If it’s a more standard weapon and the hand does not move during an animation, you can just put this socket on the root of the weapon’s skeleton. Let’s call this socket: “IK_Hand” (You can call it whatever you want. LeftHandIK is also a good one.)

Every gun you have will want to have a socket called this. We’re simply going to find the socket by a single name, so make sure on every single weapon it is the same name.

Move this socket to a location that is roughly where you imagine your left hand should sit when holding the gun. (You can always move it later – you can even move it during gameplay to see the results on the fly!)

Now, open your AnimBP for your character (third or first person – whichever you’re doing this for.)

In your AnimBP Event Graph, make a float variable called Weapon FABRIK Alpha. FABRIK is the IK system built in that we’re going to use here. Set this new variable to 1. If you want to turn off left hand IK at any given time, you will want to set this to 0 at some point. But for the purposes of this tutorial, set it to 1.

Now, in your AnimBP Event Graph, get your weapon’s skeletal mesh, and do Get Socket Transform. Take the return value of the Transform (in my picture I have the Transform struct split open so I can access Location directly. You can do this by right-clicking on the Transform, and pressing “Split Struct Pin.”)

Set your Socket Name on “Get Socket Transform” to your new weapon socket, “IK_Hand” or whatever you ended up calling it. Make sure TRANSFORM SPACE is set to “RTS World.”

We’re getting the WORLD LOCATION of the left hand socket, and next we’re converting it to local bone space for the right hand.

Set your Bone Name in Transform to Bone Space to “Hand_R” (or whatever your right hand is.) This is done because we’re going to have our left hand move explicitly relative to the right hand, so they stay in sync.

From Location, do Transform to Bone Space. We just need the location. You can add the rotation stuff if you want, but I’m not getting into that today.

Now save that Out Position of the Transform to Bone Space to a Transform variable. Mine is called “LeftHandIKTransform”

Now let’s move to your AnimBP Anim Graph. I’m going to assume you have *something* here, so just plug in what I’m showing. You’ll want to make sure your do things here in the correct order, so for the most part, just do this left-hand IK stuff very last, before the Final Result node. For mine, I blend the two, but if you don’t do any fancy blending, feel free to simply plug in the following nodes right in line with the rest of your graph.

Get a FABRIK node. In Effector Transform, plug in your
LeftHandIKTransform variable. In Alpha, plug in your Weapon FABRIK Alpha float variable.

On the FABRIK node, go to the Details panel and set up the following.

Effector Transform Space should be set to BONE SPACE.

Effector Target should be set to Hand_R (or whatever your bone name is for the right hand.) These two settings will make it so the coordinates are relative to your right hand, meaning no (or very little) lag, as well as relative positioning to the hand holding your weapon.

Tip Bone must be set to Hand_L, or whatever your left hand bone is called.

Root Bone must be set to UpperArm_L, or whatever your upper arm (shoulder) bone is. This tells the IK system which bone is the one being moved to the gun’s barrel/hold position, and from which bone it will move around from. (The shoulder joint.)

That’s it. Seriously. You’re done. Assuming it’s set up like my graphs are, this should work with ANY weapon, as long as you have the correctly named socket on each gun’s skeletal mesh. If you have weapon attachments (like a rifle that could or could not have a vertical foregrip) you’d probably want a more complex system that gets different socket names based on what’s attached to the weapon.

Enjoy!

If you have any questions, leave a comment and I’ll get back to you when I notice it’s there. 😉

This system works for both first and third person character arms, just make sure you do this in both your FP/TP anim graphs if they’re different.

Happy developing!

Love, Zag

UE4 Tutorial: Creating a Parabolic (Curved) 2D HUD like Halo/Destiny

Greetings!

Zag here.

In this Unreal Engine 4 tutorial I will cover the creation of a Parabolic distortion effect on your 2-dimensional HUD, without the use of an expensive (and frankly, quite blurry) 3D Widget component.

The Goal

Here are some examples of what we’re trying to achieve, with screenshots showing the HUD from Halo Reach, Destiny 2, and our game, Unfortunate Spacemen.

Where It’s Used

This effect is good for:

  • Giving your character’s HUD (or other non-clickable widgets) a nice curve, like it’s inside a helmet
  • Making your HUD look a bit less flat on the screen (still a good practice even for Fantasy games!)
  • Beginners in UE4 blueprints! This feature is super easy to implement, as you’ll see in just a minute.

This effect is NOT good for:

  • Any UI that has buttons you click on. While this effect will work for menus in a Console/Gamepad-only game, it does NOT work on a PC game with buttons you click on because the shader effect is ONLY a visual effect and the button boundaries will NOT be in the same place as they are shown to the end-user on the curved UI. In other words, this effect does not curve the button borders. If anyone has a fix for this, let me know and I’ll update this section.

Step 1: Create your HUD Widget

I’m not going to cover UE4 basics in this blog post as there are several dozen decent tutorials out there covering this sort of thing. There are a lot of nuances to getting a proper HUD in your game, and storing the widget references and knowing when to hide or show it — but that’s not what we’re gonna cover here today. So, if you don’t know how to make a Widget or Add To Viewport (hint, that’s the node!) you’ll need to come back to this tutorial after you learn how to do that.

I will assume you know how to make a HUD already. So, first things first — Step 2!

Step 2: Create Your Material

Create a brand new Material in your Content Browser. I called my material CurvedHUD_FX.

Open the new material and click on the final input node.

On your Details panel, change Material Domain to User Interface, and Blend Mode to Alpha Composite. (NOT TRANSLUCENT!) (edited Oct 14th, 2019)

Now, set up your graph exactly like this, with these values and parameter names, and plug it all in as shown here. (This is the most complicated part, the rest is easy!)

(Full Size Image Here)

UE4Editor_2018-11-08_14-29-57

There are two very important variables here. First is the Scalar Parameter called DistortionAmount, which will determine how curved your HUD is and let you tweak it on the fly during gameplay.

The second is the TextureSampleParameter2D (Param2D), which I’ve called SlateUI, which will be what we set the HUD to as a texture.

Click on the Param2D, SlateUI, and in the Details panel, set the Sampler Source to Shared: Clamp.

This will prevent your HUD from tiling. Very important!

Click Save and Apply.

Step 3: Create a Canvas Panel and Retainer Box

Now return to your HUD Widget’s Designer panel.

We’re going to use something called a Retainer Box, which (basically) renders out a panel as a Texture which you can apply a Material to — but wait! — we first need to put all your HUD stuff into a single canvas, because the Retainer Box can only hold one Child.

Create a Canvas Panel and make sure all the stuff you want curved is placed inside it.

Next, create a Retainer Box and make your Canvas Panel a child of the Retainer Box. (You may have to also mess with anchors and placement of the Retainer Box, but that’s pretty trivial.)

Then, click on the Retainer Box and in the Details panel, change the Material to your CurvedHUD_FX material. Next, set the Texture Parameter (located just below the mat on the Details panel) to SlateUI

This name must match the name of the 2DParam from our material!

And that’s it. You did it! Seriously. You’re done, and you’re a genius too. Impress your friends.

Other Notes

  • I set my DistortionAmount to 0.2 distortion. You may want to try other things, but that’s up to you! Here’s the end result in our game, Unfortunate Spacemen. The first image is with a very high curve, which of course looks ridiculous! The second image is with 0.2, which I think looks like a proper helmet!
  • We also have our HUD shift around with the movement of the first person helmet, but that’s another post for another day. (Hint: Shift the RetainerBox around with World Coordinates-to-Screen Coordinates)
  • You can probably change the distortion value dynamically (like Halo Reach does when moving from First to Third person view) by creating a Dynamic Material Instance of the Retainer Box’s material. I have not tried this, but I imagine all the correct stuff is easily exposed in Blueprints.
  • I would not recommend using Transform Skew on widgets, especially text. This effect is much better than that, and on some fonts, Skew makes the lettering appear “bumpy” and non-uniform.
  • You may want multiple retainer boxes for different elements. You may notice on some games while the bottom left or right and top left or right content is curving inward, things like the very top or bottom are more normal as to not stretch or sink too low into the user’s frame. This material in UE4 is instanced, so you can have many HUD pieces uses it at different curve values. (I can’t speak for performance on that but my tests seemed fine.) Bungie’s Destiny 2, for example, seems to use a different curve value for its objectives panel, as shown below. If I had to guess, they did this for readability, or it’s just a trick of the eye.
  • Big thanks to Airuen from the UE4 AnswerHub, who did a lot of the legwork on the material graph! I can’t do math, but apparently they can.

Thanks for reading! Feel free to share this, as I know it’s a big one people have been looking for.

Good luck out there, Developers!

– Geoff “Zag” Keene

You can follow me on Twitter at @geoffkeene!

Design Discussion: What’s Wrong With WoW (And How To Make It “Worse”)

I had a little time to kill while I build lighting on some levels for Unfortunate Spacemen… I started ranting into a text document and didn’t stop — so I guess I’ll post what I wrote with very little editing whatsoever!

————————————

I have a strong opinion on World of Warcraft. I’m not convinced it’s the popular one, or one shared by the current player base, but I bet it’s shared by the rest of us, who have more or less made a large exodus from the game since the days of the Burning Crusade and Wrath expansions. It’s also worth noting that I really liked the Cataclysm expansion, for awhile anyway.

First, a little of MY history, as it pertains to the Warcraft series. I grew up on Warcraft 2, it was a big deal for me and I immersed myself in the world of Warcraft long before it was the “World of Warcraft.” I was completely lost within the gritty, dark artwork of Metzen back in the day; this sort of stuff peppered the game manual.

WHAT DID YOU DO TO WARCRAFT?

Then Warcraft 3 arrived. Awesome game. I was in love from the very first cinematic release, with and hardcore footman and orcish grunt battling it out on a stormy field as green fireballs rained from the sky… But I didn’t really like the change in gameplay from Warcraft 2, and I personally think they botched the 3D look. (Unlike Starcraft to Starcraft 2, which was wonderful.) But I suppose that’s a different topic entirely.

For all Warcraft 3 was and was not, it had an excellent story. And I once again dove deep into the lore of Warcraft. I love and have loved Warcraft and its world. If there was a world I could upload my brain into and dwell forever, it would be Azeroth. And that has almost nothing to do with Draenei butts.

Moving on in the timeline — the MMO was announced. For a lot of you reading, this might just be where your story with Warcraft really began. WoW comes out and it’s a smash hit. HUGE. It (for better or worse) has set the course of MMOs of the past decade. Every MMO is trying to be the WoW-killer, some blatantly ripping everything from WoW (which ironically ripped much of its core gameplay from Everquest and predecessors, with a layer of that Blizzard Polish�™), and some bringing their own style into the mix. But none of them have had the staying power of WoW.

Why did WoW stay?

World of Warcraft hit a couple nerves dead on. On top of the aforementioned Blizzard Polish�™, it brought in a dangerous and dark Dungeons & Dragons-style world full of the same intimate cooperation and boundless adventure we might have experienced in the jankier and uglier “Neverwinter Nights.” I’ve been told by one of the earlier designers (Mark Kern, @Grummz via twitter) that NWN was NOT an inspiration in the initial design, but the similarities are huge, so I assume they’re closer to some games I didn’t play – maybe one of the bigger MMO titans at the time, Everquest.

WoW, intentionally or not, recaptured the feel from these games with a much higher level of polish, speed, and responsiveness.

WoW was built on Dungeons & Dragons and Tolkien

WoW lead writer and lore-smith Chris Metzen (Retired September last year) wasn’t shy about taking heaps of inspiration from Tolkien (and neither was D&D creator Gary Gygax, for that matter.) This next part is mostly conjecture from my point of view, based on the writings in WoW, from lore journals to place-names to the art style and mood of the original release and even some changes made to the game prior to its final release.

If you don’t agree with this next bit, then you will have to write off the entire remainder of my post because it’s the fulcrum on which my arguments pivot. (Though you should probably read on anyway to understand where I’m coming from.)

WoW was intended, always, to be a gritty, Dungeons & Dragons adventure with your pals, set in a massive, lively world – the world of Azeroth. But an intimate world. A scary world. A world riddled with local disasters, creepy crypts, and the occasional epic war between the major factions – the Horde, and the Alliance. According to the Alpha and Beta builds of Vanilla World of Warcraft and some of the patches right after release, this was the case. (Here’s one of my favorite threads detailing little-known facts about early WoW.)

Dungeons & Dragons, you say? It’s WoW! It’s quirky! It’s fun! It’s a whacky amusement park!

No, not always. It started as something quite a bit heavier, and quite a bit more real, and that’s what drew us into it. Just look at the art style from (roughly) 2004 to now.

~2004 art. Hanging dead corpses. Old content of course — there are no new models or versions anywhere close to the dark theme of these models.

~2004 art. A human face sewn into a Gnoll tent. Blizzard hasn’t removed these things, but they sure haven’t updated them or made similar things in any of the new content.

SKULLS N SHIT (~2004 art)

~2004 art compared to new art. Very beautiful art update, but notice the colors are way more vibrant and painterly? The owls are less dirty and savage. The grit is GONE. Entirely.

And it looks great! But it’s sure taken a turn in a very specific, not-so-gritty, not-so-dark-at-all direction.

An example of long-forgotten and darker themes: legend has it that Duskwood, the spider-infested forests south of Elwynn, was intended to be a very dark zone that required players to wield torches to progress safely. This of course, was not the case in the final release, but I’ll be damned if you try to convince me that isn’t straight out of a classic D&D plotlines. There could be a dozen reasons that wasn’t included in the game, and I’m not here to speculate on budgets, time constraints, or even feasibility. We know for sure that the World of Warcraft engine is horrendously outdated and adding new, drastically game-changing features to it is probably a huge pain in the ass. But Blizzard is doing pretty well on that front, and they have the budget to make the necessary changes they need to make.

A lot of people talk about WoW as if it’s on its deathbed; just being held by life support, occasionally getting the expansion bump it needs, but inevitably marching towards its demise. This doesn’t have to be the case. This is only the case because I believe it has lost its way and forgotten its core identity.

WoW’s Core Identity

Most criticism of WoW is completely misplaced, either focusing too much on “muh end-game content” or too much on “noobification” of the game, or even both. It’s my firm belief that WoW’s soul, its identity, the core framework in which it first cast its foundation, has nothing to do with massive end-game raiding content, dungeon queue times, PvP rewards, achievements, or anything people are worried about now.

Oh, it’s very true WoW is super easy now, in terms of receiving damage and dummy mechanics. You can pull a dozen mobs early in the game and lay waste to them, all without having to chug any potions, as if those even really exist anymore other than as mementos of a time where death was more than just an interruption to the grind. (To avoid perpetuating the “like Dark Souls” trope, I’ll avoid saying WoW could learn a thing or two from Dark Souls… but it could totally learn a thing or two from Dark Souls.)

Though the reason I say criticism is misplaced is that it’s obvious to me that the very same people grinding the high levels of WoW content now and often claim there isn’t enough end-game content to get through are also the same ones who want easier content to grind away their days until the end of oblivion, and stop playing when the content becomes too challenging, causing Blizzard to nerf it, meaning they clear it faster, meaning the content is too thin to continually grind… And so on, in a vicious cycle.

Some might call this a death spiral. And that’s where WoW is now. Like an abusive relationship, WoW’s designers are at the whim of the players, and almost none of those players are there for the reasons I was once there.

Now we’re at the fun part of this post! Let’s say in some magical fantasy world I took the reigns of World of Warcraft. Oh, and this is exactly why Blizzard is probably NOT going to ever do any of this — my changes would take the risk of alienating just about the entire current player base, and focus on getting back everyone else, and new players.

[RANT WARNING] I get a bit ranty, even rambly, and sometimes a little complainy, herein. I am both thrilled at the potential in WoW, and dreadfully upset at some directions WoW has taken, and I have been very passionate about the game in the past. Let’s begin!

How I Would Ruin The World of Warcraft

1) Virtual Reality support

Oh ho, jumping on the VR train! Uh, yeah. I am. Feet first. Head first. Which one is more gung-ho? Feet or head? Whichever it is, I’m doing that one.

Blizzard Activision, one of the leading triple-A developers, is currently, as far as I can tell, sitting on the most popular MMORPG ever created and NOT fully integrating Vive and Rift support. I have said this a thousand times, and I will continue to say it: Any company currently sitting on a fully working MMORPG and not adding first-person VR and hand-controller support is going to get run over in the next couple of years (maybe even THIS year) by someone building a VR MMO, and it’s probably going to be some random Persson, a Notch 2 if you will, and s/he’s going to make millions and then sell it to someone for billions and then shitpost on twitter for the rest of their days.

That’s the dream, kids. Hey, it might even be me. (It probably won’t be me.) But maybe it could be you.

Arguments against VR support in an existing MMO include low-energy remarks “It’s not built for VR” and “VR is a gimmicky fad.” True, false, in that order. You’re being real shortsighted if you think VR has hit some kind of wall and will never take off. You’re basically the guy on the sidewalk screaming at passing motorcars for being too noisy as he shovels his horse’s shit into a burlap sack.

All that aside, Blizzard has the manpower, the brains, and the money to make World of Warcraft the first killer VR MMORPG. And – as far as I can tell – they aren’t. That’s a shame. And you can go on about motion sickness and changing controls and all that, and I say yes. Yes, change the controls. Yes, don’t be afraid to totally change how a VR player moves around in the world. There are at least eight different ways to “locomote” a player in VR (and more being invented every day it seems) and several dozen ways to represent that move across the network to other players so it isn’t a teleport. (Also we’re talking about a magical fantasy world, where teleportation is probably one of the more normal activities you do, right next to taking 15 minutes away from your day to slay a mega-demon in hopes that he drops the pantaloons you’ve been longing for.)

This section of course, applies to any MMO. But I like WoW the most, so it’s in my post about WoW. Moving on from scary new-fangled technology that will never take off in a million years… Let’s talk about the features in WoW.

2) Make The World Mysterious Again

A) Remove the Dungeon Queue.

What is happening now? Everyone just sits around in their faction’s capital city, jerking off to Draenei pornography while waiting for their dungeon or raid queues to pop. (Or is that just me?) The world has slowly turned into this isolated, lonely place, where everyone is effectively AFK in Stormwind or Orgrimmar, and all the other cities (including the gorgeous and totally wasted Gilneas) slip into ghost towns.

What should be happening? Players should, at the very least, be teleported to meeting points around the dungeon they want to enter. Oh, wait, they have these! They were called Meeting Stones, and they looked really cool. In fact, all the new dungeons still have them, but they aren’t used. Maybe you could teleport them to the closest city to that dungeon? If you’re dungeoning in Outlands, why are you at least not required to be in the continent’s borders? Sure, I understand that if you’re farming materials in one location, it’s convenient as hell to teleport to a dungeon, do it, and be returned to your original spot in the world… But it has shattered the world, made distances obsolete, and obliterated any semblance of immersion.

The fact is the world and all its diverse and numerous places have lost a real physical sense of location. Ask people where the entrance to the Deadmines is. Or even what zone it’s in. Who’s Hogger? Why would anyone hang out in Crossroads in the Barrens? What happened between Tarren Mill and Southshore ever so frequently? These used to be useful, interesting, and incredibly immersive things, and I’m not just coming from a position of nostalgia — nothing has replaced them. They just vanished, and that aspect of WoW was totally gone. In adding more and moving the wrong direction, WoW has lost those features about its world and activities for players to pursue. Places don’t really matter anymore in WoW. You rarely have to run very far, travel through many zones, or even find an entrance. Isn’t that sort of the core of “dungeons and dragons?” Or the Fellowship’s quest to find the door into Moria? And the journey through it? What’s happening in WoW right now is the equivalent of the Eagles dropping the One Ring into Mount Doom from high altitude. That would’ve made a terrible book, and Peter Jackson would’ve made at least half as much money on it.

If you don’t have the adventure of exploring and unearthing the mystery through a journey, what good is an instant arrival at the destination?

With dungeon queues and instant teleports to every dungeon and raid (and in some cases, towns) you’re just paying Blizzard every month to shoot you with some endorphins from time to time when your loot drops while you slowly develop hemorrhoids. If I’m going to get hemorrhoids, I’d like to at least look fondly back on what I was doing while they developed.

It’s the concept of Zones taken to a disgusting level of disconnection from the world. It’s as if the literal representation of what a Zone is as it’s computed the actual servers at Blizzard’s HQ, has been exposed to the world. People know too well how the WoW sausage is made, and see so well the man behind the curtain, that the game is no longer immersive in any facet. When you boot up WoW, you are basically accessing a terminal to interface with their game server, and now it truly feels that way and Blizzard made it so. That is the opposite direction WoW should be trying to head. The more mechanical, rigorous, predictable the game is, the less it becomes “The experience of WoW” and the more it becomes “Log in to Blizzard’s servers and make numbers affect other numbers.”

A side-affect of this is Cross-realm zoning, where players from another server can be in your zone. That’s a GOOD feature, and should remain no matter what. It makes the world always feel more alive, since most people are, you know, jerking off in cities.

Blizzard could do a lot of small changes to help shut that ominous server-client curtain and bring a lot of mystery back to the world. Sure, the hardcore top-tier raiders would literally start frothing at the mouth in anger, but it might just bring back everyone else who want to be immersed in the world.

B) Randomize Dungeon Content.

Blizzard needs to get on the procedural train. Everyone is doing it. Choo-choo! Dungeons should be a unique experience every single time, and should yield far more diverse rewards, and never reward the same unique item/loot twice to the same player. I get that drop rates are a thing. I get the skinner-box bullshit. I get it all. But everyone hates it and we hate ourselves for enjoying it. There must be a better way to please humans, fill your wallets, and still really reward them for their time, and more importantly for us with extremely taxing jobs and very little free time – their dedication and resolve. Is there a way to measure how much a player gives a shit about the game even if they don’t get to spend many hours in it? There should be.

I’d find a way, if I was managing the most popular MMO in the world.

C) Bring back mysterious world bosses and mysterious places.

Blizzard has done a couple cool things lately with this. Recently they had this neat thing where you would go find a bunch of pearls or something around the world. That was neat. More of that, yeah? And more of those special class quests? And maybe make Paladins have to go get their Charger again by completing tasks inside dungeons like before? Yeah, all that stuff. Make them work for exclusive class rewards.

Gone. Ripped from us like so many loved ones before. We hardly knew thee, mysterious Nightmare Dragon.

D) Remove flying. Just fucking nuke it. Burn it all down.

Flying has totally ruined the mystery of WoW’s world. It wasn’t that big of a world to begin with. (I think someone measured out Eastern Kingdoms to be 20km top to bottom.)

Flight paths are great! Mounted flying is… A lot of freedom, but it’s also freedom to break the immersion. Good game design is knowing when to restrict a player’s freedom to keep them immersed in the experience. Blizzard sort of said “fuck it!” and threw up their arms on this one back in Wrath. Hands-down, flying was the worst feature ever added to the game. Pathfinder Achievements restricting flight till later was a very smart move, but only a half-measure.

The moment you can see a zone from above you have lost *every single ounce* of “I’m in a big world!” and “Wow, I wonder what’s over the next hilltop?” Not to mention you can only see so many things in a radius around you, so stuff is popping in and fading in constantly as you fly along looking below. It’s ugly. It’s non-immersive. It’s rigid.

Every single person who has mounted up, flown up into the air, looked for a mineral vein or quest location, and landed directly on it to mine or complete it (often in a group of enemies who are none the wiser) knows exactly what I’m talking about. Sure, your inventory is full, but your heart? Your heart is empty.

E) Okay, maybe just improve and/or restrict flying, a lot.

Maybe I’m being a bit dramatic. I’ve seen people’s eyes light up as they get their first flying mount. What a magical moment that is!

But for crying out loud, flying is *literally* using the same movement code as swimming. It’s so janky and mechanical. Oh, you think you’re on a big majestical gryphon?

Think again, kiddo.

Your character is just swimming in the air, and can not only turn on a dime, but stop instantly, and carries zero momentum. Blizzard’s top tier animators have no doubt popped every vessel in their brains trying to help it feel a little less jank, but it’s just not there. Mounting in general is this way. Blizzard should overhaul mounts to feel more real. And flying mounts should probably get tired, or not be able to fly as high, or something.

It’s a solvable problem. But it would require some regression of freedom to preserve the greater good of the game.

F) I think it’s probably time to add a sprint key.

It’s a big world, and people hate walking. Blizzard knows this, since they have made almost every single change (mentioned earlier) to make travel instantaneous. So yeah, letting everyone do a basic “Hold shift to Sprint” might not hurt at this point in WoW’s life. Besides, then you can do that swoopy FOV thing everyone gets their dicks hard for.

3) Update the UI. It’s so ugly and cluttered.

I don’t have anything to add to this, I just think the vanilla UI is really out of date and crappy, and people can only do so much with addons. Compare to Diablo 3’s sleek, sexy UI, one of that game’s saving graces. (Hey, I should rant about Diablo 3 someday as well…)

One of the best changes Blizz made was making it so when you take out your map your character pulls out a map. Maybe they should take this concept further and move most of the UI into 3D world objects. Pull out your map? How about we zoom to your characters hands holding the map with the UI on that? IMMERSION RESTORED. Heavily, in fact. Most games don’t do this, and probably should. I hate most MMO UIs, and I think most people do too, they just don’t know there’s an alternative.

4) Stop making jokes and pop culture references into lore.

PANDARENS WERE A TERRIBLE IDEA. They started as a joke, and then got more and more serious over time. And then they took a complete right turn in Mists of Pandaria and almost straight-up copied Kung Fu Panda which came out just before that. They could have at least taken a “grizzly panda war-bear” angle and made them more savage and terrifying. Instead, they feature noises such as “boing!” as their fat (yet somehow athletic) belly jiggles around. It all felt very forced, but uh, maybe that’s just me. I just don’t get the whole appeal of the fat panda monk thing. I think it’s really, really silly. Oh by the way, I gave it a chance. Check out this artwork! This sharp-toothed scary Pandaren never made an appearance.

pandaren

We got these little cartoon characters instead.

Even the “leaked” Pandaren class back in Burning Crusade looked better than what we got.

(Speaking of cartoon characters, why are the She-worgens straight out of Disney? This goes back to the art style stuff I mentioned.)

What we got, versus perhaps, what might have been. (The males were pretty cool.)

And by the way, Blizzard, I don’t know a single person who isn’t a working adult who plays WoW. All my siblings (12-18) and their friends think WoW is mega super boring, so I’m not sure who you’re trying to cater to on the cartoony artstyle and childish themes here. Not even kids like kiddy stuff. They all pretend to be badass adults. It’s the same problem with Star Wars the Phantom Menace and Anakin as a little kid. No little kid pretends to be a little kid, they pretend to be Luke or Obi-Wan or —

Uh, let’s get back on track. The Star Wars prequels are a hole we do not want to go down right now.

Back to hating on Pandas.

We had the fat funny race, by the way. It was Ogres. Horde should have gotten Ogres in MoP. The Horde had Ogres in Warcraft 2. Stonemaul, remember? Ogres are interesting, come in all shapes and sizes, and can even have two heads. But hey, again, maybe that’s just me.

Back to hating on jokes in general.

I know funny. I make and write funny games. But WoW’s humor was a brief moment of levity in a world that was crushed by war and scarred by the past. It was intense and epic. Humor was there to kinda lighten it some, but now it feels like everything is penetrated by it, and very few moments, basically just the critical story segments, are NOT punctuated by some nonsensical humor. It’s gotten really bad.

Jokes becoming lore are the bane of WoW questing right now. There are so many pop culture references riddled through the dialog and many that have been solidified in lore. (I’m not talking about quest names — I appreciate a good quest name pun – I’m talking about the dialog itself.)

Each time a pop culture reference or meme shows up they have a chance of utterly annihilating the world-building going on around the player. I can not possibly be the only one who feels this way on this. A little chuckle is not worth sucking me right out of the game and remind me that some team of writers are giddily clapping their hands together and bouncing up and down in their chairs about how that goblin there just made a reference to an internet meme. Cataclysm was the worst offender. It’s gotten… a little better.

Besides, pop culture jokes age horribly, and an MMO is all about age. The world is deep, and old, and that’s part of what makes it so wonderful.

You have a small window where they’re really funny, if people aren’t already tired of them by the time the expansion comes out of development. If you go back through the Cataclysm questlines, there is a quest referencing an Old Spice commercial from 2010. It’s not pretty. (Even if Johnny Awesome definitely is.)

In-lore and in-world jokes are great. The same quest I’m referring to has you sitting around as a “Quest Giver” for some random noobs. It’s pretty funny. But the non-WoW memes inside the text? The memes are downright embarrassing.

Please make it stop.

5) Oh god make it stop.
6) Squish the stats (again) and make players way less powerful.

Blizzard made the last expansion give everyone a single weapon they upgrade, instead of finding tons of item loot. You know why? Probably because, like me, they played Dungeon Defenders 2 and were haunted for days by little glowy gem item pickups, to the point where their significant other told them to pick a sock up off the floor and they broke down crying. (Still just me?)

The stat squish in Cataclysm or whenever that was — pretty neat thing. Bold move on Blizzard’s part. For those who don’t know, this is when Blizzard took all the item stats and player/enemy health numbers and compressed them by about 10x or more. Someone who had maybe 100,000 HP would have 10,000 or something to that effect. (These aren’t exact numbers, but you get the idea.)

One of the main issues up to that point was massive numbers all the item. Short of people who masturbate exclusively to fan art of Sesame Street’s Count von Count, we all hate big-ass numbers on screen. Blizzard earned a lot of respect from me at this point in time, which you all know is worth um…

Well anyway, my point is that they need to do this again, and they need to scale the exponential gain way, way down. There’s this philosophy Blizzard has tried to go ahead with for so long, unquestionably: “Players want to feel super powerful when they level up.” I think that’s total horseshit and I’ll tell you why.

Players want to feel powerful, yes, but you don’t get a taste of that anyway when you’re questing through the game (or more likely now – repeatedly dungeon queuing while setting foot only for a few minutes at a time in any zone as you level up.) When you are level 80, let’s say, hitting level 81 isn’t going to make any difference to the stuff you’re facing right now. You aren’t going to feel way more powerful anyway – you’ll just feel a little more powerful. That’s fine.

But every expansion, the rate at which Blizzard scales this is insane. Relative to level 80, hitting 81 you just went up a little bit, but relative to a level 75, you probably saw the same stat change that you saw from the entirety of levels 70 through 79. The rate of exponential gain separates players almost instantly the moment you touch any new expansion content. This splits players from each other in a way that is irreparable until they too have gotten to the expansion, and by then you’re probably knocking out your several-times-upgraded top-tier raiding gear and they STILL will never be within your same limits.

This exponential rate absolutely decimates your opportunity for world interaction with other players and NPCs that are even 2 or 3 levels out of your range.

I would wish for a game balanced in such a way (and yes, it’s do-able) where a big group of Level 70s could still fight a Level 100 without all being one-shot – as it is now. There is something wrong with the balance in WoW, in that any player leveled up into the next expansion is completely gone from existence and unable to be interacted with in any real fashion. They can’t even help you quest at low levels because they destroy your stuff so quickly that Blizzard decided to just not grant you much of anything for the kill.

You know, back in the day I used to run those “For The Alliance” raids? We’d take a bunch of people (mostly high leveled, but we’d bring along low levels for fun!) and go invade an enemy city, kill the leaders, and hold their stronghold as they tried to stop us. You can’t do that anymore. The guards are too high level (because they have to stop players) so unless you are super organized (no one is anymore) AND also top-tier geared, it’s hopeless. That aspect of WoW? Dead.

Yes, that’s right. One of the founding principles of WoW — Horde vs. Alliance, the great war between the two factions, is constrained to PvP battlegrounds. Open world PvP? Taking over cities? Dead. Dead. Dead. Blizzard killed it by making players too strong to even fight each other anymore without perfect balance. That’s a broken system, if I ever saw one. Maybe someone should submit a bug report on open world PvP being totally broken and unbalanced to the point that few engage in it anymore? (I kid, but this also applies to PvE servers – city raids still happen on non-PvP servers, since you are flagged in enemy cities anyway.)

At any rate, stats are all out of whack again. All the level scaling and item scaling has completely run away — again. You’d think they would’ve learned the first time, but even the first time was… As Blizzard seems best at — a safe half measure. Half-measures are killing World of Warcraft, but I suppose, sustaining the current population nicely. I don’t think it’s really sustainable though. Maybe they’re trying to torpedo WoW so they can make a sequel? In which case all my suggestions still definitely apply to the sequel.

7) Death needs more meaning.

To avoid getting too ranty and off-topic and spilling my (fairly) incoherent thoughts all over the place, I’ll end with number 7. The game is just way too easy. The punishment for death is too shallow, the cost of life is too low, and the corpse run is just too annoying (not in a hard way — it’s just not fun, especially when the graveyard spawn is weird, or your body is up a strange hill or something.)

I’d propose some ideas here, like losing XP, but Blizzard is so terrified a player will get set back some for dying that they won’t even invite a thought that involves maybe making players have to plan their attacks better. The developers may be stuck inside a bubble of day-in and day-out seeing WoW, that they too simply want almost everything handed to them as quickly as possible. As a designer, you surely don’t have time to travel the world on foot (you’ve got a game to design!) so you might suggest things like… instantly teleporting people to places.

Good intentions, no doubt, but long-term and wide-spread consequences on the immersion of the game. And then to fix issues caused by those issues… Well, like I said earlier – it’s a cycle. A death spiral.

I don’t know. Maybe just make WoW into Dark Souls or something.

— Zag

[all images stolen shamelessly without credit, from Google image search]

PATREON PLUG: http://www.patreon.com/geoffkeene

If you like my ramblings, game dev tips, and want me to do more, please consider a small donation to my efforts. I tend to live pretty cheap, so anything helps! There’s also some sweet rewards you can check out!

UE4 Fix – “Lighting build failed. Swarm failed to kick off.”

Hello!

Have you encountered the “Swarm Failed to Kick Off” error on an Unreal Engine project when trying to build a level? I did, after we switched to a custom engine build. Since most of the resources on the web were not helpful. Here’s a really simply fix that may work for you.

(Step 3 is the most important. I did the first two steps, but they may be unnecessary. Back up any files you want kept!)

  1. Delete the stuff in this folder (or equivalent location – wherever your engine is installed.)

E:\UE4_14\UnrealEngine-4.14\Engine\Saved\Swarm\SwarmCache

2. Delete all the stuff in this folder (or equivalent for your engine version.)

C:\Users\YOURWindowsUser\AppData\Local\UnrealEngine\4.14

3. Open the UE4.sln file in your engine install folder.

Build UnrealLightmass. Once this is done, run the editor and you should be able to build your levels again.

That last step should almost certainly resolve your issue. If not, there are other solutions on the net, but this is the one that fixed it for me.

Hope that helps somebody out there!

— Zag

PATREON PLUG: http://www.patreon.com/geoffkeene

If you like my ramblings, game dev tips, and want me to do more, please consider a small donation to my efforts. I tend to live pretty cheap, so anything helps! There’s also some sweet rewards you can check out!