10/01/2022 – 2020: The Threequel – It Can’t Get Worse, Right?

Later this year, this website will be 10 years old. You think I would have done more with it.

Anyway, do you like the new makeover? It’s not that big of an improvement, all I really did was change the theme and update some images. Either way, there’s a proper dark theme now and everything is less of an eyesore. Better fonts too.

Let’s start off with an update on that headphone story from the last proper post. Turns out the headphones I was using with my phone were APTX, meaning low latency. And the new ones that I was using with the Quest via that transmitter weren’t. So I’ve swapped them and I’ve noticed there’s even less latency when using VR now. And for an added bonus, the new headphones are much better at noise cancelling, making it superior for when I’m out walking the dog listening to stuff on my phone.

I mentioned last time that I got Oculus AirLink working with my quest. Although I’m fairly happy with the results, it’s not completely perfect. I certainly notice some jitter or stuttering from time to time and occasionally the picture resolution will drop in quality. But for being wireless, I’ll happily take the shortcomings. Unfortunately, I can’t use it wirelessly for long because it drains the battery very quickly.

Messing around with VR also led me down the road of thinking about using a virtual avatar to display while playing VR games, so that viewers can get an idea about some of my body movements. And so VRoid comes into play.

It’s a me! Albeit with really long arms. Work in progress.

The software is quite easy to use and very detailed. Think of it as a more elaborate character creator that you might find in games like Saint’s Row. The default clothing options are very limited though, but you can edit the textures to create your own interesting designs. In the image above, you can see that I modified a texture to try and recreate my jacket. The bad news is that I didn’t have any decent tools for image manipulation or image creation. Although as I’m writing this, I’ve recently installed GIMP. Perhaps now I can do a bit more work to it.

Speaking of software, I’m starting to think about getting back into video editing and I’m considering downloading and trying out Da Vinci Resolve. I used to do video editing with Premiere and After Effects, but money is getting tight, so I’m looking at free options these days. We’ll see if I actually do anything though, I got a lot going on right now as I’ll get to later.

Another thing that’s been bothering me about my VR setup is the microphone. The built-in mic for the Quest sounds like muffled crap for me and no amount of audio adjustment seems to solve that problem. So I was looking at getting a new microphone with my Xmas money, but as it happens, my sister decided to gift me the microphone I wanted as a present. Saves me some money at least.

The new mic seems to be OK. It boosts the volume and helps the clarity a bit, but there does appear to be a small amount of interference or crackling on occasion. More tests are required I’m sure.

Just as a last thing; over New Years I watched They Shall Not Grow Old. Now I bought the physical Bluray of it, and my Bluray player of choice is my PS3. About 3/4 through the film though, I was getting horrible graphical artefacts and glitches. I had hoped it was just some weird HDCP bug caused by my capture set up, but when I adjusted my cables and reset the video settings on the PS3, it became apparent that the GPU was most likely dying.

My options were to go back to my other, older PS3 which a disc drive that didn’t function properly or buy another PS3. I originally picked the first option. But once I got it connected, I received the YLOD. That only left me with one option left and a day or so ago I received a used PS3 that was in fairly decent condition and decided to do a full system transfer.

I’m on my 4th PS3 now. I thought hardware failure of this kind was something only original Xbox 360 owners had to deal with. Either way, my plans for playing through PS3 games that are still on my backlog have shot up in my schedule because I should probably enjoy them before this machine conks it as well.

New Year Plans

It’s difficult to make plans for this year all things considered. I’m still hoping to hitch a ride to Japan with the help of a friend of mine and his mate. But God knows if that’ll happen.

But I will do the language proficiency test (JLPT) this year, if available. Starting with N5, although I have a feeling it might be too easy considering the Kanji levels I’m studying at the same time. I’ll look into it more soon.

At the tailend of last year I submitted my CV a couple of times to a few job openings, but I was unsuccessful on all accounts. I’ll probably keep trying, but I might start looking into going back into training. Perhaps online courses or something like that. I’m not sure if I’ll stick to games or maybe go back to traditional software development.

I would also like to get back into drawing again. It’s been well over a decade since I drew anything seriously and I’ve still got a desk full of art tools. I gotta start from scratch again and re-learn everything, and then education myself on new things like drawing humans and animals, and animation. But it’ll be a serious time commitment.

I can’t really commit to anything else for the time being.

Plans For Current Projects

I’m going to go back to the Game Template Project and start getting that into a somewhat releasable state. I need to add more multiplayer functions and game modes, as well as fixing and improving a lot of the game types. Specifically making them more flexible and expandable. I intend to sell this thing, so it has to be of a relatively high quality, or at least packed with features.

Space Cart is a bit up in the air. I know what needs doing, but it’s intimidating as Hell. There’s a ton of inter-locked systems that I now need to break up, remake, and put back together again. And then make all the new UI work with a controller. I need to figure out a way to motivate myself to just get it done.

The fighting game prototype is hold-on until further notice. I just don’t have the time or knowledge to be able to make anything competent right now. I do have some of the animations ready to use, but the actual system itself will likely require an overhaul as Unity’s default animation GUI can get messy with a lot of animations. Or perhaps I’m just doing it wrong. Either way, I can’t deal with it anytime soon.

Bunny Jammers Redux really only existed as a test for me to make a networked multiplayer game. And I haven’t achieved that goal yet, so I will probably work on that either alongside or after the template project.

I really hope this year is better than the last two. And I hope Windjammers 2 is good.

-Adam

18/12/2021 – The Wait For Headphones And Bluetooth Delay

In late October, I decided to get myself a new phone. I got an Sony Xperia 10 III.

The phone is alright. Taller screen due to the 21:9 aspect ratio which I am not really into. I tend to prefer my phones as compact as possible, and greatly miss the days of flip phones. Anyway, all my stuff still works, although there’s some getting used to because they keep changing the dumbest stuff between phones.

But onto the first story. The phone was promised to come with some wireless headphones, decent Sony sound cancelling ones. But when the phone turns up, it’s just a package with the phone. So I end up calling EE, who I bought the phone from, and asked them where the headphones I was promised are. That’s when I learnt about a waiting period, that was never mentioned on the site, and that Sony were running it and were supposed to send me a text or e-mail about it. A couple of days later I get that text, fill in the details, and then get told I’ll get it within 3 weeks.

While I waited, I pondered on what I would use these new headphones on, as I already had Bluetooth ones for my phone. And I figured I would use it for my Oculus Quest, removing one more cable from my setup.

Over a month passed, and I was getting rather impatient. I contacted Sony multiple times, only receiving one reply saying that it was something on EE’s end, and after contacting EE they told me to contact Sony again.

Just as I was starting to consider serious dispute options, lo-and-behold, the headphones just turn up on my doorstep. All’s well that ends well I suppose. But this only leads into another series of problems.

I paired these new headphones up to my Quest and found out the fun way that the thing doesn’t support low latency Bluetooth codecs, making it absolutely useless to use with games. I don’t know why they allow you to pair headphones if it doesn’t work properly, seems like a pretty big oversight.

Following that, I did some research and found myself a Bluetooth transmitter. A MaedHawk one specifically. It’s not too bad. The delay is dramatically reduced, although you can definitely notice it still, but it’s now at least acceptable.

But now I enter my next problem; I have more devices that need USB to charge than places and ports to charge them. Plus I need somewhere to put all these damn headphones I now own. Leading me to buying an Anker USB hub, and some metal hooks held to the bottom of my bookcase using sticky pads.

So after spending a bit more money than I wanted, I’m relatively pleased with my set up.

Now, I was planning on ending that story there, but there’s a new problem.

Lately I’ve been having issues streaming VR stuff with OBS, crashes after 15 minutes or so. Furthermore, the mic on the Quest is utter crap and sounds terrible when streaming. Meaning my next side quest in life involves finding a new mic and trying to figure out why OBS shits the bed whenever I stream VR stuff. For now I’ve found a workaround for the latter where I’ve just made a new source collection on my main scene collection, where OBS doesn’t crash.

I have a few candidates for a wireless mic solution, but I’m unsure about the quality; and in one case, the price. I’ll keep doing some research into the matter and see if I can find something decent.

In other news, I finally got Oculus Air Link working. It involved editing some values in Oculus Debug Tool that I had previously edited, to lower them far enough that it actually operated properly. Anyway, I’m now completely wireless in VR. FREEDOM.

Tested out Elevens: Table Tennis and Half-Life: Alyx. Both worked well, no serious delay. There’s certainly some visual downgrades compared to using a cable, but it’s a small price to pay, plus I hadn’t fully adjusted my settings to allow for a higher bitrate.

Game Dev Stuff

Last post I mentioned I was going to goof around with Mirror in Unity. It’s certainly more mature than MLAPI in terms of features, and I can certainly see what MLAPI influenced by.

But you may remember some months back when I did ThreeThingGame and made a pretty crappy Windjammers clone called “Bunny Jammers”. I was never particularly happy with that game, I thought it played terribly. So recently I decided rebuild it, with networked multiplayer, in Unity.

Currently, I’ve just about got the absolute basic gameplay features working. The player can grab and throw the ball, the scoring works, and movement is getting there. Unity undoubtedly tried to make building this more complicated than it ever needed to be, and furthermore, their physics system is absolute trash. I’ve rolled my own, which isn’t too bad because it’s fairly simple.

I’ve still got more to do for the gameplay, but once I’ve got that done, I can start working on the networked side of things.

As for Space Cart… I got nothing. I haven’t touched it in months. There’s still a lot of systems I need to rebuild for that. But quite frankly, I’ve lost pretty much all of my drive to develop that idea. I’m not gonna make any promises that’ll get worked on any time soon.

That’s it. Next thing from me will be the year-end Den post with my top 10. See you then.

-Adam

15/11/2021 – ThreeThingGame Autumn 2021

Frozen, Camel, Leaves

Those were our words this time around as we descended back into the depths of game jamming.

This time around I was a lot more prepared thanks to the game templates I had previously made. So during the design phase, when the idea was pitched, I could easily jump into Unity and have something playable within a few moments.

Alex & I were joined by an extra this time around. A music student from the Uni named Jordan. He did some pretty good work, taking over the sound and music production for us.

But on to the game. Called “Keep Warm”.

We went for a similar game to ill-fated The Feathered Stalker game that we did for Global Game Jam earlier in the year. The player gathers up items around an environment. This time though, players can now use items together in order to make progress.

For example, the player can find a lighter and use it with a pile of leaves in order to get an ending where they start a fire. I mentioned the Flash game “Don’t Shit Your Pants” when we were figuring out the gameplay aspects. The player’s actions leading to different endings being the point of contention.

The finished game has 2 ways of dying, and 2 ways of surviving. See if you can get them all.

If we had more time or wanted to expand on this idea I’d probably focus on more interactivity and tools. As well as more ways to die, both serious and silly.

Overall, the event went well. Game got finished, and I actually got to go sleep before day break. I’d call that a win overall.

If you want to play the game, here’s the link:

Other than that, I’m working on the year-end Den post and fooling around with Mirror networking in Unity. We’ll see how well those go.

-Adam

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

02/02/2021 – Global Game Jam 2021

Let’s get this out of the way, the game did not get finished within the 48 hours.

My friend was very proud of this. The station name apparently says “Placeholder”.

We were trying to build a game similar to Slenderman with a shade of STALKER. The player goes around picking up parts, after they pick up the first part, a monster spawns in and starts following the player around. Where it differs to Slenderman is that the monster is supposed to react to sound to find where the player is, and actually attack the player more directly rather than just going insane.

So how did it go? Not terribly from a gameplay point of view. You can start and finish the game, which I consider to be somewhat of a success.

Our problems mostly stemmed from issues transferring models from Blender to Unity. Several of the models had buggered UVs and culling problems. Because of that I had to wait quite a while to even have enough art stuff done to actually get the game up and running to its current state.

The second major issue was the monster itself, importing it into Unity often led to it not having the animations, or when it did have the animations, they would get deleted after converting the model from a generic to a humanoid rig. Once it was converted to a humanoid rig, the bones themselves would cause errors. At this point it was very late into the second day and the decision as to whether or not we should stay up came into question. Based on the amount of work that was still required, we decided to call it a night there.

However, the story doesn’t end there.

Today, I started added additional models into the level, fixing up the collisions, and added more spawn points for the items. I also looked into the monster rigging again and found the bone structure problem and fixed it, but after getting deeper into configuring the model I found that the skeleton was backwards in places. After talking to my friend who helped with that aspect of the game, we both came to the conclusion that it should probably be re-done.

So that’s where the game is at. I’m gonna put a link to the Itch.io and GGJ pages here, and you can check in on them if you want keep up with development.

-Adam

24/01/2021 – Space Cart Demo, C++ Progression, & New Project

Dog got spayed back in December, she’s doing great.

There is a new Space Cart demo, you can play it at the itch.io link below.

The new demo fixes up a lot of the issues were complaints the last time I made the demo. New navigation UI, better menus, more sounds, music, infinite scrolling, parallax scrolling, and so on. The demo has been out for a while now and I’ve gotten quite a bit of feedback on it, the most notable being that the PC controls are kinda broken.

The next milestone for me is going to be in November of this year. Originally I wasn’t planning on continuing development for Space Cart because I honestly wasn’t enjoying playing it when testing stuff. But seeing other people playing it, giving me feedback, and offering ideas; it rejuvenated desire to continue. Follow the game on Itch if you want regular updates on its development.

In C++ news, I finished going through the C++ Programming In Easy Steps book that I’ve had since Uni, and honestly, C++ is nowhere as intimidating as it used to be for me. OK, pointers are still a bit weird to me, but at least I understand them now. Not entirely sure where I would use them in my own programming problems, but it’s good to know.

With that out of the way, I want to get revenge on my old 3rd year project of trying to make a music visualiser. It’s been a mental weight on my mind since Uni that has been dragging me down since. So I’m gonna start over and properly build it this time with my new found knowledge.

Not decided on what APIs I’ll use, but SFML is still around and is originally based in C++, so that’ll probably be a my starting point.

As for the “New Project”, it’s significantly more complex that anything I’ve made so far. Several orders of magnitude more complex and requiring a lot of skills that I haven’t been in touch with for several years.

It’s a fighting game. 3D fighting game with Z-axis movement (Not fully, but some. Think Tekken or DoA). The unique hook is that it doesn’t require complex button presses or input timings. It’s more focuses on positioning, blocking, and dodge timing. The second aspect is that it features stance changing. I won’t go too deep into the details, but that’s the main idea.

The first bit of work I’ve done on it is building a series of animation states within Unity, and getting started with the 3D animation. The latter is the challenging part, even getting the character moving is proving to be challenging.

The new project isn’t really a project anyway, it’s more of a prototype I’ve had kicking around for a few months now. Curious how well it’ll go. It most likely won’t go well.

For my final point this post; I’m doing Global Game Jam this year. Because it’s remote this year it makes it a lot easier to be convinced to go do it this year. ThreeThingGame a couple months back got me interested in joining in on jams again, so I’m looking forward to burning myself out again.

I will try and stream as much of it as I can, and I will do a blog post after the event. It starts on January 28th and ends on the 30th. I hope it goes well.

-Adam