SamuZai
furrgroup
furrgroup

patreon


November Devlog - Look, It's Amber!

Welcome back to another devlog, patreon!

Last month, I showed off progress on the character models for Rockin' Resort as well as some of the initial efforts with preparing the girls for animation in Godot. This month, I can show the results from that effort along with a few new developments.

Let's get into it!

Gameplay Showcase!

Here's a quick showcase of everything I've prepared for this month's devlog featuring Amber! Everything here is a work in progress and will most likely see improvements, of course, but it's exciting to see the system work together so seamlessly. There's a lot happening in this clip, so I'm going to discuss the finer details below.

If you'd like to see this showcase in a bit better quality, check the attachments for a video version! As always, feedback is appreciated!

Stylized Trees & Bushes

You may have noticed the tree and bush in the video. Normally there's nothing interesting to say about generic props in my games but this tree is special.

Instead of rendering hundreds of leaf images facing every direction, I'm only rendering a few dozen that always face the camera. This requires far fewer images (faces in the above image) to be drawn to produce far fuller canopies that fit Rockin' Resort's visual style better.

Here's an example of how the illusion works:

In this .gif, all of the leaf images are facing a single point in 3D space (normally, they follow the camera) and, as we go further to the side, they're all revealed to be completely flat. That's the first part of the effect. The second part is cheating the lighting.

The direction each leaf thinks it's looking when light is calculated is called a normal. By default, all of the normals are facing the camera so they should all get the same lighting. Instead, I've provided each instance with a custom normal to force it to get light from an incorrect direction. It's a really cool effect!

The Band in Godot

The Rockin' Resort band are all rigged for animation and have seen a degree of alpha-level polish. There's still a bit I'd like to do here with these models, of course, but they've come a long way.

I spent a good amount of time this month improving the eyes (again). My old solution limits eye movement (the iris can clip through the face) and looks bad at odd angles. Currently, I'm rendering the irises in a separate pass and drawing that pass onto the eye whites directly. This solution isn't perfect but it does allow for more flexibility for now.

One thing I'd like to improve is the character shaders. Godot's default stylized materials don't play well with ambient lighting and (as seen above) Eleanor's skin can appear to be the same color as her white dress. With ambient lighting disabled, of course, the shadows turn black. I'm sure I can find a happy middle-ground but if everyone's a bit too pale in the first playable demo, just know that I'm working on it.

Animating The Band

Now that the girls are rigged, they need animations!

For Rockin' Resort, animations are currently built like this:

While all of this might seem complicated to set up for a cast of characters, all of them use the same tools so any change to one effects the whole band!

Narrative Scripting

I've also done some improvements to the visual novel scripting system I intend to use. The bulk of this was stripping out the old ADV code and replacing it with a simple tag for choices.

I don't think I've gone into my system in detail, but I'm using a language called Ink that's a fairly robust solution for interactive fiction. It handles all of the script, choices, and game flow during visual novel sequences. I like it a lot so far.

That said, Ink does not support any game engine logic (like triggering animations, displaying dialogue, or my choice hints). Instead, I've set it up myself (with help from inkgd) and taken advantage of their tag system to produce complex interactions with Godot.

So, just for fun, here's an example from the gameplay showcase:

This isn't the full script (it's pretty long) but it shows how I have things set up. The bits following a # are all custom functions I've added. Ink pretty much ignores these, passing them as text to the engine for me to use. Everything else in this is Ink script.

This system is easy to write and I tend to get carried away adding little touches all over the place, so expect some surprises here and there.

What's Next?

I'm working to set up a playable alpha for you all to try out. I'm thinking it'll be done early next year but it'd be nice to have out around the holidays. The alpha will have Coral and the girls showing off a few of the possibilities of the systems that I've developed while also being a simple tutorial for new players that I may be able to adapt for the final game.

-

Anyhow, thank you for your support! This month's progress is only possible because I can focus on gamedev thanks to your help. I'll see you again next month for more gamedev progress!


More Creators