Can any coders here confirm that this was made due to optimization of town performance?
CRIME Shirt $21.68 |
Shopping Cart Returner Shirt $21.68 |
CRIME Shirt $21.68 |
Can any coders here confirm that this was made due to optimization of town performance?
CRIME Shirt $21.68 |
Shopping Cart Returner Shirt $21.68 |
CRIME Shirt $21.68 |
how can a fricking text array be expensive?
Wdym?
it's the goddamn textures
they probably made them too big
and need to dynamically load them up
You don't load the same texture multiple times.
New to modern day coders? Most I know don't even understand how mirrors and lights on wet surfaces worked in older games so optimisation is even more of an alien subject to them.
That's so fricking cool. I love older dev tricks like that from graphics to gameplay. It's so cool that stuff like this looks/works as good if not better than the actual tech we have now. It reminds me of SWAT3 vs. Ready or Not AI and why SWAT 3's AI is so good while RoN's is janky as frick. RoN attempts to actually dynamically simulate AI actions while SWAT3 just filled the map with handplaced waypoints so the AI always knew exactly what to do and where to go and it works infinitely better. Sometimes the simple solution is the better one.
>nd how mirrors and lights on wet surfaces worked in older games so optimisation is even more of an alien subject to them
thats a pretty neat solution to reflections, didnt know that was a thing. Cant even tell the ground is transparent
Man, I wish we had a free 3d engine that still requires these tricks.
It's the fact that items in ARGPS and MMOs are stored in databases. You have to query these databases everytime you have to load them and since you're always running into players these queries add up to a lot of overhead pretty quick.
You can just have the server send player information to others instead of querrying the db every single time
That's your question? I'd much rather question the need of preloading the entire stash of every single person in the vicinity. Just fetching their currently worn outfit and items should be more than enough. It really is fractal incompetence. The more you think about the more incompetent the devs look.
function InventoryTest()
{
this.main = function()
{
var itemDefns = ItemDefn.Instances;
var holder = new Holder
(
"Inventory",
[
new Item(itemDefns.Armor),
new Item(itemDefns.Boots),
new Item(itemDefns.Coins),
new Item(itemDefns.Gem),
new Item(itemDefns.Gloves),
new Item(itemDefns.Ring),
new Item(itemDefns.Sword),
new Item(itemDefns.Scroll),
]
);
var holderAsHTMLElement = holder.htmlElementBuild();
document.body.appendChild(holderAsHTMLElement);
}
}
this.Armor = new ItemDefn("Armor", new Image("Armor.png"), use);
this.Boots = new ItemDefn("Boots", new Image("Boots.png"), use);
this.Coins = new ItemDefn("Coins", new Image("Coins.png"), use);
this.Gem = new ItemDefn("Gem", new Image("Gem.png"), use);
this.Gloves = new ItemDefn("Gloves", new Image("Gloves.png"), use);
this.Helmet = new ItemDefn("Helmet", new Image("Helmet.png"), use);
this.Key = new ItemDefn("Key", new Image("Key.png"), use);
this.Potion = new ItemDefn("Potion", new Image("Potion.png"), use);
this.Ring = new ItemDefn("Ring", new Image("Ring.png"), use);
this.Sword = new ItemDefn("Sword", new Image("Sword.png"), use);
this.Shield = new ItemDefn("Sword", new Image("Shield.png"), use);
this.Scroll = new ItemDefn("Scroll", new Image("Scroll.png"), use);
this._All =
[
this.Armor,
this.Boots,
this.Coins,
this.Gem,
this.Gloves,
this.Helmet,
this.Key,
this.Potion,
this.Ring,
this.Sword,
this.Shield,
this.Scroll,
];
this._All[itemDefn.name] = itemDefn;
Man yous some type aah homie
I have no idea what this means but I bet it is a great solution.
>javascript
>creating a new fricking object for ever Item instead of just an array with IDs or hashes
>10 players with 100 items in their stash
>1000 new objects with textures and models all loaded into memory
>128/128gb ram used
I hope that code is meant as "Why it probably sucks" and not "here's a better or valid solution"
and again
>javascript
>not creating objects that contain the IDs and/or hashes
Modern devs can't code for shit so it's probably not that far off
I didn't bother reading that guys code, but while you can just store ids and counts for commodity items, randomized or customizable items need to be instanced.
Yes, but instancing is okay. new Object(bla) per player per stash is not okay.
No they fricking dont you nonce. You create an algorithm for item affixes, base types and roll ranges and you assign a value to each item based on that algorithm. Itd literally just be a fricking string. I dont even code and even i know that shit. Imagine creating a unique Id for every fricking item for no reason
>you programmatically create and assign a value to each item using logic
>imagine programmatically creating and assigning a value to every fricking item for no reason
Agreed.
Learn to code, Jesus Christ
In English, doc!
>t. Karlie
um I don't get it, that's just a terminal, the code is above/behind it? Holy shit people are dumb if they think this is a gotcha
>Holy shit people are dumb if they think this is a gotcha
You're the moron that doesn't realize the code behind it is
>concatenate_strings("hello", "world")
>just a terminal
>the actual code above is "Hello World"
>the terminal has a bunch of wrongly used change directory commands multiple times in a row in order to "fill" it so it looks like she wrote stuff
>command not found: cd..
>cd code
>cd: no such file or directory: code
You are braindead moronic
>the code is above/behind it?
Yes. And it’s literally a hello world.
>Holy shit people are dumb if they think this is a gotcha
Not as dumb as the people who think other people think it’s a gotcha instead of just being funny.
People who actually write code, even as a beginner-level hobby, don’t do staged social media pics of them hello-worlding.
So she is actually learning to code and you laugh at her??? I wonder why, heh.
virgins who like to pretend they know about things so that they can fool people (and themselves) into thinking more favorably about them. Sad, lonely stuff
>virgins
The punchline is that someday you’ll realize that only virgins use that term as an insult.
I’m going to start putting “^_^” in comments/documentation at work and see how long it takes before people start complaining
Are you hacking me bro?
>pascal case for js variables and functions
Did you redeem sir?
always online games are so good!
>When you see another player in game you load them and their entire stash filled with all their items.
There's no way they would go and unnecessarily load some other player's inventory and stash 99% of the time when they're not needed.
If ActiBlizzard do this, they're literally fricking hacks.
Either way, I'm glad I didn't pay for this turd.
My guess is that it's related to preventing duping via trading glitches.
Also for some reason you can see anything anybody else drops on the ground even if you can't pick it up. It's weird and not very well thought out.
Good to know, I will drop yellows in a swastika pattern now in Kyovashad
kek, based, we all should do this till blizzard changes fixes this mess
>There's no way they would go and unnecessarily load some other player's inventory
>If ActiBlizzard do this, they're literally fricking hacks.
I get hating actiblizz and all, but it’s not hard to see why that might be beneficial. If another player uses/equips/drops/whatever an item from their inventory, is it visible to you?
Then sure, just load everything and be done with it instead of dynamically having to load individual items every time another player utilizes one and triggers the process.
>loading each players 500 mounts
>but it’s not hard to see why that might be beneficial.
It's certainly not hard; it's impossible.
You don't want to load into memory shit you're not going to use until there's an actual reason to do it, period.
>You don't want to load into memory shit you're not going to use until there's an actual reason to do it
Okay, okay, that was terribly worded.
There are reasons why you'd want to preload soemthing sometimes.
However, I'm 101% sure there is no actual reason to preload the entire inventory and stash of a Player that isn't (You).
But surely players dropping/equipping/using arbitrary items from anywhere in their inventory is not a common occurrence? If it only rarely happens, then only loading the item when one of those things happens may be the best way after all.
Its a moronic excuse for pajeet tier programming
Bungie did this with Destiny too, the Tower loads like shit because it loads everyone’s entire inventory, stash, and all their emotes. Oh and you still get invisible (not loaded) character and gun models so it doesn’t even actually work.
items are a pretty interesting element to game design, so it depends on how they're handling them. Since he's talking about memory overhead, it's very likely every item in the game is going to be a static object which means they're always loaded into memory. When you start getting into dozens of items, then it can become a problem, add hundreds, if not thousands of items you have to constantly keep track of, then it's an even bigger issue. Especially if, say, each item is a struct with their own parameters you're carrying over. Bethesda has an interesting way of handling items, most of which aren't tracked, and only become 'real' when they enter the player inventory. Since I know nothing about diablo, I can only assume this has to do with microtransactions or pay 2 play schemes where they need to control exactly which items are where at a given time. Maybe, maybe not. but if they're running out of memory for items, it begs the question of what else are they constantly keeping track of where items would tip the scale.
>when you see another player you load their entire stash
why the frick would you load their stash
sounds like some bullshit excuse
more importantly why aren't they focusing on the stuttering and freezing issues that are still rampant in the game
>why the frick would you load their stash
Because when they're in your instance with you your own client needs to be able to load/render their items if that players decides to grab items out their inventory or stash. It's a jank way to do it but it works except it severely limits the amount of stash space you can reasonable have due to performance.
wouldn't it make more sense to load it as they pull it from their stash?
Theoretically yes. But also no. Because players/users are moronic. First of all it would be laggy, and secondly, morons could just spam move the items, effectively creating something like a ddos attack.
What would make the most sense is to keep all that shit offline. But then you could cheat items. So poor blizz would lose out on money uwu
Thats fricking dumb. Just tie rendering to having the menu closed, on an interval. Is it laggy? Who cares you're watching someone change pants. Though I guess this is blizzard
How the frick would it be laggy to load one small item every now and then instead of a whole stash every time a player comes to town. Players come and leave town much more often than they equip 10 times from a stash in a row.
Towns are instanced and there's barely any player in them anyway.
if my psx can spam gold in every square in tristram, then a fricking pc can do that shit too times a million. devs are just stupid, and their overlords want to make you buy extra slots
Ever played WoW or any other mmo with a latency of more than 100?
I realize you're a 12 year old zoomer who doesn't know there were or even are shitty internet connections, especially now that daddy musk established star link. But in something like wow, there is a noticable delay between picking clicking on an item and it getting added to your inventory. Blizzard actually wants to make diablo seem offline despite it being fully online like an mmo. So they limit everything possible. Everything is programmed to make it seem like it is an offline game. It is impressive but shit and moronic at the same time. So many possibilities, including mods and cheats (for fun) if only the game was offline with an optional multiplayer mode, like for example, Terraria. A game that is still alive because of exactly that. Mods, Cheats, Offline and Online. Also minecraft and other games with dedicated servers such as CSS
I'm older than you buddy and your entire paragraph is completely irrelevant. You have no idea what you are talking about.
>Older than me
>Implying you are above the age of 21
I'm 36 buddy.
When I was droppig items on the gorund it was in EQ in 1999 on my 512k cable internet connection with no lag and to this day I still consider WoW to be the "new" kind of mmorpg. The shitty kind for morons who can't deal with adversity and exploration.
First of all, shouldn't you be busy slaving away like a good little Gen X grandpa?
And second, you can't compare old games to new trash. New network code was written by moronic shitheads. They would manage to frick up sending a single bit over a network so bad that it wouldn't work at all on a 512k connection. They are only able to do something like Message.Send() and don't know how exactly it works in the backend.
I am a programmer. I worked for a fairly big studio up until recently. I can guarantee you 99% of devs suck ass and they only got the job because the one responsible for HR can barely handle a word document, let alone know anything about code. Also DIVERSITY WOW.
The 1% that is still around that is actually good and not autistic or moronic or shit or LGBTQRLASDFGHJK are beginning to switch from game dev to software for stuff like banking or hospitals etc. Because the pay is better and those actually hire people for skill instead of diversity. You wouldn't want a bug to transfer 20 billion to some rando all of a sudden.
Software development outside games also has nice schedules that are usually flexible and no crunch. At worst you get called at night to troubleshoot some issue and usually the developers aren't the first ones on that.
Thank for keeping us updated about your life zoomie but literally no one asked.
Not a zoomer. And this isn't a blog post. If you are into video games then that affects you. Ever wonder why games get released buggy, unfinished or get delayed, or look like shit?
Exactly because of the reason I described. And it will never recover. I am talking about existing studios. Only brand new studios with brand new IPs have a chance to do it properly and remain proper.
That too. Some worked 10-11 hours 7 days a week because they were moronic and "wanted to do a good job" and it's their "passion". But that's just an excuse for being a shitter.
>Say you need a month to finish a feature
>Take 3-4 days
>Take the rest off while pretending to work hard
[Unsubscribe]
And this is why games suck ass
Dude, you're just going on an offtopic rant stating obvious facts like some moronic teenager who just figured out basic shit and needs to share. No one asked.
None of this makes sense because YOU DON'T TRADE ITEMS WITH PEOPLE IN DIABLO 4
yet
maybe they invent a reason why its so difficult to implement in season 6, meanwhile, just play the game goy
It's never going to happen because there's no meaningful crafting. So the only way trade would be viable is if:
A.) They make an in-game Auction House, Board, or external site for listing items people want to trade, and...
B.) People who want the item you're offering also happen to have something themselves with which to trade that you want, which is unlikely.
D4 has no currency mechanics. "Gold" is just a fake thing that exists to take up UI space and pretend you're acquiring something, but you're never going to just trade this fake, infinite resource with other people because what would anyone else need your gold for? So since you can't craft items, and you're not buying them with any currency, the only possible trading would happen in the super rare situation two people happen to have the exact thing each other wants. It's such a small fractional use case that it's not worth developing the system.
The only items anyone uses are legendaries and uniques, so what would you possibly trade? A low-level rare piece of shit? Who would care, much less want that? Especially when they can just get free legendaries from doing any dungeon.
You do trade. Just not uniques or legendaries.
There is actually a good reason to trade a yellow base item that has incredible defensive stats, for the new owner to then imbue with an orange affix. Problem is there's no way to communicate with anyone that you got the awesome item for sale or any tradable commodity or currency to buy it with, other than another similar yellow.
Yeah, I covered all of that here
People complain about PoE not having an in-game auction house, and sure that's valid. But they went with the other solution, they have a Trade chat and when that wasn't broad enough to cover the needs of the base they went with an external listing system. This means that all trades require a basic action of communication with another person involving what you are seeking and what you are offering in exchange.
WoW has an auction house, which strips out the communication aspect, because it has a single base currency, but also that currency is base because it has value in purchasing other things. Gold in D4 has no value. It's infinitely inflationary and doesn't sink out of the economy, and also it doesn't buy anything of any value IN the economy so no one has any reason to seek lots of it via selling items.
I don't know honestly. It could create problems due to the way instances work in this game which is kind of unique compared to other games. It could also be a complete cluster frick to fix if all of their infrastructure is built with it in mind.If people are constantly equipping items in towns and bringing shit into and of of your stash in town instances with lots of other people that leads to performance issues as well.
remove the ability to drop items in town, make it so the stash is only loaded for another player if they are trading with you.
a miracle solution, one found in just about every old MMO
This, the trading system and dropping items instead of deleting them are a waste of dev time since nobody uses this shit, D4 looks like 3~4 games put together into a shitty barebones ARPG.
Which mods? Been trying to replay D2 with mods but the mods I got barely changed the game/systems.
reign of terror
What is a stash tab?
No this is just a shitty excuse to add paid stash tabs down the line.
another net negative to this half assed mmo lite shit idea
what are the positives again ?
you get to look at people wearing cool mtx from the shop
that's worth it
The net positive is Diablo moves the genre forward to the 2020s. Offline games are a relic of the past
nice points
lol moving the genre forward to mmo trash? ITs a step backwards moron
A bunch of 1st year comp sci students don't know what they're talking about in this thread. In these games you need to store players items and stashes server side on databases that need to be queried every time they are loaded into the game. This is how you prevent players editing and modifying their items on the client. Blizzard's frickup is that the way they handle their interconnected world where you're constantly loading instances that have other players in them requires you to load their inventory and stashes which means these databases are being queried to load every item, position of item in every player's inventory and stash every time a new player is in your instance. This is a huge performance requirement and if they were to triple everyone's stash space the databases wouldn't be able to keep up.
I don't know what the stash tab is. Is it just their inventory? Unless the player is directly viewing someones inventory it shouldn't be loaded or need to be loaded.
>Unless the player is directly viewing someones inventory it shouldn't be loaded or need to be loaded.
If that character grabs an item out of their stash your client needs to be able to render it which means the database has to be queried at some point, either one big sweep when you load an instance and load everyone's items at once or every time a change happens which can also lead to performance issues if databases are being queried every time someone grabs an item from their inventory or stash.
I don't understand why that needs to be query everytime someone pulls something out of their inventory. If it's just some object that's being shown on the screen, I don't see why you would need to pull any information from a database. It's just some object, so it gets rendered with whatever texture/model. That stuff could be loaded beforehand.
If you need to see some item's unique stats/properties, then you load it when that information is needed. It's called "lazy loading". It's how shit like twitter and pretty much anything that has a frickton of information needs to be dynamically loaded.
>lazy loading
Black person loading
>oh we load the element when you go to use it
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
>FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Instead of one long loading time websites are tens or hundreds of mini loading times.
Really annoying. Acceptable for some websites but not all.
you're truly moronic, let's make it easier for Black person monkeys like you:
what takes longer and wastes more ram and computing time of your pc?
A) the whole inventory of your player and the rest of players in your area
B) your whole inventory and the data you necessarily need to keep the same experience but without loading the rest of players whole inventory too
go and guess Black person
>having to query a server an unknown number of times with unknown frequency entirely based on the item-usage of an unknown number of other players in your vicinity
>just grab all the item info for players you visually interact with so it’s already client-side if/when you need it
>keep the same experience
>calling anyone else moronic Black folk
>the Wallstreet journal
>I don't even like ham
>it's just my job
every time someone's dropping an item the client is sending data to the server and the rest of clients have to sync to it anyways, having all the data of the inventory in your ram in your client on its initial state is useless once someone alters it anyways, fetching times from a database are way higher when loading full stacks of data than loading the bare minimum needed, and will always be, moronic Black person
>trying to apply something that makes sense for a retail website or social media app to a fricking video game
Having something readily accessible instead of having to request it from another source, whether it’s the disk controller for your local storage or a remote database, is literally the purpose of ram, frickhead.
You’re arguing that carrying 5 boxes in one trip is always slower than carrying one box at a time as-needed and making what amounts to a randomly chosen number of trips between 1-5.
And no, carrying 5 things doesn’t literally go 5 times slower than carrying one thing.
you're truly moronic, you think the full inventory should be loaded any time a single item is needed, that's why you're a moronic Black person, I'm saying loading a single inventory and then just random single items is better than loading even 2 inventories every single time and you can just have a nice day, no more replies for you moronic Black person
you do not query the server for anything, the server tells you the position and equipped items of every player at all times, textures and models are already client side, all you have to do is load them into memory if you notice model x and texture y are not loaded
I dont think its true. I know nothing about coding, and it could be true. But I dont think it is.
This isn't a problem in WoW where there are hundreds of players on screen and each of them have hundreds of items on them, why should it be a problem in Diablo?
because incompetence
WoW was made by time travellers from 2050.
They're two different games with different mechanics, moron. In WoW there's no reason to load items in other player's inventory until they're trying to trade it to you, because it's the only way you can interact with their inventory. You can't just decide to create a landfill of items on the ground on a whim unlike Diablo.
WoW doesn't even load your own inventory in your bank unless you open it yourself.
in wow they can decided to equip the items and have their model appear on your screen at any time secondary
>model
You mean textures. Armor in WoW is spray-painted, so it's really not a big deal to load it only when the player equips it.
There is no difference between doing that and someone equipping armor.
There has to be some moronic reason in their backend or frontend on why they can't just lazy load that shit. It's the most obvious solution to a problem like this.
The moronic reason isn't on their backend or frontend, it's sitting in their offices, writing shitty code.
I don't see a reason to load the inventory into other clients at all, the server knows the inventory of each client and validates what happens to each item once it's modified. That should be enough.
You can't even drop items to be interacted with by other players in D4.
Whats the actual reason then?
Don't know, I've been trying to deduce it myself.
Occam's razor points to it being carryover code from D3 (it had the exact same design problem) and/or it was initially implemented before what they knew what they were gonna do with item sharing.
>Most objects in the games are actors: special effects, enemies, summons, followers, and items. Gems, weapons, armor, potions, pets, crafting materials, and more; all the things we love to horde. All players in a party sync on everything that every player has - in memory, all the time.
>That doesn't sound like a lot at first, but it adds up very fast. The more actors active in a game (like enemies on screen AND items in your stash), the more the game will tax your system's memory. This issue on console is particularly difficult because there is a limit to how much system memory we can access. PC is more flexible in this manner, which is why we're able to add more stash space there.
>On console, we tried lowering the number of tabs to be added, but there was still an unacceptable rise in latency and rubberbanding. As much as we'd all enjoy the additional stash space, it's not worth the cost to gameplay.
https://www.icy-veins.com/forums/topic/43149-patch-265-stash-space-clarifications/
Once again. Once a fricking gain a game is compromised thanks to consoles.
>Once again. Once a fricking gain a game is compromised due to being unoptimized shit
Sounds more like a fundamental issue that doesn't scale well, so the issue is more apparent on consoles than on PC, while even on PC, the brute force solution doesn't even work well because eventually you will run out of memory there too.
>You can't just decide to create a landfill of items on the ground on a whim unlike Diablo.
Okay so remove this and it solves the problem.
The overhead happens only in their servers, which cost them more money. It's a money based decision, similarly to housing in ff xiv.
the only argument for this shit to be online to begin with is "faire competition and no cheating"
but the game has no leaderboards, that shit is not even planned to be in for season 2
you are cattle
Who is cattle?
Literally nothing about this game is designed for the player's benefit.
>load them and their entire stash
Why do you need the other player entire stash to load too? I'm not familiar with how stash works in d4 but do you have to be in town to use it or you can use it in open world?
It's an always online piece of shit so they probably have a single unique way to load a character, regardless of if it's your own or another player.
And that way is to send everything no questions asked. It's so simple a pajeet could do it.
No, there's no reason to do load another player's entire stash into your memory when you just see them. Instead this explains the horrible stuttering whenever you encounter another player, especially in towns.
Why didn't they just copy paste whatever networking design they have had for other players taking items from their stash since nearly 20 years ago in WoW.
wouldn't be surprising if they had just lost it or just overwrote it with years and years of piling on the spaghetti tower that is WoW's code
remember the starcraft source disk shit?
It's fricking nonsense is what it is. You load item Id's, a few kb per player at most. This isn't a dev, is it? Some sort of blizzdrone who's excusing plain corporate greed by any means, right?
>item ids
incredible how you've never played a diablo game in your life and you have the audacity to post your opinion as if anyone couldn't tell that instantly
Played Diablo 2 on ladder while you were still a cumstain on the boot of your dad. What else is getting transmitted then, apart Modifiers and names (which likely are also stored as IDs pointing to a database you already have on)? What kinda data do YOU think is being transmitted while playing online?
>modifiers
Oh so you finally realised they're not static items assigned to an ID did you? Next time just take the L instead of moving the goalposts and pretending that was your initial position all along.
Nta, but that shouldn't add much. 16 bits for affix type (very generous), 16 for value (again, very high). Items have what, ten? So 40 bytes per item. Add some phony name to double it and you're at 80 kb for a player with 1000 items. How many players do you encounter per minute?
>When you see another player in game you load them and their entire stash filled with all of their items
Why? For what purpose?
Grim
I can't really understand why this is a thing unless they originally intended to let you trade or drop items for other players.
bro its IMPOSSIBLE
path of exile is an IMPOSSIBLY MADE game
it really isnt fair.. how is blizzard supposed compete with something that has constant freemium whale funding? theres just no way it would be profitable to develop a game like poe UNLESS you were as fricking lucky as GGG got with their mega whale player base
Is this real? How is that possible?
>can't wait for BFG to throw some jabs at Blizz again on Exilecon
Once again Blizzard is lying out of its ass and doesn't expect anyone to peek over the fence to see what other games have done. But then again Blizzdrones only play Blizzslop so they have no idea these solutions already exist.
Why would you load their stash? Makes no sense. The only stash that should be loading is your own and only when you interact with said stash.
So what are you guys actually hoarding in your stash that you need this much space? Do you realistically run 4 or more builds that need full, separate gear sets? All those mats that you're never going to use?
AHHHHHHHHHHHHHHH I'M GOING INSANE AAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
i bet if every player spent $5k on diablo like this loser on stash tabs then blizzard would be able to afford to refactor the code
I doubt that's even $100
>scrollbar
>having to spend real life money on in game features like storage
I love Grim Dawn so much more than any other ARPG it's unreal.
did you play the d2 mod? grim dawn is OK. it's not great though
Not yet, I've been waiting for them to actually finish Reign of Terror. GD is my preferred ARPG because it doesn't have any of the stupid bullshit that permeates the market like always online, real money for basic gameplay features, overt competitive metas, etc. Just man with stick hit monster and boots fall out. I also really, really like the class creation and make a ton of dumbass synergy builds.
Fancy spells are nice but sometimes you just have to beat the frick out of something with a stick in threes.
you can make some moronic builds in grim dawn. it's just kind of boring at times.
The only thing I think it's missing is a bit more mobility. D4's dodge mechanic is something I do really like and wish GD had but otherwise it feels along the same. I could probably make it more interesting with more varied builds with weird spell combos but I like focused, 3-4 ability builds with a toggle.
Good is a strong word.
https://www.grimtools.com/calc/eVLAx0PZ
This is what I use, cold/vit mix with a soldier cross class for cadence primary. Max skeletons.
>that much health
>that many survivability abilities
Good is a strong word. I'm also not very good, I just like to whack things with stick. This much defense and resistance lets me rush into shit like a caveman with no concern for my own safety.
>Good is a strong word.
>https://www.grimtools.com/calc/eVLAx0PZ
>This is what I use, cold/vit mix with a soldier cross class for cadence primary. Max skeletons.
Could use a bunch of 1 pointers for passive effects both in necro and soldier tree.
>cadence build
muh homie. bonk bonk BONK
do you have a good necro build? i cant figure out how to mix or if i even should mix cold or chaos damage across classes
I can confidently said Path of Exile is one of the most competently made game in the history of video games.
I realized that around 2013-14 when I was able to trigger a bazillion effects using synergies from every single part of the game on an entire screen full of mobs with a bazillion modifiers in a map with another bazillion modifiers in a group with other players who were doing the same thing while being on on a dedicated authoritative server and everything worked just fine.
You can tell the which game is made by turbo nerds as labor of love and which game is a soulless industry cashgrab
yeah, this is pretty normal whenever a piece of software commits to some overly generic networking protocol.
No it is bullshit to sell more stash space
*goes into a seizure*
NANI! IMPOSSIBLE
just add a hash list and a single fricking bit to every item to check if its visible or not for other players and load on demand to the clients while the server gathers all the inventories listed and prevents duping, not hard at all, Blizzard or the D4 studio have a software engineer problem in their company
if it was optimized they'd have an offline mode
The better question is why the frick do you load their stash. There's no need to replicate that.
But yeah that sounds like a typical object oriented frick up from moronic devs who never developped an online game ever.
blizzard is a small time dev team remember. it's not like they created titles like diablo, and world of warcraft....wait
Remember standing around Orgrimmar with two mages both making water filling our packs with water and trading them with other members of the raid, hundreds of water in stacks all being traded with 40 people with hundreds of other people all standing around doing the same shit with items and gear and god knows what whilst some elves are dancing on top of us whilst some other useless frick is trying to find enchantment mats in his alt bank.
But they cant create another storage tab in this?
Why? Why would every player need to have every other players stash tab loaded into memory client side? What the frick?
If it's purely data it shouldn't be a problem. However what's likely is they're preloading all the art assets of items, kek.
It sounds like they create an actor for everything that could be dropped on the ground so that they won't have to create them on the fly. It still seems like items could use a pool of actors since there are going to be vastly more stash items in existence than are ever going to be dropped on the ground, but maybe their data model doesn't lend itself well to doing that. Still you'd think for stuff that looks exactly the same on the ground they could just make one or two actors and set them to the correct textual values just prior to making them visible.
SO THEY CAN TRADE FASTER
>diablo 4
well..you know..
~~*they*~~
they = players
I was talking about their investors. you have to be living under a rock if you don't understand they're eventually going to make things monetary
i assumed they'll go poe route since i saw the stash tab
can you even mod the game since it's an mmorog?
It's dumb, it's like if each player was a full FFXIV house with all item space used and on display.
>item ID
>amount
WOOOOOOOOOOOW look at all the gigabytes of memory this eats away
0 coding knowledge but i know if you make a notepad with enough characters like billions or something it crashes your computer i think. if they have to load every players inventory on one persons computer then its like 1 million players * those many things they have to load so its simple math
So… we can’t have stash or gem tabs solely due to the broken, half-assed forced multiplayer components that were introduced just to sell cosmetics?
Its obviously dumb as shit that you load another player entire inventory, it should be designed as a lazy loading system where the server streams the items to the players only when they need it. This is bad design, period.
Why don't you email them your code fix then Mr. Know it all?
If they pay good sure, they can also hire any dev that worked in an MMO since the fricking 90s and didnt had this "problem"
>When you see another player, you load their inventory and their entire stash
1. FOR WHAT FRICKING PURPOSE?
2. This has literally never been necessary or problematic in any MMO ever made. Somehow World of Warcraft has 500 people in an area and my client doesn't fricking need to know what each of them has in their bank.
3. Your stash should be completely server-side. Why is any item data being sync'd with the client at all? Path of Exile can somehow have maps filled with literally tens of thousands of items dropped because you're running a 6-man group with huge IIQ buffs, and no one's client lags despite the fact that every player's client has to keep track of every item each player is wearing, holding, and is on the floor in the map instance. Yet, never even a lagspike at all. Why would my client care what any other client is seeing, so long as whatever data my client cares about (mine), and the other player's client cares about (theirs) matches a check with what the server says should be there? Why would my client need to check everyone else's data?
4. Every item in the game can be broken down into sets of hashes that you pile together to make an ID. It should be literally instant and cost-free to have a client check a bunch of numbers against the server's numbers in order to make sure it knows what items are present. As long as the server knows what gear/loot/stash Player A and Player B both have, neither player's client should have any reason to keep checking or carrying that data? Like are you literally just constantly having my client re-check the data from everyone else's client, every server tick or something?
Yet again, the problem is Blizzard didn't ask themselves out loud in a meeting, "Path of Exile is always online and has players meeting in towns and accessing their stashes/dropping and trading items to each other cross platform, how do we copy this?"
For fricks sake, POE's entire monetization model is SELLING you additional inventory pages and ways to store exclusive inventories of unique items like modified maps for the Atlas. Blizzard fricking this up is pathetic.
>POE's entire monetization model is SELLING you additional inventory pages
Let me tell you something about PoE stashes:
I have like, 50ish tabs in league. In Standard, I have easily 500-600, all of which are Remove-only, remnants of tabs from past leagues. But other players also have hundreds of their own tabs, some full of hundreds of thousands of currency items.
And yet somehow, none of this fricking matters because my game client doesn't give a frick what's in someone else's stash, even if they're loading into my hideout or in a map with me. The only time anything ever lags is if I'm in someone's hideout and they happen to be in like, Korea, and then my client has to load their frick-ton of hideout cosmetics. But stash items/space literally is completely performance 0. It's not even a factor, it's less than not a factor.
You can't even see other players stashes unless they drop them to the ground.
This makes no sense.
debating with the devs constantly on how to resolve a minor nuisance when the game at large is a fricking MESS. the Blizzard experience. no refunds chumps.
It feels like a lot of people here have no idea what the post in the OP is talking about
Diablo 4 is notorious for running like shit and being unoptimized, this moronic dev just said that you are forced to load EVERY SINGLE ITEM, OF EVERY SINGLE PLAYER, IN THE ENTIRE MAP, IN THEIR INVENTORY, IN ALL OF THEIR STASHES AT THE SAME TIME
This is hundreds of items that you will NEVER, EVER see or interact with killing the performance of the game. And their excuse for not letting you have more stashes is because having any more would literally kill the game
>this moronic dev just said that you are forced to load EVERY SINGLE ITEM, OF EVERY SINGLE PLAYER, IN THE ENTIRE MAP, IN THEIR INVENTORY, IN ALL OF THEIR STASHES AT THE SAME TIME
Yes, Anon, we can read the text in the image.
Yes they are either israelites or moronic and I bet on israelites
Why wouldnt you just load what the other players have equipped? Why do you need to load their entire stash?
You dont need to. Dev here this how I picture what happened:
>be overworked dev
>release date soon
>frick we need to sync all players data with each other
>all players are the same Player class instance because we designed this as a singleplayer game
>ah shit, every Player have a Inventory component
>well whatever, we will have to load the entire thing no big deal, they dont pay me enough for this anyway
>it was a big deal
>RPG packets
>that type of person who hoards dozens or hundreds of items they will never use, simply because they think they might have a use or be needed someday
It's official, you hoarders are literally ruining my experience. CLEAR YOUR SHIT OUT, homosexualS!!!
If you guys have never played Sea of Thieves, it has always had very limited server capacity, only ever supporting a max of 6 crews of 4 people total on any server at a time. People asked why, why not make bigger servers so they feel more full and active? And the answer, ironically, was exactly the same as Blizzard gives here; It can't be done because of memory and networking issues. The difference is, in SoT this actually makes sense because it's a FPS game where everyone is essentially on constantly-moving platforms (ships) trying to interact with and hit one another with guns and swords. Which means that in order for a gun to work properly, the server has to know precisely where every player is at all times, as well as all of the positions of every object around them. So, a ship has sails, windows, cannons, masts, etc. Everyone's game client has to check every server tick, what is the position and status of all of these things. If your client says this window is open, but your opponents' client says it's closed, you can't have an accurate gunfight. So each client has to prioritize checking and sync'ing all of this data to the server in real time. Meaning every player and ship object you add to the server exponentially increases the amount of checks each connected client has to make every tick. 10 ships with 4 people each means 40 clients checking dozens of variables per ship every tick and making sure they all have the same info.
The thing is, DIABLO DOESN'T HAVE TO DO THIS BECAUSE YOU'RE NOT PVPING AGAINST OTHER PEOPLE. So you can sacrifice milliseconds of lag in exchange for keeping two players sync'd up without worrying about it ruining the experience since they're not trying to hit each other with guns.
Anon Halo existed since the 2000s
What the frick are you talking about
>So, a ship has sails, windows, cannons, masts, etc. Everyone's game client has to check every server tick, what is the position and status of all of these things.
1 that's rudimentary to do
2 that's not how networking has worked since like, 1999. it uses interpolation.
Dude, imagine if fps mmo existed with 2000 concurrent players on one seamless map. We could call it planetside or something.
Or even just an fps on a gigantic map with 100 players on it that could snipe each other from, like, 1+ km away. It could be a whole genre by itself.
unfortunately there IS Pvp in Diablo 4.
memory overhead? because of....like 4kb of data max?
man, all the talent is gone from these legacy game companies
The only way I could imagine this being an issue at all is if the items are being rendered and stored in memory, but hidden. Like under the map or invisible or some hacky shit like that. Or maybe in order to prevent duping the items are some super hashed NFT with frickoff huge filesizes or some dumb shit like that. I can't explain it otherwise.
This. They're all trying to talk about objects and programming conventions but only preloading art assets would cause this much overhead on modern client hardware.
type ItemID = u32;
let stash = HashMap::<ItemID, u32>::new();
it's that simple
I know frickall about coding, but why would they do that?
They didn't think ahead and rather than rewriting shit, they just put in the stash limitation when they discovered the performance issue.
Easier to limit stash tabs than rewrite a bunch of code.
Of course, I always wonder if the people making the new game actually go back and look at the code/layout of the older games first.
This sounds like horse shit given how many items there would be in the world in older diablo games.
why is path of exile able to do it then? that game has lets you have tons of storage space and you can actually trade with other players in it
because they don't have you load everyon'es fricking inventory, its quite simple.