Getting the Ball Rolling (again)

(Edit from the future: I cut the intro of this post out for being a bit long-winded…but I’m leaving the body of the post untouched for posterity. Put simply, it is a list of projects I had been working on at time of writing.)


Familiar

This was a game that I announced on here way back in 2018…boy, what happened?

This was going to be my next Big Narrative game, eclipsing WAIDAS dramatically in production and scope, and putting into practice everything I had learned. This put too much pressure on myself, and so I became really demoralized when I wasn’t making the progress I felt I needed to. In hindsight, of course it would make more sense to make cuts to the project and release what I could – but I lacked that clarity of thought at the time.

I froze the project for a long time, but there is still a story in there that I want to tell – so I have reworked a lot of its ideas and split them up into smaller pieces, and can happily say that I’m working on a version of Familiar that has a very realistic path to release.

As for what it actually is – it’s just a short-ish narrative game where you walk around and navigate some text trees. It leans much more into psychological horror and mystery than any of my previous work. The hope is to release smaller episodic games that add up into a larger story with lots of fun twists and turns.

Your Guide to the Afterlife

get in

Formerly called Ghost Planet. This was the project I started when I dropped off of Familiar, with the initial intention of just making something small and fast – and of course, it is now a far larger and more ambitious project than Familiar! It has become this huge open-world adventure where you navigate all sorts of different areas in search of objects of power, and try to piece together the truth of a world at a radical turning point.

Worth noting that while I wrote Familiar’s engine in C# with Monogame, YGttA is the first major project I made purely with Javascript, using CreateJS to handle the basic image rendering. I had done some small gamedev in Javascript and enjoyed it, which was why I defaulted back to it when Familiar was going through a rough patch. But as my code expanded to meet YGttA’s needs, it lent itself to writing even more projects in JS.

This project is also sort of paused as I shift my focus back to a smaller version of Familiar – but I have similar goals with YGttA, in that I would like to find a way to make the project more modular, so I can release parts of it sooner and more incrementally.

Biscotti

Which brings us to what I call Biscotti, a weird name for a weird project. This isn’t a game as much as it is a way for me to tie different games together – it’s a self-indulgent exercise in cleaning house and refactoring my code so it all works cleanly. It’s really just a collection of different small games that can launch out of the same application. Most of these games would be small game jam submissions or side-projects.

It would be nice to actually release this as a sort of anthology, but I see it more as a springboard for future Javascript projects – basically, building out an engine that is cleaner and can be used as a solid foundation for other games (and I can retrofit larger projects like YGttA with its code for better performance).

Yolk of the Wish Machine (working title)

Those other ideas start with this – an action/adventure/platformer with a style in the vein of early Kirby/Sonic/Bomberman games, an “all-ages” story that still has teeth, and modern design ideas taken from all sorts of platformers throughout the decades, both 2D and 3D – from what I would call spectacle platformers like Assassin’s Creed or Spiderman, to sandbox platformers like Tony Hawk. I’m aware that the platforming genre is incredibly saturated, so if I’m going to make yet another one it better be worth peoples’ time!

Currently not in active development, but steps have been taken to build out some of its systems. I released an action-platformer as freeware (Jidan Havoc) which is meant to be a starting point for this.

about-face-plus (working title)

I originally wanted to re-release about-face in Javascript just to give myself something to do, and as the first major inclusion in the Biscotti collection – but then of course I had all sorts of things I wanted to add in, which have become their own separate idea that would be fun to work on. about-face being very minimalist means I get to focus much more on design and coding. I would still like to re-release the original about-face, but I have some ideas for a spiritual successor that I think are promising and substantive.

Octoscopy

I made a game jam submission many years ago (Invisible Maniac) that I got some pretty positive feedback on, and I had wanted to expand it and make it a full game – this was actually one of the first things I started using Javascript for (the original submission was made with Haxe/OpenFL). It’s a game where your character is invisible and you have to navigate around hazards using only environmental visual/audio clues to figure out where you are. It’s a simple and effective idea, surprisingly fun to play, and just incredibly fertile for all sorts of mechanics.

The title is a portmanteau of octopus and autoscopy, since you play as a camouflaged octopus from a 3rd person perspective. I think it’s neat.


Well…that’s a big list of projects!

Too big, some might say. Unrealistic, maybe? Indecisive? No, couldn’t be.

Currently, I’m only actively working on two: Familiar and Biscotti. I like having two projects going at once for the sake of variety – I give myself the chance to work in two different languages and code-bases, which keeps me a bit sharper, adds more variety to my work, and stops me from getting too tunnel-visioned on the particulars of one project.

In the defense of having a lot of inactive projects, I see it as an additional motivator to finish things – knowing that I have lots of other games I want to make helps prevent me from getting too attached to any one idea. So long as I’m just attached enough to see it through!

On a more granular level, I’m working on putting together a vertical slice for Familiar – it’s all written and designed and the engine is there, but it has to be produced (art, scripting, action!). This weekend I want to finish making rough-drafts of all the art assets I will need – I’m reusing a lot of art from previous drafts, but there’s a bunch of new stuff that I still need. Once I have those, I can work on the scripting logic for all the cutscenes and cutscene-adjacent elements to get it playable.

Taking a Breather

Hi internet!  It’s been a while – let’s catch up again.

Let’s see.  A while ago I launched my first commercial game on Steam.  The game was in development for far longer than originally intended, and its release was much overdue.

Unfortunately, though I say I “launched” it, I don’t know if that’s really the fitting word, as most of the traffic the game received (maybe 90%?) is purely due to its place on the Steam storefront, meaning I did not succeed at publicizing the game or getting it the exposure I think it deserves.  And overall, it has garnered a small fraction of the views that its much smaller and cruder prequel had (not talking about sales here, just hits), which is pretty discouraging.  After all, the main reason I decided to work on this sequel was because of the apparent interest that was shown in the original.

But now the game is out there, and I can say that I finished and shipped a product with a pretty substantial play-length, considering the game consists 100% of scripted content.  There has been a lot of positive response from the people who have played it, and some really glowing user reviews that have just been a joy to read through.

I haven’t been as productive after release as I thought I would be.  I had all sorts of ideas for projects that were crowding my head, which I thought I would just speed through after being caught up on such a large undertaking.  Nope, turns out I was completely burned out from development and all of the stress leading up to release.  I have been working on several projects and have participated in local game jams, but so far haven’t been as possessed to publish something else with my name on it as I had been with At Sea.

get it?  possessed?

Partially I feel like I’ve proven to myself that I can see a project through to its end, so I don’t feel the pressure or need to finish every little idea that I come up with if it turns out that it isn’t really as interesting as it seemed at first.  Which is usually the case.  The fickle developer who can’t complete anything is a cliche, but in truth I think it’s important to also know when to leave a project.  Yes, you can learn a lot by completing a project, and it is an important skill to be able to “finish” something.

“Art is never finished, only abandoned” – some dude

There are definitely diminishing returns however.  The skill of “finishing” is only one of many, many skills that are required in game development, and it may not even be the most important one in this era of early access and open betas and development live-streaming and twitter GIFs and oh man, things change really fast don’t they?

But one thing I have definitely noticed is that my productivity and general ability to make stuff is so much greater than before I had originally set out to ship a premium game.

When working on other things, it kinda feels like the training weights have come off.  I’ve just spent some time catching my breath.

A Hopefully Intriguing Prototype

First off real quick, after work with a graphic designer I know, I have a new logo which you’ll see emblazoned at the top of this blog.  I’m quite happy with the result!  With this new logo in hand, I redesigned my home website once again.  The results, before and after:

The result is a brighter design with way more space, and a quite sexy logo if I do say so myself!  I also used a bit of JQuery in this version of the site, which was nice to dabble in.

The main thing I’d like to talk about in this post, though, is that I put up a game prototype on my website.  I’ve been working on it for about a month and a half alongside preparing Why Am I Dead for its release into the wild.

You can find it here!

Of course the big issue with it is that there’s no tutorial, so it may take some patience to actually understand what’s going on.  I wrote at length about the rules and how they work in that page, so I’ll not do the same thing here.  Instead, I’ll talk more about the technical side of things, and why this prototype took over a month to make.  Sure, it doesn’t have immediate visual appeal, but that’s not what prototypes are about.  And frankly, I did some stuff that I’m quite satisfied with.

1: Menus in menus in menus in menus

The game is turn-based, and, as with most turn-based games, it centers around picking from a range of different options which are on a menu.  Some actions may have further options related to those options, which require some other menu.  Think about typical RPGs.  You can attack, defend, cast a spell, and use an item.  But if you select Spell, what spell do you pick?  And then, who or what is the target of that spell?

In my case, the details get way, way more complicated.  For instance, the actions you can choose from are often restrained by temporary effects.  Get hit in the legs, and now you can’t pick Move or Dash.  Even more, you can select two actions per turn and sometimes these effects will go away in between those two actions, thus freeing up new actions mid-turn.  So, the result is that there will be menus in menus in menus, appearing and disappearing, switching around and changing all the time.

One of my main priorities was to make this as easy and intuitive to program as possible, so that when game mechanics inevitably get changed as the game is refined, actually implementing those changes is painless and straightforward.  To that end, I think I’ve succeeded; just about any change in the player menu, no matter how big or small, can be accomplished in several lines of code on the client-side.

Good thing none of this is confusing!

2: Customization!

After I got the basic game mechanics in, I decided to implement something I’d only been toying with beforehand; full equipment customization!  That is to say, every piece of equipment or weaponry would be represented on screen in battle, and move alongside your character when he attacks and defends, and so on.

The thing that made this a bit more ambitious for me is that I don’t use Flash Professional, or really any tools that might make this easier; I am working in FlashDevelop 100% of the time.  Still, it was pretty straight-forward for the most part, if more time-consuming.  One of the most vexing issues, to be honest, was making sure that the equipment had the correct rotation and positioning when I flipped the bitmap for the opponent.

And again, I’m pretty satisfied with the results.  The work behind making new equipment, as well as swapping between pieces of equipment, are trivial.  And though the prototype doesn’t have flashy animations, the poses behind each action are convincing enough to make this effect, at least to me, visually impressive.

Yes, it’s kinda choppy. Yes, vectors would rotate better. But bitmaps have more charm!

So that’s about it.  I’d love any feedback on my li’l prototype, since it’s still in an early and flexible stage.  I’ll actually be taking a break on this project in order to handle some real-life stuff and other things I’ve been juggling around, but I definitely like the direction this is going in, and fully plan to return to it in the future.  With a tutorial, an equipment screen and some kind of metagame, I think this could be a really deep and fun game.