Update v0.6.5 on BETA for Windows
Hello everyone, a new version is available for beta testing, this update is focused on fixing some annoying bugs and also has a lot of work that will take Coffee Shop Tycoon to new audiences in the future. I'll start by talking about the bugs that were recently fixed and the two major changes that I've been working on during the past two months. Finally, I will share some exciting news about the music of the game.
Wow, switching a legacy path-finding system on a released game is really annoying but I think I'm seeing the light at the end of the tunnel. A little history behind path-finding, the game used to have a grid like navigation system, when you placed a chair or a table an area of the grid would be blocked and customers walked around the obstacles, this worked great but it was a very limited system, it didn't really support things like putting tables against walls, or expanding stores. For that reason, I switched to the NavMesh system provided by Unity, this basically calculates a walkable area using the actual 3D models of the objects and a customizable humanoid shape. This new system really opened the doors for a lot of the features and improvements I have added lately, but it came at a cost, now that you can be more flexible moving things around and expanding shops, it is more likely for customer to get stuck. The problem is that the customers in your store are not super smart, so in some cases they don't know what to do when a table is blocked or they end up in weird spots.
For this update I spent a long time looking at these flaws and finding ways to fix them. I don't think the system is perfect yet but it certainly handles most cases gracefully so you should not be seeing those annoying bubbles over your customer's heads that often, here is a comparison of the changes.
[previewyoutube][/previewyoutube]
As you can see in the video, customers looking for a new table would get stuck if selected table was blocked, and customers that were on their way to a table that was previously reachable would also remain stuck if something blocked the path. Now with the changes, customers have a way to detect if tables are reachable and leave or find another table if that is not the case. Customers now also navigate directly to chairs instead of the middle of tables which should fix other similar bugs. The colliders of all tables were also updated to account for these changes.
Another feature that I consider very important for the future of the game, and something that needs to get done before the game keeps growing is localization. The game was not designed with this in mind and I have gradually learned new best practices and how to better support multiple languages. During these months I have worked on building a language system for the game and extracting all in-game text from code, I was able to finish this first phase and have extracted over 400 lines of text. The remaining text that needs to be localized lives in some text resources like the store's furniture and drinks catalog, and UI controls. After I'm done extracting those, I will have a text file that translators can use to provide new languages to the game. Since this update has changed quite a lot of places that handle text, please report any bugs you see related with text, especially if you see text that looks like this "boost.rivalTrend.title", these are strings used to identify localized text, so if you see those instead of the actual text, something is not working.
Another big item that needed work was switching the Unity version used by the game. There are many problems that are caused by bugs in the engine code, especially crashes. Targeting an old engine version was also bringing a lot of problems when building for Mac, as the backwards compatibility between macOS and old Unity builds is pretty terrible. Now that Coffee Shop Tycoon uses a pretty recent Unity build, I will be able to use the latest tools for building the game, support more platforms, and hopefully have less problems with random crashes caused by the engine.
As part of the engine update, the launch window where you can select the game graphics settings is going away. Instead, you can now change the resolution from the settings menu in the game.
As some of you may know already, there is new original music coming to the game! The current music used in the game is under a Creative Commons license and is not original music. Chris A. Yenney will be the composer behind the music of Coffee Shop Tycoon, he is currently working on the new songs and I am looking forward to sharing them with you when they are ready, follow Chris on twitter (@chrisayenney) where you can find more about his awesome work.
I'm going to be working on polishing this build and getting it ready to go out of beta, meanwhile if you find any issues while playing the beta please post your problem under the pinned thread, I will be taking special attention to those bugs and getting them resolved before the beta is over.
As always thanks for all your support, and enjoy your coffee.
Follow me on twitter (@RiffStudios) for more updates, and feel free to DM me if you are having issues or simply if you are having fun with the game.
Pathfinding
Wow, switching a legacy path-finding system on a released game is really annoying but I think I'm seeing the light at the end of the tunnel. A little history behind path-finding, the game used to have a grid like navigation system, when you placed a chair or a table an area of the grid would be blocked and customers walked around the obstacles, this worked great but it was a very limited system, it didn't really support things like putting tables against walls, or expanding stores. For that reason, I switched to the NavMesh system provided by Unity, this basically calculates a walkable area using the actual 3D models of the objects and a customizable humanoid shape. This new system really opened the doors for a lot of the features and improvements I have added lately, but it came at a cost, now that you can be more flexible moving things around and expanding shops, it is more likely for customer to get stuck. The problem is that the customers in your store are not super smart, so in some cases they don't know what to do when a table is blocked or they end up in weird spots.
For this update I spent a long time looking at these flaws and finding ways to fix them. I don't think the system is perfect yet but it certainly handles most cases gracefully so you should not be seeing those annoying bubbles over your customer's heads that often, here is a comparison of the changes.
[previewyoutube][/previewyoutube]
As you can see in the video, customers looking for a new table would get stuck if selected table was blocked, and customers that were on their way to a table that was previously reachable would also remain stuck if something blocked the path. Now with the changes, customers have a way to detect if tables are reachable and leave or find another table if that is not the case. Customers now also navigate directly to chairs instead of the middle of tables which should fix other similar bugs. The colliders of all tables were also updated to account for these changes.
Supporting other languages
Another feature that I consider very important for the future of the game, and something that needs to get done before the game keeps growing is localization. The game was not designed with this in mind and I have gradually learned new best practices and how to better support multiple languages. During these months I have worked on building a language system for the game and extracting all in-game text from code, I was able to finish this first phase and have extracted over 400 lines of text. The remaining text that needs to be localized lives in some text resources like the store's furniture and drinks catalog, and UI controls. After I'm done extracting those, I will have a text file that translators can use to provide new languages to the game. Since this update has changed quite a lot of places that handle text, please report any bugs you see related with text, especially if you see text that looks like this "boost.rivalTrend.title", these are strings used to identify localized text, so if you see those instead of the actual text, something is not working.
Updating the game engine
Another big item that needed work was switching the Unity version used by the game. There are many problems that are caused by bugs in the engine code, especially crashes. Targeting an old engine version was also bringing a lot of problems when building for Mac, as the backwards compatibility between macOS and old Unity builds is pretty terrible. Now that Coffee Shop Tycoon uses a pretty recent Unity build, I will be able to use the latest tools for building the game, support more platforms, and hopefully have less problems with random crashes caused by the engine.
Game launch settings is going away
As part of the engine update, the launch window where you can select the game graphics settings is going away. Instead, you can now change the resolution from the settings menu in the game.
Original music coming to the game
As some of you may know already, there is new original music coming to the game! The current music used in the game is under a Creative Commons license and is not original music. Chris A. Yenney will be the composer behind the music of Coffee Shop Tycoon, he is currently working on the new songs and I am looking forward to sharing them with you when they are ready, follow Chris on twitter (@chrisayenney) where you can find more about his awesome work.
I'm going to be working on polishing this build and getting it ready to go out of beta, meanwhile if you find any issues while playing the beta please post your problem under the pinned thread, I will be taking special attention to those bugs and getting them resolved before the beta is over.
As always thanks for all your support, and enjoy your coffee.
Follow me on twitter (@RiffStudios) for more updates, and feel free to DM me if you are having issues or simply if you are having fun with the game.