This time around in this week’s devlog, I thought it would be interesting to talk about the Zealot’s artstyle, some of the creative influences behind it, and the pipeline used to achieve this look.
As many of you wonderfully pointed out, the game takes a huge amount of inspiration from games from the PSX era, which combine 2D and 3D in a similar way. This at the time was, of course, due to resource limitations, you couldn’t have both detailed 3D characters and backgrounds due to the low poly-count limit. So a lot of games ended up compromising by combining both aesthetics, some by having 3D real-time characters on pre-rendered backgrounds (like FFVII), and some by having hand drawn sprites on fully rendered 3D environments (like Xenogears, BoFIV).
I’m, of course, a huge fan of this look, and I find it a shame that it hasn’t been further explored past that console generation, aside from a couple of more recent examples (Octopath Traveller). So with this, and considering our team’s skillset, we thought it would be a fantastic idea to adapt this visual style to a modern action/adventure type of game.
While most of the game plays from a top-down isometric-ish perspective, having 3D environments allows us to move the camera freely to explore them (as you saw in our previous screenshotsaturday tweet). Nier:Automata is a great example of an RPG that is not constricted by its camera at all, often times seamlessly turning the game from a third-person hack and slash into a sidescroller, which results in some really beautiful cinematic moments. You can expect a similar degree of perspective shifts from Zealot.
Characters in Zealot are then, all hand drawn with pixel-art. Given the 3D and top-down nature of the environments, this means each move set needs to be animated 3 to 5 times to accommodate for all the different directions the characters can be facing. I went a little more in-depth about this on our second devlog.
Well, that sounds like a lot of work (and it is), which is why each character design is done very deliberately to consider how many resources it will take to fully animate. Even a simple enemy grunt like the one below, which only has 5 animation states (idle, run, attack, hurt, and death) can take upwards of 2 weeks to complete, due to having to animate this moveset a total of 3 times.
The main challenge with the environment and props was to make sure that they share a consistent look with the characters. When you have 2D characters running around in a 3D environment it’s very important that the two aesthetics don’t look awkward together, so, to avoid this clash, it’s a matter of making the 3D look as much as pixel-art as possible.
To accomplish this, we make sure that the texture unwraps have a consistent texel density with the characters. For example, our priest has a height of roughly 64 pixels (hat included), so from there we can conclude that 32 pixels is roughly 1 meter. We model all the 3D assets with this scale in mind to avoid too small or too big pixels in the textures.
It took us much trial and error to make this aesthetic work, but in the end, it was when we completely removed all anti-aliasing and filtering that we arrived at a result that we were excited about. (Sully has a fantastic tutorial on how to achieve this look in case you’re interested in learning more about it)
Thank you for reading and we hope that this devlog was an interesting insight into the workflow that goes into the creation of Zealot’s aesthetics. Stay tuned for future devlogs! See you next week.
Vasco and Sam