World of warcraft is written in C

>world of warcraft is written in C
>not C++
Is Blizzard redpilled? Should I move to Anaheim and work for them?

Other urls found in this thread:

mmo-champion.com/content/6108-BlizzCon-2016-Engineering-Panel-WoW-Account-Actions-Quick-Join-Toasts-Q-A-Time
open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf
youtu.be/7KXVox0-7lU
twitter.com/NSFWRedditVideo

>world of warcraft
Yuck, they ruined it. I guess that's a good thing because once that was over I fully grew out of video games.

Yes, I know about the community servers. Too much downtime and drama for me to follow or care about.

>Is Blizzard redpilled?
it seems so
too bad it's a shit game for autismos

Not even meming, I hear working for Blizzard is comfy as fuck. No stress, deadlines are flexible (most of them, at least), and plenty of benefits. It's oldschool with a hierarchal system, and you're expected to hold your own weight, but your bosses/PMs are chill as fuck.

t. best friend of someone who works as IT for blizz.

>Is Blizzard redpilled?
What the fuck does this even mean? Explain yourself you fucktard newfag.

>doesn't know about C
how long have you been here?

Don't turn the tables on me nigger, I've been packing structs since before you were born.

but i've been packing ur mom since my birth :)^

>>world of warcraft is written in C
Source? Not that I don't believe you I'd just like to read up more on it

pic related was written in assembler

kek

Shitty Sup Forums-lingo. Just ignore the Sup Forumstard and move on.

>World of Warcraft runs on a modified Warcraft 3 engine.
Implementing simple features takes weeks when a modern engine could do it in hours. There is nothing they can do about it.

It's a matrix reference and was there long before Sup Forums took hold of it

Game is highly unportable

Changing engines is nearly impossible at this stage unless Blizz purposely cuts support for the old engine and forces everyone to upgrade. Not doing that means some sort of backwards compatibility that will hamstring the newer engine.

What can we say? WoW is fast approaching it's second decade of development. Design choices from 1999/2000/2001 prioritized a different feature set than today.

Sup Forums took hold of it pretty quick after it's inception, I've been seeing this shit since 2012, just not as common. Might as well be Sup Forumsnigger speak at this point.

Yeah but nobody except for pollacks use it in this context.
E.g. is x redpilled?

And the swastika is best known for s good luck symbol?

i think they're working on a rewritten in c RCT

It's almost impossible, what you proposed wouldn't work. They have assets and stuff from years of work, Just reworking the models for the playable character took pretty much a year.

I guess it's written in LUA too?

>i think they're working on a rewritten in c RCT
Addons, and some of the UI, are written in Lua

I remember Blizzard praising C++ in one of the Warcraft 3 manuals actually.

It's from the BlizzCon engineering panel.
>The team moved the rendering of markers on your map to C code and providing an API for addons to interact with them

mmo-champion.com/content/6108-BlizzCon-2016-Engineering-Panel-WoW-Account-Actions-Quick-Join-Toasts-Q-A-Time

ty

Probably the lack of C++ names mangling for symbol and other usual constructs in _init and _end.

>system("cls")
trash

>comfy
What kind of benefits/perks are we talking about? Do they get free food like some places in the Bay Area?

Videogames in general are C- like. WoW is probably in C because someone on their team was smart enough to realise that they can't constrain their programmers to their subset of C++ effectively if they had a C++ compiler.

But they've no doubt changed now because they need the workforce of the C++/C# oop hivemind.

Also I concur. Keep your stupid memes to Sup Forums. The latrine is leaking.

>matrix reference
>pretty quick
>2012

13 years is pretty quick huh?

>feature constraints on sepples

kill yourself and anyone who does this

>Shitty gamy
>Shitty language
No surprise there

source or bullshit

Yep, including child care and the general silicon valley benefits. Health, pension that's passed on to SO, etc.

>templated virtual const pure const Entreprise C++ Srrostroup certified sepples only

Holy shit now i really want to work there.

>Sometimes addon do things that the team doesn't want them to do. The team moved the rendering of markers on your map to C code and providing an API for addons to interact with them without being able to get their position.

Ok, so Blizzard basically moved some Lua addon code into the C-style (because it's easier to interact with CLua that way) addon host API in order to sandbox some details.

WoW is still written in C++ and OP is a major faggot, as expected.

Also
>dat screenshot
>C
pick one

that's a good thing though.

A warning message back in WoD implied that Legion will require a Shader Model 3 card

>shm3
>$__CURRENT_YEAR

I did a test for the keks in Legion on a 10 year old laptop, and it still runs on shader model 2.
Guess chinese poortrash make up too much of the userbase. I remember how mad people were when WoD started to require SSE2 (FUCKING SSE2) and they couldn't play on their Athlon XPs.

Yes. This way you get the full benefits of slow engine + long building times.

The game was made like 12 years ago. 12 years ago, they wanted to support consumer hardware (so, hardware older than 12 years now). Imagine the shitstorm if some players' computers used to run the game just fine, but now it doesn't work because of an update.

the only slow engine will be your iterative, unoptimized crap builds.

fucking C tards

Because its a shit language that's designed by committee (which has consisted of people who don't really do production programming for a long time) and is stumbling all over itself all the fucking time because they're aiming to be backwards compatible.
You used to hear them say 'the vast majority of C++ has yet to be written' to motivate decisions.
Really if you can't see this then it's probably no use in talking to you because you're not a good enough programmer to understand.
If you want to try look at Scott Meyers talk on what D shouldn't inherit from C++. He starts of with minor stuff (imo it's actually a quite significant problem for C++ but it can be overcome) somewhere in the middle (iirc, maybe it's in the 'why C++ sails when the vasa sank' - talk) he explains how C++ came to be what it is now. But it's really just a mess of ideas being brought into the language under the constraints of major goals.

I think std::tie is a perfect example of a feature many people want that turns out to be fairly useless simply because of how crammed the language already is.

And the committee doesn't even accept that it has language dialects yet. So we're not really gonna see the language as a whole get better. We will see improvements for the specific dialects likely, but it's not gonna be enough.

So if you have a large performance critical project you wish to get done at some point within the next millenia you don't use C or somehow manage to constrain programmers to a subset of C.

If you're not the kind of performance constrained person C/C++ caters to I recommend you move along and find a better language. They're not good languages. Not even C. It's just that C is less bad than C++. We're starving and praising basic sustenance (C, if it wasn't clear) like its a God.

>being this upset and ignorant

I've heard similar things about their art department.
You can pull 6 figures fairly easily and apparently the work environment is great, also the company cares about their workers health.
Extra pay for exercising etc..
Only problem is that you need to be an art god to get into that place.

No that's not true. Compilers aren't magic and every layer of abstraction you put on has its implicit constraints that will slow down your code beyond what it should have been. But the solution to this is generally to write your code in a more hardware close manner where you consider that necessary (renderer, offline computation, core ai processes). But that doesn't mean your game won't be slow outside of that. You really should take a more critical view when looking at applications.
Regardless of that iteration time in games is a massive issue. It's why we have scripting languages in major engines. It's not because the scripting languages are 'easier'. When you have your framework that's just not a major concern anymore.

>Only problem is that you need to be an art god to get into that place.
>b-but I don't want to actually work

The WoW sytem requirements page states that
>Due to potential programming changes, the minimum system requirements for World of Warcraft may change over time.

I don't know how this will bind them legally in any form. However the Battle.net EULA has a "no warranty of any kind" section, so they can slap on that that there is no warranty that their software will continue to run on the same hardware/software setups it used to run back then. They recently announced that they are dropping Windows XP/Vista support.

FWIW std::tie is now superseded by a new feature in C++17

you can do this
auto tup = std::make_tuple(5u, "hello");
auto [u, s] = tup;

>every layer of abstraction you put on has its implicit constraints that will speed up your code
FTFY
The more the compiler knows that is built into the language, the better. Hence, better pointer aliasing in languages other than C.

I'm not talking about legal stuff. I'm saying they will lose users, and therefore money, every time they increase the hardware requirements. So they try not to do it too much.

>what is restrict

Lol is tgt c? Looks comfy, should i learn it or is meme languague like ruby

Sounds sweet. Now if you only had a degree, talent, work ethic, charisma, and even a semblance not being a social retard it'd be like the perfect fit amirrite!

C++ is the worst language, except for all the others that have been tried.

Don't waste your time, he's parroting.

Except if you look at the proposal you will see how std::tie is blocking progress. And std::tie was blocked in the past or we wouldn't need to replace it. C++ is just a long chain of poor decisions.
>constraints
user I don't think you get it quite yet. There's many levels here. But in short constraints are good in the instances where UB is a thing in C. In C++ the aim is to avoid UB and by doing so you're constraining what the compiler can actually do. People find things like undefined argument evaluation order for function calls to be stupid. And at a glance it would be, but it's absolutely vital to performance and from the programmer side having the order of passing arguments matter makes it very difficult to program with if you're expecting good performance. In analogy C++ is putting in these kind of strict rules. Programming around those is very difficult.
It's too big a topic to discuss here anyhow.

You're right. He probably is. I'm very easily fooled though.
>C++
C, and only for problems where performance is a major concern.

And pic related was written in basic

>Except if you look at the proposal you will see how std::tie is blocking progress.
Which one?

Friend of mine's brother works at Blizzard. It sounds like the start of a 2000's scam, but its true. He has a lifetime WoW account.

Yeah honestly, c++ is such a massive mess of features. Can ANY single person truly understand all of c++?

I like using objects, but all the rest of it is so much baggage that it feels like it isn't worth it.

I don't remember what the C++ 17 feature is called.
But if you find the proposal they mention std::tup. It's in the section where the proposal answers some questions. Most proposals are like this.
>but why didn't you do this clearly great thing?
>uh we didn't want to replace x/this conflicts with x/I'd rather not spend 1 hour on this in compiler implementation

In this particular case (iirc), you can't do
[a, b] = foo();
Where a and b were already declared.
When you start using this feature I suspect you will quickly realise how important it is to be able to assign to pre-declared variables. For what's really just a convenience it's quite pitiful.

People claim they do. Generally that means they have a passing familiarity with most features and understand a few very well. I don't genuinely believe there's any single person that understands all the implications of the features in the language. And that's important.

Wow is what? 15 years old now? Of course it was written in C.

Well I'm reading it right now and from what it seems it's just a minor inconvenience/consideration.

It's called structured bindings btw, here's the paper I'm reading:
open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf

Nonetheless, I'm still hyped for it (I know it's a proposal and stuff) should it make through.

Are you retarded? There wasn't even a Sup Forums let alone a Sup Forums (remember /new/ you retard?) when the Matrix came out.

Games like Halo and HL2 were written in sepples so it's not that obvious. The thing is it appears they ported a lot of stuff from WC3.

Friendly notice that Blizzard sold out to Activision.

It'd be very educational to make a note in the calendar reminding you of this issue at some point when you're expecting to have used it extensively.
I suspect you won't have done that.
It's very common with features that only fit sometimes. They stop being considered because they're not worth the headspace.
C++ is old. And C++ was seriously considered before WoW was made. I'd consider their (supposed) use of only C in WoW to be quite extraordinary.

C# is bloated garbage and c++ isn't much better.

Actually I'm mistaken. Halo CE is C apparently. Halo 3started using Cpp. First source engine was Cpp though.

It is on the west coast. Even their janitorial staff likely pulls 6 figures. But houses still cost 1M.

[citation needed]

I seriously doubt it's written in pure C, all high performance games are written in C++ and not C

I could not even imagine the unholy mess the source code would be if it was written in C, not to mention the house of cards stability

That explains why it's so shit

No they are NOT, they are in general written in C++

Do you retards on this board know anything about anything?

>C# is bloated
What are you even talking about?

Not only should you have said ".NET Framework" because C# is just a language, but even then that's false. It's a large framework that you can pick and choose things from.

There is nothing wrong in having a large framework, if you don't want to use the built in sorting functionality in the List class, then implement one yourself, nobody is forcing you to use it.

>C# is just a language
>languages can't be bloated

All critical code sections are written in C. If that doesn't suffice they usually resort to manual ASM.

ITT: Retards thinking WoW is actually written in C

>too bad it's a shit game for autismos
Well, it is now.

>Anaheim
First of all, this is a ghetto shithole and you will be mugged/murdered immediately
Second, Blizzard is in Irvine. Somewhat near Anaheim, but much safer (except for reckless Asian drivers and university students (who are also Asian)).

actually critical sections are neither C/C++ but rather HLSL/GLSL. this is run on your GPU. your cpu mainly feeds data to your GPU, and the code which does that almost always calls into a framework called direct3d or opengl. Bindings to opengl and direct3d exist for almost any language, but the libraries itself are written in C. It doesnt really matter which language your applications main() is written in, you just need to make sure you have efficient bindings to the graphics library. you can do that in any language, and you can fuck up with any language.

>written in C++
Depends on what you mean. A real C++ programmer wouldn't consider it C++ to any major extent.

uh Cfags?

>pic
>systems hungarian notation
eugh

C cucks rekt

>shaders are the most critical component of your game
No. You're trivialising the pipeline. You usually need to split objects up into different drawcalls based on their pipeline state requirements. So you don't kill your performance by doing too many drawcalls. That's what most optimise for nowadays.

Having good shaders is of course important but it doesn't really compare to the importance of letting the gpu actually do its job effectively. That's the hard part. Most shaders aren't exceptionally complex either. They just have to draw a lot of stuff usually.
I don't think op meant the latest versions of wow is pure C.

"the internet" only started to use it a lot in 2012. however, pol picked it up quickly after it became a meme

>the libraries itself are written in C
>actually critical sections are neither C/C++

the base players are probably the most valuable thing WoW has these days, so it makes sense to keep them

>the Internet only started to use it a lot in 2012
No. Sup Forums started using it before 2012, heard it frequently back in 2010 at least.
You went to Sup Forums (presumably first in 2012).
And you're too stupid to know the difference between Sup Forums and the Internet.

I would do anything for a few minutes with a WoW engineer. Overwatch at it's heart is the warcraft engine yet it scales logically with hardware. I'm sitting here pulling my hair out running benchmarks trying to figure out where the bottleneck is. I know it's an engine/software one but that just means it's getting stuck somewhere very specific. There IS hardware that will get me the FPS I want out of populated areas, I just need to figure out what it is.

I bought new hardware to do these tests. Right now I have a 6600k on a b150 board with ddr4 2400 running at 2133. This means I cannot test the effect of single threaded performance on the game because I can't change the CPU's frequency. I can't test memory frequency scalaing because I can't under/overclock my dimms, etc. Today a z170 board, good cpu cooler, aand ddr4 3600 cl15 samsung b-die will be here so I can get to the bottom of this.

WoW currently puts my 6600k at 40% usage across all cores no matter how hard my FPS is tanking. Render scale has no affect on FPS so it's not a GPU bottle neck. Can't wait to do the tests today.

Assembly*
The assembler is what turns the assembly into machine code.

youtu.be/7KXVox0-7lU
You might enjoy this.

But finding the bottlenecks isn't usually particularly hard. What is making your benchmarks deceptive?

Pic related written on paper in machine code and typed into the computer by his wife.

It's just that they make absolutely no sense. You can break WoW into a few games/work loads. Old World/Dungeons, New World, Dense populace, and raid.
Old world I can go to a couple hundred fps no problem, gpu screaming, cpu at 40% on all cores.
New World I run into a distinct GPU bottleneck and get from 50-90fps due to foliage, shadows, etc from legion.
Densely populated areas I sit around 50fps gpu not strained and CPu at 40%.
Raids behave similarly to cities. FPS stays the same in this situation rendering at 1080p or 2160p.

So a faster GPU will get me to 120hz in legion zones but not in cities where I spend a ton of time. So that's simple, right, lots of players means lots of CPU load, but CPU usage is sitting at 40% across all cores.

You have people who say that WoW will only use 1 core, some say 3, some say 6 but my PC says it's using all 4. Is this Windows doing some mother fuckery and distributing the load? I will have more information when my case shows up and I can start the upgrade. Tempted to do it now but I know i'll finish in my old case and then the new one will get here.

they consistently put out good games too

blizzard might be my favorite company

...

idk what Windows does, but I believe Linux can distribute the load between cores

So even if only one thread is running, and you have 4 cores, it might show all 4 as 25%, as opposed to 1 core being maxed at 100%.

Maybe you're seeing something similar, where only 2 threads are running at the same time.