How the cube interacts with the ground


When I started this project I hadn't fully figured out how everything was going to work on the technical side of things. The central mechanic of It's a Cube is that you score a point when you face the correct face of the cube towards the  ground, in-game you'd know the correct face because it's the one colored the same as the ground. I guess at it's center this game is about matching colors. In order for this to work, at some point the color of the ground and the color of the cube face you just turned towards it need to be compared via script, and this took me some time to get working, so I wanted to share how I set this up.


The first thing I needed to do was set it up so the ground's color would randomize, and this was probably the easiest part, all I needed to do was randomize an integer value between 1 and 6 (for 6 sides of the cube), and I wasn't worried about the visual color change just yet since I could easily map each number to a material later once I had everything working on the technical side.

In order for the cube to interact with the ground when it's rotated, I childed 6 triggers under the cube object and positioned one by each face of the cube, these would act as my way of telling the ground that the cube has rotated through the OnTriggerEnter method, which is called whenever the object that the script is attached to enters a trigger. After that I created a simple script for the cube triggers containing a single number (again between 1 and 6, and this time in correspondence to the sides of the cube) and from there I could compare the grounds number to the triggers number whenever a trigger hit the ground, and if the numbers match, then I add to the players score. 

With all of this working internally, I then wrote a third script that would set the grounds material based on what it's current number was. The trickiest part of doing this was making sure I ordered the array properly so that each number matched correctly with it's material array index. One misalignment would cause the grounds color to appear different from the color of the correct cube face, which would be very confusing for the player. Not gonna lie I did make this mistake at one point, luckily it's pretty easy to fix if you do! With that done, the basic functionality of It's a Cube was pretty much complete! This all took me around an hour total, and from there I could expand on these scripts to add sound effects and implement them into a game play loop. I hope you found this interesting! Thanks for taking the time to read this!

Get It's a Cube

Buy Now$1.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.