Developer Diary 43 - Full Body, Zoom, Aspect Ratios, and More 2020-09-28 17:57
Hey everyone! I know you haven’t heard much about BGS, but trust me, we are working hard!
I had to take quite a big break because of the move, so I was out of the mindset for a while. Coming back to it, I realize that it actually helped quite a bit.
Soon we will have a small build ready for you to test. Moving to Unity and deciding to use a full body character
introduced a lot more difficulties than I had hoped. I’d like to talk about them a little bit today.
First of all, I want the player to have freedom with the camera. By default, the camera will show the character sort of like how you see her in the original BGS.
For this new version, you can zoom out to see her entire body, and zoom in to get a closer look. It’s this second part that gave us a bit of trouble. I realized that, in order for the artwork to look good, we need to use our closest ‘zoom point’ as our base for the art to be drawn at. And standard you draw your art at 2x scale and then downscale before you bring it into the game (how the original BGS was also handled). I came to the conclusion that this would need really big artwork, beyond even what the original was ,while the goal was to make the art easier to handle, not harder.
So we’ve decided to use our default as our basis for the artwork, and will allow zooming, without worrying too much about loss of quality
. It’s about finding a nice balance, but it’s taken a lot of time to come to this conclusion, and we tried a lot of other solutions as well that didn’t end up working.
(This gives an idea of the furthest you can zoom and the closest you can zoom. Ignore the crazy noise textures, they are placeholders for an experiment we did!)
With big textures, we are back to an old problem that I also struggled with in GameMaker. Just like that engine, Unity uses something called a Sprite Atlas to pack all sprites together to easily read them into memory. This atlas uses a specific texture size, and since most of the bigger sprites will be bigger than the atlas pages, we are back to
the nasty issue of having to slice up big sprites and puzzling them together. Except now the problem is way worse, because we’re working with a full body, not just a torso.
Thirdly, there’s the aspect ratio. The original ran at 9:16 1080p resolution. I did that because, well, my old OnePlus3 had a boxy flat screen with that ratio. Now that I have a newer phone,
it’s become apparent that phones use a taller ratio, closer to 10:16. So we need to build a system that identifies the screen ratio and chooses what fits your screen best. This is still a tricky problem to tackle, but crucial to be able to fit newer screens better.
Lastly there’s the body pose. Before I moved, I spent a lot of time drawing and redrawing the body to a pose I’d liked. I had settled on the frontal view (which I showed in the last update) but coming back to it now,
after taking a break, I’m not so sure about it anymore. I’m considering using
a 45 degree angle instead, so you see more of her side. This angle has many benefits, so I really cannot afford *not* to explore this properly before settling on anything. It’s my mistake for diving too quickly into a front view (it only made sense looking at the original BGS), but I cannot ignore it.
For the upcoming release, you will get to see the frontal art, while I explore the other view.
I hope this gives you some insight into what has been happening. Full body has introduced a bunch of issues I didn’t expect, but
I’m still 100% convinced it’s the right way to go.
On a final note, I hope to be able to
bring you weekly updates again from now on. It’s still very early in the process, but I’d like to share as much as I can along the way.
As always, thank you for reading and supporting!
Alba