Devlog #3: Delving into Blender-assisted art and dog-fooding a first play-through


1 Progress

After putting in more non-placeholder art (particularly the portrait pictures), the first Act is starting to feel more like a real game!

Figure 1: Daphne and Sarah gallivanting in End of the World, a Babelverse world

I've done a personal play-through of it (sans some art, music, sound-effects and minigames) and have come up with a list of screenplay/prose improvements, bugs and things that are in need of more UI or art.

Speaking of art, it's the main thing I've been working on this fortnight - more on that later - I've been delving into one of the crown jewels of open source software: Blender - and getting familiar with some of its workflows. Despite taking time to write an exporting add-on and watching geometry node videos on the plane, it's showing promise in speeding up art iteration and production.

1.1 Art first pass

Right now, the art is still in a transitionary spot where not everything has non-placeholder (e.g. produced with 'best effort') assets yet but I'm hoping to finish that off in the next fortnight.

It still lacks a distinct 'vibe' though, so as suggested by my mentor, I'm experimenting with different colour palettes.

Figure 2: Splash art mapped onto 4 different palettes - upper pair are 32 colours, lower pair are 16 colours.

I haven't found a palette that the splash art maps to particularly well yet, although composition-wise perhaps it's not the best example to go by; at the moment I'm experimenting with the Nanner 32 palette.

With (some of) the art done, I feel like it's starting to come together, particularly after adding in some character portraits. The first pass for these are still looking amateurish but will improve in the next pass as I gradually absorb more nuances of the human face (in an observational way, not in a Borg-assimilation way).

Figure 3: Character portraits minus the main character, Daphne (omitted because she still looks like a cave painting).

2 Craft

2.1 Pixel Art in Blender

I think I've settled on using the pixel rendering workflow based on Lucas Roedel's plugin as mentioned in my last devlog, as it lets me define the exact colours I want outputted in the colour ramp (i.e. I can eye-drop from a palette).

The rock generator (included addon) and One Click Damage (non-free) have also been useful as a base for creating the floating islands, and the ocean generator is going to come in handy later on.

Figure 4: 1. Rock (asteroid preset), 2. Rock (default preset), 3. Octahedron - all with OCD applied

It's easy (and fun) to stay in Blender-land for all of the iterating but I have to remind myself that it's not worth getting carried away with it; e.g. it's probably not worth modelling a 16 * 16 sprite with no animations with it.

3 Tooling

3.1 Render Solo

In one scene composition that was primarily created in Blender, I wanted the rocks to be animated in Godot so that they are bobbing up and down, which meant they needed to be exported individually.

Rather hiding everything and re-rendering every-time I wanted to tweak the scene, I hacked together a Blender addon that renders each object separately in a 'solo' collection, as well as the whole scene with all the solo objects omitted.

Figure 5: Blender addon to render 'solo' objects individually

While writing this, I'm now wondering if I could have done this more idiomatically and efficiently by using the compositor tab but I'll hold off looking into that until this method gets too slow - I've put the script is up here anyway for those curious.

4 Coming Up

Short update this fortnight so perhaps tone down the ambitions for the coming fortnight (although I'll be working on it for the entirety of it instead of being on holiday for a week!); I'll continue to finish the first pass on the art - and then move onto the first pass of the music and minigames.

I've also been receiving some useful feedback on the screenplay, so I'll be redrafting that for hopefully the final time!

Leave a comment

Log in with itch.io to leave a comment.