Monday, 2 December 2019

Let's not upset the apple cart.

Part of the reason I make the games that I do is because I was around in the early days of home computing when people were making Space Invaders, Pong and Defender clones, and I got out in 1994. I'd only ever programmed simple 8-bit, 2d arcade games (with a brief flirtation with the 16-bit Amiga 500, but this was mostly used as a gaming machine), and I had thought about coming back to it several times between the time I quit and 2014, but nothing really came of it until I randomly found Game Maker Studio on Steam.
ZX81 - This is where I spent most of my time as a kid.
I honestly didn't care too much for Game Maker Studio at first, because I mainly felt it was a glorified Shoot-Em-Up Construction kit, and a bit of a cheat way to make games. I'd tried SEUCK in the past and didn't really care for it too much, either, because I preferred "proper coding". So my approach to GMS was to use it for messing around with until I'd plucked up the nerve to see if my "proper coding" skills still functioned. Since my self imposed exile from coding in 1994, I'd not looked at anything even remotely to do with programming aside from a brief course on COBOL (which I hated) when I was unemployed around 1995/96 or so.

SEUCK... I always thought it was a bit rubbish.
I'd spent most of my time as a kid programming on the ZX81 and the C64, so I looked on Game Maker as being a bit of a games development with the training wheels still on sort of thing, and I don't think I've ever really shaken that mindset off fully. To my surprise, however, GMS was actually okay, and I enjoyed using it. So much so that I've not really bothered to use anything else. I'd like to have a try at something a bit more advanced, but there's stuff holding me back, and the biggest one is a lack of time.

The time problem is due to my role as a carer. Development time is at a premium for me, and I typically only spend an hour or two a day working on my games, because the rest of my time is taken up with sorting out medication, meals, hospital appointments and the other things my mother needs during a typical day. Using GMS means that I can get results really quickly and a couple of hours is typically enough to get a pretty well functioning, if simple, game going. Though UFO has proven to be a bit of a pain for various reasons.

I'd like to have a go at developing something in Unity, because I'd like to do a 3d game, but it means sitting down and learning how to program in C#, and I don't know if I'm comfortable with that at the moment. It's taken me nearly six years to get myself into a position where I'm now comfortable with making games again, and I don't really want to unsettle myself with something new.

So, you may be wondering, if I learned to program on the Sinclair ZX81 30-plus years ago, why I'm holding back on learning C#? It should be a breeze, right? It could be. In fact, it probably would be pretty easy for me, but I have a lot of stuff going on with my position as a carer, which includes helping my mother through breast cancer, and life is generally really, really, stressful. I'm finally getting to enjoy making games in Game Maker Studio 2, and games development is a pretty chilled out experience for me at the moment. Occasionally I have an issue or two, mainly when GMS2 decides to screw up in totally illogical ways (there's an example below), but I'm currently in a pretty happy place, so I don't want to rock the boat by adding something new to my already very busy life.

Game Maker Studio 2 oddness - The object o_UFOBomb should destroy itself when it makes contact with o_RadarBase1, but it doesn't. All the other collision events in the list have the same code "instance_destroy();" and they all work, but not the o_RadarBase1 event. This is why working in GMS can sometimes be a real pain!
To give you some idea of how my role as a carer impacts my role as a developer: I started writing this blog post at 9am this morning, while my mother was having her breakfast. It's now 1:42pm and I'm not yet finished writing it. If I'd been able to sit down and just get on with it, I would have had it done in 30 minutes to an hour, but my time has been punctuated with clearing breakfast bowls away, giving out 3 lots of tablets, making sandwiches, numerous toilet calls, changing dressings, answering the door to a wheelchair repair man and setting up the Christmas tree. Aside from the Christmas tree, this is a typical morning for me, so imagine trying to learn something new like C# on top of constantly having to step away from it to do other things. It's not that I dislike looking after my mum, but it can be very stressful when I'm also trying to do other things.

I don't know if I'm ready to sit down and learn something, knowing that the learning would be punctuated with having to do more important things. Also, I may have to break off at a moment where I'm struggling to work something out, which would leave me feeling frustrated (I hate breaking off from something I'm trying to solve when I'm right in the middle of it), and could result in me being a right grumpy git when I'm dealing with my mothers needs. She doesn't need me being a grumpy ass on top of her other issues, so I think it's much easier at the moment to continue with the way things are and maybe do a few minor Unity tutorials one afternoon a week when my mother is sleeping.

So, yeah, there is a sense of wanting to do more than just piddle around with Game Maker Studio, and perhaps have a crack at making my own engine somewhere down the line... but at the moment I think I'd be taking on a whole new level a stress that I could do without.

No comments:

Post a Comment