4 ms·
Now having read most of the article, and having done quite a bit of game development myself... it sounds like a large amount of the problems with Rome II and th
by LarsDu88 2y ago
Now having read most of the article, and having done quite a bit of game development myself... it sounds like a large amount of the problems with Rome II and the engine they were building was the navmesh.
The navmesh is a sort of 3d mesh where the center of every triangle defines a node on a graph which can be used for pathfinding using algorithms like Astar.
It sounds like they needed people to manually create and optimize these for various maps rather than using an algorithm to generate it automatically.
Additionally there's this big issue with sea battles where each little boat has a little moving navmesh which little soldiers can move around on, including when the ships actually land and have to make the boat navmesh connect with the land navmesh at runtime.
Altering navmeshes at runtime (which are generally static stack allocated) is sure to lead to a bunch of stale references if the code wasn't architected to be flexible to begin with
This sort of detail is probably lost on non-technical folks and needs to be clearly communicated early on.
At the end of the day, I have much fonder memories of capturing the Black Ship in Shogun 2 (which used the old two navmesh system separating boats and land), and virtually no memories of landing troops in sea land battles in Rome 2. The feature was not important to gameplay, but requires refactoring the whole damn navmesh system!
- fakedang 2y agoSo how did you capture the Black Ship? I would basically use a bunch of fire arrows from bow kobayas to set it on fire. Others would use a pair of Nanban trade ships on either side to do a double barrage at the same time. And then others go ham with a heavy bune fleet. Which route did you go for?
- LarsDu88 2y agoJust spam my entire fleet at the damn thing and save scum if I accidentally sink the damn thing. Lol. Endgame campaign. Really shows that in gamedev, game design trumps everything. Shogun 2 under the hood was janky as fuck, but boy did they plaster over that shit with some solid game design and playtesting.
- chongli 2y agoThat may be the proximate cause of the issues but the ultimate cause was the development methodology. There was absolutely zero reason for the game to not be in a playable state throughout the development lifecycle given that they had Shogun 2 — an incredibly polished and well-built game — to work from. This was a management own-goal as far as I’m concerned. Go back in time to the beginning of the Rome 2 lifecycle and simply proceed by iteration. Maintain playability throughout. This would’ve given them a much longer lead time on major issues with the gameplay. It’s absolutely crazy to me that they would tear Shogun 2 down to its individual components and work on them all separately without maintaining a playable version of the game. A ton of it could be done with continuous integration, where they just have a couple of CI servers sitting in the office running the nightly build in an all-AI automated fashion. Heck you could even plug in a monitor to the server so that people can just walk over and watch the AI vs AI battles as a sanity check. The other baffling part of the whole thing is how little communication was going on. I mean it’s baffling in terms of good design and development practices but it’s understandable from a dysfunctional management perspective.
- LarsDu88 2y agoQuite honestly, I could see why they would want to rework big chunks of Shogun 2. Rome II with all its faults had working cities with plazas and walls. Shogun 2 had maybe 6-8 actually distinct fortresses, where folks just line up on some walls most the time and do tower defense. The AI was always jank. The "tower defense" gameplay in Shogun 2 was way more enjoyable than in Rome 2 though. Having a small fortress you can tightly defend against overwhelming odds is more fun than having a sprawling city where you're running foot soldiers around plugging gaps along a 20 km long wall. The other part is the crazy requirement that soldiers be able to fight each other on boats which are very often moving around. Quite honestly naval hand to hand combat is pretty boring, but tacking that requirement on by featuring it in a trailer is an insane decision. Sounds like the marketing team wanted to do Saving Private Ryan in 200 BC. The number of times I actually used this mechanic in a 30 hour campaign was like 3-4 times, and it sucked every time. Typically the soldiers would slowly disembark (quite often literally teleporting to land) and then immediately get run down by enemy cavalry since the AI would get stuck in the "disembark" state and soldiers would stand still barely defending themselves. Shogun 2 had many of its core problems plastered over with solid game design. Also CI in gamedev is not nearly as common as in webdev, mainly because the state space for a videogame is far larger than for a web app. These issues are caught at playtesting and QA time, and every stakeholder involved in that process should be well aware that they are shipping a broken game.
- novaleaf 2y agoany navmesh alternatives for dynamic worlds? I am toying with gamedev and this one still has me stumped.
- LarsDu88 2y agoWell if you use the Unity game engine, you can always script a setup that does a runtime bake on level load. Not really sure about navmeshes that actively change at runtime though...
- novaleaf 2y agoyeah I don't think dynamic navmeshes at runtime would work well.I'm using Godot, I'll have to keep looking