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