03/09/2021 – Townscaper Is Pretty Cool

Summer has been pretty rough for me. The heat wave got to me pretty badly and made it difficult to do anything productive. Then it cooled down and I somehow managed to catch a cold which I initially thought was my allergies going haywire. The joys of being allergic to dogs and then deciding to own one.

Tiny Towns!

Anyway, this isn’t a post about Townscaper, I figured I’d just use some screenshots to pretty up the thing.

The first batch of templates for the Game Template Project is done, or at least in a usable state. It mostly covers 2D game types. There’s Tennis (Read as: Pong Clone), vertical and sidescrolling shooter, top down shooter, top down shooter with a map, and so on. Plus a couple of 3D types; FPS, and Infinite Faller. And just to top it off, a generic main menu.

They’re not the prettiest looking templates, but they do serve the purpose I originally set out of having a “Starter kit” for getting game ideas up an running. Next chance I get to take part in a game jam, I’m sure they’ll come in use.

As for when I’ll publically release them; Soon™️.

Slightly Less Tiny Towns!

As for other updates, I finally fixed the camera in FIST-EM (God, I need to change this name) so that it now rotates around the players without dodgy jerryrigging. And because I’m such I nice guy, here’s the code for it:

//You need to get the centre point of both players, referred here as midPoint. "playersCentrePoint" in an in-game object that is set at that midpoint. You don't need to do it that way, but it helps in visual debugging.

//This gets the direction of player 2, in this case on the right side of the screen.
Vector3 direction = players[1].position - playersCentrePoint.position;

//This gets the perpendicular vector of the previous direction
Vector3 directionRight = -(Vector3.Cross(direction, Vector3.up).normalized);

//Then set the camera position using the midpoint and perpendicular vectors, then offset it with the camera distance. Then set the camera to face towards the correct direction.
camera.position = midPoint + directionRight * camDistance;
camera.forward = -directionRight;

Now that’s obviously pseudocode, but that should help anybody looking to figure out how to do that.

But now that the camera is operating as it should, I can finally move on to the meat of the thing; the combat. I can probably fudge together some animations nicked from Mixamo, but getting them re-targeted and blending together well is a whole other bag of worms. At the very least, I’ve made a start on what the button combos are going to look like and what kind of moves occur in those scenarios.

Not much else to report on at the minute, and certainly nothing on Space Cart. Although I did mention I didn’t know if the project was missing things due to the HDD troubles I was having, and after a few quick tests and looking at the files; it seems like everything is in order. So that’s good I suppose. The next Demo Day is at the beginning of November, I’ll try and get something out for it, but no promises, I will very likely push it into next year.

There is one more thing, I bought couple of new mice. Both Logitech. A G502 HERO and another G300s. To use on my main rig and ITX rig respectively. The old mice were giving me terrible double click issues, so I replaced them. I feel like mice don’t last very long these days, the ones before were only a few years old at the most.

That’s it from me, till next time.

-Adam

01/07/2021 – The Busted Hard Drive Saga

Even more setbacks and computer problems.

This time Windows decided to inform me that one of my HDDs was biting the dust, at first I thought it was an error on Windows part as it only came up once and then disappeared. Then when my bios started telling me the HDD was buggered I actually went and checked it, and sure enough, it was in a really bad shape. The noise of the thing while testing it was horrendous.

Anyway, this HDD was the one I was storing my documents on, so it’s kind of important that it worked. And so began my journey of trying to find software to clone the drive before it bit the dust.

I downloaded Acronis True Image and Macrium Reflect hoping one of them would work. As it happens, True Image only lets you clone the drive if you pay for it. Thankfully, Macrium Reflect would have done the job.

“Would have” is the key point there, as every time I tried to perform the cloning it would error out because the drive was so buggered that it didn’t have enough speed to start the operation and time out.

So I went to Plan C; format the new drive and give it the same name and drive letter as the old one, then manually copy over everything. The only reason this works was because I cocked up when initially formatting the old drive when I originally got it and setting the whole drive as “My Documents” folder. This ended up working in my favour, as once I got everything copied over, the programs linked to those original folders automatically found them again and started operating as normal. Steam also relinked the games back up.

It’s not completely perfect though; after getting back to my Unity projects, I found that several files were missing. Not too big of a deal as I had them backed up on my repo, but I am a little worried about the projects I never got to commit or didn’t have repos.

Space Cart might be in danger of being too messed up to continue development with. I’ll give news on that soon if that happens to be the case.

In the grand scheme of things, it could have been worse. But it did set my schedule back by about a week.

On that note, the Game Template Project is progressing. 4 templates are ready to be used, and several more are being worked on. However, my estimate of taking a month to make these was maybe a bit conservative. So I’ll continue working on this until at least the end of July. But I really don’t want to spend any longer than that.

That’s it from me. Don’t expect another post for a while.

-Adam

03/06/2021 – The Game Jam Templates Project

A new Den post is almost ready. Quite a lot of games to talk about.

Till then, I started another project. This one isn’t a game per se, but a series of game templates or starter projects. Basically, a bunch of barebones projects based around various genres and ideas.

It’s intended to help prototyping ideas or getting game jam ideas up and running quicker. This comes from my own experiences in game jams where even though the idea for our games were simple, we still had to split time between development and art. And it ended up hurting the core gameplay feel more often than not.

This was especially problematic when working on The Feathered Stalker back in GGJ2021, where as the person in charge of the programming, I spent an alarming amount of time programming the player character and having it work properly, but ending up not finishing the game as a whole due to the core features taking too much time, plus the monster never got properly finished.

So having a few generic gameplay systems would probably help my life a lot during game jam stuff, at least where Unity is concerned. And if it helps me, maybe it’ll help others too.

Probably not gonna spend too long on this project though, probably June and some of July on it. Providing I can be as productive as possible and not have to deal with real-life bollocks, I should be able to bang out a template every day or couple of days.

One of the more interesting things I want to work on is networked multiplayer, and have it work with the different game templates. Not sure how that’s going to go, but I will provide updates as I go along.

In terms of other projects; the fighting game prototype, FIST-EM, is semi-on-hold. I’m still working on fixing the camera and the movement system. I’m not even going to attempt to animate any combat until those two things are fixed. Plus I need some new or adjusted animations for what I currently have anyway.

As for the reason why it’s on-hold; Space Cart. Currently re-doing the station menus and everything related to it. As well as going to make new mission types. Unfortunately, I need to rewrite quite a bit of code because what’s there is basically the contents of a pasta bowl. And it’s taking longer than I would like to work on it due to not being particularly motivated. Feature creep Hell is real and will haunt you.

Not much else has really been going on, not surprisingly. Our dog has had a few problems since the last post, but nothing too serious. Now that sun is out a bit more, playing with her is going to be much easier, she’s been fairly grumpy during the very wet and cold spring we’ve had.

That’s everything I guess. Like I said, Den post soon.

-Adam

30/03/2021 – ThreeThingGame Easter 2021

I sure hope I don’t get sued.

Another ThreeThingGame happened, and once again I decided to join. Having learnt absolutely fuck all from the last TTG; myself and my friend jumped right in.

We decided to go into the jam this time with a basic idea of a game rattling around and use our words as a theme for it. We joked about making a slightly more elaborate Pong clone.

Once we got our words: “Bunny”, “Kicking”, “Throwing”; I was suddenly reminded and subsequently inspired of the legendary NEO-GEO game from Data-East, Windjammers.

Seeing as I was doing the programming last game jam, this time my friend was doing the code and I was in charge of the art. And instead of Unity, we were using Godot again. As expected, it ended up being the bain of our existence for a multitude of reasons.

Godot continues to surprise me with how certain aspects are really half-baked. One of the first issues we encountered was with the controls, where we couldn’t separate Left Ctrl and Right Ctrl keys, Godot only defined it as one key. Seeing as we were making a multiplayer, this was a bit of a problem. The solution: Hard coding the controls.

The art side of the game, which was entirely my responsibility, went fairly well. The bunny sprite I made was a bit low effort in hindsight, but I really wanted to spend time on playing the game and giving feedback for refinement. But I was fairly pleased with how the points popping up on screen looked. The music choices were pretty bloody great, thanks to OpenGameArt.org.

It wasn’t perfect, but I feel better about this game than the Global Game Jam and last TTG games.

Anyway, if you want to check out Bunny Jammers, you can do so at the link below.

Despite the jam only being a few days ago, I already have an idea for the next jam, but I’ll keep that to myself for now. What I might do in the meantime is port Bunny Jammers to Unity to see if I can get it to play a bit better. But that’s a big maybe.

Till next time.

-Adam

02/03/2021 – FIST-EM

Yes, the game’s title is dumb.

I started making this game in order to prove a point to my friend about how I thought directional inputs in fighting games suck for controllers, and despite a lot of bumps, progress is getting made.

You can follow development below.

This is only intended to be a prototype though. Don’t expect this to get turned into a full game. I do however intend on getting roll-back netcode working with it. But that will come much later.

A fair few challenges working on this so far. I gave up on trying to do the 3D animation myself and instead relied on Mixamo for the animation so far, but I did setup all the animation states and the programming relating to it. And anyone who watches my Twitch streams likely knows how much pain the camera was to finally figure out.

So that’s the 3rd project I’m working on. The GGJ game is binned, I’ll make the game page public eventually, but probably won’t upload the game. The music visualiser is on hold until I can find a more suitable C++ library to use as SFML is a bit more of a pain than I would like. I might use Godot with Native Script.

-Adam