Okay I've seen this one a lot and it really frustrates me so, just like we did when everybody didn't know what the difference between Reskinning/Remodelling/Skeletons was, we're going to sit down and learn some lessons about how vidya jams are made.
First of we need to understand WHAT an engine is not:
An engine is not used to make models.
An engine is not used to make texture.
An engine is not a static thing that can't be updated.
An engine is not used to code. (This one is a lie, sort of.)
An engine IS:
Used to take models from a pro software like 3DSMax, Maya or AutoDesk etc.
Used to take textures from a pro software like zBrush or Photoshop etc.
Used to animate models.
Used to import and combine all of these things.
Used to "render" all of these things which is the main limitation of an engine.
Used to write "scripts" which tell things what to "do" in your game. (See, I lied. Sorry.)
Used to hold a database of every item, spell, model, sound, AI and functionality ever used in your game.
Used make new versions of those things that are very specific to your game's gameplay AND
Used to automate tasks, especially programming tasks, in a way that is "developer friendly" so that you don't need knowledge of C++ to add stuff.
An engine is the tools you use to put together the puzzle of pre-made pieces that assembles into your game. So it's important, first and foremost, to understand that an engine doesn't affect the QUALITY of your graphics. Whether you're making a next-gen Crysis 5 clones or retro Doom remakes; your tools are, in principal, the same and your engine will get those mdoels and textures into your game one way or another. If Blizzard wanted to they could comepletely overhaul their ENTIRE games graphics to a hyper-realistic or kawaii-anime style. The engine wouldn't even blip on it.
The reason I bolded the line about rendering is that an engine does actually have SOME limits to how well it can take all of those things and mix them together and put them all into one blob within which you can move around. Renderers do things like shading and texture filtering and all those other things your graphics card boasts about being able to do which you can change in your graphical settings. This doesn't CHANGE the texture or model, it changes how it is displayed to your screen; how much processing it goes through and how much it gets refined before displaying. Everytime a new type of "texture filtering" or "shading" or "lighting" becomes mainstream the WoW Engine has been updated to be able to use those technologies. This is usually one of the bigger changes to make to your engine, not least of all because it had to be tested with literally 100s of graphical cards for them to be considered "officially supported" by the quality assurance team so that they know where the client is to blame and where the user's hardware is the problem.
What an engine can also help you with is how rapidly/smoothly/efficiently you can place those models, textures and envrionmental objects into your world. Some engines have really cool tools to help you do this. WoW's engine lets you take a graphics tablet and just drag & drop models/terrain into your world and then paint with any textures you have handy right on to the world and can animate and add "logic" to it all, on the fly! How can such a supposedly old engine, one that pre-dates main-stream graphics tablets, do this? Well that's the next thing to understand:
An engine is never finished. You get it working and then your Designer says "Hey, I can place a Rocket and make it launch and I can place a Shark and make it swim; I can't attach this Rocket to this Shark's back and make the Shark fly" and your Engineer says "Well that's because there's no script for that" and the Designer will usually sit down and write a little script; perhaps recycling the script of that spell they made once for that one fight that did a similar thing, they take a model and select an animation from a drop down box of the animations that model can do and they "equip" the Shark with the Rocket and add "logic" for "flying" until they have the result they imagined.
Blizzard uses a scripting language called LUA. You've heard of that, it's what your add-ons are made out of and you may even know the limitations of those add-ons/macros. Blizzard doesn't really have those limitations, though. They can do all sorts of cool things with LUA because that's what LUA is designed to do, It bridges the gap between hardcore C++ code and "designer code" which essentially amounts to something like:
IF there's a problem with that, the engineers can always open up the nuts and bolts of the engine and change it. That's the really cool thing about programming! If it can't do something then you can just... make it do it. And this isn't a huge problem. You can usually add some small functionality to your engine in a few days with just one engineer on it because that's what engineers are taught to do. They take a crap load of existing code and slot a tiny addition in that doesn't break everything else and BOOM. Your engine just got updated.Code:// This is not at all what actual LUA looks like but the point is that the code is pretty user friendly compared to other code. rocket, shark rocket+shark = rocketshark make rocketshark = fly
WoW's engine is called WoWEdit. It's made BY Blizzard. They have an entire "Tools" team dedicated to updating that engine every single day. They constantly work with art, gameplay, sound and database designers to add functionality to their engine. This is why Blizzard have never acknowledged that an "old engine" is to blame. WoWs engine IS old but that only makes it more powerful and user-friendly to add stuff to the game. It doesn't limit the game because it's had the chance to be updated so much that it can do more than most engines in the world can with the added advantage of being made SPECIFICALLY to add things for ONE game as opposed to something like Unity engine which is designed to build ANY games.
So I hope a few people take the time to read this. I can answer questions to an extent if anybody has any. I know a fair amount about engines and I'm sure I'm not the only person this particular line bothers! I'm just sorry I couldn't include visuals because it's really hard to get pictures of WoWEdit and I doubt they'd really help make my point.