Today’s update will be a bit shorter than usual. I took a couple of days off and spent a week working on a pipeline for automatically building the game and deploying to Steam. But there’s still lots of interesting things to talk about so let’s get to it!
First up is the reintroduction of the Piston. The piston, formerly called the “pusher”, is a building that can push buildings in front of it forward one tile. They can also push buildings off of a cliffs.
Similar to the launcher that I talked about last week, this building has been in the game for a while, but in a broken state. This is a continuation of an effort to get all of these buildings working again.
Next is the Rotator. The rotator simply rotates a building in front of it, either clockwise or our counterclockwise.
One of the more unique buildings in Automation Station is the Orbiter. This building spins in place, moving and rotating all adjacent buildings with it. In other words, it orbits things around it.
The last building that I needed to fix up was the Tapper. These are used to extract blubber from blubber trees, which is then used to make rubber.
Eventually, I plan to add other types of trees and resources to extract from them with a tapper. I also plan to revisit the art for the tapper, so that the model reads better and the tapping process is animated.
Another thing I worked on this sprint was to address the issue of trees occluding the player and other buildings and items. With the current design of the blubber trees, the leaves and thick trunks easily covered up large parts of the screen, making it almost impossible to play in a densely forested area. If you’ve been me on twitter for a while, you might remember my previous adventure in exploring possible solutions. If you’re curious you can dig through my tweets from last September.
The solution I decided on for now is a transparency dithering effect to mostly hide the tops of trees when they are occluding the character. Here is what that looks like:
For those unfamiliar with the term, “transparency dithering” is a technique where opaque objects are made transparent by only drawing every few pixels in a specific pattern. Compared to other transparency methods, this one is a lot cheaper for performance. Unfortunately, the other shaders in Automation Station make the dithering a bit more noticeable than normal, but my hope is that it isn’t too distracting.
This solution works well for ensuring that the player is always visible, but it doesn’t really help for factory building. To address this, I decided to hide the tops of all trees while in build mode. The tree stumps and shadows remain visible so that you can build around them.
At the moment, I’m calling these solutions “good enough”. I don’t think there is a perfect solution, but I still might revisit them later if they end up being problematic for gameplay. However, I’d still love to hear your thoughts and ideas!
That wraps up all of the new game features and content from this sprint, but I did want to briefly talk about this automated build and deploy pipeline that took up half of my sprint. This is an ongoing project that I’m working on with my brother who happens to be an expert in CI/CD pipelines and tools. The main goal is to periodically (e.g. once per week) fetch the latest version of the game, build the binaries for all the target platforms, and then upload the game to Steam. Once in Steam, I can easily share new builds with testers. This will also make it easier to push new versions when the game has a public demo or post-release.
If you are making your own game and interested in a similar setup, be sure to check out GameCI which provides everything you need to get started. My brother and I also hope to share the configuration and settings we used for Automation Station once we have it ready.
That’s all for this update! Thanks for reading and have a great weekend!
- Re-add piston building
- Re-add rotator building
- Re-add orbiter building
- Re-add tree tap building
- New tree tap model
- New blubber model
- Added a transparency dithering effect when player moves behind trees
- Show only tree trunks when in build mode
- Update piston, rotator, and orbiter animations to scale with the current tick rate
- Fix launcher logic so that items are launched from the launcher’s position at the start of the tick, but launched to slot positions at the end of the tick
- Set up weekly builds of the game that automatically deploy to Steam