Since launching our first game in July 2016 we have grown from 17 people to almost 30 strong, and at the same time we have transitioned from one project studio to having multiple teams working on their own games. With these changes come new challenges and opportunities. One of our solutions to stay on top of the game is our scalable game building tech. The roots of this tech solution lies in our product values, and it covers our needs for high quality UX, reusability and modularity.
All F2P games need certain common features and elements before global launch such as in-app purchases, player profiles and player data, tournaments, clans, messaging systems etc. We took our learnings from our previous game Big Bang Racing, and built our F2P tech stack for our future games. We didn’t just want to have easy server setup and the basic framework for client side, but to have a modular, expandable and adaptable solution that covers all of our F2P tech needs from player profiles, shop and support to on-the-fly game balancing and live operations.
To meet our technology needs, we have developed three separate technologies that form our in-house tech stack: Framework, Skeleton, and BlocksUI. Framework is the basis of everything, and answers to our need for performance and expandability. It is a custom C# tech on top of Unity, giving us an entity-component system and bunch of tools to build games in a performance optimised and mobile game specialised rapid prototyping environment.
Skeleton provides client architecture and server features that all our games share. Blocks UI gives us a modular UI architecture, that enables UI reuse between our games. Together these projects create a shared language and a cross disciplinary platform for all core members of the team, and for other stakeholders surrounding the core team.
Framework, Skeleton and BlocksUI
Traplight was founded 8 years ago in 2010, and Framework has been in development for 6 years, a significant part of our history. We wanted to build an expandable and effective game architecture on top of Unity to make our lives easier. Framework has a lot of effective custom solutions, which lets us use Unity in a way that is effective for programmers and allows us to go beyond Unity’s native features. Framework provides the basic system, like handling entities and components, custom 2D physics implementation, networking, sound and music handling. More recently we’ve integrated our basic analytics and crash reporting features onto Framework level as well.
Built on top of the Framework, Skeleton provides basic client and server functionality for our games, including mobile F2P game architecture and data structures, with player identification, profiles and support for game state machines and general configuration parameters. Basic player profiles with social media connectivity and support for in-app purchases in both Apple and Google ecosystems are included as well. Skeleton also gives us a toolset for running live operations and in-game events.
The second system on Framework is Blocks UI. It’s purpose is to unify the way we create user interfaces for our games. Skeleton utilises the Blocks UI to show our players features like player name changing, joining a Clan or recovering their progression. Instead of each game team designing, creating and implementing their own UI elements and ways of communicating info to players, they use the same, highly customisable modular system. Since designers are freed of the need to design the user experience of the UI components, they can concentrate on designing empowering and fun games. For programmers Blocks UI means less work as everyone has the same, ready made set of UI modules that are then stacked on top of each other and can be customised to each game’s needs.
The key feature of our tech stack is that it is flexible and easy to expand. The development is done with cross-disciplinary and cross-team effort. Weekly meetings are great for keeping everyone updated on new features we’ve incorporated into the projects and introducing new team members to the system.
Having the technology stack supporting our game development result in concrete time saving: we can focus on making the games instead of things that makes games possible. Our programmers can focus on creating a fun games instead of needing to setup project with different SDKs and figuring out protocols on how to communicate with servers and third-party tools. Things like retention tracking and crash reporting are in our projects from day one. Skeleton has cut our server deployment time from days to mere minutes, and every developer can launch their own copy if they need to. Basically if any of our games need a feature, our technology stack probably has it already. If not, the designers, developers and artists from different teams will work together to develop our it further.
The tech stack makes it also easier for new recruits and team members to jump into projects. Through Skeleton all our games have similar structure, and the building blocks they use are interchangeable. This means that our new hires as well as older team members, programmers, designers and artists alike can grasp new projects quicker, even when jumping in in the middle of development. This is a huge thing considering the fact that training and on-boarding new team members takes a lot of time and effort from the senior developers, especially in a company that is growing.
Developing this type of extensive and shared system takes time, but the benefits far exceed the downsides. With shared technology we are able to react to new trends or needs in the F2P market faster: Once a feature is built into our tech stack, it becomes available for all our projects. We can start new projects faster with our out-of-the-shelf F2P kit that includes everything needed for launching a F2P game – from metrics and customer support integration to modular menus and tools to expand and balance the game from server side. This also means that our games are fast-to-proof, and the over-all development time needed from first playable to global launch is cut significantly.
Additionally our tech stack has improved our communication and cross-disciplinary work: Through these shared tools our programmers, designers and artists are able to work efficiently together, as they have a shared language to communicate with. In addition the tech stack has helped other stakeholders like marketing, support and analytics get their needs heard. Features requested by these parties are added to the toolset and from there they will find their way to each project. The tech stack enables us to build comprehensive F2P game services that take the customers perspective and needs into account from the very beginning of the development.
At this stage, our Framework, Skeleton and Blocks UI have already been battle tested with multiple game projects at different stages, and we have been able to prototype potential game ideas very fast. Getting prototypes out in the hands of real players early on enables us to focus on KPI driven game development and make development decisions that are not only based on our expertise, but also real, reliable data. As Skeleton and Blocks UI expand, the amount of saved time and added value is becoming bigger, and the time needed for developing the system is getting smaller.
This type of approach to development creates the right excitement in a team and eases bottlenecks at the most critical time in a project, right at the start. Our technology enables our KPI driven development ideology, saving our energy for creating engaging, empowering and innovative F2P games. Instead of creating games in the dark without real data to guide us, we are able to deploy even our most complex ideas to the early users in a matter of a few months. This is nothing short of amazing.