New and smaller developers may well gaze at masterpieces like The Last of Us and wish they had access to the types of tools used to create such visually rich and well designed games. What they might not know is they already do.
Much of the tech that went into Naughty Dog’s tools – and the tools for many of Sony’s top-selling first-party titles – originates from Sony Worldwide Studios’ Authoring Tools Framework.
Currently on version 3.8, ATF is still in active development and is essentially a tool for making tools; a set of C# components that can be used to make anything from integrated developer environments and analysis tools to level and animation editors.
“The framework’s many components are designed to be independent and customisable,” explains Ron Little, ATF developer for Sony WWS’ Tools and Technology group. “Tools programmers can pick just the components they desire, or create and add in their own. There is no platform-specific code in ATF, so it’s useful for making tools that target any platform.”
And far from being locked away in Sony WWS’ offices, only available to the platform holder’s in-house studios and closest partners, it’s actually an open-source project and easily accessible via GitHub. But why would Sony make such valuable tools available to all and sundry?
“Initially, the reason for going open-source was to make it safer for second parties to adopt ATF,” says Little. “Previously, if a games developer lost their contract for developing PlayStation titles, then, without special arrangement, they might lose the right to use their own ATF-based tools.
“This barrier to adopting ATF meant that second parties would often opt to develop their own tools from scratch instead. So in effect, Sony was paying more money than necessary to second parties, to cover the increased cost of tools development.”
Sony also wants to improve these tools and build a community that shares that goal. Through ongoing testing, feedback and contributions, the company can turn what Little humbly refers to as “just good enough” proprietary tools into superior open-source tech that effectively lower the cost of games development for its users.
He continues: “The director of our large tools group, Ned Lerner, is a big believer in the power of open-source after his great experience working with Apple, Google and others on LLVM, our shared open-source tool chain.
“By releasing as open-source, we’ve opened the doors to ATF as broadly as possible – there are no regional barriers at all. If a developer in Argentina would like to use ATF, it’s just as easy for them to get as for someone in the USA.
“We hope EU/UK games developers will be excited about this release, and we encourage them to dive in. There is a pretty large base of highly creative smaller and indie studios in the UK and the EU, and we hope this will give them a well-deserved boost.”
The Authoring Tools Framework was first created by veteran tools programmer Bill Budge, known for having created 1983 Apple II and Atari 800 title Pinball Construction Set.
His work on ATF began almost a decade ago as Sony sought a way to implement regularly used features into Windows-based development tools. Since then, the team has worked with both first-party PlayStation games developers and other tools teams to expand the suite of components.
Examples of how the tech has been used is extensive. Guerilla Games used the framework to form its CoreText sequence editor, while Sony’s Santa Monica Studio built its Creature Editor animation blending tool with it.
However, perhaps the most notable product of the ATF is LevelEditor, something that has become a toolset in its own right and also went open-source via GitHub last month.
“Most ATF tools are built by starting with one of the many sample apps that are provided with ATF, and then customising to suit the particular use-case and workflow,” says Little.
“One of the earliest and most successful sample apps was LevelEditor. Naughty Dog was the first adopter of LevelEditor and they took it and massively customised it. Charter, as they call it, was used to make their Uncharted games and The Last of Us.”
LevelEditor, as you would expect – centres around creating game levels, but it’s not just about architechure and scenery. The tool can be used to place enemy characters, destructible items, power-ups, trigger volumes, lights, path-finding waypoints and more. And more features are constantly being added, with recent additions including real-time lighting, multipass materials rendering, terrain editing, and terrain painting.
The toolset is also not specific to PlayStation platforms, instead using a DirectX 11 graphics engine written in native C++ to render things in the design view on Windows. Studios can then use a bridge API to substitute in their own graphics or game engine.
“There are many other more ordinary or ‘boring’ components that are important to modern GUI tools and that would take months of effort to create from scratch,” continues Little. “These components have been widely used. We provide a windows docking framework so that the user can drag around windows and save their GUI layouts and switch between named layouts, both in WinForms and WPF.
“We provide a command service so that users can assign hotkeys to commands. We provide a user settings service, so that all the user settings can be saved, exported, and imported.”
All around the world
With the ATF widely available to developers, Sony Worldwide Studios is keen to see studios from around the world – particularly the UK and Europe – embrace the technology and experiment with it, just as PlayStation’s first-party studios have.
With the framework not tethered to a single platform, the Authoring Tools Framework has the potential to be one of the go-to destinations for developers seeking to improve the quality of their games, or even define their own development technology.
And the amount of documentation and samples available online, primarily via GitHub, lays the foundation for studios to work with each other and Sony WWS to help evolve the Authoring Tools Framework in the short and long-term future.
“We hope to see cool new tools and new games made using ATF and LevelEditor,” says Little. “We hope to continue to receive good feedback. We hope to find trusted collaborators who will co-develop the next set of features for ATF, the next generation of common games tools, and help us all go forward together.
“We want to improve ATF and LevelEditor, and we want to build an open-source community around these and future products. To accomplish these goals, we are actively engaged with the community, and answer questions and address issues raised on the GitHub trackers as fast as we can. We accept pull requests, too. Please join us.”