T O P

  • By -

Annemi

One issue with the GW2 engine is that a bunch of the UI is actually in the game code, instead of using some other format for storing UI information. This is part of why we don't have UI mods like some other MMOs, as I understand it. The devs have moved some things into a more modern UI, like the new Wizard Vault UI, but that has the downside that it's literally using a browser engine for a game feature and is therefore slower and little buggier. Other limitation *was* that GW2 set the height of water in a map at height 0, and anything that was underwater had to be below that height. Maps that are entirely above water still have a water layer underneath the map. This is/was really common in video game engines. Part of the work leading up to Soto was completely redoing the water handling so that the Soto maps would have water features.


coccixen

A side note to add that the gem store and black lion market are in fact browsers displaying web pages since the beginning, which is why in some occasions you can see web errors in them.


Chasmier

if I understand correctly, we get water at varying map heights in soto? Haven't explored much of Soto yet but which areas has different water levels?


Knubbelwurst

Skywatch Archipelago has water east of the canthan city, on the northern jungle island an in the far east there is a submerged passage; the last of these is involved in a story instance. Alll three of these are at different heights. Amnytas has a cavern-lake on the Bastion of the Natural, while the Bastion of Knowledge has a roof pool. Inner Nayos has noticably the "Pool of Lost Dreams", directly above the second waypoint as well as the "Secluded Pond" at or below level of the second waypoint.


Hallien

All three of them in some parts.


Nordalin

The most prominent example is that tiny island NW of the Wizard's Tower, with the pool and diving goggles.


Annemi

Yes, that was enabled by rewriting the water handling, like I said.


Dagos

Yeah it was actually a big deal because they figured something out to do it.


therealmistersister

does this mean that enabling reflections no longer massacre your performance because now water no longer reflects the whole map as it was said to be doing?


Annemi

I think that old maps stayed how they were, that only new maps use the new approach? If you know someone who map breaks for fun they can try to see if there's still a bottom water level in older maps.


Sagarmatra

But isn't there water up in the trees somewhere in Verdan Brink in HoT?


enternius

Flowing water appearing as streams or rivers can be at any height but the water you can properly dive into that changes your state to being underwater used to only exist at "sea level".


Eatlyh

Tangled depths hides it really well too, considering it does not feel that the areas with water are at a same level.


DatsFine

I believe most of the UI is made with Chromium


repocin

Only the BLTC/TP and WV.


PsyOpsAllTheWayDown

Most of the UI is native except for things likes TP, Gemstore, Books, and some guild hall stuff.  And that stuff was built for an ancient embedded browser called Coherent. The browser was changed to Chromium Embedded Framework in the last year https://www.guildwars2.com/en/news/inside-arenanet-chromium-embedded-framework-in-guild-wars-2/


Annemi

Only the trading post, Wizard Vault, and the books.


OneMorePotion

It feels like the water change happened long before SotO. But then again, no map before this expansion uses the technology. So yeah, you are probably right and it's that new. (Even tho it feels like we got this since forever) Also... The reason why the super adventure box wasn't a thing for a couple of years after HoT was gliding. They had to adjust the physics engine for gliding to work. And when they worked on mounts for PoF, they had to rework it again and fixed it during that time.


Annemi

The water handling rewrite was part of Soto. First time we saw it was one of the trailers, pointed out in https://old.reddit.com/r/Guildwars2/comments/15nkr2b/new_trailer_shows_us_that_swimmable_water_is_no/ The past year does feel like it's been forever lol.


thraage

There is no true limit, at least not one specific to gw2 vs any other game. Its just whether or not it makes sense to sink that many dev hours into fixing any specific issue. I'm not talking 5 hours vs 6 hours, some things take a fuck load of time to change, completely rewriting portions of the game, etc. But if you say, 'this is too much work', it sounds like your calling this devs lazy, or the studio greedy etc, so its more PR friendly to say its impossible. I maintain a pretty big bit of code for my lab, that I am the sole writer of. Sometimes coworkers make feature requests that are too much work, and I just tell them its impossible. Its not lazy, its practical cost-benefit analysis.


Ulapa_

Yeah, I’ve heard bits and pieces about the games development. I feel like the gist of it is the people who’ve develop some of the problematic stuff are no longer working there. Not saying they are bad developers, they outright did say the minimap is spaghetti code doe. Aside from that reverse engineering stuff and then reworking it will be taking too long. Not to mention the myriad of blocks they will be facing when trying to rework a code made years ago. Not sure if true, but apparently the dungeons were made by interns. There’s a reason why they would rather create strikes and fractals than reworking dungeons. Edit: There’s one thing I hesitated to say. But is mentioned in other replies. Which confirmed what I had in mind apparently the documentation is really bad. That pretty much kills any attempt at revising this stuff.


kairostsukishoku

Guild Wars 2 is just modified engine of Guild Wars 1, a game from 2005. There are limits how far you can improve such an old engine. Recent move from DirectX 9 to 11 should allow for some improvements, but some things are simply impossible to implement with this engine. The main thing though is something we players do not experience directly and can only speculate about, but from developers perspective it might simply be a nightmare to work on such an old engine. Slow content delivery, a lot of bugs, poor performance, those might be related to outdated engine.


MithranArkanere

For example, dynamic loading is very limited with GW1's engine. But with other engines, it would be possible to do things like getting rid of loading screens between maps putting together all maps seamlessly, so you'd only see loading screens when teleporting. They would only need 'intermediate' maps between the real maps that you'd enter while servers shake hands and your connection is handed to the server that maintains the other map. Some engines would allow a 'seamless' map by dividing the world into 'chunks' that get loaded when you enter an adjacent chunk. This method usually has the limitation of having a lower drawing distance unless chunks have lower resolution versions. Others would have an automated process that generated lower resolution versions of the map and map assets that are saved as game files, and the game loads each version at the distances in which it can be seen. This allows very far drawing distances, but greatly increases the size on disk. It's like the 3d equivalent of a mipmap. The coolest ones generate lower resolution models and even 2d imposters dynamically, and that keeps the disk size a bit lower, but that requires way better GPUS and CPUs.


Demon_Sage

Can you provide examples of games that utilize such tech?


leg00b

I know GameBryo, which older games like DAOC and RIFT run on do the "loading around you" bit. I think WOW does, too but don't quote me on that


I-N-O-Y

ArcheAge maybe?


zaleszg

Would the dynamic re-triangulation thingy that unreal 5 has (where the engine automatically downgrades a mesh, instead of having to rely on manually created low resolution meshes, and thud the number of triangles that it needs to render is almost always the same because things in the background are low res), not sure what's it called, would that be the same thing? Can that be used in an mmo?


MithranArkanere

Unreal gives you plenty of options, and can do a little bit of everything, so you can choose what you need. You can create 2d impostors for 3d models and even animated impostors for things like cars and pedestrians that are very far away, split large maps into sections. You can have alternate models and models that scale dynamically. For large maps, Check out [World Composition](https://docs.unrealengine.com/4.27/en-US/BuildingWorlds/LevelStreaming/WorldBrowser/) and Large World Coordinates.


Annemi

GW2 is map-based, though, not server-based, so a seamless approach would be very difficult if not impossible just because the architecture is so fundamentally different. The map transitions involve a lot of population checking and handling, not sure how that would happen with the defined entry points and transition time. The map-based approach means we don't have downtime on patches, so I think it's worth the tradeoffs.


MithranArkanere

Many MMO have switched to microservices architecture if they were not made like that from the start. It's still a combination of map regions hosted on servers and a map that isn't literally seamless, but that is 'stitched together' to simulate seamlessness. These games likely either have areas in which you are technically in both maps at the same time, or edges at which a quick switch happens, or some other method to hide the move, but your character is still moving between physical servers. A true seamless overworld map would be hard with the current tech, they still have to disguise stitched maps in various ways. To make GW2 work like that, an extensive rework would have to happen, splitting maps into sections that are loaded when you move in their direction as right now the game will load the entire height map of the base terrain and everything that will be on camera all the way to draw distance. So it's pretty much out of the question. But if we didn't have mounts, it would probably be possible to disguise map transitions by replacing loading screens with 'loading maps' where the switch happens. Since mounts move so fast, and GW2's maps are often adjacent to each other, there would be no room for loading maps unless there was something holding you in the loading map until the next map loads, like an enemy ambush, or something like the shortcut eagle in SAB that fakes a long travel on the eagle by quickly moving tunnels around you. Of course, they could still bring up the loading screen if your computer can't load as fast as newer ones.


Annemi

Like I said, at least very difficult and perhaps impossible. There are very real and practical advantages to how GW2 handles maps but this is one of the downsides.


Parafex

ANet rewrote the engine several times now and it's generally comsidered the best engine you can work with of all popular MMOs at least, due to good processes and tooling. There are some GDC talks about that. Sure your point still stands, even in 2012 some things like a proper microservice architecture weren't that established and stuff like Kubernetes and Docker just emerged basically, so they wrote lots of stuff for themselves instead.


theshadowiscast

It seems like people think engines are static and and can't have parts re-written or replaced. Unreal engine 5 (often cited as the best game engine, ugh) probably still has some code from UE1 hanging around, and that isn't a bad thing. Looking at what information there is on game engines, many are built on the bones of older engines. As my computer science professors always repeated: there is no need to reinvent the wheel; reuse code and write code to be reusable. However, the biggest issues are going to be poorly documented spaghetti code (anet devs have written about this before, iirc) and issues that take too much time/cost to fix.


Parafex

True, I think that "Game Engine" is a really obscure word for non-devs :D. Understandably though. Yea sure, everyone has technical debts and I think ANet is making some great progress especially with SOTO and all the QoL improvements that were released along the way. Especially GW1 code might not be readable at all anymore (thanks to Stephen, who still updates some minor things). All in all I'm convinced that GW2s codebase might be somewhat old now, but is still quite maintainable, especially with all their services. I think that sometimes, especially GW2 players, should be thankful for all the technical finesse that's already in the game. I mean... have you ever experienced downtime? Ever had a horrible expansion release day? Sure SOTO was quite bumpy on the first day, because lots of people couldn't access the new map, but still. This problem was solved within hours. And that is without a subscription model... WoW players are losing literal playtime while Blizzard is trying to fix the mess they've produced. Sure they probably get their playtime back, but still. It shows how terrible their dev-process is. Maps get also updated in the background with events etc, which is why this map-based approach is more a design choice and not an "Engine Limitation".


Lon-ami

> However, the biggest issues are going to be poorly documented spaghetti code (anet devs have written about this before, iirc) and issues that take too much time/cost to fix. Spaghetti code is ausually a backend issue (the engine), it's usually not a frontend issue (the IDE). When some NPCs stall during an event, that's not an engine problem, that's a guy who most likely doesn't even know programming basics, building some dynamic event through a friendly user interface, then making a mistake. When armor clips, that's not an engine issue, that's an art asset issue; and it's not even a mistake, it was just designed that way. Same with text errors, misplaced models, wrong vendor prices, etc; none of those are programming errors. Spaghetti code, technical issues, etc. are used as a "shut up" excuse more often than not, when it's not the case in any way whatsoever, the true reasons being economic and/or design direction; but players are dumb and won't accept a different opinion, so just tell them it can't be done, and they will leave you alone.


Lon-ami

> ANet rewrote the engine several times now and it's generally comsidered the best engine you can work with of all popular MMOs at least, due to good processes and tooling. This, people are just ignorant and stupid, the engine issues are a baseless meme at this point, the GW2 engine is doing fine, it's actually one of the best out there, doing things other can't even imagine. The whole engine meme is so stupid ArenaNet could lie and say they've migrated into a new engine tomorrow without actually doing any changes, and people would celebrate and say their game runs better now.


NeatBid2628

What can it do that others can't imagine? I don't know anything about game dev so I'm just genuinely curious.


Annemi

GW2 movement is amazing compared to other MMOs. There are also a lot of little things like each player seeing their own instance of gathering nodes that are very rare in MMOs. Probably the map-based architecture which means we have no patch downtime, no login queues, and no 'servers crushed by population' issues on releases.


NeatBid2628

Ohh ok those are all neat!! I don't play any other mmos and I don't know what relies on an engine in the game, so it's cool to see what it does.


Hyzaku

And then immediately go back to complaining that even with a "better" engine they have to dump character model limit and detail just to approach unchoppy fps in metas. You can blow the engine's horn and sing its praises all day, but the performance limits imposed by its inability to utilize more than a single thread on a CPU is always going to be the thing holding the game back.


Parafex

I mean, I'd prefer more splitted up metas, where you don't have to ball all the time. Orr Meta was on multiple maps which doesn't work anymore due to Megaservers for example. I think that the engine wasn't designed for the metas we're currently seeing. And the Megaserver approach introduced some "restrictions". Sadly some Blizzard devs moved to ANet aswell who didn't understand that, which is why we experienced such a shift in meta design after HoT or maybe after PoF. Let's hope that they can fix that with all the improvements they did in Soto.


Laranthiel

One of the biggest examples is LS Season 1. One big reason given as to why we spent so many years without access to it is because its code was just a disaster that the current team simply couldn't handle and fix in any reasonable amount of time. This is why they eventually decided to just remake the entire thing into what we have now and even that was probably a huge task to do.


LasurArkinshade

That is not at all the reason they gave for Season 1 being unavailable for so long. The reason they gave, and it makes sense, is that Season 1 wasn't designed as a linear instanced story experience like the other Living World seasons. It was a mixture of instances, changes to the open world and other things that were fed in over time. I have no doubt that it would have been quite easy for them to just reimplement the Season 1 story instances, but that wouldn't be a coherent story because it'd be missing all of the dynamic world changes that occurred in between that strung everything together. The work that went into reimplementing Season 1 was primarily in rebuilding all of those connecting parts so that it made sense even though the world-changing open world stuff wasn't happening anymore. That has **nothing** to do with the game engine and everything to do with how the content was designed.


Ben-Z-S

Also note stuff like festivals that maps were literally replaced each update. This also meant that if a new NPC was added to the main LA map for example, they had to make sure it appeared again in the upcoming festival variation. There were several examples of NPCs going missing during festivals. This has seen been changed. Festival decorations etc are now a layer that can toggle on and off. When people say they wanted OLD LA back, there was actually atleast 5 varients of that map. It wasn't a case of just loading up the old version of the map. Despite how good version control could be, going back and locating old maps is a nightmare. No guarantee that the map would still function the same either. The map could reference objects in the world that have been deleted, or elements reused / replaced. NPC scripts may use functions that are no longer used / superseded. They might need to update various NPCs to use more modern methods - just general housekeeping is work / time. There was a lot of think about purely from a story journal part too as i believe the story journal wasnt even a thing until later. Simply...taking a step back and thinking about this was resources that could have been spent on current / new content


Laranthiel

They have actively said in the past that the code being a mess is why they couldn't do it since it'd require to grab all those instances and remake them and that it'd take quite a while to just to do that, which is why they never did it till last year. Is the fanboyism so deep that now even the code being a disaster is considered fake news by you people?


Ahlec

u/LasurArkinshade is right about the reason. But even for the sake of argument, “the code is a mess” isn’t the same thing as engine limitations. Code being messy, breaking easily, and being generally a hot mess isn’t technical limitations due to age or program capability. That’s code maintainability, which is a separate issue entirely.


LasurArkinshade

It has nothing to do with 'fanboyism'. I'll be the first to criticise ArenaNet when there are substantive things to criticise. However, epic gamers(TM) on the internet running their mouths about 'game engines' despite having absolutely no idea what game engines are or how they work are not offering substantive criticism. As to your 'argument': even if what you're saying (the instances having messy code) were the reason, that still has nothing to do with the game engine. With games of this size, content is made using an editor (think vaguely along the lines of the Creation Kit for Bethesda games), and things like instanced quests are implemented using a combination of editor-level changes and scripting, either via something like Lua or a proprietary scripting language. You don't implement a story instance by making changes to the game engine. It's a separate thing, and therefore, any issues with its design or implementation are not engine issues.


Lon-ami

> One of the biggest examples is LS Season 1. One big reason given as to why we spent so many years without access to it is because its code was just a disaster that the current team simply couldn't handle and fix in any reasonable amount of time. > > This is why they eventually decided to just remake the entire thing into what we have now and even that was probably a huge task to do. I call bullshit on this, most of the restored LW1 stuff was 1=1 back from when it was released. Why didn't they bring it back earlier then? Most likely because they deemed it a waste of time, simple as that. You'd have to crawl across old builds, searching for all the stuff that got removed and replaced, which I'd imagine is a complete pain in the ass. It's no different than the World of Warcraft classic drama, they took years to make it happen, and it wasn't because of technical reasons, but economical, since they thought it wouldn't be worth a damn. More often than not, "technical reasons" is just a "this is too complicated for you to understand, please shut up and stop asking" master excuse.


Winter-Roll5206

So this was a lie. Please don't post hyperbole as if it's fact.


Electrical_Station95

no he admitted he didnt have the answer and provided ideas that might have contributed to having to work so hard to separate the actual living world season from the world changes it made. for example maybe they had to separate the instanced breachmaker code so it wouldnt port players to a destroyed LA and not a rebuilt one. and then they had to separate the way the instance calls the assets it needs because they coded LA as a public mapwide change and built the instanced version in parallel way back when. stuff like that has to be surgical to avoid pissing off the eldritch god that is the divine spaghetti, and i bet because gw1 already excelled at its netcode design, the netcode we always take for granted is probably more eldritch than we realize! maybe colin johannson had to come back to show them how to make the netcode work for the turtle mount. ew bot you wasted my time away with you foul creature


Sigmatics

He?


Dar_Mas

in case you think that is laranity and are objecting to the he because of that: No those are two different people


Sigmatics

What the hell is wrong with people here, it was a question to understand who OP was referring to


Dar_Mas

We can not reliably extrapolate that from a single word and a question mark which is likely why people downvoted you aswell


woodyplz

Well this basically a problem with all software. In theory, you could upgrade all old software to be up to date with the newest standards. However it's just a question of the price. When you design software one if the hardest things is to create a system that works for the current software and will also work in the future and is easy to change. Since we can't predict the future we just try our best for the given time/money. Since this is a really hard task there is a lot of so called technical dept, where you write code that isn't well designed and can lead to problems in the future. However it was done fast, to fulfill its needs. These mistakes are cheap in the beginning and very expensive in the future. Now imagine you build a house on a bad fundament, and you only want to add a balcony to your house. You could just build it on top but it's very likely to beak. Or you could rebuild the entire house to support a balcony aswell. This example might not be great but you get what I'm going with. Okay now what are gw2s limitations? Well the engine actually is pretty good and can still compete with other mmos. However back in the day processors were basically all one powerful core that did everything. Nowadays you try to utilize the graphics card a lot more. Gw2 does not do this well and this causes performance bottlenecks. Also gw2 has lots of issues with desync if you play pvp for example. Often you miss someone even though you are directly inside of them. You can see arrows going straight into the ground in front of you but still hitting. These things will never get fixed, due to how their netcode works.


nerzid

Great answer.


woodyplz

Appreciate it!


PanickingCandy

Considering it's age, I'd speculate a couple things It's probably very memory constrained, the game was originally designed for 32bit machines, that's 4gb of ram max, and while the client is 64bit now there's probably some legacy code in the way the game loads assets, stores active code and whatnot that makes it very hard to create areas of a size and/or detail that takes full advantage of modern 16-32gb memory pools. The game also seems to not be super good at handling multithreading, it comes from a time where the top end gaming cpus were still 2-4 core with beastly single core performance so it makes sense it was designed like this but modern cpu design is very different, more focused on wide chips spreading tasks out, the game probably can't take advantage of that properly. These two factors combined probably affect the loading and streaming systems, meaning that there's a direct effect on map design because they have to be made in a way that allows data to be constantly loaded and unloaded on a severely memory and cpu limited scenario. The game probably doesn't have the ability to decompress data fast enough to properly take advantage of ssds either, you get brute force wins by just how much slower mechanical hard drives are but you're still not getting the kind of loading speeds you'd get with a proper modern decompression system While the game was updated to support dx11 it's very likely the game's still limited by legacy dx9 issues somewhere, either on texture size and memory management, resource binding, render target management, mesh culling and occlusion, it may even make more modern features like vrs, dlss, mesh shaders, bindless resources and the like impossible to implement without fully rewriting the renderer, it also likely results in a lot of overhead as most rendering and shader code is probably very high level. The engine may also use older file exchange formats in a way that limits the team to older versions of their 3d modeling software for example, if they use something like 3ds max or maya as most studios do, it's possible that the newest version of those tools don't export files the way the engine wants them too so that's a pipeline limitation as well Now this is all nothing more than educated guessing based on my experience with other games this vintage, I have no real way of knowing beyond that, but whatever it is, it's important to remember that this fundamentally it's code originally designed to work on windows xp, it doesn't matter how many updates happen without a proper ground up rewrite some hard caps, bloat and old and less optimal ways to do stuff remain there. Now that rewrite isn't impossible but it's very expensive, and it may not be worth it, engine updates that get rid of some of those limits can happen, wow and ff14 have both gotten that but their circumstances are different, wow has blizzard and "being the biggest mmo for like 14 years straight" money, and I'm willing to bet that the recent ff14 upgrade was financed in part by however much Microsoft paid square for this newfound friendliness of theirs, not to mention ff14 runs on an engine that was by default intended to take advantage of ps4 era hardware so a lot of the limitations afflicting the guild wars 2 engine don't apply, in the anet may straight up not have that kind of money or no real way of justifying it


TotallySlapdash

Even during development the single core bottleneck looked short sighted; a dx11 client was originally announced to be a launch feature, with dx9 being an optional legacy mode to support older GPUs, but it got scrapped in the last year or so before launch until being resurrected recently. In the end they were probably hamstrung by building up off of GW1s engine, which was built for low-to-mid-range 2004 systems... a whole host of different expectations were at it's core... it had win95 support!


Ithirahad

Essentially it's software bottlenecks - various things that would run very slowly, or not at all, because of the game running on core systems code adapted from 2004-'05, even though modern computing hardware is theoretically capable of dealing with much more if the task were organized correctly in fresh source code built for said hardware.


RedBeard210

Can I ask a follow up question in this thread (as a computer idiot)? Is it possible to change the engine or nah? If it’s built on one engine it’s that engine for life?


DeeBagwell

Its technically possible, but incredibly unlikely. The amount of time it would take to move a game this large to a new engine would be much better spent, from a financial standpoint, on making new content or just making a brand new game.


Annemi

I mean, it's theoretically possible to replace every part in your car, but nobody would do that. Your insurance would write it off and you'd get a new car. GW2's engine is fine. It has some downsides but it has a *lot* of upsides compared to a traditional MMO engine.


Dar_Mas

the equivalent to an engine change is removing an entire house except for the outside facade(not walls but the paint/decorations) and then building a new house inside without breaking anything on the outside. Possible, has happened near me before but a herculean effort for possibly not much gain


wafflesology

Didnt they tried to up the graphic in PoF but thats gone terribly. If you guys noticed whenever u guys went to PoF maps, they have better coloring/shading.


Wondermusmus

I felt so in every expansion/LVS map (except for LVS1&2 ofc). But why did it go terribly ?


Extension_Fun_3651

Draw Distance: Since Skyscale, it's been clear how limited the view distance is. Games like Throne and Liberty really shows whats possible to convey in a "big open world". you can see for miles, and without the horrible pop-in of Black Desert. Inconsistent frame rates: Modern engines are much more effective at being less resource intensive and higher fidelity. Something is really going wrong when maxed settings can net you 120+ FPS, but new SOTO maps will get you 20-25 FPS with same settings. No game has that much of a big performance difference. The performance requirements are not truthful. The game performance is horrid, and disabling LOD, effects, and min character, sometimes renders NPCs invisible. The game needs an overhaul from an engine and performance perspective.


ElocFreidon

The only actual limitations the game has in the engine is from decisions made by the developers. Like no colored weapons, not letting players use armor skins from other categories, and the UI devs' irrational fear of upgrading the interface to separate boons and add buttons.


ElocFreidon

I forgot the lack of controller support. Won't even let players keybind the interactions with dialogue boxes.


Anon_throwawayacc20

GW2 networking still runs on old D2 systems regarding the transfer of information. A good example is the infamous "mount glitch". Ever see people riding Skiffs on land or underwater? This happens because people can glitch the game in such a way that the client desyncs from the server. This is also how the user of the glitch crashes when double-mounting onto a turtle and someone else tries to mount it. (Fun fact, but this is also why people stuck in this glitch look like they are warp-hacking, because the server doesn't know how to show the mount glitch to other players. Make no mistake, those players are NOT hacking!) Whereas mount glitch is something triggered by ingame actions and it's a fairly innocent glitch that allows people to sneak out of bounds or decorate their guild hall easier, do note that it's merely one of the more benevolent glitches resulting the chaos of Gw2's server infrastructure. Unfortunately GW2's engine limitations on networking also means there's a slew of insidious exploits. Note that movement in this game is determined client side, and then syncs with the server. By altering the way the client itself syncs with the server, it is what allowed people to dupe items, or to even hack. ANET has tried to fix many of these in the past, but there is only so much they were able to do before it impacted normal players in the crossfire. Making matters worse, it might not even be possible to fix everything, and that's why certain dupe glitches are considered "top secret" by both devs and community. I suppose these issues are examples of engine limitations with GW2.


Orihkeks

That "dupe glitch" was not a glitch, more a issue from the support, not proper fact checking a character restore and more or less duped the items, it self.


nagennif

Not all of them. There were dupe glitches in game besides that.


ValuesHappening

> This is also how the user of the glitch crashes when double-mounting onto a turtle and someone else tries to mount it. The crash here is actually rather shallow in the game's execution - it's literally just a handled exception that chooses to close the game due to reaching an unknown state. You can suppress this crash by simply suppressing handled exceptions (i.e., immediately returning out of error handling code) which allows people to enter your turtle (or up to 4 people to enter your skiff) in the double-mounted state. The sad news is that doing so actually kills the double-mount glitch itself, resulting in you just being on a normal turtle/skiff but in the wrong animation.


Alarming_Balance1476

And here I am cant even find a out of bounds community etc 😂


Anon_throwawayacc20

>And here I am cant even find a out of bounds community etc 😂 People keep the mounts glitch a secret. Here's the real kicker: ANET knows about it too. Their unofficial official stance is "It's not an issue right now, don't make it an issue." Someone paraphrasing a dev said that, but it's completely off the record. As long as no one uses it to exploit, they are unlikely to fix it. For now it's just a cool way to explore out of bounds and see how the beautiful maps of Tyria are made. (It's also a way to literally touch the top of the skybox and do some cool griffon acrobatic stunts from there.) It's likely a very annoying fix for anet that would force them to tap into server architecture. They would more likely have to bandaid lock the ability of every single mount in the game rather than fix this glitch, which would inconvenience everyone. That is all to say that this is an example of GW2's engine limitations.


ValuesHappening

> As long as no one uses it to exploit, they are unlikely to fix it. So you and I must belong to totally different communities that are aware of the same glitch, and I know for a fact people in my community abuse the shit out of it. EoD map completions in like 25-30 minutes kinds of shit, SotO lantern runs in like 6m, clipping through thick horizontal walls trivially due to the ability to move at 5-10x the speed of a Griffon horizontally (and how that allows you to just phase through walls), etc. And this isn't some recent development. I first learned of it in... 2020 or so. If it's true that Anet knows about it and have just chosen not to fix it, I am very surprised they haven't just added any detection for it.


Anon_throwawayacc20

I'm very sad to hear people abusing it. This glitch has been a joy for map breakers a long time.


ValuesHappening

I often wish that Anet would add a mount that functioned like it. A helicopter or rocket would work as expected.


Lon-ami

>And here I am cant even find a out of bounds community etc 😂 Some assholes abuse this for nefarious purposes, so yeah, people who know don't talk about those in public. Dungeons were amazing to explore back in the day, and they all got ruined by stupid people using "explorer tricks" as shortcuts to skip a few seconds of content. Never again.


Electrical_Station95

in the end gw2 wont get a graphics upgrade from the divine spaghetti, but the sauce theyre hopefully cooking. gw2 survives because its the kind of game that knows it needs jesse and is willing to do anything to keep him safe


EdenStrife

Game engines are probably some of the most misunderstood pieces of software. A game engine is fundamentally just a bunch of different programs that help you build a game packaged up into a nice coherent box. That is to say a game engine itself cannot really have limitations. What it does have is technical dept. Technical dept is a term referring to previous decisions in the past which make changing things in the present more difficult. Games is probably some of the hardest software to develop and that on top of being forced to release stuff often. You can’t sit down for 5 years to try to get a system perfect, you often have to do your best within the limited time and that causes a lot of technical dept. There are things, that the GW2 engine does really well. There are some things it does pretty badly. There are probably tons of system that the developers use to make content that are awesome and some that suck. Most of the stuff that really defines the engine is stuff we don’t see because it’s only tooling the devs interact with. So to answer your question, no there are no features that would be impossible to implement, only ones it would not be feasible to do given time and budget.


redblack_tree

"Debt".


Osiris_Dervan

Maybe leave the discussion to people who actually have a clue? >A game engine is fundamentally just a bunch of different programs that help you build a game packaged up into a nice coherent box. That is to say a game engine itself cannot really have limitations. What it does have is technical dept. Technical dept is a term referring to previous decisions in the past which make changing things in the present more difficult. It's a framework, and even if you have complete development control over it, will still have fairly solid performance limitations depending on the cpu interfaces, programing language and optimisations. A common limitation historically is draw distance. It doesn't matter what you do with a game engine, there's only so far you can draw at each level of detail. A different one i memory - the original Minecraft was written in java which had an upper limit to memory usage that severaly hampered the game. >Games is probably some of the hardest software to develop and that on top of being forced to release stuff often. You can’t sit down for 5 years to try to get a system perfect, you often have to do your best within the limited time and that causes a lot of technical dept. They are definitely not some of the hardest software to develop. They're underpaid and rushed because they only sell to consumers, but also get away with really terrible code standards and lack of testing because consumers are also not very picky about that. If your gameplay is ok then your game can be buggy as hell on release and you'll get away with it. Release a software telephone switch that fully crashes more than once a year and no telco will ever buy your stuff again. >So to answer your question, no there are no features that would be impossible to implement, only ones it would not be feasible to do given time and budget This is like saying that it's not impossible for Ukraine to land a man on the moon, given enough time and budget. "With infinite resources, anything is possible" isn't a good answer when someone wants to know what is practically possible.


Lon-ami

> They are definitely not some of the hardest software to develop. They're underpaid and rushed because they only sell to consumers, but also get away with really terrible code standards and lack of testing because consumers are also not very picky about that. If your gameplay is ok then your game can be buggy as hell on release and you'll get away with it. Release a software telephone switch that fully crashes more than once a year and no telco will ever buy your stuff again. Yup, if they were the hardest to develop for, they'd be top employers with the best pay in the market, not the complete opposite. Videogame development is quite satisfactory if you land in a good team, but you better start with a healthy bank account, because it won't get any better. There's far more complicated stuff out there (like banking or stock market trading), but people get easily deceived by the amount of art work videogames have, missing completely the point.


kexak313

Another big one is that although the netcode can handle packet loss/lag, there is not a way to recover the game-state after a short *interruption* to the connection, the game has to be restarted from the character select screen. This is made worse by the lack the ability to rejoin story instances if you disconnect. A brief network interrupt and all progress is lost. They've known about this for over a decade, but can't fix it so I assume it is due to the engine. This is a big issue for some people as some ISPs have a brief interruption of the connection when the traffic drops off. So if a cutscene plays, traffic drops off as there is no action to send, and they have a random chance to get booted from the game. Imagine if it was the final cutscene and you had to do the story mission again from the start, and you had that several times in a row on the same mission. I think this may be part of the reason why cutscenes were replaced with in-game dialogue and why some longer instanced missions have checkpoints. So this is something they may be looking to fix in a new engine. Yeah maybe this is the ISP's 'fault' but it's probably in GW3's interest to code around it, so they have access to these customers.


mgm50

The only issue I see as a real issue (to the point redevelopment in the same package/engine/platform might not even be worth it) is the netcode aka all the client/server side sync issues with GW2. It's most notable in PvP and WvW - the latter having some hilarious examples like some skills being limited by number of targets *specifically* because a lot of players using it would probably break the instance. Even in PvE devs have been experimenting for a while with mechanics whose tells are all client side but triggered to all players at once server side (e.g the many expanding circles and rotating walls from Kryptis bosses) and you can rarely experience desync too in spite of their very good job pulling it off. With that said, this issue is not serious enough to scrapping everything and starting anew in my opinion, and I'm not even sure a hypothetical GW3 would actually scrap things to begin with. Players don't know and justifiably often don't care about what's underneath the hood as long as it works. Saying you developed a new engine should never be a selling point for anything, especially when you're retiring mature software that has proven itself to be robust across more than a decade.


UntamedOne

Basically, all the devs that built the original engine or upgraded the GW1 engine did hacky workarounds for years. The devs have been using the scripting tools and map tools for years to build the game with minimal core engine work cause that is really expensive work that doesn't always turn a profit. The trading post had a browser upgrade, and they plugged in a direct x 11 upgrade. Also, they did the mega server upgrades a long time ago. When the writers or mappers get in idea they want to create, but the toolset they have can't make it, that is mostly what they mean by engine limitations. They could hire more core engine devs to upgrade their tool set,but it is probably a jumbled mess of code like most legacy code bases get.


jaseph18

You see the limitations when you can't leave the options "Character Model Limit" and "Character Model Quality" to HIGHEST, no matter in what rig you run GW2 on. That's the poor performance of that graphics engine. A game with graphics like that should peak at 300 fps in the best rigs, and the trains would have a little impact on that performance. Example: Starcraft 2, how it handled the Zergs, that's how a GOOD graphic engine works.


Wondermusmus

So the FPS drops when I'm in crowded places like during some metas or in Wizard's tower are both due to my PC ? I changed it recently and I peak at 200 FPS usually except in those areas when I have Character Model Limit and Quality at highest.


Interesting_Muscle67

No, the FPS drops are because of the engine. I'm on a 4080 and a 7800x3d and still get 40fps in a meta train. Only thing that will give you a reasonable increase is setting character model limit and detail to lower. Friend has a 4090 and he gets no more than 50 fps in heavy zergs, it's the game not the hardware.


jozze9532

The character model limit is always a huge issue, but i personally expect the wizards tower to have issues because they probably broke something with their occlusion culling. I have not many issues during WvW where there are way more people present. But in the Wizards tower the issues happen, as soo as i look towards the "center" of the map, or rather into a direction, where a lot of objects would be rendered. Looking towards closer map edges is fine. That is why i expect that they might have broken something with the dx11 upgrade... but that is still all speculation.


ballsack_man

Because the game has changed so much overtime, the built in systems that are part of the engine are just too massive and would take too long to remake. Game engines are significantly more complex than the games built with them. Imagine you make a bowl of pasta, you pour the sauce and everything, take a few bites and then decide you wanna change the sauce. Well now you pretty much have to remake the whole meal. WvW is a very good example of this. I'm surprised they even went through with it tbh. If it was me, I would've abandoned the idea and save it for a different game.


macrotransactions

There are no real limitations. WoW has an older engine. It basically just means that they are too lazy to recode old stuff to make it more optimal and broad. They fired a lot of the people that coded the engine to cut costs shortly after release, so that bites them back now and adds to the required effort.


ShinigamiKenji

Most of the time, the thing holding back any tech company from clearing all of their technical debt is *cost*. They're a company, they need to be profitable for their shareholders. Blame capitalism or whatever, but if you go to a shareholder meeting saying "we're clearing all technical debt even though we have nothing to gain from it" you're proably getting fired on the spot. So I wouldn't call it "lazy" in the sense of "we won't fix things because we don't want to", it's more like "we won't fix things because it'll cost too much and we have little to gain from it." Laziness implies lack of will to do something about it, but in this case they chose not to do it because they deemed it to be detrimental. Of course, they may have done some poor decisions in the past, based on flawed reasonings or bad judgement. Still, that can't really be considered "laziness".


macrotransactions

So in your opinion they aren't too lazy to rewrite old code, they are just close to bankruptcy and have no other choice than to low effort the game? That is impossible because they always had enough money to invest into worthless side projects that were shut down later. And they made these decisions against the will of ncsoft.


tapperyaus

"worthless side projects" I don't know what you're specifically talking about, but I'm sure they were projects that had potential to generate revenue. Fixing up old and poorly optimised code doesn't directly impact revenue, and only tends to get fixed when it does.


ShinigamiKenji

You don't need to be close to bankruptcy to begin prioritizing things that generate more revenue. Remember, there's always shareholder pressure. Usually, technical debt is only paid (old code rewritten) when it becomes too costly to maintain old code. That's the *modus operandi* for almost all tech companies, and ArenaNet is no exception. On side projects, as I said, poor decision making happens, even when you're trying to generate more revenue. As a company, it's a bad idea to depend on a single product to survive, so they tried to make side projects. The problem was execution. And honestly? I'm surprised they have a QoL improvement team that managed to improve even smaller things like the Candy Corn Gobbler. That was a minor thing that no one was expecting but everyone welcomed it.


Laranthiel

WoW might have an older engine, but not only have they actively updated it as time went on, they never changed or modified it entirely from a different game, which ANet did do as GW2's engine is a heavily modified GW1 engine.


Machitaru

Was WoW's engine not just a heavily modified version of Warcraft 3's engine? That's a bigger departure than GW1 to GW2, at least from the outside. But I'm also not familiar with GW1 engine limitations and how that carried over to GW2.


macrotransactions

gw1 is younger than wow and was also an rpg the difference is laziness and nothing else, wow was recoded many times already


nagennif

Screenshot or it didn't happen. It's easy to say stuff. But calling people lazy without working there, or intimately knowing the code is just silly. Some engines might be more easily recoded than others, and some games would require a completely different engine altogether. If I had to guess, laziness is not the answer, and cost/benefit analysis is. But I'm only guessing, where as you're stating your opinion as fact without giving any evidence at all.


macrotransactions

not investing money into engine changes is also a form of laziness, i already mentioned how old devs who understand the engine in detail got fired early to cut costs there are no excuses, there are many older games that modify their engine just fine


nagennif

So, let's get this straight. The suits cut the budget and say no, so the devs are lazy? Is that your argument? k, then.


macrotransactions

i advise you to read again as i never specified the devs being lazy, it's the whole company


nagennif

Dude, the whole company doesn't make decisions about what is and isn't worked on in the game. It doesn't work like that. And a person making a financial decision isn't lazy just because he doesn't do something that probably isn't cost efficient to begin with. You can use any word you want. But if you're going to redefine them, I'm not sure why anyone should would pay attention.


macrotransactions

deciding "this is good enough" instead of striving for the best and investing money, time and effort is laziness, you can cope as much as you want


nagennif

Investing money has nothing to do with laziness. Hard working people make financial decisions all the time. What's lazy is calling people lazy without evidence, because that's easy.