Hi
I have started working on my second game and wanted to share. This time it's a 3D Speedcubing game with the working title Cranky Cube (if you have any suggestions for a title please post them).
I'm making the game in C and using the cglm library for all the maths. I have worked a little in C before, but this is my first "larger" project and I'm really enjoining it, the playdate C api has been great so far.
I haven't really done a lot of 3D stuff before (had a class at uni, but that was mostly theoretical). I probably have a lot of optimizations I can do but so far it's running great on device with a few dips in the 30s for the 3x3 cube when 3 sides are showing and a larger one with the completion animation.
Here are some screen recording of what i currently have
And here is the 3x3 cube
I would like to run a small poll to see how many people now how to solve either a 3x3, 2x2 or both, as I'm thinking about adding a tutorial but I'm not sure if I'll will manage. I want to see if it's something I should spend time on or not, otherwise I'll probably just add a QR code to a website with the algorithms.
You know whats crazy? I was literally talking to my friend earlier about how I wanted this to exist on the playdate! I was going to try to figure out how to make it myself but this kind of 3D thing is way beyond me. This looks awesome! I'm interested, what are the controls like for this? How are you utilizing the crank?
I haven't 100% settled on the controls yet, but currently I have it setup so that each button on the D-pad corresponds to a side and while holding down the D-pad you crank to rotate the face. e.g holding down the Up button will rotate the top of the cube (no button rotates the front face). I'm liking it so far and I feel like you can quickly gain muscle memory for the algorithms.
If you are interested I can send you the latest build and you can try it out.
As for things I have added. I now have a first draft for the main menu
I have also added a dither pattern to the background. I'm not sure if I'm keeping it, but I'll try it out for a while and see.
I forgot to explain how the camera works and how to rotate the whole cube...
The camera can be moved either by holding down B and pressing one of the directional buttons or holding down one of the directional buttons and pressing B. You can also hold B and use the crank, this sets the viewing angle to the angle of the crank. Just pressing B without the D-pad resets the viewing angle.
As for rotating the whole cube, it's the same as for the camera but you use A instead of B (moving the crank does nothing)
I will upload the build here so other people can try. If you have any feedback feel free to post here or give me a message
As for what I'm going to work on next. I'll be making a settings scene where you can change the 8x8 pattern for each side. I hope this will make it easier for people distinguish the sides if the default patterns are to similar for you. I'm also thinking of adding a checkbox for inverting the camera/cube rotation controls.
My end goal is getting the game on Catalog as a big wish for the game is having a global leader board where people can compete
Just gave it a try. I was surprised at how well my muscle memory translated into the crank controls, they're very intuitive! The only feedback I've got would be to add some (optional) sound effects. I think that would really take this project over the edge. It already feels super polished so congrats!
Oh I'll definitely add sound effects, I have even implemented all the code for it. It's just that I have no ability when it comes to sound, so I'll need to get someone to do that for me.
It hasn't been the most productive period, I have mostly been working on the main menu, transitions between different states and just general polish. I have also added an inspection time of 15 seconds that will start after shuffling the cube and a banner that will show when getting a new high score.
I have been trying to make a tutorial to teach how to solve the cube, but it quickly got to complicated, and seeing that quite a few people already know how to solve one or both cubes, I will only make a tutorial teaching the controls.
I'm hoping to get the game on catalog so I can add a online leaderboard, but before that I will have to make the settings page as well as the tutorial. I'm also still missing sound effects. Sound design is something I know nothing about, so I'll have to get someone to help with that. (Let me know if you are interested)
But the game is slowly coming along, and I'm really happy with the result so far.