Game
It's a Cube
3 years ago

​When I started this project I hadn't fully figured out how everything was going to work, so it took me some time to set it up to where the ground and the cube would interact, and I want to share how I did this.

https://youtu.be/XXEmMv52EDc


It's a Cube Devlog #2 | Cube and Ground Interaction
Welcome to another devlog! I took a couple of weeks off after my last Deathly Descent devlog about the achievements in DD, which is linked below. In today's ...
https://www.youtube.com/watch?v=XXEmMv52EDc

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!



0 comments

Loading...

Next up

I'm working on an update for It's a Cube! I've implmemented Game Jolt's API and added 4 trophies and score saving.

My next project! It's still in the early stages of development, but I have a tech demo available for download.

The beetle shell is now fully VISUALLY implemented! Next thing on my list is a unique sound for Hensen equipping it.

Doki Doki Literature Club is celebrating Monika's birthday and the 8th anniversary of DDLC with exclusive stickers, avatar frames and backgrounds on Game Jolt! 

Head over to the shop to collect yours 👉 https://gamejolt.com/#shop

I'm working on a main menu now! I think it's coming along quite nicely so far. Oh and I've also improved the model for the cube as well.

I've updated the UI and HUD in It's a Cube! I think the HUD especially looks a lot nicer now, and I'm especially proud of that, but I've also made changes to the main menu. I've also finished the statistics screen I was working on last weekend.

I made some updates to the hints system! Now it reads from the message hub to determine when to show hints and the hint texts now come from the lang system I wrote yesterday. This simplified my the hints handling algorithm A LOT from what it used to be!

Mae Borowski is the main character of Night in the Woods! It's an adventure game that tells the story of her return to her hometown of Possum Springs. She was confirmed as canonically pan in a social media post by the game's creator Scott Benson.

I updated the algorithm that handles the timer gradually decreasing as the game progresses! Before, it would decrease by 1 second when the player scored certain amounts, but now it gradually decreases according to a multiplier each round.