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

09/10/2022 – The Blog Is 10 Years Old Today

10 years ago today, while I was at University, after 4 days of trying to link up my domain to my hosting; this website was born.

And that’s all I have to say on the matter.
I’m kidding.

I don’t really know what to say. My situation is very different these days, arguably worse. The MyGamingCommunity forum died, MoA moved to Discord, GameTrailers died, I got way into anime and started learning Japanese, I finished Uni in a horrible state, started becoming an indie dev, and then I started streaming again. Sometime after that, the COVID bullshit happened, it fucking made everyone’s lives Hell including me. Then I got a dog and my depression lessened.

She’s 2 years old now.

This would usually be the point where I would go on about what I’m currently doing and things for the future. But you already know what I’m currently doing and I have no idea what the future holds. I do know I’m gonna need to start earning some money. I’ve been thinking about stuff like Patreon and Ko-Fi lately, but I don’t know if it’s a good fit for me and the things that I do.

I’ll work it out.

Anyway, in other news, I took part in another game jam and made this thing:

Basically a Katamari-lite. Give it a go if you want.

As for the side project, well I’ll be getting back to that either next week or the week after. So keep an eye out on Twitch for it.

Anyway, 10 years. Hopefully I can get the funds to keep it running for another 10.

-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

09/09/2022 – ROTACTION IS OUT!

Get it on Google Play

After 5 or so months of development, Rotaction is available for purchase. I hope you guys enjoy it.

Long Live The King

The Queen died yesterday. Although it’s likely you already know that. 96 years is a pretty good run, and a lot of people would consider her to be the rock that held the UK together.

It’s a new era. I’ve not a fan of Charles, but I can’t give him too much grief considering the size of the shoes he now has to fill.

I kind of wish I wasn’t releasing Rotaction literally the day after all this. But it can’t be helped.

Side Project Progress

It’s coming along. Slowly but surely. Learning a lot about inverse kinematics, Unity’s animation system, and more. Gonna be learning the animation rigging system next to get this bow working and fiddle around with the animations more. I still haven’t got far enough with it to show off yet, but hopefully I’ll have something soon.

Hell of a week. Play Rotaction, enjoy it.

-Adam

02/09/2022 – Rotaction Is Complete! Release Date!

After 5-6 months of development, Rotaction is complete and ready for release on September 9th!

It will be available for Windows, Linux, and Android. You can buy the game from the Itch.io page or the Google Play Store page once it is available.

It’s been the most fun project to work on so far. Probably because there were few issues that I needed to deal with or just the fact that the overall complexity of the game was relatively low. That said, rarely ever does a game go from being an idea in my head to being a full product, and retains the art style and gameplay that I originally imagined.

I’m happy overall.

Yet Another Side Project

Having fun with Blender

Over the past few months, the YouTube algorithm has been continuously feeding me various tutorials for things. It started with Blender tutorials for modelling, then shaders. The image above being a tease of the thing I’m working on. After that, the Unity tutorials starting coming. However, these were all about one subject: procedural animation.

I got interested, and decided that I want to make a playable prototype of a game idea using these techniques. However, I’ve underestimated the complexity of this project. To start off with, I have to build a 3rd person character controller with various movement options, and the have it interact with various objects and the large monster I’m going to put in it. This monster will be driven mostly by procedural animation.

The player was originally going to be driven by this system, but then I discovered Unity’s Animation Rigging tools that allow me to use IK targeting in tandem with the animations I already have. I haven’t started using these tools yet, but it should be interesting.

I’m going to try and document the development of this prototype, showing all the different systems and how things work. I’ll be streaming development on Twitch and posting it to my new game development YouTube channel.

That’s all for now, I’ll leave you with this.

-Adam

25/04/2022 – Rotation & Action

Happy St. George’s Day.

I’ve been working on another new game, although for justifiable reasons this this. Having made a bunch of game templates within Unity, I decided I should maybe try and make something with it. I had a small idea while ago while replaying one of my favourite games, Everyday Shooter, and thought about making a top-down shooter. But I also wanted to put it on my phone so I figured I should keep the controls simple. Around the same time, I was working on Global Game Jam and wanted to make an Ikaruga style game with colour switching, but as you now know, never happened. But I kept the idea.

And now I present, the new game.

It’s a rotating action game with colour switching as its core mechanic. Additionally, it has arcade style scoring. I’m quite pleased with how it’s coming along. There’s still work to be done, but getting it up to this point was surprisingly fast.

I do have a demo in the works (There’s a HTML version on the currently private Itch.io page), but I’m having difficulty getting the game on the intended platform I wanted it on, phones. Specifically, I can’t get Unity to build to an APK so I can test the game. Just to add insult to injury, the errors I get mostly amount to “Gradle Failed: 4 Errors” and then doesn’t elaborate. It’s infuriating.

I’m looking into solutions, but I’m getting rather pissed off at it. But I’ll keep working on it regardless.

On the plus side, I’ve learnt a lot about exporting and importing packages into Unity, and figuring out what dependencies I need for what game type. So when I eventually release the templates onto the world, it should be a smoother experience.

But just to cover some pros and cons: The templates can be somewhat rigid to work with and depending on what you’re doing may require a lot of additional work and changes. With this game, there’s a lot of stuff I needed to change in regards to what happens with collisions and I’m probably going to need to make adjustments to the spawning code as well. But on the positive side, I have saved days in figuring out various systems for things like aiming and spawning. Overall, I am fairly OK with the practical implementation, but at the same time, I’m curious as to how someone who has no knowledge with the codebase would use these templates.

Now, you maybe wondering what happened to making something with Stride. Unfortunately, I just could not get the engine to play nice. I tried my hardest to load the demo projects as well as empty projects, and it error out each time. And that’s a shame because I was really looking forward to using something other than Unity for once and getting stuck into a new IDE, and finally freeing myself of the chains of proprietary software. Alas it was not meant to be. So I’ll either wait or look into other engines. Not Godot though, that’s just awful to use.

That’s pretty much it from me. As always, you can find me streaming on Twitch. Lately I’ve been using my VRoid model in place of a webcam to see if it interests more viewers and change things up a bit. That model still needs more work though, it’s really ugly in places and desperately needs better textures.

See you next time.

-Adam

08/03/2022 – Quacking Around With PS1 Games

It has been a while, I’ve been keeping OK.

As you can maybe guess from the title, I’ve been messing around with PS1 emulation via Duckstation. Although it’s not the only emulator I’ve been fiddling with, I’ve also been poking around with PPSSPP and playing a few gems on PCSX2. Although a lot of work is required to get stuff working properly on the latter there.

I suppose what brought all this on was my desire to play through the old Drakengard games along with my friend linking me the opening movie to Wild Arms 5. All that just locked my brain into a place of wanting to play a bunch of PS1, PS2, and PSP RPGs as well as various other games I missed from my youth.

On PS1 emulation specifically, it’s nice to be able to play those games without the texture warping. It really cleans up the image and can make some of these games look really good still. Stuff like Wild Arms looks like it could be released today by some small indie studio or something. Although the actual gameplay and exploration design is probably a bit dated by today’s standard. But I’ll talk about that in my Den post later in the year.

Another point on the matter, phone emulation has come a long way. PPSSPP was on Android years ago and worked OK-ish. But now it and Duckstation both run pretty well on my Xperia 10 III. However, the experience of syncing up my saves between PC and phone could do with some dedicated support. Currently I’m using Dropbox for Duckstation saves. It works well enough, but you have to make sure that the PC application’s memory card settings are set to make a seperate cards for each game. The phone only gives you that option, and a shared card causes problems when importing.

Right, down to business.

The Game Template Project, the Unity assets designed for building basic game ideas without having to start from scratch every time; has reached a point where I’m fairly happy with it. I wouldn’t say it’s done yet, I do plan on adding documentation and general feel of the “games” isn’t quite right yet. But I’m happy with the amount of different genres covered. Hopefully I might actually finish this project. That would be refreshing. Whether or not it’ll make any money for me is another question entirely though.

Outside of Unity, I’m going to start experimenting with the Stride game engine. It’s an open source game engine made with C# that many say is a Unity-like IDE. My experiences with Godot was prompted my desire to check out other engines and such because I can’t rely on Unity for everything, and quite frankly Unity has been driving me up the damn wall in places. Having an understanding of how other engines and other people do things can only be a benefit. But I am worried about a lack of documentation.

As for what I’m building in it, well I’ll probably start with Pong as it’s the “Hello World” of video game development. Following that, I’ve had a small game idea pinned to my white board for a while now. It’s a very small game, so the scope should be small enough to use it as a reason to learn how to the use the engine. And if it ends up being too difficult to deal with there, I’ll port it back to Unity. Although perhaps at this point I should stop coming up with new ideas and finish the ones I already have.

There’s nothing else really to talk about for the moment. The Den post is getting filled in slowly, jotting down notes as I play through things and such. Again, that’ll be out come June. See you next time.

-Adam

31/01/2022 – Global Game Jam 2022 Post-Mortem

Another Global Game Jam happened. This year’s theme was “Duality”. My friend and I cheated a bit and knew about the theme about a week before the actual event we had signed up for. In other words, the theme was out on the 19th and the jam site we joined started on the 28th.

We discussed a couple of ideas in the week leading up, I initially thought of making a bullet-hell top-down shooter with colour switching like Ikaruga, but my friend wasn’t into the idea, and wanted to make a platformer instead.

My original concept of the idea was a side scrolling platformer, where the player would jump on different coloured platforms, and the colour of the platform would change the background colour of the scene. That in turn would hide or reveal the platforms ahead of the player. This is the one concept we actually kept, but it didn’t become a 2D platformer.

I’m probably gonna ridicule my friend here, but he also gave me twice as much work to do, so he probably deserves it. When we prototyped the idea and I was giving him instructions on what we should do, he purposely ignored them and built a 3D platformer instead, and claimed his idea was “Better”. The kicker is that he did put in a 2D mode, but made it so the gravity was sideways instead of down, because he claimed being able to climb was a cooler idea. Which made designing a level even more difficult because it meant any 3D to 2D puzzle design had to revolve around a quite frankly undercooked idea.

By the end of it, we dropped the 2D side of things. Which brings me on to Godot.

I’ve complained about Godot before, but it continues to surprise me with how underdeveloped or obtuse it can be. Let me provide a couple of examples. The background colour changes. In Unity I could access the main camera, set the background to be a solid colour, and then in code, just change the value of the colour. In Godot, according to my friend at least, you have access a node, set a global variable to access that node, and build a script to access that to set it.

Another example is putting some UI around the map in the form of text tips or hidden words. In Unity there exists a text mesh feature that just lets you put whatever words you want wherever you want. There’s also UI element text which is constrained somewhat by the canvas, but for the most part is fairly easy to place and manipulate. Godot’s version isn’t anywhere near as easy to use. You have to build a viewport, build a control node (Which I didn’t do initially, I’ll get to that in a bit) and then attach a label or rich text label to that node, and then make a 3D sprite, and render that viewport containing the text to said 3D sprite. Now when I made the viewport without the control node, although the engine prompted me to edit the positioning via the 2D canvas, I couldn’t actually see the UI elements. So you need to attach the control before you can even manage that stuff.

When I complained to my friend about the latter of those examples, he then proceeded to take an hour and a half “Making it easier” and created a UI theme that in theory we could use to drop text anywhere. In reality it just took up a bunch of time and broke all the UI stuff that I made previously.

Other than the problems with Godot, making a 3D platformer provides its own issues. We were fairly limited timewise to implement mechanics. So we focused on making the level around the placements of the platforms, making a couple of additional platform types for destructible and moving platforms. Even with that, my level design experience is lacking at best.

The start of the level is just 3×3 grid that can demonstrate the colour switching, as well as a couple of destructible platforms. This then leads to some moving platforms, with some vertically following that, and so on. The 2D stuff had to be abandoned purely because there wasn’t really use for it, climbing walls isn’t useful compared to what I had planned about perspective switching. There’s a part about halfway through the level with a moving platform, and I placed a wall just above the platform forcing the player to jump to another platform and jump back to get around it. In one idea after settling on a mixed perspective, I planned the idea of having that be a 2D section, where they would see a wall, but when they switched views to 3D there would see a gap in the wall to go through. But with the physics set up that we had that my friend refused to change, it just wasn’t possible.

The sense of direction was also a problem when we watched other players play the game. Some players didn’t know where they were going or why. There are a couple of directional arrows in the game pointing at paths ahead, but perhaps we should have put a few more down.

Myself and my friend have done multiple game jams now, and something is clear, we have very different views on game design and development principals. Part of this is due to our choice of engine, I typically use Unity and he exclusively uses Godot for reasons beyond any human understanding; and that often causes problems in design visualisation and fully understanding what the other is capable of. Furthermore, he mostly exclusively insists on creating 3D games despite the fact that I have very limited experience with things like Blender, but it’s my turn to do art, he still wants to make 3D stuff and then butcher my sprite and jerryrig it to 3D meshes. I’m just complaining at this point.

After we finished this game, we did joke to each other that we had made a better game than Bubsy 3D. Considering how difficult it can be to make a 3D platformer, I’d say we at least did better than that.

As for things to do different, well if it was possible, I would have liked to properly explore the perspective switching idea. Or just keep to the original 2D idea I had and add in some of the more physics based sections, like the pachinko machine. I don’t really feel like making a Unity version to be honest. I liked the concept of Bunny Jammers enough to do something more with it, but I think this game proves its concept well enough that it’s unnecessary.

If we take part in another game jam though I might try and convince my friend to install and mess around with Stride, which is C# game engine I’ve been thinking of looking at for a while now. If we can both find an engine with like and want to use, it would probably increase our productivity. Possibly ditch the idea of switching roles each time too.

If you want to play the game, download it here or play it in the browser:

-Adam