Live data from Hacker News

Total War: Rome II and Creative Assembly – My Statement Ten Years On

medium.com

81–90 of 91 posts

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#81

[flagged]

Pretty clear from the article why he did the interview: > What happened is that the community team were getting a lot of questions about AI and asked if I wanted to help give some answers. I agreed. I’ve seen people speculate that I was forced or coerced into giving the interview and I want to be clear that that wasn’t the case at all. I was asked to, but I could have said no. I went ahead with the interview because…

>but I could have said no.

And that was the Dunning-Kruger moment. He confesses that he basically knew fuck all about it, and then complains that everyone was pissed because he knew fuck all about it.

>I believed we were going to ship another game like Shogun 2.

Despite all the evidence to the contrary.

Were mistakes made by putting a clueless idiot infront of the community? Sure. Sounds like a lot of mistakes were made. But this whole post is jumping on the recent problems to try to claim "See, it was them the whole time, not me!" Unfortunately in another DK move, OP fails to understand that his own testimony is damning. And now we are all reminded of it! Genius!

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#82
post #73

Earlier quoted context omitted.

That 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 an…

Quite 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 c…

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

Yes, I’m aware of that, but it’s not an excuse. Poor development methodology is rife in the game industry, leading to missed deadlines, crunch time, and shipping broken games. For some reason game development managers are absolutely allergic to good housekeeping practices.

I think the state space issue is valid if you’re developing one-off games mostly from scratch. That is not the case at Creative Assembly. They have been working on a single game series since 2000 when Shogun: Total War shipped. Fans of the series have been complaining about major issues with the AI and gameplay for literal decades. There is absolutely no technical reason they couldn’t have kept the game in a CI-driven nightly build, mostly or completely playable state for that entire time.

The reasons are entirely cultural. Compare with an open source game like Dungeon Crawl: Stone Soup [1]. This game has been hosted on GitHub [2] for years with continuous integration and nightly builds automatically published to test servers to play on. The game is always in a playable state and the community is constantly providing feedback to the developers as features are added, tested, tweaked, tested again, and finalized. Many of the systems in the game are tested automatically by scripts and battle simulation arenas. The developers are able to see almost instantly, for example, how a small tweak to a weapon’s stats will affect the overall balance of the game. This level of tight iteration has led to a much-beloved, highly polished game experience.

Sure, not all of this can apply to a commercial closed-source game studio but a heck of a lot of it can. For a series as long-running as Total War, there’s no reason they couldn’t have gradually built and maintained suites of automated tests for battles between AI opponents on different maps and with different unit compositions. All of this could allow the testing of different AI strategies, different unit statistics for balance purposes, and different map layouts for pathing tests and tactical situations.

The problem, I believe, is that the management at the studio views all of this polish and software quality as unnecessary and wasteful. Any development time spent on any tool or feature used only internally would’ve been viewed as a waste. They’d much rather proceed in a toxic and short-sighted fashion, looking forward only to the next game release for an influx of cash. On some level the game studio is really operating like a drug addict. It’s totally dysfunctional. It’s also not how every commercial game developer has behaved.

Blizzard in the past (1990s through 2010 or so) was very committed to software polish and high quality development tools. We know their map creation and scripting tools were polished because they decided to release them to the community for modding purposes!

[1] https://crawl.develz.org/

[2] https://github.com/crawl/crawl

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#83
post #14

> Let me give you a concrete example that demonstrates the relationship between the programmers and design leadership, and led to problems that contributed to the bad launch state of the game. One of the main new features included in Rome II was combined land and naval battles. Since Empire we’d had naval battles, but they were completely separate from land battles, and the codebase had been developed without any exp…

Speaking as a manager, I’d much rather my team(s) tell me the plan is pure fantasy and a total joke than blow smoke up my arse. At least I have information to take to the other teams.

Generally, I’ve learned to accept that non-managers won’t communicate as well as managers because that’s the manager’s job: I’ll put the effort in to figure out what’s being said.

The only time I’d see someone as being difficult is, after bringing concerns, making a decision they don’t agree with, they continue to spout off instead of making an honest effort to get things done.

Giving the author the benefit of the doubt, I think they did the right thing: raised concerns, tried to make it work anyway, and were let down by the leadership team. I’m willing to believe this is what happened because I’ve played TW games and noticed how they just seem to get worse. I’ve also watched experienced TW streamers rip into the faults at a mechanical level and how they’ve persisted for years while CA progressively seems to put out games nobody wants.

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#84
post #17
post #14

> Let me give you a concrete example that demonstrates the relationship between the programmers and design leadership, and led to problems that contributed to the bad launch state of the game. One of the main new features included in Rome II was combined land and naval battles. Since Empire we’d had naval battles, but they were completely separate from land battles, and the codebase had been developed without any exp…

> However I was shocked to learn that the game was not playable until very late That seems rather common for many projects? If you have so many pieces developed in isolation, putting them together only really starts to happen when you get higher time pressure.

The part that's missing here is that Rome II is not a new project. The company has been working on this series of games for 25+ years now. They release them regularly and the bulk of the engine work was done years ago. The fact that they break the whole thing down and do it in isolation for every release is a mistake. They should just be iterating on top of the previous game.

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#85

What is the solution of this management problem? I imagine someone may say "agile" but does that make the experience of developers and users better or worse?

Iteration with continuous integration. They've been developing this game series since before 2000. There's absolutely no reason to keep tearing the whole game down, developing all the components separately, and then trying to glue it all back together in crunch time. When they started work on Rome 2 they already had Shogun 2 complete and in perfect condition! Just fork Shogun 2 and iterate!

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#86
post #5

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 o…

any navmesh alternatives for dynamic worlds? I am toying with gamedev and this one still has me stumped.

Well 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...

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#87

What is the solution of this management problem? I imagine someone may say "agile" but does that make the experience of developers and users better or worse?

It's all about incentives. The leadership has incentives to generate as much profit as possible in the shortest possible term.

Ignore existing and generate new technical debt? Yeah, this will cause problems years from now...

Drive death marches, promise them things you won't deliver, shit on employees. Sure, they will burn-out after the completion of the project, by that time my bonus check has arrived.

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#88
post #84
post #17

Earlier quoted context omitted.

> However I was shocked to learn that the game was not playable until very late That seems rather common for many projects? If you have so many pieces developed in isolation, putting them together only really starts to happen when you get higher time pressure.

The part that's missing here is that Rome II is not a new project. The company has been working on this series of games for 25+ years now. They release them regularly and the bulk of the engine work was done years ago. The fact that they break the whole thing down and do it in isolation for every release is a mistake. They should just be iterating on top of the previous game.

> They should just be iterating on top of the previous game.

You can’t boot your whole game every time to do AI iteration. Whether or not the menu loads is completely irrelevant to your work. You don’t really want to integrate your broken shit with the currently working rest of the game either.

At least, that’s how I’d think about it.

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#89
post #88
post #84

Earlier quoted context omitted.

The part that's missing here is that Rome II is not a new project. The company has been working on this series of games for 25+ years now. They release them regularly and the bulk of the engine work was done years ago. The fact that they break the whole thing down and do it in isolation for every release is a mistake. They should just be iterating on top of the previous game.

> They should just be iterating on top of the previous game. You can’t boot your whole game every time to do AI iteration. Whether or not the menu loads is completely irrelevant to your work. You don’t really want to integrate your broken shit with the currently working rest of the game either. At least, that’s how I’d think about it.

You can always run the AI in a separate test harness to see changes more quickly. This is what they were doing throughout development. What they weren’t doing was putting everything back together to see if the game still worked or made any sense (until the very end).

If you don’t want to check in broken AI code then don’t; that’s what branches are for. But the fact that they weren’t maintaining a working master is inexcusable.

Re: Total War: Rome II and Creative Assembly – My Statement Ten Years On

#90

Earlier quoted context omitted.

any navmesh alternatives for dynamic worlds? I am toying with gamedev and this one still has me stumped.

Well 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...

yeah I don't think dynamic navmeshes at runtime would work well.I'm using Godot, I'll have to keep looking
Post reply on HN