Addressing Feedback

The first closed alpha test was a pretty big success and I got a some good feedback back from everyone and I thought I would address some of it.

Item Collection

A common complaint is that there is no feedback for when you collect items from a building using shift-click. Here is what the feedback looks like now:

Using shift and swiping across buildings collects all of the items contained in the buildings (only collects from output slots).

This effect also has a nice crisp sound effect so that its very clear that you’ve collected the items you were trying to collect.

Minimap

Another common request was a minimap, which is something that I’ve been wanting to work on for a long time anyway and it was easy to implement.

There is now a minimap in the upper right corner of the screen that gives you an overview of your surroundings

Minimap Implementation

I’ll talk a little bit about the implementation for people who are interested in the details. Feel free to skip this section if you don’t want the technical details.

As you can imagine, mapping terrain splatmaps to a minimap is actually quite easy. All you have to do is determine which generator is the most dominant on each individual square. Then you create a mapping from each generator to a color that you want to use to represent that generator on the minimap.

As you can imagine, the map is broken down into chunks (each chunk in Boppio is 20mx20m). To speed up minimap generation, I bake the minimap representation for each chunk. Then when the minimap is displayed, I just copy the baked minimap sprite into the minimap.

One big question people might ask is: where do I start the generation of the minimap? Should you start in the upper left corner? Should you start at the middle? The simplest algorithm I could come up with actually borrows from the rendering software Blender. Basically, if you start in the middle and spiral outwards you will get the effect that you’re looking for:

One of the rendering algorithms that Blender uses is to start in the middle and render in a spiral outwards

This spiral algorithm is great because for my minimap you can just render a certain amount of spirals and you will always get a valid minimap. This algorithm is also extremely fast because you only render what is near the player. Here it is in action:

This typically finishes in 1 frame but I have slowed it down here to show how it works

You can see here that I will always fill the entire frame after just 3 spirals. This is extremely fast and the minimap can be regenerated every frame with basically no impact on framerate.

Mac OSX + Linux Support

As most players know at this point Boppio has been exclusively a windows game so far, but with the group of testers growing rapidly Mac builds have become more and more important.

So far I don’t know of any testers who would like to test on Linux, but I’ve used Linux desktop in the past quite a bit and I’ve always liked titles that shipped a version of their game packaged specifically for Linux. Running games using Wine or other “not” emulation software is annoying for hardcore tux fans so I will be supplying Linux specific builds for users who want them. Linux builds can also be produced directly from a Windows machine so integrating these builds into the existing pipeline was very simple.

Conclusion

I know I always say that I’ve had an extremely busy 2 weeks, but the last 2 weeks were especially busy with some stuff I had coming up in my personal life where I was only able to work a couple of days each week (just had some family and friend events). My schedule is pretty clear for the next 2 weeks so I’m hoping to make a huge amount of progress by the next blog post.

Thanks for reading

– John