In this post we explore the notable and current business opportunities for Video Games middleware, and provide a teaser for what we are working on here at Fragwire.
- There are emerging opportunities in producing middleware due to a paradigm shift in how games are made and played, resulting predominantly from the rise of cloud gaming as a credible alternative to traditional platforms.
- Going forward, with games moving into the cloud, developers will face a new unique set of challenges in reducing latency (‘lag’) for the players, and also making best use of cloud technology to realise their creative ambitions.
- We recognise cloud infrastructure is not quite there yet, but that there is a space in the market for middleware to take it to the next level.
- We are creating a hybrid framework, which utilises the power of a local computer (or device) alongside the cloud, to allow game developers to take on larger workloads and better achieve their creative ambitions. We are also researching the capability to intelligently predict latency (‘lag’) spikes and adjust the games’ outputs to ensure a seamless experience for the end user.
This post will describe middleware, what it means in game development, and some examples of popular and niche middleware currently in the market. We will then explain the business opportunity before teasing what Fragwire is working on.
How does middleware work?
In this context it is important to understand the clout and abundance of the two largest game engines in video game development – Unreal Engine (Epic Games), and Unity (Unity Software Plc).
These engines are the gold-standard for game development.
Unity, with its flat fee structure and low barrier to entry is often favoured amongst small independent developers and mobile game developers.
On the other hand Unreal Engine, tracing its history back to 1998, is favoured by AAA publishers who require a more mature and extensible base on the cutting-edge of graphics technology, and are charged a slightly different royalty-based fee for using the software.
Although it is plausible that you can use a game engine such as Unity or Unreal Engine for end-to-end game creation, the reality is that there are often specific problems in game development where it is cost-effective to use a piece of middleware to add functionality or quality to your game.
As a result, we describe middleware as a set of tools, which adds to the functionality or quality of the game design process and ultimately improves end user experience. Middleware may commonly be referred to as a ‘toolkit’ or ‘set of tools’.
There is a range of middleware available for developers to enact very specific tasks, keeping the creators honest to their creative intentions, and thus enhancing player experience.
This ranges from software that helps reduce lag in a multiplayer tournament, to specific tools that allow you to create complex graphical items such as trees (see SpeedTree), and complex physics simulations (see Havok). As we will see below, there is even middleware that can automatically create food menus, speeding up asset creation (see Tracery).
We’ve defined this area of middleware as ‘popular’ typically because it is well-established, used among multiple developers (not just a tool kit created for one game by one developer), is very high quality, and more often than not the software has been acquired by the game engines themselves, given the tool is so useful and valuable.
Created in 2000 by IDV, SpeedTree has one aim: ease the creation and rendering of realistic trees.
Trees can be a total bane for artists and game developers alike. They are complex structures – labour-intensive both to create, and to render. Once you get past the general structure of a tree with trunk and branches, you are then left dealing with the complexity of the branch textures, leaf cluster density, shadowing etc. If gotten wrong you can end up producing a disastrous looking piece of foliage.
SpeedTree was created as a solution to these challenges. Having started in 2000 simply to create high fidelity trees for a simulated golf course, they found that video game developers were particularly interested in the software. Since their official launch in 2002 they have set out to become the best foliage and vegetation solution for game design.
Interestingly, SpeedTree is also used ubiquitously for film and television, showing the power of video game software to spill into other entertainment mediums (a topic we have discussed in a previous post, here).
From a business perspective the company uses a combination of revenues structures, however the core model for an average game developer is subscribing to the Modelling tool on a monthly basis, with the SpeedTree engine already integrated into the mainstream game engines (Unity, Unreal etc). SpeedTree updates its features regularly and is extremely accessible for all manner of developers.
There is potentially a robust exit option for IGV, who create Speedtree, should Amazon, Unity or Epic Games (or any other technology company) decide to buyout its IP to fully integrate it into their game engine. This is a common exit strategy for middleware.
Other popular middleware
- Houdini – This middleware recently received minority investment from Epic Games (Unreal Engine). The tool focuses on procedural generation – allowing artists to create a parametrised ‘base’ model, which can be effortlessly customised to fit into the game world, cutting down on development time and increasing the quality and variety of assets in a game. Used in film and television as well as games.
- Havok – Acquired in 2007 by Intel and then 2015 by Microsoft, Havok focuses on the area of physics simulation, such as collateral explosions, helping solve the complexities of creating an explosive looking scene and other complex physics models.
- Umbra – Founded in 2007 in Finland. Umbra provides the occlusion culling system used in Unity (that is, Umbra is fully integrated into Unity), and can be used in Unreal Engine via a plugin. Occlusion culling involves deleting the part of an object hidden behind another asset (i.e. if half of the rock you place into the game is hidden ‘underneath’ the earth, that half is culled). This reduces the overall rendering required for the game, both in creation and then when being loaded by the end user.
- Aseprite – Following the rise of games such as Stardew Valley, which were created by solo developers, Aseprite is a very popular go-to for independent developers looking to create their own 2d pixel art for games.
Some of the really interesting middleware sits on this ‘niche’ end of the spectrum. We define niche as a piece of middleware that is created to solve a very specific problem. This software is often used to aid in a situation where there are limited resources (such as time or cost).
For example, procedural generation is particularly popular here, where you use code to automatically create and generate parts of the game for you. This is relevant where you have a very small team and need to find additional resources.
Created by Kate Compton to avoid having to complete a pencil and paper exercise, Tracery is a procedural text generation tool.
The example Kate uses is a food menu. If you are a small independent developer creating a game where your character accesses a restaurant food menu, you may not want to spend hours writing meal plans into your game.
Tracery will automatically generate text for you, allowing you to instantly populate the menus. It can go one step further by creating simulations (rather than ‘static data’) so, for example, if the food kale becomes a popular resource in your game due to an in-game event the menus will adjust to reflect that.
Starting out as a tool to help with a school assignment, this niche piece of middleware has the potential to graduate into ‘popular’ due to its usability, and potential to reduce the workload for the game developers resulting in widespread use and application.
Other niche middleware
- Hello Games – Due to extremely limited resources and a very ambitious creative goal (the game was No Man’s Sky with a very small team of developers), Hello games created a tool that randomly generates creatures and textures in the game, vastly improving the scale of the game without needing to hire more artists.
- Tbutt – Created by Turbo Button, a VR game studio, this piece of middleware allows Unity games to target all of the main VR platforms (Samsung, Oculus, Playstation etc) without any major code changes.
What is the business opportunity in middleware?
To recap some important points from above:
- Middleware improves some specific part of the game development process, enhancing the functionality or quality of the game and improving the player’s experience.
- Middleware is often the result of an in-house team of developers trying to improve their productivity or achieve their creative ambitions.
With that recap, we naturally ask why is middleware so important at the moment, and what is the huge business opportunity?
The reason middleware is so important in video games right now is that there is a paradigm shift in how games are being made and played.
In the past, games were traditionally created on Cassettes, Floppy Disks or CDs, to be played on a static device such as a console. However, with the rise of 5g infrastructure, mobile phone usage, and the popularity of video games in general (predominantly a result of demographic shifts), there has been a resurgence in the area of cloud gaming. Large technology companies such as Microsoft, Sony, Apple, Amazon and Google are all vying for a foothold. They know that if you get the recipe right early on (great user experience, lots of original content), you can create a dominant platform of the future (e.g. the Netflix of video games).
There is rarely a situation where a paradigm shift does not open the field to new players (see: Netflix and video streaming, iPhone and mobile phones, Google Search and the internet).
For game developers this means a huge shift in how you develop and create a game. Game developers are recognising that cloud gaming inherently suffers from latency (the time from which you input an action, and the output is achieved in game), and in order to win trust from players, games in the cloud need to be low latency and reliable. There is a responsibility from both the game developer and the gaming platform (xCloud, Stadia, Luna etc) to ensure latency is low.
Secondly, the cloud offers a new universe of creative opportunity. In the past developers were limited by the hardware available at the time (PS2, RTX graphic cards, Xbox Series X processing speeds etc), however in the cloud you can hook your game up to a much more powerful data centre. In this situation, by collectively using a huge number of computer resources, you offer the potential to produce much more expansive games – games which have not been possible with a single computer in the past. Common examples include Ready Player One, and the Matrix, but there are also the unknown opportunities at this stage, which will become clearer as the industry matures.
However as a developer, both of the changes above mean a totally new set of tools, and thus middleware.
You are going to need something that can intelligently tell you when latency spikes are going to occur, allowing your game to react accordingly; perhaps reducing the frame rate in your game or quality of textures to ensure a smoother delivery. Herein lies an opportunity to enhance user experience.
Furthermore, game developers are increasingly developing their games within the environment it will be played (i.e. they are developing their games in the cloud). On top of this, we have also seen with COVID19 the importance of remote working in ensuring teams can remain productive away from their powerful computers in the office. Herein lies an opportunity to aid the game development process.
What is Fragwire doing?
We have identified two core opportunities for middleware related to the paradigm shift into cloud gaming:
- Enhance the end user experience. Software that intelligently predicts latency spikes, and adjust the parameters of the game (frames per second, quality of textures etc) to ensure a smooth player experience.
- Enhance the game development experience. A framework, which we define as the hybrid model, where developers can push the computation-intensive parts of game development into the cloud, while rendering the UI locally on their device to ensure maximum responsiveness. We believe this is a crucial method to transitioning into the cloud at this stage.
Feel free to contact us at email@example.com