Archive

Animation

It’s been a bit of a weird month. I haven’t worked deeply on much, but made a lot of slight progress on different things, and have also made some substantial revisions to the game design.

Well, first things first, I made this piece of background art:

I like how this one turned out, but I also need to make an alternate version of it for a special effect I have planned and that one is proving to be a bit difficult. A lot of these background images are almost technical problems, where I need to figure out a way to depict the idea I have in my head without getting bogged down for hours and hours, and also to depict an area that makes some sense relative to the actual navigable portion of terrain the game takes place in. This background already has taken far more time than any of the others, and the potential for an even more detailed and time-consuming version has me a bit concerned, so I’m trying to figure out a clever way to approach it..

With these concerns in mind, I decided to drop the background work for a bit and work on some animations. I began creating animations for one of the other early-game enemies, the Crawler:

This is one of very few enemies in the game what does damage on contact rather than having to do a particular attack, and is more or less completely unaggressive and minds its own business – an obstacle as much as an enemy, really. The animations aren’t quite complete yet, with the turn animation in particular being a bit of a troublesome obstacle, but it’s coming along. Once this and the mask enemy are complete, there’s only one more enemy type planned for the first couple areas of the game, so I’ll have pretty much everything I need in place to finish building out the early areas. I also spent some time building out some of the animations I’ll need for the other variations on the mask enemy, such as the stone throwing and spear throwing types, but nothing finished as of yet.

There were some other minor side-lines – a system for making it possible to modify a value from multiple locations without overwriting each other’s modifications, building a special ‘alternate reality’ effect for the second area, roughing out some of the level designs… near the end of the month, though, I realized, or perhaps merely acknowledged, a number of substantial design flaws that were threatening to undermine the game. These had to do with the upgrades I had planned, when you were likely to find them in the game, and how useful and interesting they would be. The biggest problem that emerged was that I had come up with the idea of this attack using the sling and, when I thought about how it would feel in action, I realized it was completely unsatisfactory. Essentially I was planning this whole ability which didn’t really have any role in what the player was doing – it would be the only ranged attack available, sure, but in a game where ranged attacks weren’t really necessary to succeed, and it would totally clutter up the control system.

I spent a few days thinking about this, and eventually came up with a whole new system, with a set of 4 elemental attacks and alternate forms of each attack, along with a system of special attack ‘charges’ that get restored whenever the player gets hit. I think this is a pretty good idea! But it also presents a lot of issues with, again, when the player finds upgrades and what role those upgrades play in the overall flow of the game. I’m still not 100% there with this design, but the missing pieces will probably be small things that I can fit into place as I go rather than massive gaping holes that I need to invent whole new game systems to fill.

Since then, I’ve just been reworking the way attacks are programmed to make room for this system. The new attack system is far more flexible than before, though there are probably still some ways I could improve it that I may have to consider.

This month will probably have more work on creating enemy animations, a little bit more design work figuring out what the flow of upgrades and specific properties of special attacks will be (along with whether I want to have, say, special objects that the player can interact with using said special attacks), and perhaps laying the groundwork for creating the special attacks themselves – though they are mostly a low priority for a moment, since most of them are planned to be found later in the game than the first chapter, which is where I am currently focusing my development effort. If I don’t feel like that stuff then creating assets and level details for the first couple areas, finishing the mentioned background image, or building improving tilesets are also strong possibilities for productive work to do next.

 

In a bit of a weird spot right now. I’ve been working on doing the animations for the first and likely most complex non-boss enemy of the game, and I’m starting to feel a bit depressed about it. Working on a bunch of very simple very similar pictures for a few weeks tends to get old, even if you feel proud of the result. I ran into this same issue working on the main character animations, and now as with then I’m going to have to figure out more kinds of work to mix in because this is starting to undermine my motivation to work on the project. I need to remember never to leave myself on the same animation task for more than a week or so, since it tends to do terrible things to my morale after a little while.

Because these guys aren’t quite symmetrical, but I didn’t want to create left and right facing versions, some interesting properties emerged. The most noticeable of these is where they actually momentarily drop their knife and then catch it in their other hand in the running turn animation, which nicely adds to the frantic and panicked feel of the animation and swaps hands so that when they run the other direction it looks natural. The strap holding up their clothing also quietly changes shoulder, and the light shifts to the other side of them, during the turn. I think these weird fudgings of reality will largely be invisible in action, but it was an interesting problem to figure out as I went, since I hadn’t really considered it before.

I had originally planned to make several different shapes of mask for these guys, but I think that’s something I’m unlikely to do now. To create each mask I’d have to do a bunch of drawings of the mask facing in different directions for the turn, add code to make it draw in front of or behind the head based on where they are in the current animation, and make sure the movement perfectly syncs up. That’s possible, but seems like a lot of work for something that might not look very good. Alternately I could just make a bunch of different animations for different masks, which, again, I don’t think will be worth the effort. That said, there are alternate versions of this enemy with different capabilities, so when I make them I can make their masks look different, which will be more communicative and less labor intensive than what I was planning on doing.

That’s mostly it for the last month, though I also did some miscellaneous work fixing bugs in path-finding, improving the cave tileset and building out the caves. The particle system is basically functional but is still not really an improvement on what I had before I started in any way, remaining extremely buggy when run in multi-threaded mode while still not quite performing as well as I’d hoped – for reasons which, as yet, remain mysterious.

I think for the next week or so I should focus on getting all of the editors working  so that I can spend some time detailing the levels, adding foreground and background elements, generally making them feel finished – or as finished as they’re going to get until I finish making enemies for them.

I like these animations, but they’re not much to show for the better part of a month or work. I don’t know what to think about that: It doesn’t feel like I’ve been slacking. Maybe these guys were just difficult to animate.

EveHeader

This was an eventful month! Following my devblog post last month, I started sharing the project on a couple of game dev forums, and through a logical process which eludes me now 30 days later determined that a) I wanted to have the first chapter of the game complete by the end of 2017 and b) that in order to do this I should create a complete task-list and schedule for the project up to that point. This ended up taking me a few days, but I really feel like it was worth it. I now have, printed across 12 pages, a fairly comprehensive list of work that needs to be done in order to complete the first chapter of the game. There’s going to be four chapters total, so a lot of work will remain to complete the game even after all this, but the scope of the work will be determined and I’ll know how much time and effort it takes to create finished content for the game. All major gameplay bugs should get eliminated through this process, and all fundamental design code will be firmly in place.

I broke the schedule up into a total of five three-month blocks, one for the rest of this year and four others for next year. Currently, for this year’s block, I have 24/53 tasks completed or otherwise resolved. I also have a few tasks which I had to add to the list which aren’t accounted for there, as well as a few that are partially complete, but it’s still good progress and I’m proud of how quickly I’m getting the work done. Now, I expect some future tasks to be quite a bit trickier, and I also expect many unforeseen tasks to crop up, but that’s why I’m trying to get ahead of schedule now – as well as acknowledging that December is likely to be so busy with other stuff that I’ll probably only be able to work for half of it.

The biggest task accomplished over this month is the attack animations. All right-facing attack animations are complete – well, except for the occasional mistake or two still to be fixed, a few of which I’m noticing as I watch the attack montage play below. About half of the left-facing attacks are complete as well, and they should progress more quickly on average now that I have the right-facing attacks to use as template and I’ve got so much sprite creation practice. There were a few big sticking points: I realized after mostly completing them that the original standing attack animation was a) boring and b) functionally redundant with the running attack animation. I’ve since replaced the former with the latter, but fortunately not all was lost: I was able to use the standing attack frames to resolve another issue that had cropped up. When I changed the crouching position of the right arm some time ago, I invalidated the entire swing arc of the primary crouching attack animation prototype. However, the new arm position made perfect sense for the motion of the unused standing attack animation, so I just pulled the torso from those frames into the crouch animation. I still had to redo the leg positions from scratch, but it was a nice shortcut into creating a good expressive attack.

attackmontage

I’ve also been working on the music for the game. The first few areas largely have completed music tracks already, since I created music concurrent with them to figure out the tone I was going for, but as I made that music like five years ago there’s a lot of rough edges in those old tracks and they’re not necessarily well set up to work with the systems I want to have in place for the game. That is to say, I’m not planning on just creating a loop for each area, but having some degree of adaptive music based on where specifically the player is in an area and what the game state of that area is. Thus, I’ve been remastering the old tracks, making small composition tweaks, and rearranging the parts to make jumping between them work better. Fortunately, I found that by setting timers and jump points, I could very elegantly skip between segments of an adaptive track to switch playback to a new section. Less fortunately, I discovered that a track with tempo changes and heavy use of delay effects is probably the least optimal type of track to feed into such a system. Still, it’s functional for now, even if some of the track transitions sound a bit odd. I’ve at least proven out the basic concept and built the architecture: If I need to change things up a bit later to resolve these issues, it should be quite feasible.

hills

I’ve also been working on tilesets and backgrounds here and there. I made this background very desaturated to create a clear delineation between background areas and gameplay areas, and also to reinforce the misty feel I was going for, but I worry a bit about how well it will work with the extremely vivid and saturated caves background I made before. I really love playing with color in unexpected ways, like I did with making the distance in the caves background a dark vivid red, but consistency is important as well. In the end, that’s something I can only figure out by getting the assets into the game and playing around with them and seeing what works. Really, though, changing palettes is incredibly easy compared to creating new assets, so it probably won’t be a big deal at any rate.

In addition to the backgrounds, I’ve created a number of the transitional tilesets necessary to blend different tilesets together. Now I can have grass tiles next to stone tiles next to dirt tiles without them looking like artificial grid-based garbage. There’s still some gaps in there, tiles that I’ll need to create that I haven’t noticed I’ll need to create, but I can build out most of the environments I want to now, at least at a degree of rough detail.

Over November I plan to finish out all of the character animations and start creating detail assets for the first section of the first chapter – Mostly just different kinds of grass and stone to start with but, again, in many of these cases I won’t know what I’ve forgotten until I get there and find I don’t have it. Still, finishing this game, as distant a goal as it remains, feels more concrete and feasible now than it has in a long time.

 

EveHeader

I worked on two major things this month. First was the rolling animations, which are the two most complex animations in the main character’s animation set, with the possible exception of the running animations. I’ve gotten better at doing animations so the work moved faster, but these two just have an awful lot of frames and each frame is different enough from the last that there aren’t a lot of shortcuts one can take.

crouching-roll-left crouching-roll-right
You can also see that these are two of the most different animations of the left/right flip versions, so again they defy shortcutting for that reason as well. These animations, with their high rate of contact with the ground, raise an interesting issue: Right now, all of the main character animations have a cyan outline to make sure she pops against dark backgrounds – perhaps unnecessary, but it seemed like a good idea at the time. However, the outline disappears where she contacts the ground, which is usually fine because she only contacts at a relatively narrow point. However, with the roll animation she makes contact all along the ground, especially while her hair drags across it. It looks fine on flat terrain, but on slopes or coming off of a ledge it’s obvious where the outline ends. Of course the animation looks a bit off in other ways at those moments since it kind of assumes a flat ground surface, but that’s by far the most noticeable. I still haven’t decided what to do about that. Maybe I should remove the outline and create a programmatic solution, see if I can bang out some code to make her pop out the way the outline does. Or maybe that’s all unnecessary, maybe the white cloth will make her show even on backgrounds where her darker tones would otherwise fade in. Or maybe I should bump all the animations up a pixel, extend the outline underneath them, and then make it so in-game they all draw one pixel lower. Not sure yet. I guess the smartest thing would be to start experimenting with just removing the outlines and then go from there.

The other part of the game I’ve been working on is a stone tileset. You may recall me working on stone before, and though I decided that weird wet-looking tileset worked fairly well in the cave area, it looks pretty terrible outdoors amidst the grass. It took several days of experimentation to find a stone tileset that looked good outside, and it turned out that restraint was key. Most stone, it turns out, is basically the same color as itself: Adding a lot of details and cracks made it look like ruined bricks or stone blasted apart by some catastrophic event. However, creating blocks with just a bit of patterning, either something kind of rough and scaley for uncut/broken stone or something almost flat but with slight patterning for that more man-made look, really seemed to do the trick. I also took the technique I used before of creating different lighting levels and using them to sort of draw a three-dimensional looking chunk of rock out of sets of simple tiles. There’s still flaws in the result, but I am quite pleased enough with it to table it for now until the rest of the game progresses to the point where its flaws are more noticeable.

stonetiles005

For the next month I’ll probably be focusing on a) creating attack animations, b) creating transitional tiles so the stone tiles actually fit into their environment, and c) developing some of the early levels to actually use all the tiles I’ve been making and look decent. I’ll also need to start seriously considering how to go about enacting the ideals espoused in the Problem Machine blog post earlier today, but that’s going to be a long road and I’m not sure what shape it will take yet. Still, lots to look forward to!

EveHeader

Another month, another set of animations. At this point I’ve got all of the basic movement animations nailed down, so next up is fixing minor issues with them and expanding out into the special movement and attack animations. These animations are generally longer and more complicated, but there aren’t as many of them so hopefully it will be manageable regardless. I feel like I’m really starting to get the hang of converting my prototypes into final animations, too, very quickly using them to build outlines and filling those outlines with something that feels properly expressive. Early on I was trying to pull a lot of shortcuts, using the prototype as a mask for the colors which resulted in a lot of barely visible transparent pixels messing with the frame. I’m glad I saved most of the complicated animations for later, since I think I will be way more able to tackle them now.

The other big thing I’ve done this month was go in and get the lighting system working properly in-game. This actually ended up taking a lot of debugging of weird problems with the parameter editor that only emerged when I created a behavior class that inherited from another behavior class, since it wasn’t set up to deal with that. Now that I can properly use the entity/parameter editor to get lighting entities into the game and assign info to them, I can see that there’s still a lot of improvements to make – but it’s now, at least, very easy to make a dark room, and beginning to be possible to achieve more complex effects. It’s not a realistic lighting system, there’s no directional lighting or anything, but it can still achieve a number of interesting overlay effects that are reminiscent of the representations of light and darkness that were used in older games. In the animation below you can see most of the basic movement animations at play and also see the ‘lighting’ system used to create a foggy environment. It’s still got a ways to go, and there are a number of features I’d like to add, as well as numerous details I want to add to really sell the fog effect, but the visuals are kind of starting to come together now and at least vaguely resemble the game I want this game to be.

adl 2016-08-31 23-24-23-25

Next month will largely be more of the same: Attack/movement animations, more refined and advanced fog/darkness effects, and probably some forays into creating rain/fog details to finalize the look of the fog. I probably won’t get to it over the next month, but the hills also look quite sparse here, and will also eventually be augmented with environmental details that should make things a lot more interesting.

EveHeader

It’s going better now. Rather than hammering my head constantly against the glacial mass of animation work that needs to be completed, I’m approaching the project from many angles now, largely with a view towards completing a vertical slice of the first few areas. I roughed out all of the basic layout for the first chapter of the game (there will be four such chapters in the completed project.

EverEndingMapWiP0001

Player sprite animation work continues slowly but surely, with the crouching animations now in place – once the standing and crouching turn animations are complete, all of the basic ground movement will be covered. From there I’ll probably move on to the jumping animations, which are actually mostly fairly easy since they tend to be short loops. This next month might be a big one for the look of the game, then. Actually, come to that, this past month also was kind of important regarding the game’s look as well, since I created the first backdrop image and spent a lot of time figuring out how it would look alongside the tilesets.

EverEndingWiPSS0002

Reactions to the appearance of the game have been largely positive thus far, but I have some concerns (it’s my job to be a worrywart about these things). The original attempts at background art were way too bright and high contrast and pushed themselves really far forward into the image, and to be honest the background still has that problem to some degree. It may be that I need to brighten the foreground tileset, but I think it’s more likely that the background needs to be even more muted and maybe shifted to have a bit more color contrast against the tileset. I also think I made a fundamental mistake here in that the background image has several separate layers which, logically, would scroll with a bit of a parallax effect. In fact, the game supports effects like that, but this background image wasn’t constructed to use them. It’s not a big deal, most players won’t notice, and I can ameliorate the problem by adding some closer pillars on top of the background. This actually makes it even more important to mute the palette for the background, though, since there needs to be room for the pillars to fit into the color scheme.

Anyway, lots of decision making like that. I’m satisfied with the appearance of the game thus far, and this is still missing a lot of the extra detail a scene like this would have, such as lighting effects and additional dynamic details.

So: I’m pleased with this progress, except in that progress has been progressing very slowly. The Summer heat certainly hasn’t been helping in that regard, but I need to be thinking about how I can put in time more consistently and productively on the project. Now that I’m in a place where a lot of raw content needs to be created to manifest the vision of the game, putting in an hour a day seems grossly insufficient. Regardless, I definitely feel like I have something to build on here.

EveHeader

This is happening exactly the way I worried it might.

I’m coming to think I have some sort of attention disorder. I have a very difficult time focusing on almost any tasks for more than an hour at a time, and even that much becomes extremely difficult if it’s a tricky task or one I’m unenthusiastic about. And now, before me, I have weeks and weeks of animation work that need doing.

Don’t get me wrong. I think animation is interesting. However, in trying to sketch all these animations out as prototypes, I’ve robbed myself of much of the fun of animating and left myself a big serving of tedious pie. All the interesting stuff, figuring out the motion, expressing it, giving it weight;  I did all that in the prototype phase. All that’s left is drawing it in pixels, making sure the frames are consistent with each other, making sure each individual strand and strap lines up properly, that things don’t float into place but move naturally, that each distinguishing mark stays consistent; I’ve separated much of the artistry out, done it months ago, and left myself only a very dry kind of craftsmanship.

And my enthusiasm suffers.

And my productivity suffers with it.

And I wonder, what am I doing? Where am I going? Maybe these are good questions to ask, but the dissatisfaction that is pushing me to ask them is indicative of a more immediate problem. At this rate, the game will not be finished. At this rate, I’ll drift away and find something else.

I prefer to make decisions like that rather than have them made for me by circumstance.

Well: What’s the good news? The good news is that I have the running animations done and the turning animations done and the stopping animations mostly done except I need to polish them up a bit to maintain consistency. What’s the bad news? The bad news is that I keep noticing that at the end of the day when I’ve done as many of the tasks I’ve set out for myself as I could manage, right before I go to sleep, this game is almost always the one that is left over. I listen to podcasts while I work and I don’t often manage to get to the end of the podcast before I get tired of the work and decide to stop. If I don’t feel like listening to a podcast, I don’t work.

What happens now? I need to take a step back. The animations are of vital importance, yes, but they’re one part of a project that still has many many parts that need doing. If my productivity suffers when I try to do too much animation work, I need to do less animation work, simple as that. Perhaps one day or two days a week will be satisfactory, allow continuous forwards progress, while the other days I’m working on EverEnding can be dedicated to other parts of the project. Parts such as:

Special effects work: The game still needs some water effects and other level-specific effects that need to be programmed. Each of these could be a confounding programming problem; satisfying if I can solve or study my way through it, but potentially just as much of a dragging point as the animations, so I’m wary of over-committing just yet. Still, I should be keeping these on the table so I can research/ponder them as opportunity permits.

Enemy design: I’ve concepted most enemies in terms of behavior and appearance, but only in the sense of creating descriptions; most of the work of visually designing and programming these creatures remains to be done. This would probably be a good thing to work on concurrently with animations, since the two fields are somewhat dependent on each other.

Bosses: These are a combination of the above two, each boss requiring special level effects and animations and behaviors all wrapped up together. These are still pretty intimidating, but I should at least be planning out how to try handling them in the future.

Levels/Tilesets: I was doing this before animation work and felt like I was achieving a lot more satisfaction and success then. Along with enemies, this would be a really good thing for me to be working on

Attention management is so difficult, and I’m only now realizing how carefully I’ve curated my fields of view to make it easier and how hamstrung I’ve been by the necessity of doing so. I’m going to be pushing at this from a few angles: First, seeing what I can do to treat my attention issues. Second, expanding the section of the project I’m working on to avoid exhausting myself on tedious work like I’ve been doing. Third, trying to get a bit more going on in my life, non-work stuff, so that I don’t feel so down and out when the project isn’t going well. I don’t expect any of these to be easy – in fact, I expect them all to be quite challenging in their own ways – but I think they’re all vital to the continued help of myself and the project.

I’m having a bit of mixed feelings about this shift to monthly updating. Though it is nice not to have to write these each week, and I felt like they became rote and obnoxious to the people reading for more analytical content, they were also a useful mechanism for me to assess where I was at in the project and how I felt about it, a functionality I failed to appreciate until now that it’s missing. I don’t really want to go back to weekly updates, but it may be worth considering another process for capturing the internal insights that found their way into the devblogs previously.

Since tomorrow’s the day I put together the schedule for the week, it will be an excellent opportunity to assess what I should be working on when. Here’s hoping next month’s update is more substantial and encouraging.