Employee Stories

Behind the Scenes: Engineering Game Development Tools Introducing the Sakura-gumi development team.

K.K.
Manager, Sakura-gumi, Technology Department I, Technology Management Unit, Technology Business Division Joined the company in 2018.

N.F.
Lead Programmer, Sakura-gumi, Technology Department I, Technology Management Unit, Technology Business Division Joined the company in 2019.

What is the Sakura-gumi?

The Sakura-gumi is a team dedicated to developing Nintendo’s in-house tools for producing its proprietary titles. Currently, a team of about ten engineers works within multiple task forces to create and improve these essential tools.

Q. Please tell us how you both joined the company and what you are currently working on.

K.K.
I started my career as a game programmer and then moved to a software engineering role. When considering my next career step, I realized that Silicon Studio was a perfect fit for me, as it would allow me to leverage my experiences and contribute to the development of proprietary game engines and tools. Today, I am the engineering manager of a group called the Sakura-gumi. My responsibilities include providing daily support and technical consultation to the team, overseeing task management across different teams, and handling internal coordination, external communications, recruitment, and other group-wide activities. With my engineering background, I also step in to help with development when there is a shortage of staff.

N.F.
After graduating, I started my career at a company where I developed tools for real estate agencies using WPF (Windows Presentation Foundation). Eager to challenge myself, I began exploring new job opportunities and discovered that Silicon Studio was looking for a WPF engineer. Given my long-standing passion for games and interest in the industry, I decided to join the team. I am currently the lead programmer for one of the teams in the Sakura-gumi. Currently, I’m working on the development of ProjectPortal, a tool that was showcased at CEDEC2024 by Nintendo as part of their presentation, “Know, Create, and Connect: A Case Study of the Development Environment and Sound Production Rebuilt for The Legend of Zelda: Tears of the Kingdom".

Q. What kind of tool is ProjectPortal?

K.K.
As N.F. mentioned, ProjectPortal was featured in detail during Nintendo's CEDEC2024 session titled "Know, Create, Connect: Development Environment and Sound Production Case Study Rebuilt for 'The Legend of Zelda: Tears of the Kingdom'".
As presented in the session, in Nintendo’s game development, a component-oriented development environment* is primarily adopted, instead of an all-in-one game engine allowing for more freedom in the development process.
When adopting a component-oriented approach, you often face the trade-off between high flexibility and a decrease in usability, particularly due to weaker integration between tools. This drawback needs to be addressed, as improving usability usually comes with significant costs.

ProjectPortal

N.F.
To address this challenge, Nintendo has developed a solution that links tools by creating a database that stores the information associated with each asset and the relationships between that information. By accessing this database, each tool can recognize assets created by other tools and the information they contain, regardless of the tool or file format used.
ProjectPortal functions as the front end to this database. It not only enables reading and writing to the database but also effectively utilizes the retrieved data to provide integration with development machines and pathways to various tools. Furthermore, it offers functionalities that serve as gateways to all essential elements needed for a game project, from asset management to project progress tracking.

* What is a component-oriented game development environment?
A development environment where tools and runtimes, such as an effects-specific tool for effects or a sound-specific tool for sound, are independent of each other, allowing them to be freely combined and structured. In comparison to all-in-one engines, this setup generally offers greater flexibility due to the independence of each tool, making it easier to implement strategies tailored to the specific needs of each project. However, the flip side of this independence is the integration between components is far weaker.

ProjectPortal - Workflow feature

Q. What kind of development are you actually working on?

K.K.
ProjectPortal is a very large-scale tool, and because of that, we focus on specific features rather than being responsible for the entire tool. Currently, we have a team of five, led by N.F., primarily dedicated to developing one of the key features within ProjectPortal, known as "Workflow," which is a bug-tracking and task-management tool.

N.F.
Workflow refers to a task management feature that manages work on a ticket-by-ticket basis, similar to tools like JIRA or Redmine. Its most distinctive feature is that each task is linked to a specific game content resource on a one-to-one basis. This allows for game development-specific tracking, enabling users to monitor the number of unresolved tasks and the frequency of bugs for each resource. Additionally, since the ProjectPortal itself is integrated with the previously mentioned database and various tools, it enables a seamless development cycle. For example, when a bug occurs, a ticket can be created directly from the game screen, the person responsible for investigating the ticket can be automatically assigned based on the resource information, and the assigned person can open and edit the resource in an editor directly from the ProjectPortal’s interface.

Q. What makes developing ProjectPortal exciting and challenging?

K.K.
The ProjectPortal is an in-house tool developed for Nintendo, so it works quite differently from developing a product for the market. One of the unique challenges of working on an in-house tool is that user experience often takes priority over being correct and without faults. However, what users truly need or what would make their work easier isn’t always clear from the start. To meet these unspoken needs, sometimes trying the tool first is more important than having it fully polished. At the same time, if the tool isn’t refined enough, users may not even be able to properly use it. Striking the right balance between these factors is one of the most difficult aspects of development.

N.F.
That's why the process of building it together with the client is so exciting. We receive direct feedback from actual users, which sometimes leads to the creation of features and tools that would never emerge in ordinary projects. It also makes me feel an even deeper connection to what I’ve created.
For example, we created a Gantt chart feature within the workflow. Unlike traditional Gantt charts, where each row displays a single task, in ProjectPortal, we implemented a mode where multiple tasks can be displayed in one row, grouped by worker or by phase. This was developed in response to a request from end users who wanted to check whether a single worker’s assigned tasks overlapped or focus on a specific phase to see how tasks are arranged within that phase. With a large number of tasks, displaying one task per row would make the layout too long vertically, but this feature allows for a more streamlined and organized view.

ProjectPortal Gantt Chart (Standard Gantt Chart Mode View)

The Gantt chart displayed in the mode where tasks of the same worker are arranged in the same row.

Task Table

Q. Can you give us another example of the systems you developed?

N.F.
In addition to the Gantt chart mentioned earlier, our company took the lead in developing a feature called the Task Table. The Task Table provides an overview of task statuses and displays them in a table format with vertical and horizontal axes, such as: Worker x Progress. Both axes can be customized based on various task-related information. By using this feature, it becomes much easier to monitor task progress by organizing them into a matrix with two flexible axes. Additionally, when the project is falling behind, it helps identify whether any hotspots have emerged and pinpoint where they are. As a result, it has received positive feedback, especially from those in management roles.

K.K.
Besides ProjectPortal, we’ve contributed to the development of several other tools. Along with ProjectPortal, we are jointly developing multiple node graph-based visual programming tools with Nintendo as another major pillar. One such tool is the ASEditor, which enables designers to write event transition logic for model animations themselves. Another is the BgmEditor, which gives composers the ability to write event transition logic for interactive music. Traditionally, designers and composers would write the specifications, and programmers would implement them based on those specifications. Then, designers and composers would review the implementation and communicate any adjustments needed to the programmers, who would then make the changes, repeating this cycle. However, by allowing designers and composers to create and adjust the logic themselves, we’ve succeeded in shortening the development cycle.

ASEditor

BgmEditor

A tool for writing character behavior control logic using a node-based system

Additionally, we developed a tool, based on ASEditor, that allows programmers to write the game character's behavior control logic using a node-based system instead of code. While programmers can still write the logic in code, using a visual representation of the character's behavior within the game makes it easier to understand the specifications compared to viewing them through code. Furthermore, we have collaborated with Nintendo’s development team to help create an integrated localization support environment. This tool enables a one-stop solution for translation input, multilingual data generation, glossary management, and progress tracking for games being localized into multiple languages.

Q. What is necessary to be an engineer involved in in-house tool development?

N.F.
I believe that people who have the ability to imagine how things can be made more convenient or enjoyable from the user's perspective while considering their use cases, and who are motivated to make those ideas a reality and bring joy to users, are well-suited for this role. This is a career where individuals who can deeply consider how users will feel about the features they use can thrive.
The Sakura-gumi is a team of passionate members who love games and are driven by a strong desire to support and contribute to the world of game development. We are looking for like-minded people who share this enthusiasm and are excited to work together with us.

K.K.
In recent years, overseas game developers have made remarkable advancements in development and development technology, but I believe that the greatest strength of Japanese game development lies in the unwavering commitment to never give up on making the game fun. However, for those who have been involved in game development, I’m sure they can relate to the reality that, as development projects progress, there are moments when, due to the limitations of the development environment, we have to give up on the fun we wanted to achieve. I think that for engineers working in the game development environment, it’s crucial to have the mindset of never giving up on creating a development environment that prevents developers from compromising on fun.

Our technical department is often seen as a company focused on middleware for game development, particularly specializing in runtime for 3D graphics. In fact, we have built our expertise in the entertainment industry, with 3D computer graphics technology at our core, starting with middleware. Currently, we are focused on developing solutions that leverage this technology, and thanks to our background of continuing development while closely working alongside the game development industry, we are frequently tasked with developing tools for game development companies. We are looking for engineers who are eager to support game development from behind the scenes.

Current Openings