▶
DevBlog #7 - sound design, ending cutscenes status, smoother camera zoom
I removed the ad to join the Steam community, which was launched after the cutscene for completing a chapter.
Back in the day, it was an ad to vote for the game on Greenlight. Now that I look at it, I see that some icons are not clear (like already done), and that there is no way to actually say "no" or "don't bother me again". On the plus side, removing this ad was really easy. The game relies on a "playing phases" system, where every part of the game is a phase: editing a solution, playing the solution, displaying the galaxy map, etc. And all transitions between two phases are managed with a specific function, which allows to add custom code for this transition only. The main purpose was to avoid a nightmare of "if" tests to activate specific code. Almost all transitions are as simple as that:
As I removed Humble Bundle buy options from the website, the money threshold cannot be attained to transfer the funds, and so I asked them to transfer everything. I also asked them to give me the full list of all buyers, but they did not do anything. So I will have to manually get those data from the website. It's clumbersome, as I need to go through all time periods for all buying options, and it crashes when there is too many data for a period. But I will do it anyway.
I tried to clean some directories by removing unused files. I immediately found out that some of those files were used (of course, that's why I avoided cleaning until then). Keeping directories for a long time "in case they could be useful" was a bad idea, at the time of adding those features, I should have kept only the files I identified as useful. Strangely, Unity continued to modify a lot of library files, even when everything was almost back to normal. I had to quit Unity and revert absolutely all modifications for the library frenzy to stop. Then I could do the small modifications I wanted. That's how I managed to remove two files. I guess small victories are victories too.
In the completion cube scene (accessible by clicking on the central cube on the galaxy map), there were missing dark cubes for chapter 10. Those dark cubes are now correctly displayed. As chapter 10 is special (it's the chapter where you have to create buildings), I did not find a way to create dark solutions. So to still have dark cubes there, every chapter fully completed as dark unlocks 1 dark cube for chapter 10. It also simplifies the game completion percentage, as it is now calculated on a base 100 for dark cubes, rather than on a base 90 (because of 9 chapters with 10 dark cubes and the final chapter with no dark cubes).
I can easily launch cutscenes from the starting menu by pressing a number key with the letter "g" or "d" (for "Gold" and "Dark" cutscenes). Rewatching all cutscenes, I saw some mistakes I made, such as a camera zoom badly calculated which changes its speed during the cutscene. As I am using an orthographic camera, zoom is done by changing a property called orthographic size, and I made a very simple calculation: I compute the difference between the two zoom sizes (such as "10 zoom" to "100 zoom" gives a difference of "+90 zoom"), then I divide this difference by the duration of the cutscene (such as 10 seconds), to increase the zoom size. It means that the camera gains +9 zoom per second, from "10 zoom" to "19 zoom" during the first second, until "92 zoom" to "100 zoom" during the last second. Sadly, this process creates a change in speed: going to 10 to 19 is a 90% increase (the camera zoom change is super fast), but going from 91 to 100 is a ~10% increase (the camera zoom change is super slow). Back in the day, I was too bad at math to do anything better. But now, I'm a bit better at math, so I realized that there should be a way to find a unique percentage to go from the first zoom to the last zoom. Thanks to my work in finance (I spent a year working in a bank as a developer), I know that you can use a power of a percentage (here symbol "**") by a duration, to obtain something like this:
I took inspiration from meditation sounds (bowls, stones), and added some sounds in the game. There are now sounds for when the cube is moving, clicking on buttons and a few other stuff. I used Audacity to keep things simple.
One of the last thing to do to complete the development of the game are the ending cutscenes. I intend to do 3 of them (gold, dark and gold+dark). They will be used as a conclusion for each way: following the rules, disobeying the rules, and joining what you learn by both following the rules and disobeying the rules. Back in the day, I was using several helping tools, such as plastic cubes, or the ingame editor, but they were more intended for designing levels. I was also using Google SketchUp for 3D design, and I see that it can now be used online for free (and it is now owned by a company named Trimble who purchased it from Google). So I used Trimble SketchUp to design some contraptions for the ending cutscenes.
Currently, the ending gold cutscenes is entirely done.
I edited the copyright date. 2024 is the date of the release! I intend to spend more time on the project to finish the development.
[ 2024-02-03 11:51:17 CET ] [ Original post ]
TL;DR
- remove popup ad
- update the website
- sounds added
- smoother camera zoom
- better dark cubes percentage
- ending cutscenes status
Remove popup ad to join community
I removed the ad to join the Steam community, which was launched after the cutscene for completing a chapter.
Back in the day, it was an ad to vote for the game on Greenlight. Now that I look at it, I see that some icons are not clear (like already done), and that there is no way to actually say "no" or "don't bother me again". On the plus side, removing this ad was really easy. The game relies on a "playing phases" system, where every part of the game is a phase: editing a solution, playing the solution, displaying the galaxy map, etc. And all transitions between two phases are managed with a specific function, which allows to add custom code for this transition only. The main purpose was to avoid a nightmare of "if" tests to activate specific code. Almost all transitions are as simple as that:
public void from_phase_cutscene_to_phase_galaxy_map ()
{
end_phase_cutscene ();
begin_phase_galaxy_map ();
// display_ad ();
}
Thanks to that, any logic specific to a unique combination of two phases is entirely managed in a specific function.
The code file containing all those transitions is more than 900 lines of code. That's a lot, but thanks to that, I never got any confusion going from one phase to another.
Humble Bundle
As I removed Humble Bundle buy options from the website, the money threshold cannot be attained to transfer the funds, and so I asked them to transfer everything. I also asked them to give me the full list of all buyers, but they did not do anything. So I will have to manually get those data from the website. It's clumbersome, as I need to go through all time periods for all buying options, and it crashes when there is too many data for a period. But I will do it anyway.
Clean directories
I tried to clean some directories by removing unused files. I immediately found out that some of those files were used (of course, that's why I avoided cleaning until then). Keeping directories for a long time "in case they could be useful" was a bad idea, at the time of adding those features, I should have kept only the files I identified as useful. Strangely, Unity continued to modify a lot of library files, even when everything was almost back to normal. I had to quit Unity and revert absolutely all modifications for the library frenzy to stop. Then I could do the small modifications I wanted. That's how I managed to remove two files. I guess small victories are victories too.
Chapter 10 dark cubes
In the completion cube scene (accessible by clicking on the central cube on the galaxy map), there were missing dark cubes for chapter 10. Those dark cubes are now correctly displayed. As chapter 10 is special (it's the chapter where you have to create buildings), I did not find a way to create dark solutions. So to still have dark cubes there, every chapter fully completed as dark unlocks 1 dark cube for chapter 10. It also simplifies the game completion percentage, as it is now calculated on a base 100 for dark cubes, rather than on a base 90 (because of 9 chapters with 10 dark cubes and the final chapter with no dark cubes).
Cutscene zoom
I can easily launch cutscenes from the starting menu by pressing a number key with the letter "g" or "d" (for "Gold" and "Dark" cutscenes). Rewatching all cutscenes, I saw some mistakes I made, such as a camera zoom badly calculated which changes its speed during the cutscene. As I am using an orthographic camera, zoom is done by changing a property called orthographic size, and I made a very simple calculation: I compute the difference between the two zoom sizes (such as "10 zoom" to "100 zoom" gives a difference of "+90 zoom"), then I divide this difference by the duration of the cutscene (such as 10 seconds), to increase the zoom size. It means that the camera gains +9 zoom per second, from "10 zoom" to "19 zoom" during the first second, until "92 zoom" to "100 zoom" during the last second. Sadly, this process creates a change in speed: going to 10 to 19 is a 90% increase (the camera zoom change is super fast), but going from 91 to 100 is a ~10% increase (the camera zoom change is super slow). Back in the day, I was too bad at math to do anything better. But now, I'm a bit better at math, so I realized that there should be a way to find a unique percentage to go from the first zoom to the last zoom. Thanks to my work in finance (I spent a year working in a bank as a developer), I know that you can use a power of a percentage (here symbol "**") by a duration, to obtain something like this:
10 zoom * (percentage ** 10 seconds) = 100 zoom
I found a first approximation of the percentage (1.259) by doing lot of tests by hand on Google, launching a Google search each time. Then I told myself I could find an online calculator. But I did not succeed to find one which could use power as well as Google, so I was quickly back to Google.
Then to find this percentage (1.259) with a real calculation, I used an inverse power :
percentage = 10 zoom ** (1 / 10 seconds) = 1.25892541179
Here is some data to show the difference in behavior between the two approaches.
Sound design
I took inspiration from meditation sounds (bowls, stones), and added some sounds in the game. There are now sounds for when the cube is moving, clicking on buttons and a few other stuff. I used Audacity to keep things simple.
Ending cutscenes
One of the last thing to do to complete the development of the game are the ending cutscenes. I intend to do 3 of them (gold, dark and gold+dark). They will be used as a conclusion for each way: following the rules, disobeying the rules, and joining what you learn by both following the rules and disobeying the rules. Back in the day, I was using several helping tools, such as plastic cubes, or the ingame editor, but they were more intended for designing levels. I was also using Google SketchUp for 3D design, and I see that it can now be used online for free (and it is now owned by a company named Trimble who purchased it from Google). So I used Trimble SketchUp to design some contraptions for the ending cutscenes.
Currently, the ending gold cutscenes is entirely done.
Copyright date
I edited the copyright date. 2024 is the date of the release! I intend to spend more time on the project to finish the development.
[ 2024-02-03 11:51:17 CET ] [ Original post ]
God is a Cube: Programming Robot Cubes
Marc Kruzik
Developer
Dimensional Studio
Publisher
2018-10-11
Release
Game News Posts:
9
🎹🖱️Keyboard + Mouse
Mixed
(12 reviews)
Public Linux Depots:
- God is a Cube: Programming Robot Cubes-Linux [672.17 M]
God is a Cube: Programming Robot Cubes is a programming puzzle game, where you control robot cubes with Artificial Intelligence made of simple symbols. You start with just one robot cube, then you learn how to manage conditions, then get access to tens of robots to build bridges and space pyramids.
Key features
Key features
- 100 levels with open ended solutions
- 10 chapters with their own difficulty curve - if you are stuck, just start another chapter and discover something new!
- secret solutions for every level and a whole secret campaign
- 20 creative mini cutscenes and several big cutscenes to show you the world
- a complete level editor, with image cards to share your levels
MINIMAL SETUP
- OS: almost all configs
- Processor: 2.0 GHzMemory: 2 GB RAM
- Memory: 2 GB RAM
- Graphics: a 2008 graphics card should be fine (256 Mb RAM)
- Storage: 600 MB available spaceAdditional Notes: I ported the game to Linux 3 years before launch. and tested it with thousands of users. so it should run fine on almost all configs. I hope you will like this programming game!
GAMEBILLET
[ 6132 ]
GAMERSGATE
[ 2625 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB