01/01/2025 – 2020+=5

Here’s the video for 7DFPS. It’s not great, but it covers the important bits. I’m still not too happy about the whole affair. I achieved what I set out to do, but I’m not satisfied with the quality of it. It’s just not much of a game. Whatever, I ain’t going back to it.

So what’s this blog post about? Future plans, of course.

I’m just gonna bullet point the current plans for the year, with dates where applicable.

  • In the coming days: Year end roundup post
  • Jan 20th: Global Game Jam
  • February: SMG Asset release
  • June 4th – 6th: Demo Day 62, new Cybersurfer demo
  • Summer/Autumn: Cybersurfer Early Access release, new branding, and title also
  • December: 7DFPS

That’s the brief overview of the year. There will of course be other things than Cybersurfer and game jams. I’m hoping to catch up with side projects like reworking Rotaction and learning more about Blender. Doing more projects with Godot and possibly GB Studio are also planned. But none of these have definitive dates associated with them. I’ll get to them when and if I’m available.

This is year is make or break for me at this point. I need to focus on what I’m good at get stuff out there.

As for other things, well, I’m replacing my PC case at some point in the next week or two. I got a Fractal Pop XL Air case to replace the 12-year-old Lian Li one that I have. The fans and LEDs are dying on it, and it’s falling apart in places. With the Ryzen 5800X3D chip inside it getting extremely warm while using the stock cooler I got from the Ryzen 2700, it really is time for me to switch it out.

I’ve never done water cooling before, but the AIO solutions seem simple enough to install these days. I hope it all goes well. But I’ve been through this before, and something usually breaks.

I hope you look forward to my year-end roundup post coming in the next few days.

-Adam

10/12/2024 – 7DFPS 2024

I’m never making another VR game.

Last year, I made a VR game about moving through a level as enemies spawned to a beat. It was an experiment to see whether or not moving a player along automatically would cause any form of motion sickness. It wasn’t the most full-featured thing, but it did prove a point. That said, I wanted to go further with the idea.

This year’s game is a two-level game that expands on the ideas a bit, focusing on a more traditional action game format. In terms of player handling, the weapon system has been improved. You can now eject your magazine at any time and put in a fresh one, allowing for tactical reloads. You now have semi-functioning hands, although no real use for them. And you can now switch weapons. The new gun is an SMG I made.

Switching weapons actually involves putting your hand on different parts of your body and pressing the right grip. My understanding is that Boneworks already had a similar system, so it’s not as novel of an idea as I thought, but my implementation works well enough.

As for the levels themselves: The first level is a standard action level where the player moves through a dance club as enemies spawn around them. There’s a part in the middle of the dance floor where the player stops and enemies spawn around them. They then proceed through an office before eventually ending at the last room. Fairly traditional stuff, mostly there just to keep testing that moving the player along doesn’t cause problems.

The second level is the real stress test. The player is standing on the bed of a pickup truck as it drives through a city. Enemy cars spawn as they chase the player, and the player has to shoot them. The increased speed and turning might cause more problems for players, hence why it makes for a good test bed. Originally, there was going to be a helicopter sequence, but in testing that, the up-and-down motion of it made me feel really unwell.

There’s not really much more to it than that. Feel free to give it a go if you have VR.

The SMG that was made for it will be available for purchase at a later date. I need to fix and improve it a bit. There was also another gun that was cut because my friend couldn’t get it done in time due to personal problems. We will get that one ready at an even later date.

So what’s coming up next? Well, a video about 7DFPS to begin with, which I’m currently starting on. After that, the usual end-of-year blog post where I talk about all the games I’ve been playing.

In the new year, things are going to change a bit. I’m going to stop putting unedited first parts of playthroughs on my gaming YouTube channel. It gets bugger all views, and I want to clean out my folders of videos that I, quite frankly, don’t need. I might do more highlight videos or something, or just change the content of the channel entirely.

Global Game Jam is of course coming up. I might join it, but negotiations with the friend I usually do it with have not gone terribly well. I want to use GB Studio to make something, and he wants to use Godot because he hates anything that isn’t 3D. Despite the fact that Godot’s 3D capabilities are less than satisfactory. But we’ll see. I might be able to compromise.

Next year is going to be a wild time. Cybersurfer needs to start being a lot more playable; early access by next year is a goal for me. But it’s going to be difficult.

-Adam

10/06/2024 – New Stream Graphics & CyberSurfer Update

There’s been quite a long gap since the last one of these. I’ve just been so busy with everything that I haven’t had a chance to sit down and write one of these. Even while I write this, I have tabs open for scripts for at least two videos. Although one of them might appear in this post if I can finish it before this goes up.

With that said, here’s what I’ve been up to.

New Stream Graphics

I decided my stream graphics needed updating, but instead of just opening up Blender and going at it, I decided to spend some time designing my ideas before making them, which I think has led to a much better result than last time.

Let’s start with the game dev scene.

I’ve gone for a rustic-looking apartment looking over a cityscape. This scene has undergone a couple of reworks and changes since I originally made it. I’m showing its current state here.

Let’s start with the foreground first. There’s a desk with a decent wood material on it, a couple of props, a keyboard and mouse, and a mousepad. The keyboard and mouse models are not mine; I found those on the Internet. However, the textures are mine. It’s a plastic-like material with some grime added on top for believability. The mousepad is the camo pattern I like using, but with some additional texture on top.

There’s a picture of my dog on my desk, of course. And then there’s the two monitors. I made these myself, and they are, in fact, properly 16:9. They also use a plastic material, minus the grime. The screen is an LCD shader mixed with a Holdout shader. The Holdout shader allows the screen to be transparent when rendered, so I can put dynamic objects behind it like animated UI and such. I’ll get to that later.

There’s a brick texture behind the desk. I couldn’t make it as realistic as I would have liked, as it made my performance tank while navigating the scene, which was a real pain. Off to the left is glass, which slightly reflects the inside of the room but mostly just serves as a window to the outside.

Before I get to the outside, here’s the rest of the room you don’t see:

As you can see, there’s a couch and a couple of shelves, along with a carpet and ceiling. I had some ideas about reusing this room with different angles, but it’ll probably require more details if I want to do that.

Now, the outside of the room.

This is a procedural city made with geometry nodes. I followed a tutorial for this as I don’t really know what I’m doing with geo nodes yet. Either way, it’s better than what I was doing before with my shoddily made buildings. The scaling on the buildings is fairly inaccurate, and the glass warps the look of them a bit, but I’m willing to live with it.

Game Dev Cam Screen Example

Here’s the camera scene when all the UI is applied behind the rendered image. I’m pretty bad at making fake UI, but I think this looks OK for now. I might look into actually making a Windows Form application with custom graphics and using that instead. But considering the amount of changes this one scene has had since I made it, I think I’ll just live with it for now.

Overall, I like it, but I think there’s room for improvement. But at the same time, those improvements require me to further develop my own skill set. Plus, the lighting is a bit weird-looking, as the outside lighting doesn’t light up the room enough.

Moving on to the gaming scene now.

I designed this to look like a run-down arcade you might find in a failing shopping centre or motorway service station. Starting with the foreground again, there’s a table with a wood material on it and a brick material under it. The TV is actually the same as in my last layout, but with a Holdout shader on the screen mixed with a glossy shader over it to give it a proper look. There’s a plastic sign next to it with text that changes between scenes.

Behind all that is the rest of the arcade. The red camo material is used for the carpet, with some additional bits to make it look like carpet. And then there’s the cabinets themselves.

I just had to include a Rotaction cabinet, of course. SICKHACKS.root also makes a comeback, as Cybersurfer still doesn’t have an actual name. The other game is Tempo Catastrophe, a parody of the Time Crisis games, which seem to infest every single British arcade. And to top it off, a bog standard claw machine.

The latter of the two aren’t as highly detailed as they’re background objects, but they look decent enough in the final render.

Finally, on the back wall, there’s a text object with an emissive shader that I use as a sign, and an exit door that opens on the ending scene, which is a major light source as all the other lights are turned off.

I feel better about this scene than the game dev one. It’s come together quite well, although it did require a lot more effort with all the additional props needed. If I were going to change one thing, I would probably make it look more rundown, with some added rubbish thrown about. I’m also not too happy with the scaling of the room; it’s pretty bloody massive. Like a Megabowl arcade space, if any of you remember those.

I’m not sure how long these will last, but I think they’re pretty neat. The last layout was used for 2 years; let’s see if this lasts longer.

What’s Going On With CyberSurfer?

Last time I made a video and blog post about Cybersurfer, I mentioned that I was looking into a way to build tracks with the spline tool, and I got something working based on a video I found. Well, after a few months of tweaking and adding to it, hoping it would make it more powerful, I’ve realised that I am being an idiot about it.

The video covers this in more detail, and I would suggest you watch that, but I’ll go over some of the basic points.

Based on the video I found, I was able to make a track that follows the spline with the correct UVs and so on. I looked great. Then I started testing it by adding additional verticality and twisting it around. Like making loops and corkscrews.

This is where shortcomings in both my player code and the track generation became evident. Basically, whenever I would hit a bend on a loop, the player would jitter because of the lack of geometry. And when I hit corkscrews, I had the same issue, along with an additional bug where the player wouldn’t stick to the track in those sections.

Adding additional resolution was possible, but it added it to the whole track. Considering how long it’s intended to be, that might end up being too demanding. So I figured that the best solution would be to increase poly counts, but only in the specific parts where I needed it.

Alongside that, I still want things like tunnels and half-pipes in the level, sometimes going around corners. Again, I need extra geometry for that.

My solution was to subdivide the mesh, although along the width, not the length. I go over it in the video in more detail, but the long and short of it is that although I got the subdivision to work, it was an absolute mess. Furthermore, the idea of making tunnels with it is virtually impossible.

As the code got more complicated, trying to accommodate the idea of adding more vertices to it, it became more difficult to manipulate them.

In the end, I looked at all the code and decided that I needed to rethink it. Here’s a summary of what I’m going to try:

  • Change how I mark out which part of the track needs additional verts by using knot data instead.
  • Be able to add additional resolution along the length per section.
  • Append half-pipe sections onto the edges of the corners instead of manipulating the mesh.
  • Tunnels and other half-pipe sections might become separate pieces that are attached to the track.

Again, there’s more detail in the video, but this more or less covers everything.

The Godot Video

I finally got around to making a video about my experiences with Godot and the things I like and don’t like about it. I’m not an expert on game engines, so it comes from a place of just spewing out my opinions and thoughts in a very general way.

I’m less critical of Godot, although there are still plenty of things I don’t like. But I did find quite a few things I liked, including specific nodes and example-based documentation.

The video has done a lot better than I was expecting it to, and the feedback I’ve been getting has been fantastic. There are a lot of new things to look at and many things to improve on.

Am I going to use Godot again? Yes.

I have an idea for a project, but I haven’t really had the time to start designing it. But with all these videos out of the way, I should get some time soon. I’m not going to say anything about it until I start making a prototype.

Other Things

I have a new weapon asset. I’m calling it the “Czech 75”, which is a very legally distinct name for a pistol based on a real gun that a character from the anime Gunsmith Cats uses. This is in fact the same pistol from the 7DFPS game, although it has been modified a bit with better topology and several other improvements. And most importantly, it is now textured.

So, here’s a VR-ready pistol that you can put into your games. Enjoy.

In related news, the shotgun asset pack is now permanently discounted. I probably need to improve these ones as well at some point, but I can’t really be arsed. I have far too many things on the go right now.

But I am curious if there’s a demand for more weapons. I should also note that both of these were modelled and rigged by my friend and modified, animated, and textured by me. And half of the money from either of these goes to him. If I make more, I’ll likely have to do it on my own, which means I’ll have to learn more about the creation process. To be fair, as part of my Monday streams, I’m learning various aspects of Blender and trying to create things I haven’t before, which is helping me learn how to do stuff like this on my own instead of having to rely on others.

7DFPS is happening later in the year, so perhaps I’ll use that as an excuse for making more of this stuff.

Again, sorry for the large gap between this post and the last one. I have been very busy. And a new gaming roundup post is in the works, so look forward to that in the near future.

-Adam

07/12/2023 – Everything Is Broken

Last week was bloody terrible for me, and the entire month has been a bit shit. But I’m here to give you an update… After nearly two months of silence.

Upgrading & Breaking My PC

The big thing that’s happened since the last blog post is that I finally upgraded my PC. My old system was running a Ryzen 7 2700 and a GTX 1070. They’ve served me well the past few years, but as I’ve gotten more into 3D production, I’ve needed a lot more horsepower. Plus, I’ve been struggling to run a lot of games lately. And very recently, that GPU started becoming the minimum spec for a lot of new games. Anyway, the new CPU is a Ryzen 7 5800X3D and the GPU is a RTX 3060.

I went with the 5800X3D as I’ve heard nothing but good things about it, and it’s likely the best chip for the AM4 board. It’s also the last chip for the AM4 board. So if I do need to upgrade again in the future, it’s gonna be a full upgrade. I’ve definitely seen a performance improvement with it, and OBS is throwing up less of a shitfit when I stream games now.

Getting the chip in was more of a headache than I thought. First of all, it didn’t come with a new heatsink, so I had to use my old one, meaning I had to clean up all the thermal paste and re-apply it, using some old paste my dad dug up that was almost finished up. And then I remounted the fan, but without removing the motherboard from the case. I ended up with a solution where I took a few bits of non-static packaging and a tissue packet and used them to keep the rear bracket from falling out. It worked out in the end, but it took more work than I was originally expecting.

As for the RTX 3060, well with this, I can now do raytracing to a reasonable level. This will make material creation in Blender MUCH FASTER. Working on materials previously was a massive pain in the arse. Plus, it’s nice to know that I should be able to throw any mainstream game at this thing without issues, at least for the next few years.

I played around a bit with the raytracing stuff, mostly just messing with Minecraft and Quake II RTX. I might give Portal RTX a go at some point.

Getting the GPU in literally took 5 minutes and was probably the least painful part of this experience.

But anyway, the performance boost is really nice, and better productivity is always a good thing… Or it would be if EVERYTHING DIDN’T BREAK.

Shortly after getting my rig up and running again, my 4TB media drive which contains a lot of my video footage just straight up fucking broke. Inaccessible. There was about 3TB worth of stuff on there. I’m going to try and get it sent off to a repair place, but it’s likely going to cost me a fucking lot of money.

In the process of replacing parts, my PC was moved around a bit, among other things. This was likely to be the root cause of the problem.

Following this however, I decided to take advantage of the Black Friday deals and get myself two new SATA SSDs. One to replace the media drive, and the other to clone my documents folder.

It took a few days, but when I got them, I started by putting in the new media drive. I left it in for a few days before doing anything with it, and then decided to download a whole bunch of shit. And then it eventually stopped accepting downloading, and some of the files it did download were corrupted. Following that, I couldn’t access the drive at all.

But when I booted the machine the morning after, I could access the drive again, and all the files that had been downloaded properly were fine. The corrupted ones were still busted, but I just deleted those and re-downloaded them. So I’ve decided to just take it slow when downloading stuff to that drive.

I also cloned my documents drive onto another SSD, which for some reason didn’t work when I first tried the process, but did work the second time around. I waited a few days as this was during the issues with the new media drive, but this morning (5th December when I write this) I finally swapped it over.

It didn’t replace my original drive immediately; I had to go into disk management and change the drive letter from Q to F. Once I did that, it worked, but then the SSD I have for games was no longer showing up, so I restarted again, and Windows gave me a blank screen. One more restart later, and everything finally booted up properly.

However, that isn’t the end of this story. I still have a 2TB NVME SSD to install, which I will probably do later this week.

But this whole endeavour has ended up costing me A LOT of money. I don’t like begging for cash, but if you’re reading this and appreciate the game dev work I do or generally enjoy my streams, and have a few bob to spare, consider donating to me on Ko-Fi.

CyberSurfer Progress

A lot has actually changed in the past couple of months in regards to the project. Last time, I mentioned all the rail grinding stuff. Well, that’s actually been changed significantly. Using the Spline Utility part of the spline package, I’ve rebuilt the whole system so that it can finally follow curved rails, or bezier curve rails. There’s a video tutorial a little later in this post, but the results are much improved over what I previously had.

But the big thing that happened was the first public demo of the prototype. Here’s a video of me talking about it, alongside some other things.

The demo didn’t go over all too well with players. Most of the complaints were about the speed. Players didn’t like having to slow down for obstacles; the placement of them seemed poor; collisions were a bit messy; and so on. I didn’t get too many complaints about the game feel. The only complaint I got about the grinding was about how jumping between the rails kills your momentum, which is something I thought I fixed, but in further testing later on, when I increased the speed of the grinding, it became clear that it wasn’t fixed.

The game as it is now is quite different compared to the original GGJ game. Especially the aspect where the player can move however they want, compared to the original, where they were limited to only left and right. But that change brings about a very different form of level design, which I did not account for. However, instead of adapting to that change, I’ve decided to go back to the original idea of pushing the player down the track like in the original game.

However, this time, I will not be spewing waypoint triggers along the track in order to rotate the player. This time I’m going to use splines to create the track and rotate the player’s aiming based on it, similar to how I handle rail grinding.

After a bit of work, I can finally generate tracks from splines. In addition to this, I can generate colliders on the sides to keep the player within bounds. So now I can have non-flat tracks with the correct colliders. I haven’t fully tested the track generation, but it should be fine for most scenarios.

Well, when I say it’s not flat, I mean the track as a whole. But I am thinking about having the actual surface be curved, especially around corners, and maybe even having half- or full-pipe sections. But that’s going to require even more complicated programming, and I barely understand what I’m doing as is.

Finally, the rail grinding tutorial.

Pretty basic stuff. The differences with my old code were mostly the spline utilities stuff. I am calculating the direction of the player slightly differently. Instead of using the dot product, I’m calculating the angle between the player’s forward and the spline tangent (Read as: Forward) of the point of the spline the player is in contact with. It seems like it works better. There’s a GitHub repo linked in the description of the video if you’re interested in seeing the code.

With the track generation stuff in a good place, the next thing I’m likely going to be focusing on is level design. And following that, a lot more animation work. I’m not sure when I’ll be working on an overhauled trick system, but that’ll definitely be part of the upgrade.

VR Development

In preparation for 7DFPS, I decided to learn how to develop VR-specific stuff in Unity. Following their starter tutorials, I built myself a room and placed a few objects in it. Including a mirror.

The tutorial covers things like locomotion, grabbing objects, objects having correct physics, and socketing. The last one is the act of placing objects in specific places, like putting a hat on a hook or on top of my head, like in that image there.

It’s given me a good jumping-off point for learning how all of this works, although I must admit, it is a little jank in places.

7DFPS

Following that jumping-off point, I decided to get started on building the 7DFPS game. To give a general overview of the game I’m going for. Imagine Pistol Whip but with your own music, and the gun handling of Half-Life: Alyx. I mentioned it in one of the videos I linked previously.

But for my idea, I’m setting up a spline, splitting it up into a random number of sections, and turning each section in one of three directions. I should also note that each section is the same length. That’s just to make my life a bit easier. After that, I have the player use spline animate using the song’s duration as the total time it takes to traverse the spline.

To top it off, I spawn a few cubes to act as buildings along the sides of the path. In theory, these were meant to act as cover points, but as I’ve been working on it I’ve gotten a bit lazy, and now they’re just decorative. The enemy generation is soon to follow, but I haven’t quite gotten it to work yet.

What I just recently started working on is putting the gun in the game. It’s actually been easier than I thought to get the model and animations set up. It’s not fully done yet, but it’s getting there. Following that will be enemy spawning, enemy AI, and then finally loading in user tracks.

There’s still a lot to do, and as of writing this, I’ve still got about a week left until the originally set deadline. But it’s my understanding that it will be extended out to the end of the month, like last year. Hopefully that gives me enough time to really make this something worth people’s time. And hopefully enough to give it a decent amount of paint so it doesn’t look like a mess of placeholders like it currently does.

Well, there’s your update. I’m working on the year-end GOTY list stuff like I usually do; hopefully it’ll be more on-time this year compared to last time. But I still have more than half of it left to write, and I’ve still got games to play. So maybe don’t expect it in as much of a timely fashion as I hoped.

Till next time.

-Adam

28/11/2022 – Analogue Pocket GET

Hello again. A thing I bought a year ago finally arrived, and it’s pretty sweet.

The Analogue Pocket is an FPGA emulation device that specifically plays GameBoy and GameBoy Advance games. FPGA is hardware emulation, not software, so it leads to greater accuracy in terms of emulation. This generally means less visual glitches but also has the downside of emulating the slowdown in games that would suffer it on real hardware.

Although you can play real cartridges on this thing, the OpenFPGA side is the most interesting part. You can just load FPGA cores made for it and then boot games off the Micro SD card. I have Neo Geo, NES, SNES, and Mega Drive cores on mine. Pretty much all the games I’ve tried have worked perfectly, and GameBoy games especially look gorgeous on the screen.

My major issue with the thing is that I don’t find it particularly comfortable to hold for long periods of time. Much like actual Nintendo handhelds. It’s not as bad as the 3DS or Switch JoyCons, which cause literal circulation problems for me, but there’s still things I would have changed.

I mean there is one more issue; the price. I think I’ve spent £400 on the thing all-and-all. It was £300 for the thing and dock, plus shipping, then the FedEx tax was £70 (Customs charges are a fucking scam), and then another £40 for a Micro SD card and UK USB-C plug. Yeah, it comes with a US plug. Be fair warned.

But I like the thing, and I’m gonna enjoy playing it. I actually did a stream soon after I got it where I played a bunch of games, check it out:

In other news, Indie LIVE Expo is happening soon. Why am I bring up here? Well Rotaction is going to appear during the first day when they discuss currently released games, so keep an eye out for it. But this is the first time one of my games has appeared at a major event, although it’s the second time it’s been promoted. The event will be streamed on the 3rd and 4th of December. Check it out, there’s loads of cool games.

Now, I’m going to talk about what I’m currently working on.

7DFPS (7 Day FPS) Jam is coming up in December, and I’ve decided that I want to take part. So I’m putting together a few things to practice and learn how to make stuff for it. I’m looking at stuff like Probuilder and Pro Grids for fast generation of levels, and learning how to do raycasted bullets with appropriate effects, as you see in the video above.

Now I know what you’re thinking, the Jam hasn’t started yet and I’m over here making stuff. Well, there’s no rule that says I can’t work on stuff a little early and most of this work isn’t going to be used in the Jam game. But it’s better I figure out these problems now, rather than during the Jam.

As for the side project I’ve been working on:

Well, progress is slow. I can shoot a bow now, but it’s a giant mess. Unity’s Rig Builder tool is such a giant mess to use that making it this far is generally surprising for me. But to explain the issue, layers upon layers upon layers. At some point I had to undo a lot of work and replace it with a canned animation, which is how I got the bow aiming and firing to work. Although I can explain some of that as well. When I started with the rigging, I was basing it on the idea of driving the player animation in relation to the bow. That was dumb, now I’m driving the bow animation in relation to the player, which is simpler to implement and has lead to better results.

Well that’s it from me for this time. Now I have to publish this before my power goes out. Which is a thing that’s happening today. Fun times. At least I have some books to read.

Till next time.

-Adam

27/09/2022 – 7 Years Late

Well the weather is getting colder, so I guess summer is finally over. The season that is, my dog of the same name is doing fine.

7 years after graduating university, I have finally updated the “Uni work” pages of this site. Better late than never I guess. Annoyingly, there’s still a lot of stuff missing from the pages because there’s stuff I just don’t have anymore, or can’t post. There’s also things like documents and such that aren’t programming related.

Either way, it’s something off my whiteboard.

Anyway, you might be wondering what’s going on with my side project. Well you’ll have to keep waiting because I’m working on something else now. A certain place I hang out on, on a certain anime image board started a Asset Jam, a two part game jam where the first part has users submit assets for games, and then the second part has users make games with those assets. Well I didn’t make any assets for the first part, but I am making a game.

Behold.

The beach ball of doom.

It’s a game I’m titling “I MUST CONSUME”, and it’s basically Katamari. But instead of gathering items in a massive ball, you absorb them instead. I’m using the game as an excuse to get familiar with Cinemachine and a few other things. I was thinking of migrating the camera system in my side project to Cinemachine, and used this project as a test bed for it. I’m fair happy with it here, so I think I will be doing the work needed to switch.

I’ve got until the morning of October 15th to finish it. Hopefully I can get it done by then. As usual, I’ll be streaming development on Twitch.

Nothing else is going on really. Still trying to find a game industry job, at least they’re actually replying to me now, even if only to reject me. I’ve started uploading some of my regular gameplay streams to my YouTube channel, and getting some decent view numbers. I think I’ll be doing more of that, especially for the demo & VR streams I do on occasion. Maybe some highlight compilations at some point too.

I was warned that gaining viewers solely on Twitch was a fool’s errand, and they were right. So maybe I’ll try this method. On that note, I am thinking of streaming my game dev stuff to YouTube as well, although I don’t know what the state of restreaming is these days. Maybe I’ll take a look at Restream.

That’s it from me. I’ve got a busy few weeks and maybe months ahead, I’ll try and post when I can. Later.

-Adam

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

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