"Let's see. There are monkeys that evolved into men and monkeys that didn't. Just as well, there are men that remained men and men that evolved into something else. Do you really think humans are the ultimate form of evolution? How arrogant."
--Kakurine, Evil Zone for PS1
Great panel, highly recommend actually watching the video, so you get some more of the nuance and jokes and stuff.
It had never occured to me that they would have originally built the game's inventory system as a single array, given how it's presented in the UI, but knowing that's the case it makes a lot of sense. What a clusterfuck.
Awesome write-up! This is most illuminating.
- - - Updated - - -
You awesome person, you.
- - - Updated - - -
I was thinking the same. I knew they had some extra stuff attached to it, since they've talked a little about it in the past, but I had no idea your bank is in there too. That's just insane.
Oh god! The array use for inventory bank and equipment. It hurts my soul.
Actually, I can understand using the array for inventory, bank, and equipment. Make it 2 dimensional (or maybe even 3 dimensional, since you have bags in the bank, so you might need two dimensions there to really keep track of all the slots) and everything would be nicely organized, easily accessible, and, most importantly, it would run fast. I think the real issue comes from hard coding array placements into the code somewhere else, which is... lazy. All you have to do is throw a constant definition into a main library for that array placement. Then, if it ends up that you need to change the array placement, you change it in one place, and done. I can see why you might not do this if you think that the basic code might never change, and I think the Blizzard of 15 years ago probably didn't have the understanding of the codes longevity the way today's Blizzard does when developing :P
The problem is combining similar (but not really) aspects into one array--very short-sighted. Paperdoll + main bag + bank all in one array? That's asking for trouble even if they didn't hard-code area placement expectations. What if they wanted to add a new gear slot in an expansion? Increase bank size? The problem extends beyond the base bag size.
I was most surprised about the team opting for linked-list traversal over a hash table.
Stormrage US | Aesryn
As a developer myself i have to say this was literally the best panel at blizzcon to watch. Really interesting especially considering what kind of Code legacy they are dealing with.
Gives a great perspective on things.
They have told us this before. The only thing they've told us that was new that it also includes the bank.
It being a straight-up array isn't such a huge surprise if you're familiar with how it was in Warcraft 3 (that also was an array, but it was 2-6 items per unit at a given time)
Last edited by arcaneshot; 2015-11-08 at 04:53 PM.
Especially the vanilla server demanders. You can glean from the comments why the idea of resurrecting 10 year old server code gets noped on by them - even if they do have a large portion of it, if it's undocumented...oy.
I don't code, but this was still a very interesting look at the heavy lifting done by the tech guys.
I don't understand a good few parts of the technical jibber-jabber, but I'm still glad Blizzard held an engineering talk.
Thank you for recording it, Elysia.
P.S. And chaud too!
Hey I see myself! I'm the bored looking derp in the demon hunter t-shirt behind tthe blizzard employee on the right hand side... Lol!
Sounds like the coding is pretty horrible and they might not have expected the game to live this long. Maybe it might be worth investing in WoW 2 with just new coding so the game can move forward with new tech and stuff. End up being easier to create stuff for the game
Found the picture:
The problem is what system is providing what data. If you're standing next to your buddy, his client has the information that your in game, because you're right there.
The social system is still heavily integrated into each games built in social system, so that's probably feeding the data more to Battle.Net than the other way.
so basically they deem it not worth their time to fix the backpack.
i know blizzard, not like you make ~50 million a fucking month.