On the front lines of technology
Wataru Ohmori
R&D Group Lead and Game Creative Division Vice Lead, Chief Technology Officer
Fluidity for a Force of 200
Looking back on my career up until now, I feel like I spent it plugging away at what needed to be done. On one particular game, I created about half of the roster of enemies, while also building out the system side of things and implementing stage gimmicks. On another, I ended up remaking the UI from the ground up after about 500 bugs popped up. On one particularly small development team, I ended up accountable for just about every system in the game.
One particularly memorable problem I’ve had to solve was during development for The Wonderful 101. Since establishing the Research and Development Group, which is tasked with finding quality technical solutions for the whole company, I haven’t been quite as closely involved with our project dev teams as I used to be – but I’ve stayed “on call” for technical emergencies.
Which brings us to the issue with The Wonderful 101: Between the player heroes and enemies, at times there are over 200 characters that the game has to work with at once. In a standard action game, the game system can evaluate each character completely separately to determine how they should move. But when you’re dealing with over 200 characters acting together, that approach will burn through your available processing power in no time. We had orders from director Kamiya that all these characters needed to move and flow together “like a liquid.” From where I was sitting, that seemed impossible – if we could even manage to get them all handled individually in the first place.
The solution was to create what I called a “herd mesh,” which had a cloth simulation applied to it. I set the characters on top of that mesh and let it control them. By using that herd mesh to control each character’s position and divide up their proper behaviors, we could take full advantage of the processor multithreading available – and there, we finally had all 200-plus characters moving. Now, characters came and went as players proceeded through the game, and some of those characters would occasionally have to leave the herd mesh and act on their own. These quirks and more needed their own solutions, too. But in the end, I feel like I played a part in making the unconventional, hero-packed action of The Wonderful 101 a reality.
Reliably Solving Problems
The PlatinumGames R&D Group is currently primarily involved with developing and improving our in-house engine. That work has led me to get personally connected with several different fields of development – animation, sound and cinematics in particular. Engine development in and of itself is a bit removed from hands-on game development, but I stay involved with our other dev teams to help address technical issues unique to them.
To go back to The Wonderful 101, that game has a special system that I built to add a lot of variety to its cinematic scenes. The Wonderful 101 has a lot of quick-time events in general, and the cinematics are no exception. Players’ performance during those events has a clear effect on how the cinematics play out, and they may need to be prompted to try them again. I had to personally alter to our existing systems to allow all those related cinematic scenes to be linked together and “edited” by the gameplay.
I’ve recently moved from engine implementation itself to a more management-oriented role. That means I’m occasionally called to help solve difficult technical issues with all of our titles in development, and whenever I can find the time, I try to find ways to make our games and our technical environment more efficient. When I take on a particular difficult problem, or a completely new challenge, that’s when I feel like I’ve found what I’ve been working for. At my core, I love solving problems. I’m happiest when I realize that I’ve done something that I’d never been able to do before – and then I get to share that discovery with the team. Lately I’ve been able to squeeze in a little more problem-solving between tasks, and it gets me thinking about my next opportunity to show off a bit. As I keep facing new challenges and goals, I want to be in the position where people in the company can look at me think, “oh, he can definitely do something for us.”
From the General to the Specific
What I can do for a project team isn’t always something technical. When our dev teams lose their way or find themselves in a pinch, they’ll often turn to me for guidance. Which isn’t to say I’m ready to rattle off all the answers immediately. Our developers rely on me to make the right decisions, with all of the information I can get about the situation and the elements at work taken into account. But at this point in my career, I’ve had lots of experience with both successful and less-than-successful projects, which forms a firm foundation for my judgements. I hope the teams that I guide will take the opportunity to strive towards new challenges on their own, too.
In some ways, I feel like the last bastion that PlatinumGames developers can turn to when all else seems lost. But at the same time, as I look into new tech and test out new platforms, I also feel like a soldier on the front lines. The amount of work I have to deal with has increased over the years, but with every new technological advance – deep learning and automatization, improvements in development environments, and so on – there’s so much more I want to try.
As I’ve worked on our engine, I’ve been granted a great deal of trust and freedom across several fields of development. Freedom is always fun, but it also means responsibility. While I typically work on improving the systems that lie at the core of all of our games, I’ll occasionally have to branch out to build something specific to one title or another, like I did for The Wonderful 101. Whether it’s a unique audio-handling system for NieR:Automata or a new way to display special effects for ASTRAL CHAIN, the engine team gets involved. How a game is rendered on-screen is often entrusted to our hands. This sort of work environment is rare in the games industry, and I’m able to work with more team members across more disciplines than I probably ever would have imagined before. It all starts with listening, understanding their needs, and then meeting those needs. It’s hard work, but fulfilling, and I can guarantee that it’ll never get boring.
PROFILE
Wataru OhmoriR&D Group Lead and Game Creative Division Vice Lead, Chief Technology Officer |
|
Wataru Ohmori worked for Capcom and Clover Studio, on titles including Resident Evil for GameCube, Steel Battalion, and Okami. After joining PlatinumGames, he worked on Bayonetta before establishing the R&D Group that develops and improves our in-house game engine. He helps all of our project teams to explore and properly implement new technologies. |