MiniRacers
This doc goes over a summary of the Mini Racers project and what was learned in the process.
Origins
MiniRacers was the starting point for Llama Labs Interactive in late 2023.
MiniRacers was inspired by SuperCars 2 and Micro Machines. The team felt that would be a great fit for a digital Tabletop experience.
All the team enjoyed racing games, from Burnout through to Dirt Rally, so it was a pretty easy match for creating something we were interested in.
Engine
Roblox
We started with Roblox as we felt the number of players in the eco system, monetization features, and 'free' multiplayer resources would offer a way to acquire players faster.
Roblox was chosen initially as it was free to use, had a considerably large player base, pretty good monetization opportunities, and seemed to have some room for 'good' games in a very saturated market of all the games.
As the Roblox engine is somewhat lacking in support of some fundamental tools such as physics it took quite some time to get the prototype working in a state that we were comfortable with. We even looked at other game types that would be quicker to create and publish, but ended up sticking to the racing game either through Sunk Cost Fallacy or just really wanting a good tabletop racing game.
Over time we found that Roblox was a lot harder to use to create more complex systems and found that we needed do reduce the scope of the game. It was expected that the engine was comparable to Unity in ability to create an experience therefore our larger plans should be able to be worked towards, but found this was not the case. The time to create features took considerably longer than expected and the benefits nor return on investment of Roblox did not balance out the time to make them.
As the exchange between Robux and real money was about 30% of its value at best, whereas Steam/Meta etc take considerably less. And Unity only requires an amount after a large amount has already been made. As much as the server costs for the numbers found within Roblox would be expensive, 30% of the value paid did not seem justified with such a poor editor experience and poor discoverability.
The Roblox Discoverability algorithm seems to focus more on the games that have poor game mechanics and play more as idle clickers and the 'real' games seemed to hover a page or three down with significantly lower ratings. One of the bigger 'Pros' of using Roblox was that if we made a good game the discoverability would pick up and reduce the need for marketing at least to some degree, it looked like this was less the case than we would have hoped.
In the end the only benefit to using Roblox was the large number of players it has, but if you can't reach them without advertising, nor get paid a fair amount for the work you put in, we figured we might as well make a game with an engine that was significantly easier to use with a more reasonable return.
Unity
We eventually gave up on Roblox entirely and started a new smaller project using Unity 6. For more information on this, check out TankTop documentation.
Prototype > Alpha
It is very important to get to a Prototype as fast as possible. This allows you to get a real world test up and running to see if the game idea you have is worth pursuing. The prototype took a lot longer than desired due to the engine proving problematic (car handling in particular) as well as other obligations (Work and University).
The team was pretty sure the game idea was viable and over time we found our prototype started looking more like an alpha. Prototypes are untextured boxes moving around white box environments, whereas we already had early versions of cars and environments by the time the base handling and UI was functional due to some of the team learning the engine from a design perspective
Once the details of developing within Roblox started appearing it was clear that the engine was very different from Unity, and some things were more than frustrating to work with such as their approach to materials, updating assets, and a number of other issues.
In that time, the development docs were expanded going over the overall experience and what we could end up doing. As Scope Creep is one of the biggest killers of any game, we made sure that the Alpha (not the prototype anymore) was the very basics of the game for testing in order to get that to feel as good as possible before scaling the project up. If the car handling didn't feel right, then the rest wouldn't matter.
If we did get the handling right, a significant part of the rest of the game was already planned out. That, and some of the team just really enjoys making Dev Docs!
As noted, we found the Roblox Studio was not up to scratch for the scale of the project we were interested in doing. Any new feature seemed a lot harder to do than it should (coming from Unity anyway) and the time involved in creating those features did not balance out with the benefits that Roblox offered.
At the end of our Roblox run we had basically made one track with one car that had a simple complete game loop. The experience was limited, but good enough to release to an internal testing group. The game experience was...ok. And the internal testing response was favourable, but nothing really stood out as amazing which made sense. Adding the weapons would have added a lot to the experience, but the amount of work to get these added would be considerable.
3 cars were created in total as well as a second track and reverse versions of both, but due to the approaches of getting these into the game these were shelved.
MiniRacers is still a project we would like to take on in the future. But due to the scale of what we want to do with the game, we will put this on the backburner for when we are better suited to create it.
Summary
If you are creating your first game or learning a new engine or eco system, your experience needs to be very limited in scope.
Do not assume all engines are good for the game you want to make. Learning an engine is a project in itself, so start with something that is simple and easy, so the difficulty of the Engine is manageable.
Come up with a tiny game or experience to understand the engine enough to make sure it is up to the task. Look at the features you need for your desired game, then make sure the engine does these things separately. All engines have their strengths and flaws. Find both and shape your experiences accordingly in order to make it the best it can be within the limitations of the engine you are using.
Using a larger project to find out that the engine is not a viable option for the game you want to make is the slow and honestly extremely frustrating route. Don't do it this way!
Roblox has its benefits, largely the amount of players that are in its eco system, but the engine itself is better suited to simple games. That said, there are more than enough good simple games you can make if that is the eco system you want to build in.
A lot was learned in this process though. As the tutorials were a key part of this process Custom Avatars and clothes are now understood in depth and this opens options for future projects. Working in team on passion projects was also a new experience, and this time found that the team worked well together. And that is an extremely important thing to know before getting into larger projects.
The end result is....perhaps balanced. A lot of time could have been used better, but only some of that was critical. And any lesson that is hard learned will most likely benefit in the long run.
Last updated