The gaming market is now largely dominated by a monolithic attitude to development: developers license a ready-made engine (usually Unreal and Unity), and then bleed it to the edge in search of performance. Does an alternative exist? The advantages and challenges to a proprietary engine to produce AAA-games and bespoke Business-to-Business solutions is what Slightly Mad Studios deals with day in and day out. Let’s take a deep-dive into this “MADNESS” Engine, one entirely developed in-house by the studio, and used to create chart-topping AAA-games by a globally-based, remote-working team.
2. The rewards of a proprietary engine approach
25 October, 2019
3. Talking points:
25 October, 2019
❏ Who are we?
❏ Remote based team!
❏ MADNESS engine showcase
❏ Why we’re using a proprietary engine?
❏ Should you use a proprietary engine?
5. TWO DECADES OF CHART-TOPPING, AWARD-WINNING GAMES
Slightly Mad Studios is the award-winning team behind the Project CARS franchise, and era-defining
games such as the GTR® series, Need For Speed® Shift™, Shift 2 Unleashed®, Red Bull Air Race –The
Game, and many other top-tier, AAA-games
25 October, 2019
6. Our history
25 October, 2019
MAJOR GAMES USING THE MADNESS ENGINE
NEED FOR SPEED: SHIFT
15/09/2009
Electronic Arts
PLATFORM: Microsoft Windows, PlayStation 3, Xbox 360,
PlayStation Portable, iOS, Android, Windows Mobile
SHIFT 2: UNLEASHED
29/03/2011
Electronic Arts
PLATFORM: PlayStation 3, Xbox 360, Microsoft Windows,
iOS
PROJECT CARS
06/05/2015
Bandai Namco Entertainment
PLATFORM: PlayStation 4, Xbox One, Microsoft Windows
PROJECT CARS 2
22/09/2017
Bandai Namco Entertainment
PLATFORM: PlayStation 4, Xbox One, Microsoft Windows
7. 25 October, 2019
BUSINESS APPLICATIONS AND FUTURE-PROOFING PROJECTS
ioTech Studios, SMS Group's business-to-business branch, delivers leading-edge solutions with
proprietary high-end 3D/VR graphics and deep simulation technology for professional applications
worldwide.
ioTech: the technology to shape ideas.
8. Can you pass me the remote please?
25 October, 2019
Completely remote based!
❏ Over 175 employees from over 30 countries
❏ Distributed development system
❏ Task oriented work attitude
9. Remote working: team, dedication and old tricks
25 October, 2019
Slightly Mad Studios has an internal forum.
Yeah, no big deal we have a forum, but…
...that is actually our office!
10. So why a proprietary engine?
Are you insane?
25 October, 2019
No, we are just Slightly Mad!
11. 25 October, 2019
MADNESS Engine is a cross-platform engine and development framework with a reputation for high-
performance and industry leading visuals and physics.
❏ Proprietary technology
❏ 10+ years of continuous development
❏ Cross-platform
❏ Modular
12. 25 October, 2019
Key features:
❏ C++
❏ Multi-core architecture
❏ Over 30+ specialized development tools
❏ Not only racing oriented!
13. One code library to rule them all?
No, thanks!
25 October, 2019
How it is structured?
Every library is a stand-alone module.
Every module has a job, a department and a continuous development cycle.
Altogether they create the Engine!
14. Lower Level: Base library
25 October, 2019
Key features:
❏ Lower level of the engine
❏ Everything is custom: no STD!
❏ Timers, framework managers, events, threads, memory managers, etc
❏ Cross-platform optimized
15. Higher Level: App level
25 October, 2019
Key features:
❏ Higher level of the engine
❏ Talks with every other libraries
❏ Can be considered the game
16. One development tool to rule them all?
No, thanks!
25 October, 2019
One editor approach (e.g. Unity/Unreal) vs Multi tools approach
Let’s see some examples.
17. Data and code : MakeIt and Visual Studio
25 October, 2019
21. So why we are using a proprietary engine?
25 October, 2019
Because it makes sense.
22. So why should you use a proprietary engine?
25 October, 2019
Well, maybe you shouldn’t but...
23. Ask yourself the right questions.
25 October, 2019
❏ Do you need something VERY specific?
❏ Your team is big/skilled enough?
❏ Are you interested in owning the technology?
❏ Performances must be over the top?
❏ Are you planning to use specific third party tech not supported by commercial engines?
❏ Do you have enough time but not enough money?
❏ Do you want to learn more?
❏ and another million specific questions...
24. You would be in good (indie) company!
25 October, 2019
Indie Games that don’t use Unity or Unreal Engine:
▣ Gratuitous Space Battles ▣ AI War: Fleet Command ▣ Stardew Valley ▣ Salt and Sanctuary ▣ Factorio ▣ Dust: An Elysian Tail
▣ Super Meat Boy ▣ Binding of Issac ▣ They are Billions ▣ Divinity Original Sin 2 ▣ Scrap Mechanic ▣ Overgrowth ▣ FEZ
▣ Braid ▣ The Witness ▣ Guacamelee ▣ Don’t Starve ▣ Legend of Grimrock ▣ Octodad ▣ and many more...
25. On the topic: Codemotion Friends!
Watch this talk from Codemotion Rome 2018:
How we manage to get multi platform games with our custom engine by Ivan Zorzin and Jeff Minter
25 October, 2019
26. Create instead of use...
25 October, 2019
...or use, but understand what you are using!
London based Slightly Mad Studios (SMS) is one of the few remaining triple A independent game studios. SMS is privately owned and has a pedigree in the creation of some of the world’s most successful racing franchises.
SMS proprietary technology allows for the development of high quality simulation racing games on all relevant platforms. This puts the company into a unique position to branch out into other business sectors.
ioTech was accordingly set-up in 2016 to specifically address B2B market demand. ioTech seeks to leverage SMS proprietary development engine to provide simulation solutions to the industry. Our primary and natural focus is on the automotive market
The group’s central offices are in London but we have over 175 developers working around the world.
Our distributed development model is unique and highly disruptive. We have a worldwide 24/7 operations with the ability for management to exercise full control and oversight around the clock.
Our digital workspace replicates our physical work-space with synched workflow technology.
Communications with team mates—and other staff members—mostly take place via two methods: The first is our forum that dates back to the very start of Slightly Mad Studios. The forum is our virtual office. We work in full transparency, and that means every area, from game production to marketing to branding, is visible to everyone on our team.
We also use IM tools to act as our live meeting rooms where you can discuss projects, ideas, and day-to-day requests with your whole team, or one-on-one, or simply have a chat with one of your mates.
Remote doesn’t mean remote at Slightly Mad Studios. And Our forum is more future proof than the one on the picture …
MADNESS has been developed over the past decade by some of the most talented people in the games industry with the programming team averaging approximately 20 years of professional game development experience each.
MADNESS has been written with multi-core/processor architecture in mind. It is a cross-platform engine and development framework with a reputation for high performance and industry leading visuals and physics.
The engine has been developed with an abstract approach which offers programmers and designers the possibility to gain in efficiency and create platform agnostic content from day one. MADNESS’ modular structure also allows it to be configured in a variety of ways to suit each project’s requirements.
The ability to break down items such as render jobs and physics iteration steps into smaller chunks means that they can be balanced across threads efficiently with very little CPU idle time.
(The VR implementation in the MADNESS engine was designed from the ground up to be fully extensible, allowing us to easily add support for upcoming hardware, including motion controllers and HMDs.)
Visual studios code structure
Dpt structure
Most of the dpts take care of one aspect
Modules are stand alone (use / export) depending on projects
All modules have a continuous dev cycle and are kept up to date
MADNESS engine merges all these modules and depending on projects you work on allows you to have the most suitable dev environment
The base library (lower level) is a the core foundation of MADNESS engine
We don’t use standard C++: We have a strict “no-STD-policy.
All the code is optimised depending on the platform used
Above every libraries we have the App level
An App library can talk to other libraries. But other libraries cannot talk to App.
App determines which game you are building. It therefore can be considered as The Game itself.
The biggest diff between our environment and other dev environment is that we don’t have one giant editor for all tasks.Talk about how a scene is built in Unity vs how we deal with data and code.
Rather, we use specific tools to address specific problems.
Such approach generates various continuous development cycles and is ideal for remote based team.
MakeIt’s only purpose is to build Data.
The advantage in MADNESS is that you can build the code without interfering with data and viceversa.
Thanks to this splitted approach, our artists can for instance build all the tracks / cars you need without touching the code and Visual Studios.
Coders on the other hand can focus on their tasks in a more focused way.Make and example regarding the asset building in Unity/Unreal.
Very few words regarding how BuildIt is used to build scenes, cinematics and more.
BuildIt is our biggest and multitasking tool.
GUI Tool allows UI artist and coders to have a very specialized tool focused solely on UI.
GUI team can build their own navigation logic inside the tool and later use it in the code.
Few words on the fact that we have a lot of tools.
These tools have different development cycles and they offer specific stand-alone solutions to specific problems.Mention just as an example: TranslateIt and TweakIt.
It is the most sensitive approach to distributed development:
Specific architecture
Task oriented
Clear separation between Art and code
Possibility to push techno to the limits (vs black box Unity/Unreal approach)
Move the argument to what the audience should do, especially small indies.
Why it should be important for them to use custom tech?
I will not suggest to write mandatorily a custom engine, but to embrace a different approach (continue in the next slides)
Think about what you need for your own project.
Ask the right questions.
Talk about my little unused custom 2D engine and why it was so important to me to understand better my job in the past (and future).
Few examples of Indies not using Unity or Unreal.It is important to make examples closer to the people.If we mention the biggest games on the market with a custom engine (GTA, Horizon Zero Dawn, Uncharted and similar) it would not be as inspiration as if we mention smallest indie studios.
Meta-reference regarding similar talks in Codemotion. Useful to give some context and continuity.Good for politics reasons with Codemotion.
Suggest them to create the most they can instead of use something blindly.
And, even if you want to use Unity/Unreal, just write code.
Don't blindly rely on dozens of plugins.
Make the most of your game development experiences, always.