Thanks! I kind of realised after the stream that there were a few ideas I didn't mention (e.g. how I tried to make the grids as small as possible to constrain the player and reduce the room to aimlessly roll around in), but that's fine, I could always mention that next time.
Unfortunately I am looking to turn this game into a commercial release, so I am not going to publish it. But if I change my mind I will certainly consider doing it.
hey, im a beginner unity developer and id really appreciate if you could open-source the game. i'd be interested in seeing how you did it because its such a cool concept. thanks a lot!!
I'm on mac and the bottom of the screen (where the map you're supposed to recreate is) is cut off. Do you know a way to fix this? Resizing the window is all I can think of and it does not help.
I didn't want to make the levels too hard, given that it was a jam game, and not everyone finds the difficulty to be the same, I hope you understand (Also, I overestimated the difficulty during the jam). But still, thanks for playing!
Awesome game! Congratulations on featuring in the video.
If I may ask, how did you figure out which number should be/was at the bottom depending on the die's rotation? I wanted to do that but gave up halfway through. Dealing with rotations makes me want to tear my hair out.
I mainly studied the rotation of the die when it moved around in a small space e.g. in a 2x2 or 2x3 circle, and then tried to design puzzles around those ideas. When designing the puzzles, I also tried to make the way to obtain the numbers non-obvious but also extremely simple, based on the ideas I had studied previously, and made the grids small so the player could only move around in those small spaces, guiding them towards the eventual solution.
Woah, talk about a quick reply! However, I meant more in the technical sense. There's got to be a way to write a function that takes the die's global rotation and spits out which number is at the bottom, but I couldn't for the life of me write it.
I basically stored 6 numbers in an array, one corresponding to each colour, and each position in the array corresponding to a face, and whenever the player moved I modified the elements of the array such that they reflected the new rotation. I don't know if this is the best way to do it, but that is what I went with during the jam. Then to find out what number to print, just access the number at the position in the array corresponding to the bottom face.
Now that I think of it, I think it might be possible to get the rotation of the cube as a quaternion, and check against a list of rotations to see which face is face down, but that's just an idea, not sure whether it would work.
Thank you! I thought of a similar system, but then I got side-tracked when I realized the face-down number could have 4 different rotations depending on the cube's state (0 degrees, 90, 180, and 270), and that led to the project's doom. In hindsight, I should've gone for the simple implementation for the jam and then expanded it if necessary.
Anyway, thanks for your time, and once more, good job on the jam!
It would work. I implemented dice rotation and face identification with Unity quaternions. The only characteristic each number (1-6) has is it's side normal. No tricky unwrapping and no careful permutation consideration necessary.
When I want to get a face A (e.g. face (0, -1, 0)), I [temp-]rotate all normals with the current quaternion, dot product all with a A and look which one equals 1
This is a great game! I had a blast playing it and although the puzzles looked simple at first, they contained a lot of depth to them and really had me questioning everything I've ever known about cubes. I could easily see this becoming a fully fledged puzzle game after perhaps adding a few new mechanics in later levels, since there is only so much you can do with one die (maybe conveyor belts / teleporters?)
Thanks for playing, that is a nice design. And yes, I will definitely add new mechanics if I turn this into a fully-fledged game, I just didn't do it during the jam because I wanted to develop the base mechanic to its fullest potential.
Hey, I really like your game! It could easily be a full indie title on Steam. However I encountered a small bug (or a hidden mechanic :P). I found out that if you are 1) standing right at the edge of the map such that you can't move left and 2) press firstly the left arrow and then the down arrow, you can move to the part of the map that should be inacessible. The same thing works with right edge and right arrow. I think it's easiest to see on the fourth puzzle. I took a screenshot of it. Hope you find this useful!
← Return to game
Comments
Log in with itch.io to leave a comment.
Thanks for the game !
I'd like to play, it seems interesting, but at the same time, I don't want to work my butt off trying to figure out the puzzles. 😒(ノ◕ヮ◕)ノ*:・゚✧
Here's the Highlight of our interview from today's stream;
https://www.twitch.tv/videos/1558215658
Thanks! I kind of realised after the stream that there were a few ideas I didn't mention (e.g. how I tried to make the grids as small as possible to constrain the player and reduce the room to aimlessly roll around in), but that's fine, I could always mention that next time.
this game is absolutely beautiful. will you publish the source code?
Unfortunately I am looking to turn this game into a commercial release, so I am not going to publish it. But if I change my mind I will certainly consider doing it.
ah ok good luck
If you want, I can share snippets of the game code of the parts you are interested in.
Yes please, can you post some of the dice movement code? i'm very intersted on how yo did it.
Hi, sorry it's been such a long time, but you can find the scripts to the project at https://drive.google.com/drive/folders/1WFd_prtCXkVrFvvyDb44tAX0r_9fiPL4?usp=sha.... In particular, the dice movement code can be found in the player.gd script.
hey, im a beginner unity developer and id really appreciate if you could open-source the game. i'd be interested in seeing how you did it because its such a cool concept. thanks a lot!!
Hi, you can find the scripts to the project at https://drive.google.com/drive/folders/1WFd_prtCXkVrFvvyDb44tAX0r_9fiPL4?usp=sha.... While I did not upload the assets themselves, you can find the scene tree in the main.gd and level.gd scripts to get an idea of the project structure.
I'm on mac and the bottom of the screen (where the map you're supposed to recreate is) is cut off. Do you know a way to fix this? Resizing the window is all I can think of and it does not help.
Unfortunately I don't :(
Challange: make the whole paper colored only one number.
Here you go :D
It's not that hard actually, just keep reusing the strategy from Level 2.
Godot Supremacy
Ok
15 minutes to complete all 8 levels. The only tricky one was 7th
I didn't want to make the levels too hard, given that it was a jam game, and not everyone finds the difficulty to be the same, I hope you understand (Also, I overestimated the difficulty during the jam). But still, thanks for playing!
Awesome game! Congratulations on featuring in the video.
If I may ask, how did you figure out which number should be/was at the bottom depending on the die's rotation? I wanted to do that but gave up halfway through. Dealing with rotations makes me want to tear my hair out.
I mainly studied the rotation of the die when it moved around in a small space e.g. in a 2x2 or 2x3 circle, and then tried to design puzzles around those ideas. When designing the puzzles, I also tried to make the way to obtain the numbers non-obvious but also extremely simple, based on the ideas I had studied previously, and made the grids small so the player could only move around in those small spaces, guiding them towards the eventual solution.
Woah, talk about a quick reply! However, I meant more in the technical sense. There's got to be a way to write a function that takes the die's global rotation and spits out which number is at the bottom, but I couldn't for the life of me write it.
I basically stored 6 numbers in an array, one corresponding to each colour, and each position in the array corresponding to a face, and whenever the player moved I modified the elements of the array such that they reflected the new rotation. I don't know if this is the best way to do it, but that is what I went with during the jam. Then to find out what number to print, just access the number at the position in the array corresponding to the bottom face.
Now that I think of it, I think it might be possible to get the rotation of the cube as a quaternion, and check against a list of rotations to see which face is face down, but that's just an idea, not sure whether it would work.
Thank you! I thought of a similar system, but then I got side-tracked when I realized the face-down number could have 4 different rotations depending on the cube's state (0 degrees, 90, 180, and 270), and that led to the project's doom. In hindsight, I should've gone for the simple implementation for the jam and then expanded it if necessary.
Anyway, thanks for your time, and once more, good job on the jam!
I answered in the comment above: https://itch.io/post/6346372
It would work. I implemented dice rotation and face identification with Unity quaternions. The only characteristic each number (1-6) has is it's side normal. No tricky unwrapping and no careful permutation consideration necessary.
When I want to get a face A (e.g. face (0, -1, 0)), I [temp-]rotate all normals with the current quaternion, dot product all with a A and look which one equals 1
Thanks, that was quite informative.
This is a great game! I had a blast playing it and although the puzzles looked simple at first, they contained a lot of depth to them and really had me questioning everything I've ever known about cubes. I could easily see this becoming a fully fledged puzzle game after perhaps adding a few new mechanics in later levels, since there is only so much you can do with one die (maybe conveyor belts / teleporters?)
Thanks for playing, that is a nice design. And yes, I will definitely add new mechanics if I turn this into a fully-fledged game, I just didn't do it during the jam because I wanted to develop the base mechanic to its fullest potential.
Hm, I didn't get this endscreen after completing
After completing all 8 levels, an extra finish tile appears close to where the player spawns, which will lead you to the endscreen.
Hey, I really like your game! It could easily be a full indie title on Steam. However I encountered a small bug (or a hidden mechanic :P). I found out that if you are 1) standing right at the edge of the map such that you can't move left and 2) press firstly the left arrow and then the down arrow, you can move to the part of the map that should be inacessible. The same thing works with right edge and right arrow. I think it's easiest to see on the fourth puzzle. I took a screenshot of it. Hope you find this useful!
Hmm I can't seem to reproduce your bug, did you use WASD/Arrow keys or the yellow arrows on screen?
The arrow keys. The left one (or the right one) has to be held before pressing the down button.
Thanks for letting me know, that is indeed a bug. If I update the game I will fix it.