Hi, I make games casually and sometimes make posts regarding them. As well as progress reports, I post general musings on game design and development in general. Links to my Itch and Gamejolt accounts are available on my blog.

COLD updates

It’s been a while since I’ve posted anything about this, mainly because I’ve been making small incremental changes and fixes rather than big system reworks, and twitter works way better for that kind of thing.

That said, twitter’s character limits are a pain in the ass, and pretty much limit my posts to “lel look at this amusing feature“. Here’s a more detailed description of the stuff I’ve been doing.

Probably the largest change I’ve made has been around weapon reloading.

image

Tumblr’s gif size limits don’t display it very well, but as shown above, when in fullscreen the weapon interface is very far away from the center of the screen. This is an issue, as it means that to see the status of your weapons you have to completely take your focus off your character, which could easily lead to death.

So, the solution is to put the most important parts of the interface around the focus of the player’s attention right? Yeah, in fact there are already examples of this in the game, like how the player is more or less on fire depending on their health.

This has problems as well though, as cluttering up the area of the player’s focus can also be an issue. My first attempt to strike a balance between these two extremes came out as follows.

image

The cursor is also a significant area of focus for the player, so positioning some stuff around that can also be useful. The yellow fill in the circle shows firing cooldowns, while the little gems around it each represent a weapon, with the one directly above the cursor being the currently selected one. If it’s coloured, it’s not reloading, and the grey border shows whether it’s ready to fire or not.

I’m hoping this will be sufficient, but I’m not going to know for sure until I can get some testers in. Who knows, maybe I’ll be making a similar post in the future.

Also related to weapons,

image

you can hold down the reload button to reload all weapons instead of just the selected one. This is a lot less painful than scrolling through them all pressing reload.

So yeah, you can see the reasoning behind the delay when that is the largest feature.

Another large thing, that didn’t actually take long to implement at all, is rudimentary pathfinding for enemies.

image

Here you can see some bots being awful at getting around a wall. This kind of behaviour makes the game way too cheesable, which encourages the player to play in a boring and frustrating way.

image

Pictured above, bots being decidedly good at getting around a wall. Don’t worry about the extreme screen shake, they’re just also very good at destroying the player.

And, for the smaller features I implemented these badass freeform polygon walls.

image

And also two new weapons, the Slugger, which can be charged up to fire all its chambers at once.

image

And the Slave Bots, which fires a cluster of homing projectiles.

image

So yeah, those are the changes I’ve made since last time.

I’m probably going to do something big next, maybe implement doors or something.

I post more regularly, albeit it in less detail, on my twitter.

Oh SHIT, I forgot that the tumblr bots ban deserts now. That’s extremely unfortunate for my latest project.

image

Lets see if this gif gets through.

I guess I’m gonna just have to wait for it to get appealed.

In the mean time, there’s a 700ish post mortem to look forward to.

7DRL 2019 - I of the Storm

I did 7DRL again this year, with great success.

image

I don’t remember exactly how the idea came to me, but I wanted to do something where attacks were triggered by specific sequences of movement. For instance, moving left left right might trigger an explosion or something. Other than that, my other key restraint was the knowledge of how little time I was going to have this time around, so my scope had to be quite small.

So after much deliberation my basic design came out as follows.

  1. Spells are cast by moving in specific patterns.
  2. These spells confer a variety or buffs, or trigger a variety of attacks.
  3. These spells are used to defeat incoming waves of enemies in an arena.

I went with the arena approach so that I didn’t have to deal with level generation, which always takes up a large portion of time.

There were a couple more aesthetic choices that I wanted to play around with too, specifically I wanted to try messing around with a non-fixed tile system similar to what I used in 7DRL 2017. The ‘dancing’ combat system reminded me of a dervish, or a monk type character, so setting the game in an Arabian desert made sense, which then led into the connection with the tile system, having the arena be the cleared center of a sand storm(this also provided the title, “I of the Storm”).

image

As well as that broad overview, there were a couple design decisions I made that shaped the game a fair bit:

No variable direction arrows/patterns are always the same

I’ve finally learnt my lesson after all these years, and accepted that greater complexity and choice does not necessarily mean greater strategy. Oftentimes it can just mean greater confusion. So, instead of deciding on an overly complicated system at the start and having to remove it later like last year, I just put my foot down at the start and decided that I would have no arrows changing directions.

I thought this was going to mean that I couldn’t have any aimed attacks, but I got around that later on by having aimed attacks targeted by the move you take immediately after completing the pattern.

Limited number of rounds, ending with a boss

I’ve had a philosophy for a while now, that in general endless games are a bad idea. This is because with an endless game, the 'end’ is the point where the player gets bored and stops playing, and the player is therefore left with a bad experience of the game. Following this idea, I decided to have the game run for a limited amount of time, and end with a larger boss enemy.

So, with those ideas in mind, I got to work.

image

There weren’t really any noteworthy points in development(unlike last time), just progress as usual until it was done.

I was happy in the end with how it turned out. It ended up about how I had envisioned it, which is as much as anyone can hope for really. I managed to implement a decent number of different spells to play around with, and the difficulty was sitting in a pretty good spot I think.

My biggest failure this time around was two part, but was mostly to do with forgetting about accessibility. Firstly, the spinning storm effect turned out to make people pretty sick sometimes. I actually predicted this one near the start, but for some reason I convinced myself over the period of the jam that it wasn’t going to be a problem, so I never implemented a toggle to turn it off. The second issue was that the text size was quite small, due to how many words I wanted to fit in the description boxes, and the low resolution that I like to design for (just in case people are playing on laptops or something, you know). I fixed both of these post jam, but I really should have predicted this and added in countermeasures before the end.

For anyone wondering why I wrote all that flavour text for everything, I’ve just kind of been in a writy mood recently. I’ve been reading the Necronomicon, so a lot of the descriptive style was inspired by Lovecraft’s stories. Most people probably won’t read it, but I’m hoping those that do find it enjoyable. Copious writing is something that I find a lot of people don’t bother with these days, but I find it enjoyable, and I feel it’s a good goal to try and make things that you yourself would enjoy.

So yeah, that’s how 7DRL went this year for me.

If you want to check out what I’ve been writing about for the last 750 words, link here.

image

I’ll return back to COLD development now, so expect updates on that in not-too-long. Baba is you also came out yesterday though, so it might be a bit longer than otherwise expected.

Freaky math rocks

I recently implemented a new texture to replace the ugly looking rocky wall, and I know you guys love it when I go into detailed posts about the underlying mathematics of my systems.

As a point of reference, here’s what they looked like before.

image

Look at that, so ugly. Ech.

For the new walls, I wanted less overlap and more prominent cracks. For that, I decided to go with a bunch of hexagons with random vertices.

Here’s how that started out.

image

This is pretty much a map of the corresponding indices in an array for each hexagon. From this I figured out a formula to generate a list of the points that correspond to a given hexagon, and after that it was just case of actually generating this array of points, and randomizing their positions slightly.

Don’t worry about the 120 degress typo, it’s just. Just don’t

image

Anyway, here’s what it ended up looking like in the end, or at least the general shape.

image

And here it is in game. (notice how it blends on the corner, it’s pretty neat)

Now I don’t know about you, but that doesn’t look like much of a wall to me, it’s just too flat and joined with the floor.

But that’s where lighting comes in.

image

I also wrote a shader to draw a nice shadow along the wall edges, to give it that extra depth.

image

I did it by calculating the distance of the pixel from the wall and determining the red based on that, then taking the pixel with the highest red so as to have colliding wall shadows blend nicely. Finally, the opacity of the shadow is determined by the amount of red.

Now scroll back up to the top and look at how ugly that original wall was again.

Anyway, hope you’ve enjoyed this glance into the mathematics behind a wall shadow.

In other news, 7DRL is next week. Hype.

Just finished LoveJam2019. Back when I was working on detritus walks, I fucked up the wall canvas drawing in a very particular way, that was actually pretty cool. Now I’ve come back to explore the idea more, with the following unholy results.
Apart...

Just finished LoveJam2019. Back when I was working on detritus walks, I fucked up the wall canvas drawing in a very particular way, that was actually pretty cool. Now I’ve come back to explore the idea more, with the following unholy results.

Apart from looking extremely weirdy, it’s also got pretentious poetry and some okayish platforming.

Check it out here.

Weapon boxes

image

Yes, I spent a week making really nice weapon boxes. Hear me out though, it might not seem like it but this kind of small detail is a pretty big deal. With the sheer volume of weapons I want to have implemented, it’s important to make sure the first impressions of each one are good, and those impressions start with the visuals of the pick up itself.

image

Opening the box also has to seem exciting, hence the big activity with the two parts of the contianer flying off, and all the particles flying out.

image

Here’s the corresponding interface element.

I wrote a pretty cool shader to give it the more spherical look.

image

Just look at that shader. Unbelievable.

Finally, here’s a comparison photo, from original concept to finished in game implementation.

image

Anyway, that’s all for this week. I’m not sure exactly what I’m going to work on next, I might patch up some of the background textures.

Until then.

I have a twitter now

It’s been around a year since I started my tumblr account, and things have gone pretty well. With the apocalyptic porn blocking recently though, I feel it’s probably a good idea to start expanding my horizons. With that said, I now have a twitter, link HERE.

I’m still going to be updating primarily on my blog though, twitter doesn’t really allow for the kinds of posts I want to create, but I’m hoping twitter will provide a new path for people to find out about my stuff, and also possibly provide an avenue for those of you already interested to keep up to date.

I’ve also continued work on COLD, making a new enemy like I said I would.

image

Here is the impassionate maintenance crawler.

image

It’s mostly harmless, at least compared to the other machines, and enjoys roaming aimlessly through forgotten corridors.

image
image
image

Also, for any of you I’m following who have also been conducting a tumblr exodus, feel free to shoot me a PM and I’ll follow you on twitter too. I’ve got a bunch of you, but I’m sure I’ve missed some.

See you next time.

New Enemy: Speeder

Just finished porting across an old enemy, and generally touching it up.

image

He goes fast.

image

The Speeder is capable of great speed, and takes advantage of this to offer strafing fire with his light particle repeater. Most of his speed however comes from his acceleration, and once he slows down he becomes in many respects a sitting duck.

image

He’s also vulnerable to explosions, just like everything else.

I’m going to be working on updating another enemy after this, so get hyped for that.

It might not be that easy to notice, but there is a subtle difference between the above two gifs that makes the bottom one feel much more impactful and impressive.

That’s the hope at least.

The bottom gif has a slight screenshake added to the weapon firing, and it might be hard to notice from the gifs shown, but in game it makes a world of difference. Where the guns used to feel like you were just ejecting projectiles, with the screenshake they really feel like they’re firing something.

It’s these kinds of little additions that really contribute to the feel of the game.

Support
Basic v1.1.2 (check for updates)