Tag Archives: DevBlog

Oh well this is awkward.

Effective, um, like 5 days ago, the EverEnding project is going on hiatus. For how long? I’m not sure! I’m pretty confident it’s not permanent, but I’m also pretty confident it’s going to be for at least a month or two, and maybe as much as a couple of years depending on how those next couple months go.

The natural question to ask at this point is: Why? Good question! I’ve been feeling for a while that, while I still feel passionate about this project, I also have it backwards. I really feel that the optimal game development process is about getting a simple version of the game up and running and then iterating on that and navigating by your artistic sense towards the most interesting version of that game. However, with EverEnding, I’m constantly stopping and planning and designing and concepting before I even have part of the system up and running. This is still true even now when, OpenFL port notwithstanding, there’s nothing stopping me from getting the game playable and iterating on that bit by bit and improving it that way, rather than constantly trying to make Big Design Choices and Sweeping Revisions. I keep thinking about the forest that will grow here someday and forgetting to plant the trees.

Which segues naturally into what I’m going to do now: I haven’t decided. Or rather, I’m specifically avoiding deciding anything but the most basic generalities of the project. It is going to be a game, and I’m going to be streaming its creation – I dunno if it’s a stream anyone will be interested in watching (so far it seems not to be, judging from the 4 streams I’ve done already) but these streams are just as much for me as for any hypothetical audience. The streaming is to keep me honest, keep me focused on the task at hand for a couple of hours with no web browsing or procrastinating. It also provides a way to document the history of the project, so I can see exactly how much progress I’ve made in a week or a month or a year from now.

Now, while I’m trying to avoid deciding as much as possible, I know this much about the project: First, it’s a top-down adventure game in the vein of the Zelda series. Second, it takes place in one big area instead of discrete dungeons, probably a mansion, possibly haunted. Third, I want to fill it with secrets and details, most of which I’ll figure out on the fly as I work on it. Right now the working title for the game is The Third Story, as a slight play on words both for a large mansion and for uncovering the stories contained therein, but that’s likely to change any time I think of something better. For the time being I’ve been mostly just laying the foundational code – which is mostly pretty tedious to watch, likely one reason the streams haven’t been popping. However, as the project progresses I want to do all of the scripting and level-building within the game itself – so, once I reach that point, the streams will be a lot more level editing/scripting and a lot less walls of code.

That’s all in the future, though! For now, the game is just blocks that move around and spit text at each other – no graphics, no collision, no sound. I intend to keep up the monthly DevBlogs here, but the contents will be related to the new project. I don’t want to rule out the idea of doing more work on EverEnding, though: Since I’m developing this new thing in OpenFL, I should be accumulating a lot more familiarity with how things work in that API, and this may give me exactly the energy and confidence I need to finish the port and get the project up and running again. Also, just looking at and listening to the materials I’ve created already makes me a bit homesick for the EverEnding project, so I’m not sure how long I want to stay away… But I’m confident this is the right thing to do. For now.

I already feel tremendously better morale-wise, just being able to work on a project where I feel like it’s always moving forward. If nothing else, I’ll be able to apply some of the methodology I’m picking up here – not just in terms of OpenFL and game development, but also in terms of livestreaming and documenting development and using that process to bolster my creative energy.

It feels good to be seen – even when no one’s watching, just to be willing to be seen is worth a lot.


I’ve been procrastinating on writing this post, since it’s always galling to admit this: Very Little progress has been made on the project over the last month.

This is not to say I haven’t been working on it – though between a week-long trip and focusing on more immediate work to pay rent I have perhaps not been working as much on it as I ought to. The issue is more that most of the work I’ve been doing has involved slowly revising the code base to work in OpenFL, which really doesn’t give me a lot to show.

It can be discouraging sometimes when the project is in this state. In general I kind of enjoy the work of refactoring, streamlining, and optimizing that goes into revisiting an existing part of the code base like this. However, particularly when it comes to a major restructuring like this, it means there’s a long period of time where the game as a program that can be run and experimented with ceases to exist. Right now, when I want to work on EverEnding, there is precisely one part of the project available for me to work on, and that’s this programming work. Not even especially interesting programming work, at least for now – once the fundamentals are in place I’ll also have a job of making sure the drawing routines are optimal and testing/improving the replacement displacement map filter code I wrote (as it turns out shader programming wasn’t necessary to create it, but I may look into creating a version implemented that way once I have this version working).

For now, there’s not much to say. I don’t know, a lot of the time I feel like I might just be wasting my time here, like I don’t know how to access the kind of discipline and productivity to make a project of this scope feasible, at least not in my current living situation. I wonder a lot if a different project might be a faster or better way to achieve the expression I have been straining towards with EverEnding, or if there’s some way to scale back or streamline this game conceptually which would allow me to work on it in a more effective and productive fashion. It is always difficult to tell which doubts are warning signs to be taken seriously and which are just self-sabotage.

Regardless, I am nearing completion of the changes I’ve made to the Particle System to make multi-threading stuff entirely self-contained within the system itself so I don’t need to negotiate that in the game program, as well as I guess in any other games I hypothetically make with the same tool in the future. There’s definitely a hint of programmer-itis there, where I find myself creating a more general purpose and fool-proofed tool than is actually needed – after a certain point I just gotta accept that sometimes I take the long route just because I feel that it’s more proper, even if it’s less pragmatic. Within this week sometime I think I’ll be able to get back to more interesting work on the project. It sucks getting stalled, but it doesn’t last forever – and, regardless of my doubts about where all this will eventually go, I think I can pursue it with no regrets as long as I enjoy and believe in my process.

It hasn’t been an especially productive month for the project, but things are grinding forward. I decided I was still dissatisfied with the performance, even after all the improvements I made to the particle system a year or so ago, and so I’m working on getting the project running in OpenFL, an open-source project that emulates Flash/AIR’s API but builds in C++ and tends to be faster. This isn’t really a smooth process, since there are a few Flash features that didn’t get ported and the ways file i/o and multi-threading are approached are very different. The file system stuff is no big deal, and I believe I’ve fixed the issues emerging from that already, though since I’m still working on the other stuff I haven’t been able to build the game to test those fixes yet. The multi-threading thing is more difficult but I think I’ve got a handle on it now, and the challenging part is mostly sequestering my Flash multi-threading code away so that I can write the special cases that change from platform to platform without turning everything into a total spaghetti mess. The features that aren’t supported… might be an issue. The only one I’ve found so far that looks like a big deal is that OpenFL currently has no equivalent of the DisplacementMapFilter, the processing effect which I used to make that water effect I was so proud of and which I also would like to use for a few other special effects. I’m going to have to look into creating a replacement – which sucks, but might end up being a blessing in disguise, since this will be a fairly natural way to explore the wide worlds of shader programming and, indeed, of contributing to open source projects if my solution ends up being of sufficient quality to submit as an OpenFL component.

Aside from this, I mostly worked on building the behaviors for the Feral enemy type which I shared a few sprites for last week. These behaviors are mostly finished now, but haven’t been tested yet since I didn’t have a complete set of sprites to test with – not strictly necessary, but since most of the code is reused from existing enemy types I’m not worried about any major malfunctions. I also realized a substantial obstacle towards completing the first area of the game was that I just wasn’t really sure what the space was supposed to look like. I had some vague ideas, but I didn’t know what the area’s history was supposed to be, what really was going on there now, or what the symbolism of it was. I spent a bit of time writing out some notes on it, and I’m confident that when I get the game working again and return to develop this area I’ll have a lot to work with.

My work is basically cut out for me now. Get the game building in OpenFL, handle any new bugs, rewrite the display code as necessary to take advantage of the improved performance. It’s always a bit of a drag getting railroaded into one big task that has to be done before I can make more substantial progress, but in this case there’s no way around it – particular as, in the interim, something weird has happened with my development environment to make launching the AIR version seemingly impossible. While I’m sure that will all get ironed out eventually, in the meanwhile it leaves me no avenue to working on the AIR version of the game, so really all I can do is drill in on the OpenFL port. Soon, at least, I’ll be able to take advantage of this tedious chore to tackle a field of programming I’ve been wanting to study for a while: Shaders.


Well this is probably going to be a short one, since for 20 of the 30 days since the last DevBlog I’ve been busy with writing and for the other 10 I’ve been trying to catch up with all the other stuff I didn’t get done while I was doing all that writing. The two avenues I’ve made progress on are in developing the Feral enemy type and in improving the camera system.

I posted the concept art for the Feral a little while back, and I’ve since been poking and prodding at getting some sprites done for it to add to the game.

I’m not thrilled with these at this point: The look of them is good, but the animation still feels extremely stiff for the most part. I’m having difficulty with handling the sorts of subtle motions I want this creature to make when it’s not being aggressive, and making them read on a fairly low-res sprite. I ended up tabling that work when I returned to the project since, as I’ve discussed in the past, I tend to find animation frequently turns into a demoralizing slog for me. So, to get myself back into the project and to build up a bit of momentum, I’ve gone back to programming work.

After a few days, I have most of what I think should be a functioning behavior set for the Feral, but I haven’t tested it yet – mostly, honestly, I just wanted to get the code to build so I could work on other parts of the project for a bit. Still, it means I’ll probably be able to get the Feral up and running in fairly short order, and that hopefully will increase my enthusiasm for creating and polishing the necessary animations.

More recently (ie just now) I’ve been working on the camera system. I went back and read a rather interesting Gamasutra article that exhaustively explored the different approaches to 2d camera systems and, while doing so, revised mine. In fact, I revised my camera system several times over, trying out different ways to move the camera or to determine where I was moving the camera to. I’ve mostly settled on a system where it offsets the camera based on the character’s facing enough to see what’s ahead and moves the camera faster based on how far it is from it’s desired position (without modeling acceleration), but there are a few instances where the camera jumps around in a rather unappealing way left to be dealt with.

I’m still getting used to working on the project again, and of course there’s holidays coming up to be a distraction, but spending a little while away from EverEnding has given me enough perspective to know that it’s not force of habit, or some inane belief that just finishing this one thing will make me rich, or certainty that it will somehow change the world, or some other bad reason that keeps me working on this game. I still love the version of it I have built in my mind, and I still want to try as hard as possible to bring that vision to fruition, and especially to see what it slowly shapes itself into along the way.


Worked on the game very little over October since I’ve been busy with other stuff – character designs, learning 3d modeling/sculpting, picking Reason back up and trying to get the ball rolling again on music composition, and streaming more. I’ve poked here and there at getting sprites and behaviors set up for the Feral enemy type which I posted character art for last month, but made no substantial progress there. And, with pushing myself to make daily blog posts this month and keeping up on the streaming, I probably won’t have a ton of energy left over to work on the game, but I’ll be trying to schedule bits and pieces here and there so I can keep my momentum rolling a bit, ready for when I’m prepared to work on the game with a bit more focus. In the meanwhile, I’m still slowly picking away at the huge concept painting I mentioned last month, which I’ve decided to regard as a work in its own right, since it’s going to take me an absurd amount of time to finish. Still, I think it could look kind of amazing when it’s done, so I’m sticking with it.

The one major bit of EverEnding related work I’ve finished is a character design I’ve been tossing around in my head. This character doesn’t even appear in the first act, but is very important in the second. I’m pleased to have taken some time to figure out the design, since some of the ideas I was playing around with originally absolutely did not work when I actually drew the character. I think I’m pretty pleased with how this design turned out, though future revisions are still likely.

Next month will probably be more minor updates and changes. I’ll probably have the game a bit more backburnered for the near future, as I try to set up alternate revenue streams to support myself, but still fully intend on finishing this project – after all’s said and done, I still really like this idea, and want to see it come to fruition.


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 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.

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.