





The major release 0.4.0 is being pushed back until September 1st, 2021. This beta release is just the first of many releases which will constitute the actual 0.4.0 release. The roadmap has been updated to reflect these changes: https://boppygames.gg/?page_id=440 To put it bluntly, the major parts of the game have been rewritten from scratch. I was pushing the terrain generation engine to its limit and the item routing system was slow and buggy. These two core features have a huge impact on the game and are also the biggest bottlenecks for performance. The new systems are faster and are expected to scale with the upcoming content.
Play Now
If you want to checkout the patch right now, you can configure steam to download the beta version of Boppio. The instructions for which are here: https://boppygames.gg/?page_id=658 0.4.0-beta saves will be incompatible with 0.3.2, so just keep that in mind. If you want to go back to 0.3.2, you can check out the v0.3.2 branch directly or go back to default. The beta release is likely going to be very buggy for the time being, this will obviously improve over the coming weeks. You can expect frequent patches on the beta branch, especially as people continue to report more issues.
Terrain Generation Rewrite
The entirety of the Terrain Generation Engine in Boppio has been rewritten from scratch. The old terrain generation had many issues and I was very much pushing the boundaries of what was possible with the old engine. These shortcomings were very clear in the map generation:

Here you can see that the starting area patches are perfect circles, which does not look good and was a common complaint from users. You can also see the patches are overlapping, which is really bad if a new user is playing the game and one patch dominates another patch. The perfect circle patches look even worse in game, especially when they overlap:

It was also very common to get strange water artifacts like this:

In game, this just translates to having beaches with no lake, which can also cause other bugs like dead trees spawning on sand (they're not supposed to).

The new terrain generation engine makes it easier to modify and shape noise, and new algorithms allow us to prevent patches from overlapping and ensuring a uniform distribution of patches. Here is a map created using the new generator:

It may not look *that* different, but this is a massive change from the old generator. Worlds created with the new generator are much more interesting from a gameplay standpoint. The new map is also substantially more visually interesting:

Its pretty easy to add new foliage/flora/etc to the map generator, so you will notice new members of the Ondor ecosystem :)

Item Routing Rewrite
The most CPU intensive task in Boppio in 0.3.2 is item routing calculations. There are actually 2 major algorithms here that have been improved: 1. Baking Links This step is important because it determines which buildings can talk to each other and how. For example, two buildings may be in the same graph but they are not neighbors (not directly connected to each other). This means they have to pass items to another building so that the item can be passed along to its destination. Building this decision tree used to be extremely CPU intensive. A member of Twitch chat, cakenotcake, told me I could use the Floyd-Warshall algorithm for this. I had used this algorithm in college but I thought it would be impracticable to adapt the current data structures I was using to be compatible with this algorithm. After a few hours, I got this to work and implemented it using the C# Job System in Unity which allows it to be computed off of the main thread. This means the calculation finishes within ~2-5 frames even with an extremely large factory. This step now completes instantly instead of taking 2-3 minutes. 2. Determining Routing Decisions The next major issue is determining where to send items. Originally I was just using a massive LINQ statement to figure out where items should go. This is slow and allocates memory every frame, which is a big issue. The new algorithm itself is pretty complicated, but the major performance benefits have come from using lookup tables instead of lists. Instead of iterating over each building every frame we can just iterate over building that have a certain item in stock. These routing changes should enable players to build much much larger bases.
Twitch Streams

Follow us on Twitch! https://www.twitch.tv/boppygames I have been streaming basically the entire development of the game on Twitch. I have noticed this has slowed down the development of the game quite a bit, but I think this is actually a good thing. Update 0.4.0 would probably be on track if I hadn't streamed over the last 2 months, but the content that I would have worked on wouldn't have been as good. I would have continued using the existing broken terrain generation system and item routing systems not caring about user feedback as much. I frequently take suggestions and bug reports from Twitch chat, so if you want to give live feedback, please consider following the channel. Also as a solo developer, working alone a lot of the time also becomes pretty lonely and its easy to confirm your own self biases. Getting live feedback from users is great, especially when people submit constructive criticism. Hearing the genuine frustrations from users in chat has made me rethink what features I'm working on sooner rather than later. This has helped push forward the item routing fixes and the tutorial system.
Conclusion
I will continue doing beta releases over the next few weeks until 0.4.0 is complete. I expect this to come biweekly but I'm just going to release them as they get done. I'm less concerned about hard deadlines and more concerned with completing the content and making the game as good as possible. Again, the main 0.4.X release is scheduled for September 1st, but this date is somewhat tentative. My main focus is making the game a great experience, so if I need more time I will likely continue doing "beta" releases and push back the primary release. Even if these deadlines get pushed back, I'm going to do my best to make sure everyone has access to the latest version of the game. Once features get finished, they will likely be added to the beta branch immediately. Thank you again to everyone who has stopped in on the Twitch stream, left comments in the Steam discussions, and participated in the Discord. It really helps keeping my motivation up to improve the game :) - John
[ 2021-07-20 00:20:18 CET ] [ Original post ]
🎮 Full Controller Support
- Linux Depot [3.41 G]
Mine Resources
Find ore and construct miners to mine it. Construct more miners to scale your factory!Expand the Factory
Build more miners and buildings to expand your factory. More buildings means more production!Automate your base
Automate item construction, build bigger and more efficient factories!Return Home
Send materials into space to construct your return vessel!- OS: Ubuntu 16.04 or Ubuntu 18.04
- Processor: 3.6 GHz Intel Core i3Memory: 8 GB RAM
- Memory: 8 GB RAM
- Graphics: NVidia GTX 750 ti or AMD equivalent
- Storage: 5 GB available spaceAdditional Notes: Gnome desktop environment running on top of X11 windowing system
- OS: Ubuntu 16.04 or Ubuntu 18.04
- Processor: 3.8 GHz Intel Core i5Memory: 16 GB RAM
- Memory: 16 GB RAM
- Graphics: NVidia GTX 750 ti or AMD equivalentNetwork: Broadband Internet connection
- Storage: 5 GB available spaceAdditional Notes: Gnome desktop environment running on top of X11 windowing system
[ 6045 ]
[ 687 ]