Well it’s not quite the 10th, is it? Ah well, it keeps rolling around to the next month and I want to have something more impressive to show for the time I’ve spent and it just makes me fall further behind. This has not been a month of great strides, but of small but significant ones. And, as I look back now, I see I actually have several interesting things to show off, if only because I have been remiss about showing some of the things I’ve been working on in the past.
First, I think I should probably show what the water effect looks like in action now. The effect is basically constructed, but there’s still obviously a lot of little improvements I can make if I go in and take the time to later:
Right now the ripples made by entities entering the water move absurdly quickly and don’t really spread out the way they should, and there probably should be something in between no splash at all and the substantial splash that’s made on exiting or entering the body of the water, and maybe the surface of the water should be a bit blurry or should be a bit wavier, but the bones of the effect are all constructed now and I can tweak it at my leisure later. Oh, also there’s that weird stray splash particle up on the upper left — that’s the particle that’s getting cloned to create the splash effect, but I’m not sure why that one is just sitting there.
I also did some more work on painting backgrounds. A couple of these are really complex, and aren’t really ready to be shown since they’re taking a while, but I also decided that I didn’t like the way the caves background looked and set out to improve it, as well as creating a secondary caves background for some of the other rooms.
Some of the stone ended up looking a bit woody, kind of like tree trunks or roots, but I don’t think that’s too much a bad thing. I can always tweak it later if it causes confusion, anyway.
The last major thing I’ve been working on is one of the core components of the game, the harvest system. The way this game will work (mostly) is that whenever you defeat an enemy they are basically put in stasis while the spark that keeps their spirit going flies out and about, in the shape of a moth. Once you gather that the body dissolves, but if you wait too long (say, because you’re being attacked by other enemies) it will return to their bodies and they’ll activate again. Once you harvest all the enemies in an area that area stays dead and empty, so you only need to fight the same enemies twice if you fail to clear an area. That means that I need to be able to individually track every enemy the player has harvested and make sure that data gets saved with all the other game data. It also means I need to have effects for when the enemy is defeated, when the moth is absorbed, when the enemy is dissolved, etcetera. I architected most of the former a while ago, and this past month I made big strides into the latter.
Actually, a lot of the work I put in here emerged directly from the work I earlier put in with rendering those water effects. The weird hazy effect I’m using now for enemies fading away after defeat is a combination of a scrolling displacement map, a blur filter, and a standard transparency fade-out: I really love the way these look together, and I don’t know if I’ve ever seen anything quite like it in another game before. As with the water, I still feel the effect can be improved upon, but I’m really happy with what I’ve got so far here, and I will probably use something extremely similar for the final game.
In reality, most of this stuff was pretty close to its current state as of about 10-15 days ago. Most of the past couple weeks has actually been taken up by extremely uninteresting-to-talk-about debugging of some problems with the drawing functions of my animation class that only manifested when I started rendering these special effects. As annoying as it is to not do work that feels like progress, my animation class is one of the bits of programming I’m proudest of, so I’m always pleased to get the opportunity to improve it.
This next month will probably be more background drawing, polishing up this basic enemy to fix the weirdness in animations and behavior, and getting started on building out some of the other enemies and variations on this enemy.