Employer
Year
2024
Genre
To solve the issue, I created a ScriptableObject that holds the layout of the tank in a 2D matrix format. This data is then applied to a GameObject using a Grid2D
component, which spawns blocks according to the structure defined by the matrix.
Next, I used a custom component, called "Equations Container," to manage the tank’s stats. This container takes an input, such as a ScriptableFloat
or a fixed value, and evaluates it against a pre-configured list of equations. For the tank, the input was dynamically linked to the player's current level, meaning that the tank's difficulty scales based on the player's progress.
ps: Equations Container is a custom tool I've built using Odin Inspector, you can check it and mote tools I've made from here
In this setup, I used a Linear Incremental Equation
to control how the tank’s stats increase in relation to the player's level, ensuring smooth progression and balance in gameplay.

With this, it's quit easy to generate a Tank with it's own layout and it's own stats and centered
to the Tank object so it can move and rotate correctely