Intro
Create and decorate your Bingo ranch in Bingo: Love in Montana board game. Use bingo cards and original boosters, gain lucky numbers, and win Bingo. You can decorate the house as you like, renovate the garden, and make the whole place ideal for your characters. Playing Bingo: Love in Montana, you improve your design skills in furniture, plants and flowers, general landscape
Bingo: Love in Montana is a unique board game that combines adventure and love story. No matter how old you are or what movies and books you prefer, this game will capture you! Do not waste time searching for other bingo games! You have found your favorite one!
Gameplay
Our Contribution
Challenges & Goals
“Bingo: Love in Montana” is a story and decoration game with tones of art content. However, as we know, the casual game audience is sensitive to loading time, download size, and battery lifetime. So, there were several issues to tackle and goals to achieve:
- Tons of decorations and customizations that we needed to implement in the game.
- Making a story requires special tools for game designers, which allow them to do so without a development team.
- The engine should have two modules: the core game Bingo and the metagame, which allows us to use the metagame for different core mechanics.
- The game should load/launch no longer than competitors’ games.
- The performance of the game should be within permissible limits.
- Usually, bingo games have different game modes, and our Bingo needs a system for external modules to download it into the game on demand.
- Launch product with a limited team in fast terms.
- Bingo was a new genre for the team and was challenging for monetization reasons, too.
Solutions & Expertise
The close collaboration between the technical team and the technical artists team allowed us to prepare flexible architecture for the scalable engine. From the technical side, the main thing is to manage resources to make such things as memory, render, and update work properly.
It has separated core and metagame engines to work as different modules independently. But several places should work on both engines: GUI (you can get notification windows, open bank windows, etc.), rewards (rewards in the bingo finish screen and the metagame for a daily bonus, friends, packages, etc.), ADs, etc. These functionalities also have a modular structure.
In the first months, the dev team prepared the technical tool based on Unity actions. It allows game designers to add/remove characters, launch dialogs, run animations, run post-effects and black screens, move the camera, etc. In this case, all the actions in the game look like a sequence of steps.
At this step, it is necessary to organize art resources in the project.
- Pack all the location art to separate atlases by episodes. It would help avoid uploading unused art to the memory.
- Set up groups for all the content to manage resources in the project and memory.
- Solve layering in the scene according to atlases and art position to decrease draw calls.
There were several basement things in the pipeline to speed up loading.
- While many customizations are based on prefabs with VFX, animations, and art, the scene size becomes more extensive. Unity’s addressable allows the uploading and unloading of prefabs needed for the current stages of the scene.
- Optimize art size to camera view and make it as small as possible to make fewer atlases in the projects. For this reason, constructors were used for significant buildings and unity sprites tiling.
- Control of addressable groups and resources to avoid duplicates in memory and while loading content
Performance increasing cases.
- It has optimized all the characters` data information (skinmesh). One or two bones per vertex are used in different cases. It’s hard for mobile devices to work with heavy skinmeshes.
- Worked on draw-calls in the main scene by dividing scenes into zones. Each zone is like a layer of art from one atlas, making the rendering process much faster.
- An XY-oriented waypoint asset was made to make the waypoint system work well with the layered scene. In this case, the length between two points for a character speed algorithm is calculated in the XY plane instead of XYZ. This allows us to put waypoints deeply in Z coordinates.
- Ground tiles were changed with a 3D landscape, and a shader was prepared that mixed textures using vertex color values.
Check here how we can help you launch your product from scratch and achieve fast time to market test within a short time thanks to our module system.