Why did you buy the old TQ engine?

Also bear in mind, as Medierra and Zantai said earlier in this thread, the TQ engine has been massively overhauled and reworked over the years they’ve been working on GD.

It wasn’t that the pathing couldn’t be done, but it was getting it to respect the various barrier pathways at the same time. If a barrier of some kind is in the way, like a boulder that needs dynamite to blow it up, you won’t be able to jump over it for example. Again from the 25th May stream:

“When I asked about teleport skills last time, you said they weren’t in game because you had areas accessible when they shouldn’t have been. Have you fixed that in FG, or were you just BSing because of announcement later on?
No we were not BSing you. This skill took a lot of work to get functional. This teleport actually obeys the pathing rules in the game. You can’t teleport over dynamic barriers, you can’t teleport over areas blocked by say dynamite. You can however teleport through walls that are accessible to you.”

Well…for starters I’d hardly call it the “Titan Quest engine” at this point given that we’ve rewritten significant portions of it and implemented all sorts of upgrades and new features while making Grim Dawn. The pathing system isn’t even the same as TQ used. For all intents and purposes, this is the Grim Dawn engine.

And no, hacky solutions are what designers do; until their hacks no longer work, then a programmer gets involved to make the engine do what the designers need (or the designer hacks make a programmer cry, then the hacks get replaced).

The final solution is far from “hacky”. I was not the one who wrote the code, so I can’t go into explicit details, but I imagine vector calculations were involved to determine a valid pathing solution and whether the targeted destination is within a valid pathable range so as to avoid pathing over inaccessible areas or areas too far away to reach normally.

The core of it was getting teleport to work and then working backwards from there to create the other variants and behaviors. Adding a whirlwind-type skill was a different beast entirely since it involved a channeled attack+move command, which is unlike any other skill presently in the game. The channeled behavior from skills such as Aether Ray served as a starting point.

marsovac, if you want hacky how about this from Medierra in November 2017 talking about one they had in Titan Quest. :smiley:

"Without a doubt the hackiest thing I remember from Titan Quest is how we managed the event scripting. The quest / event tech had a major weakness in that there was no way to delay an action once it was triggered. So if you wanted something to happen 5 seconds after a player ran through some bounding volume, there was no way to set a delay. It would always be instant.

We were nearing the end of production, so it was hard to request additional features, as engineers were slammed just trying to meet their milestone deliverables. One of the QA testers had started helping out with scripting work, and figured out that there was in fact a way to delay an action from triggering based on the length of an animation.

He ended up using these squirrels we had as ambient creatures as the animation timer, and they became the default timing mechanism. He created an invisible version of the squirrel, which he would place in the levels where he needed them, then would time everything based on the duration of their idle animation. Because of his creative problem solving, he was promoted to designer on the next project."

Arthur Bruno
Owner / lead designer, Crate Entertainment