1. Plan B: Terraform
  2. News

Plan B: Terraform News

v0.8 progress

Here are some news about the v0.8 update! It's progressing well and should soon be complete.

Here is what is already done:
- new ocean and mountain generation, and improved water simulation.
- new view with visible clouds and city lights, and improved enhanced view (cf. screenshots below).
- dynamite (and other terraform tools) item.
- basic modding support (lua files to change item parameters and balance, 3D models, textures, sounds, etc.)
- additionnal musics

And here is what is yet to be done (if no unexpected issue) :
- container ships
- two new trees types
- improve mineral & cities placement at planet generation.

As with the previous major update, the price of the game will rise a bit. From $12 now it will rise to $14, but only after a 20% discount for a week at v0.8.0 release.
As i had explained before, the idea is that you pay only for what is already done, no promises, and future update are bonus.
The soundtrack will also be made purchasable with this v0.8.



A summary of the roadmap:
- v0.7 was about quality of life updates
- v0.8 is about the planet generation, the environment, the modding
- v0.9 will be about new content (new items, objectives and a simple story)
- v1.0 final release will be about the same as v0.9, once it's enough polished and balanced.

Hexagon planet generation

v0.8 is progressing well: new ocean generation, basic modding support and new views (one with visible clouds) are done. Don't hesitate to activate the beta branch to test it! Still a few features to work on before releasing it to everyone.

So, in the meantime, I would like to rewrite here an old post from twitter (2019!) that was explaining the hexagonal generation I've developped for Plan B. Here it is:


How to create a sphere made of hexagons? Hexagons of similar size and orientation?

The most common way to do that is to start from a regular icosahedron (solid of 20 of equilateral triangles), then subdiving each triangle (sphere tessellation). Each triangle vertex becomes an hexagon, as you can see in this pic (credits https://twitter.com/AndyGainey ; I'll come back to him):



Here is a sphere with 5 subdivisions (~10,000 hexagons). It's very nice, that's what I initially planned to use... but it's actually bad for a game. Not because of the 12 hidden pentagons, but because of the non-uniformity of the size, shape and orientation of the hexagons.



Here is what you can see at different positions of the sphere ; north pole being on top. Hexagons are of various shape, size, and orientation ; the result would be awful when you scroll in the game, very disturbant.



There are other ways to do this sphere tessellation, like the very interesting Healpix, which garantees the same size for each area, but have non-uniform shape, and squares instead of triangles/hexagons. https://healpix.sourceforge.io http://montage.ipac.caltech.edu/docs/HEALPix/



A very special and incredibly imaginative solution is the one of
@AndyGainey, explained in detail here: http://experilous.com/1/blog/post/procedural-planet-generation
To avoid avoid pentagones and predictable irregularities, he decided to do the total opposite: going full irregularity.



When irregularity (in size, shape and number of edges) is everywhere and random, the surface actually becomes regular - homogeneous in its irregularity. Really brillant, but not what I need for my game, as I really want regular hexagons.



So, what I do is that I divide the sphere in vertical "slices". Inside each slice, the triangles/hexagons are set in perfectly horizontal rows, and are (almost) pefectly equilateral. The non-uniformity is grouped in the links between slice.



One big advantage is that the more hexagons there are, the more regular it becomes. And for my game, I'll have a lot, lot of hexagons. Here is the sphere with a few thousands ones.



And here is a portion of the surface, with a few millions of hexagons. Can you spot the irregular shapes ? Not easy ! They should definitely not be a problem when playing on this field.



The "Icosahedron tessellation" method produces only 12 pentagons. With my method I get much more: 720 for a sphere of 14000 hexagons (5%). But the more hexagons, the better the ratio is. For 10 millions of hexagons, only 0.2% are pentagons or heptagons.
I have calculated the variation in the triangles edge lengths (are hexagons are uniform in shape and size ?): I get a coefficient of variation of 6.5% for the icosahedron tessellation ; but only 1.6% with my method.
The best advantage of my solution is about the orientation of the hexagons (are they "horizontal" ? I check the angles of the triangles edges). I get a coefficient of variation of only 3.8%, compared to the 55% with the icosahedron tessellation!


Here it is. 5 years later, i have no regret using this system, i still can't think of a more suited one. Although, i can say now that i definitely underestimated the technical complexity of using this system in a full game, to properly manage the slices borders.

If I had had more time, i would have loved to research further in this matter. Maybe find a way to avoid the slices. Or something else.
If any of you know of some interesting research about it, i'd be very interested to know about it!

Plan B - v0.7.5

Finally, the major performance increase upgrade is live! You might get x2 or better boost in framerate.
It was a much bigger task than anticipated, but we took the time to explore every optimisation that we could think of. And it was definitely worth it, the result is much better than anticipated.

We also took the opportunity to add the long requested intermediary zoom (between the zoomed levels with all details and the planet-scale view).

We also worked on several v0.8 very nice features, but those are hidden for now... Don't hesitate to activate the beta branch and/or follow the discord to get news of them in the following days!

And so this v0.7.5 was the last of all "quality of life" updates, now we'll work full time on new features, for v0.8 (water, terrain, environment) and then v0.9/v.1.0 (story & new items/objectives).


Plan B - v0.7.5 build 824

Improvements:
- BIG performances optimisation! On hexagons models visibility, trees, containers.
- New intermediary zoom level! With detailed models & containers stacks, but no drones and transports.
- Tutorial proper skip button, and reset option
- Improved looped sound volume & fade
- Shadow optim
- Improved water movement (much less "jumps" when moving camera)

Balance & tuning:
- Roads/Rails building: prioritize existing roads/rails. Shift to avoid straight paths.
- Various existing buildings models retakes

Bugs fix:
- Fixed level 1 blocked when tuto skipped
- Fixed train pathfinding crash on specific hexagon near pole
- Pause auto-save timer when in menu pause
- Fixed error on activating/deactiving fx options
- Fixed refresh error in y=987 coordinate
- Fixed refresh of containers when item is dragged

Minor:
- Enter/Escape as shortcuts for item nb max popup
- Reset UI Scaling option when modifying resolutions/fullscreen option in launch screen (to fix any corrupted ui scaling value)

Plan B - v0.7.4

Here is the v0.7.4 update, lot of small fixes. But also significant performance improvement thanks to a unity update ; hightlight of all the depots in range when you build something ; and a useless but nice "follow cam" on vehicles.


[h3]Plan B - v0.7.4 build 807[/h3]

Improvements:
- When building an item, hightlight depots that have this item in their range
- Follow cam on vehicles
- Updated unity to last LTS version (2022.3.16f1) - better performances
- Improved road building when owning only part of the road length (show the buildable part in green, and build it)
- Switch to physical keyboard inputs (it could break some custom bindings)
- Building destruction fx
- Straighters roads on build
- Items icons in color

Balance & tuning:
- Modified some item colors in zoomed out view

Bugs fix:
- Fixed remove stop in pause
- Fixed speed x5 tooltip
- Fixed road count feedback at build if building over existing road
- Fixed UI bug on some UI scale
- Fixed objective text size
- Improved city renaming
- Fixed waste disposal "full" indication
- Fixed shining roads

Minor:
- Update of Pumping Station model and anim
- Warning if too many vehicles
- Simple endgame message
- Allow more characters in planets names
- Fixed default view after loading
- Fixed buildings small containers slot arrows directions
- Upate localisation from crowdin

Plan B - v0.7.3

Hello

Some more quality of life updates : move buildings with a simple drag, show tooltips of items with their full recipe (and where they are produced), and use the control key to fast build or erease a larger area.


[h3]Plan B - v0.7.3 build 800[/h3]

Improvements:
- warning if:
* a truck or train is stopped because the road/rail path was cut
* a supply center / waste disponal is not in contact with a city
* a factory is under water
* a water pumping station has no water
- Dam pumps building improved (no more automatic orientation, use shift to rotate, visible feedback)
- City expansion : city does not jump over obscales (road etc), unless it doesn't find a free path.

Balance:
- Drones (un)load trains in right order, not by stack size (more efficient).
- Drones are not overzealous anymore : they don't try to balance extractors by giving them some containers sometimes (same for factories etc)

Bugs fix:
- Fixed clouds not saved
- Fixed music not restarting after a volume change in options, in some cases
- Space bar does not pause the intro anymore
- Vehicles bug fix
- Fixed reset of recipe when duplicating on itself
- Fixed recipe products red color not reset
- Fixed "continue" home button not refreshed after resetting all saves
- Avoid spamming similar ingame messages
- Fixed landmarks shortcuts text refresh
- Fixed missing UI when pressing Space during intro
- Fixed speed buttons refresh

Minor:
- Added the temperature rise value on the temperature chart
- Added tooltip on resolution option
- Items count clickable area smaller
- Dam pumps still display anim underwater
- Higher contrast on items count