Making a screen more appealing


A less technical version of this post exists on my Patreon!

Intro

To borrow a loosely defined term from the world of animation, I've been thinking about how to make screens in my game more 'appealing'.

The basic problem is that a lot of screens in my game - especially the more placeholderish ones I drew early on  - had a kind of flat and lifeless feel. In addition the main character felt separate from the world he was occupying. There's not just one solution to these problems, but one I've been working on recently is:

Tiny windmills!

#1 Animation:

There's a very obvious advantage to adding things like this, in that moving things feel more active than non-moving thing. Even a simple animation loop adds a tonne of energy to a screen. The basic implementation of a windmill is something that just moves round and round, adding appeal just by not being completely stationary:

Windmill slowly rotates round and round

This is fine, and actually a lot of the 'make this screen less boring' work I've done just consists of throwing movement in and hoping for the best, but it's not all we can do!

#2: Dynamic animation

I'm using 'dynamic' here to just mean 'some programming is involved' (although technically that covers all game animation!). Basically, once you've animated a simple loop of something moving round and round, why not make it responsive to external events?

Here's a basic example of windmills accelerating when hit by jets of steam, before simmering down to a default speed:

Blast of steam spins a windmill round and round

There was actually a bit of dynamic animation in the first example too!  Each windmill has its own default speed set up when it's first added to the level!

Once a system like this is set up there are lots of possibilities for what can be done with it.  The main one I care about at the moment is...

#3: Player interaction

Tying the character directly to the level is harder than it might sound. I mean, basic stuff like ensuring that lighting matches is a good start, but at a certain point you need the environment to respond directly to the player, particularly in an adventure game with no enemies to fight:

Character spins a windmill round and round

Here's a basic example of the player getting close to a windmill and spinning it around.  This doesn't have any practical effect but is surprisingly satisfying!

Other include having the windmill change its properties when the character runs past (as if the speed of your movement is causing a gust of wind!) - I've got similar stuff in place for other dynamic objects but haven't got a satisfying implementation for the windmills yet.

#4: Reusability

This is probably the most underrated part - basically, I'm a lazy guy and I don't want to have to do any more work than necessary to make my levels feel alright to play!

Now, the windmills already create more work than I'd like because of the pixelly vibe I'm going for requiring a fair amount of manual tweaking of the animation. This is what all of the frames look like, for reference:

5x4 sprite sheet of a rotating windmill

BUT animating something going round and round is a fairly relaxed process that I can do while listening to a podcast or watching a movie, even if the pixels need to be tweaked.  The time and energy consuming part of programming everything to rotate around the way I'd like and respond to external events is already done (it's not that difficult to do but it's more mental energy than the animation!)

Any further rotatey objects I add can be implemented super quickly and add the same kind of appeal to a different level. I can even make multiple distinct feeling windmills by using the same base sprite and playing around with default angular momentum. Even if new functionality is added, the basic logic of 'respond to impulse' and 'return to default speed' never has to change.

Conclusion

This is one fairly basic bit of scenery I've added to make a screen feel more appealing. I guess the main take away is that a relatively modest initial time investment can go a long way towards making screens feel more appealing, particularly when it comes to reusable components!

Also, the player should be careful around those steam vents...

Character is sootified by a blast of steam

Leave a comment

Log in with itch.io to leave a comment.