[FYI: A test version of Radiata is live on http://smimons.itch.io/radiata. It’s since been built on, but if you want to have a go of a rough version, I hope you like it.]
And so begins the potential rabbit-hole stage of tinkering and iteration.
At the end of the last bit of work, things were starting to take shape. A simple gameplay loop existed (keep the ball alive for as long as possible), along with a fairly rudimentary difficulty curve, and it was actually feeling like a ‘game’, but there were still a few major kinks to iron out.
Kink 1: Blocks. As was, only small 32×32 px blocks spawned, and they were stationary. I was going to need different blocks and they were going to have to move! That would make the game a lot more dynamic and stop the player just circling in one place until they were killed by a block insta-spawning in their path.
Both nice easy wins: create a few new sprites of different sizes and shapes, and when they spawn into the game, set them off with a random speed and direction. Simple stuff really (does it sound like I actually know what I’m talking about?)
So I did that, made big blocks, small blocks, long and tall ones, even circles and other odd shapes and asked them to go in any random direction….
I don’t have any footage of this first plan, but fuck, it was a mess. Random shapes moving any which way. Not fun. Try again. Just use the squares and rectangles and constrain them the four most fundamental gaming directions, up, down left, right (A,B, Start). That works, the blocks all have predictable patterns, things start nice and easily but as soon as a few dozen blocks spawn, it is actually pretty intense dodging and weaving through gaps between the plus, I quite like the aesthetic of the player object being the only round object in a game full of right angles.
The aforementioned test version was released after I fixed this. Then a few people played it, and all came back with one main problem….
Kink 2: Insta-spawning blocks that kill you without warning. The main problem with blocks that spawn at a random locations is that they can spawn directly in front of you without any notice. This isn’t good.
Fortunately, I’d already taken a punt at implementing this in another little project I have going (nothing revolutionary, I’m basically following a tutorial series by Gunpoint’s developer and all round lovely man Tom Francis – who was also kind enough to play the Radiata test), so it wasn’t too challenging, but was a little time consuming as it prompted me to completely re-organise and tidy up the code I’d already written. Although currently its not the most verbosely coded project, I hadn’t bothered commenting or labelling anything, so when I needed to rejig things in a more practical manner, it was, as expected, a fucking nightmare of moving code, re-testing, and lots of CTRL+Z’ing. But it WORKED! The blocks now fade in to existence, and only affect the player when fully ‘in’. Lesson Learned: Comment on your damn code!
Kink 3: Hella arbitrary scoring system. In a game mode about how long you can survive, having a points based scoring system doesn’t really make much sense. An actual timer would of course be better. Pretty easy stuff, right? I thought, of course Game Maker will have some kind of built in timer function that I can just plug in. Well, I was wrong (I think). So muggins here has to make it from scratch.
Engage logic brain: The game runs at 60FPS, which means that behaviours etc. are updated every 60th of a second. Currently, the game (arbitrarily) increases the score by 10 points each frame. What if instead, its increased by 1/60 each frame, so it 60 frames (1 sec), the score will increase by 1! That works. Now for minutes, keep a separate tally and once the ‘seconds’ score reaches 60, reset it to zero and increase the minute tally.
A long way round for what should be a pretty commonplace system, but it works!
Lesson Learned: Talking to a computer is like talking to a total idiot, but at least they are perfectly logical idiots.
And now we are here:
Jobs to do: Now that things are looking a bit more how I’d like, I think it’s time to stop tinkering and do a bit more building. As is, I essentially have a full game ‘mode’ complete which doesn’t really need much adding to it other than visual tweaks. I would like to include a different game mode, potentially a set of static mazes or levels to get through with either a set no. of lives, or a par score system. I have some neat visual ideas to have a go at too.
One thing I’m very keen to get working is a persistent high score system, which despite making sense to my own logic brain, I’m having difficulty telling Game Maker. That’s the next big challenge.
Until next time…