Archive

Animation

This month was a completely different kind of weird month than the last weird month – but weird nonetheless.

I ended up taking around two weeks of vacation, between a planned family visit, a memorial service, and associated travel times. When I got back the entire city was blanketed in toxic smoke particles, so I had to lock myself indoors – even more so than I do habitually, and with less ventilation. And, between these trips and certain extremely stressful interpersonal conflicts, I’ve been thinking about things – about where I’m going with my life, how I want to get there, and what that will look like.

First, I should probably address the lack of posts on the blog. I could have probably kept things going, but I’ve been feeling like it’s harder and harder to come up with topics that I feel are worth writing about, to the extent that I don’t feel some of my posts are to the level of insight or quality I want them to be. If all else were equal I’d just shake it off as a bad streak, but I think it’s also just been hard to focus with all of this strife and uncertainty in my life, so I’ve put things on hiatus for a bit. I wanted to make some sort of official announcement about that, but I kept putting it off until now, when I needed to write a devblog post anyway. I intend to resume posting on the previous schedule starting in November.

Regarding my plans for the future: The game is still being made, but I also feel like I need to put a bit more into existing as a professional in the here and now rather than just in a nebulous future. Towards this end, I’ve decided to start seeking freelance work –  and, tangentially, if you would like to hire me to do any of the sorts of work you have seen/read/heard here at Problem Machine, please feel free to email me with inquiries at problem.machine@gmail.com. However, as soon as I began looking for contract work, I realized that I feel a crushing lack of confidence in what I have to show as portfolio work right now. I don’t feel like what I have done shows in any way what I am truly capable of doing – and, since I happen to have come into a bit of money recently, enough to relieve my most immediate financial pressures, for a while I will be shifting my focus from just surviving while I make my game to making my game, learning and practicing, and building my portfolio. I have a list of what I want to create over the next few months, a list I don’t really care to get into the specifics of at the moment, but which involves a number of art, programming, music, and game development tasks. Once this list is complete, I expect to have a body of work that I can be really proud of, something which, even if it isn’t outstanding in every respect, can at least be regarded as roundly workmanlike and occasionally exceptional.

Now I’m 500 words in and I haven’t really talked about the game much at all. Despite everything, I have gotten some work in on the project – mostly, at this point, developing the attack animations for the sub-types of mask enemy.

And when I say mostly, I mean entirely, since I really haven’t had more than a week or two free to actually work this month. As I’m working on building my portfolio I’ll probably have a bit less time to work on the game, but will continue to plug doggedly away at it, if for no other reason than my skull starts feeling too small for my brain if I stop for any significant length of time. It should be fairly easy to finish developing these enemies animation-wise, and then I can revisit the behavior code to fix the remaining issues with their in-game behavior, which shouldn’t be too hard. Once these guys are done, there’s only a couple more enemies to develop for the opening sections of the game, one of which is pretty simple, and I can probably refocus my attention on building up the aesthetic of the early stages. In the meanwhile, future devblog updates will probably contain samples of the work I do in building up my portfolio, which hopefully will be of interest to those of you who have been interested in the game in the first place.

Advertisements

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.