Devlog #6: And nothing of detail was lost


It's been a while! I'm getting back into updates semi-regularly after an unfocused end of 2023. The good news is: I've been doing art. The bad news is: There is a lot of art that needs done.


Figure 1: The revamped characters (now with irises!)

Also… I'm looking to put out a demo of the first act (without music) toward the end of January/start of Feb for feedback - more details to come in the next few updates!

1 Progress

Apart from the aforementioned art, I've also worked on some of the following:

  • Doing a long-awaited refactor regarding how sets (i.e. the bunker) is being reused across different scenes
  • Adding polish and UX into mini-games
  • Redrafting the script once more, which includes:
    • A new scene being added (taking place in a tavern)
  • Reducing the effective pixel canvas resolution from 576x324 to 288x162 (for reference, a PSP screen is 480x270 and a GBA is 240×160). To my bemusement, I found that most my scenes weren't missing out on any sort of detail, so it was a good call I reckon
  • Adding an option to save the game to be continued later (lifting pretty much the exact same code I contributed from the tutorial: (https://github.com/godotengine/godot-docs/pull/6371))
  • Adding a hint overlay whenever a character approaches something interactable or a doorway:


Figure 2: What could be in this drawer!?

2 Craft

2.1 Minigame Polish

As part of the art rework, I've started polishing and improving the UX of the minigames encountered in Act 1; these reworks always take longer than I expect but it's satisfying to finally experience the improved game feel.

Figure 3: Comparing placeholder (left) to now (right): Moving progress bars follow the character instead of appearing on top, and regenerating MP is represented by radial progress on the crosshair (not visible)

2.2 Pixel Art

I decided to stop trying to shoehorn Blender into my workflow (bye-bye pipe-dream of auto-generating pixel assets) and instead roll up my sleeves to hand-pixel them, hopefully improving observational skill in the process.

There was some initial trepidation about nothing looking good but now I'm finding the physical process of blocking out shapes and then adding shading and highlights to be a more soothing process than fidgeting with camera and lights.

3D assisted art gen might make a resurgence later but for now, there's only one scene left that's got some procedurally-generated assets in it (the one with hexagonal grids).

After trying out Aseprite for a while, I went back to Krita as I used its layer palletisation feature a lot: to add depth, I'd often eyedrop (hold <Ctrl> and click) the current colour, tweak it a shade (k to darken, l to lighten), apply some pixels and then palettise (<Ctrl-f>) the layer to turn those colours into ones that are only present in my palette.


Figure 4: Adding brickwork details to a scene

I'm still struggling with character sprite art however; at that level, every pixel is so significant. Getting the walk cycle or other custom animations done feels like pulling teeth but I've found having the Pokemon 4th generation spritesheets in view as reference helps.

3 Tooling

3.1 Krita Scripts

I can't believe I'm only finding out about Krita's scripting school resource this week (https://scripting.krita.org/lessons/introduction) - namely, writing Python scripts binding them to hotkeys (<Ctrl-Shift> + 1-9).

I've been producing most assets from a big spritesheet so I can be aware of the composition/set design, but this meant picking out the object's regions in Godot, which can be fragile if e.g. if I'd wanted to make the living room bigger I'd need to shift around some sofas in the process.

Now, when creating individual sprites, I've put each asset on a different layer and run a script to export them separately into their images.


Figure 5: Art production: Objects are in their own layers and can be moved around safely since they end up as separate PNGs

For creating spritesheets to use for Godot tilemaps, a script that exports it to the right location also shaves off a few keypresses going through the export dialogue (and having to occasionally reselect the export location - this has been an annoyance for a while; my previous attempt was trying to use Krita from the command line to do the export (https://docs.krita.org/en/reference_manual/linux_command_line.html) but it requires Krita to be closed, which was a faff).

4 Up Next

In order to make the ambitious end of January release, there's still a lot of polish and art left but I figure it's about time I set a firm(ish) deadline to get some more eyes on it. Stay tuned!

Leave a comment

Log in with itch.io to leave a comment.