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.

Website work, and a new project

For the past two weeks I’ve been doing a mix of website work and programming.  My site at peltastdesign.com was quite rough looking, so it was about time that I put more effort into it.  This involved more seriously learning HTML/CSS than just the previous dabbling, which turned out to be extremely straight-forward.  The result is a cleaner and snazzier, if still minimalist, layout.  If you check the site out and have some feedback on it, feel free to shoot me a message.

As is though, the website feels a bit bare under the “Projects” section.  That’s because I’ve spent my time working on only a few very time-consuming projects; Mandate was/is a hugely ambitious project, and I spent more time polishing Why Am I Dead than I did programming it.  And I can see the strategy game that I’d mentioned beforehand becoming just such a huge, time-consuming project, so I’m putting it on the back-burner.  I may still work on it here and there for fun, but it won’t be the focus of my attention.

Instead, I’d like to shift tracks and work on smaller projects which take less time, are inevitably less polished, but still demonstrate a game concept successfully.  Not only will this make it easier to keep momentum, but it will be far better practice for me; while there is something to be said for really polishing and smoothing out a game, it doesn’t teach me as much about the artful design of game mechanics.  When an artist is starting out learning the human anatomy, do they spend their time inking and coloring their studies, or do they just sketch it out and then move on?

So, since last Wednesday I’ve been working on a smaller idea.  It’s a bit of a blend between lots of different things, but could be summed up as a turn-based action game, I guess?

Terrible placeholder graphics, ho!

As you can see, it centers around two people duking (or stabbing) it out by selecting different actions during their turn.  It draws influences from games that in my opinion make turn-based combat work, such as the Persona series, a Flash game called Sands of the Coliseum, and Pokemon.  My brainstorming also involved some very non-intuitive sources, such as Dark Souls, the fighting game genre in general, and Poker.  I find that this format (which is usually seen in RPGs) is satisfying because it’s good at abstracting action and making it purely an exercise of decision-making; but usually it ends up hiding behind number-crunching rather than making actually interesting decisions.  So my goal was to make a game somewhat reminiscent of back/forth RPGs, but with underlying mechanics more akin to fighting games, which can stand on their own.

The core mechanic is something of a rock-paper-scissors; attacking beats dashing, parrying beats attacking, and dashing beats parrying.  Unlike a lot of turn-based games, the results happen simultaneously, so there’s no situations where the first person to move wins.  You also submit two actions per ‘turn’, so you have to guess what your opponent’s two actions will be.  For instance if I feel pretty confident that my opponent is going to attack me the very next turn, I would submit a “Parry” action to counter his attack, and then submit an “Attack” action to take advantage of my parry.  But there’s also the possibility that he waits for his first action and attacks on the second!

You’ll notice the graphics of a body at the top left of my prototype screen; there are five different parts of the body that are separate targets: the head, torso, left arm, right arm, and legs.  When you take damage, rather than simply losing “health”, one of these parts of your body is damaged.  And if one part of your body gets damaged too much, you lose.  Likewise with the opponent.  And depending on which part of your body is damaged, certain actions will be restricted.  For instance, take too much damage to the legs and you can’t move.

You also have to keep track of stamina, which automatically regenerates and is used for physically taxing actions.  You can put down as much stamina as you want on an attack, for instance, and in the case that you and the opponent attack similar targets, the attack with the higher stamina investment wins out.

There are more details about the exact rules of the game, but you get the idea.  I expect some of the mechanics to change as I finish the prototype and see which ideas work and which don’t.

Getting the Ball Rolling

Things have been pretty hectic for a while but now that they’ve finally started to settle down, I’ll be able to really get stuff going here.  Some disparate things that I’ve been up to which will almost definitely pop up in the future:

– I’ve nailed down the concept/outline of my first Flash project, which is meant to be a small and unambitious game just to get my feet wet in Flex production.  As a result my timeline is pretty short as well; I hope to get all the programming and writing finished by June 1.

– I’d really like to start getting into the world of open-source programming, and so my first step in that is schooling myself in version control.  Basically, I’m reading Pro Git.

– I’ve been polishing and fine tuning a previous project of mine, called ‘Mandate’, to the point where I feel comfortable putting it online for all to see and try out.  No particular timeline for this outside of ‘very soon’.

Hello World

Why hello there, person currently reading my blog!  This, if you had not yet noticed, is the first post out of hopefully many others to come.

Let’s talk about what these hypothetical future posts will contain for a second.  My main interests include programming, game design, the study of history, and to a much much more limited extent, art.  So, you can expect a lot of posts to be about what I’m currently learning and trying out in programming.  You can also expect some to be about what game pet project I’m working on, at which times this will mirror an indie dev blog.  Some posts may just be me remarking on history that I’m reading, or wondering aloud about the study of history in a meta sense.  And some may be me posting illustrations and trying to make progress in that area; eventually I’d like to migrate to digital art, but at the moment I’m content with sketching basic anatomy.  Baby steps, and all that.  And most importantly, somewhere in all of this I might actually do or say interesting things.

So, if any of that sounds up your alley, stick around!

I’m not yet sure what the schedule will be as far as updates go; for now I’m just going to post everything whenever I want and we’ll see what sticks.  Alright, let’s do this thing.