Thursday, 17 November 2016

Quickie Update

Well, been a while since I updated this.

Appropriate though, as I haven't done much in months due to work & health issues.

On the plus side, finally got to the bottom of my health issues and now on the mend - going to take a while but things looking up. Thankfully turns out it wasn't serious, but the knock on effects were worse than the actual problem (as well as masking it).

So, finally picked this up again after a bit of a hiatus, and promptly got lots done.

First off, finished the alien movement routine off - so thats working properly now. Contemplating on whether to add some other types / modes, but Im getting a little bored with this now, and function creep is always a problem. Originally wasn't going to have aliens in the game at all.

Next was the biggie - while trying to bughunt down a couple of particularly persistent issues, I got hacked off enough to say "screw it" and ended up re-writing the entire collision detection routine again, then optimising it.

This has massively simplified things (to the point where the code for collisions has dropped in size by 75% - yeah, my coding is somewhat sloppy during the dev process, but thats a bit much even by my standards), had some beneficial side effects, increased my understanding and caused a few things to break too.

Most of the breakages seem to be in the powerup side of things and should be relatively easy to fix - I'm going through them at the moment to determine what works and what doesn't.

And I finally found the source of a particularly pernicious bug. I was getting a large "lag" or "stutter" when the first block was being destroyed on the first level - and it didnt occur after that. After much headscratching it turns out the problem was down to the sound effects playing for the first time. Even though theyre pre-loaded, it was acting as if they werent loaded into memory. Simple fix, play the sounds at zero volume during game loading - bye bye issue.

Saturday, 27 August 2016

Retronoid Update XXI

Lets get this ball rolling again, shall we?

This week, I have been mostly dealing with... aliens! Well, I call 'em aliens, but who really knows what they're supposed to be.

I finished off the graphics for my first "proper" alien sprite, which I'm really happy with. If youve been following this for a while, you'll recall I'm largely in the "programmer graphics" camp - so if I get anything that looks even halfway decent then I'm over the moon. So far for this game I'm unbelievably happy with how the graphics are turning out, given that (lack of) skill set.  Might do another one or two in a similar theme when I've finished the routines for collision, but this will do for a start & all the testing that needs doing.

Did the "shadow" graphics for the sprite above.

Here's a single frame of what it looks like - its animated around the vertical axis so it looks like two sets of spheres rotating..

Added some code to animate the alien based on whether they're moving left or right.

Added the ball / alien collision code - this was actually only a minor modification of the big collision routine I rewrote to allow for a new class of collision object, tested it and it seems to work perfectly!

Tweaked some of the border graphics.

Just starting in on the actual alien / brick collision code & resultant movement routines.

And that's it for this week as I'm trying to ease myself back into stuff gently. When I've finished the "alien" code I might do another quick video.

Sunday, 21 August 2016

Retronoid Update-ette

Hi folks

been a while, so time for a quick update.

Health issues continuing - so far doesn't seem to be anything serious, but so far they haven't found whats keeping me in constant pain. Between that, work, family and KSP / No Mans Sky - not a lot going on.

However - I've been looking at the code this week and managed to scrape out some odds and ends, as follows:

  • Tied the transition effects into the frame limiting code (which I'd forgotten to do)
  • Tied the Ball Launch Indicator  into the frame limiting code as well
  • Fixed a bug where the ball would very occasionally go right through the bat
  • Added some code to clean the aliens up correctly at the end of a level / game
  • Drew my first proper "alien" animation - although its not finished yet, I'm really happy with it.
  • Tweaked the spawn points and associated graphics
  • Started in on the alien code proper, added direction code, animation controls, and a few other odds.

Collision routines for the alien / block collisions next to get the movement routines fully implemented, then it will be alien / ball collisions.


Friday, 8 July 2016

Quick update

Apologies for lack of updates - ongoing health issues coupled with household stuff that I simply must get done have put a bit of a crimp on things.

I've been dabbling with the odd bit of code, squashing a bug here and there, but being in constant pain is a bit of a distraction when coding.

Apologies again.

Sunday, 15 May 2016


Probably no updates for a week or two, currently dealing with some health issues - sorry.

Friday, 29 April 2016

Retronoid Update XX

Hello! Update 20 already... yeah, I know I'm slow :-)

What's been happening since the last update? Well, quite a bit actually....

First off, I added some debris particles to the bat explosion - just some simple stuff using existing code.

Tidied up some code and got rid of some that was no longer needed, tidied up a couple of routines.

Arena Changes
As alluded to last week, I've made the arena a bit smaller by 2 blocks width. I updated the relevant bits of code pretty quickly, but as suspected, it pretty much took a couple of evenings to update all the level data (as its hard coded into the game, I'm too lazy to make a level editor). Took the opportunity to tweak some of the levels while I was at it.

Had a good test and it plays much better - here's a quick screenshot of one of the later levels..

(Level 33)

I'm Telling You...It was ALIENS!
Yep, finally started work on adding the aliens.

  • Finished amending some of the arena graphics to accommodate the spawn points. They're unnoticeable unless they spawn an alien.
  • Knocked up a quick graphic so I can actually test something.
  • Created the alien object and code to actually create them in game.
  • Added a spawn timer & trigger for each of the doors.
  • Worked out on paper what I want the spawning effect to look like.

And that it for another update.


Saturday, 23 April 2016

Retronoid Update XVIIII

Hello folks.

Not done too much this week, been laid up for most of it with a nasty stomach bug, and what little time I had left was spent finishing the prep work in the spare bedroom ready for the plastering next week.

That said, some stuff got done (mostly just after last weeks update), a lot of which was polish:

Powerups :

  • Level Skip is now in and working correctly - just got to add some particle effects to it. Basically the bat gets "rocketed" off the top of the screen as the level transition happens, and descends back in before play restarts on the next level.
  • Added some messages to let the player know when the Destroyer, LaserBall, Graviton Beam and Forcefield are depleted.
  • Completely re-wrote the powerup spawn routine - each block now has a drop chance, and when its destroyed this is added to the drop chance running total. If that hits 100, or if the random check produces a number less than the current dropchance, it will spawn a powerup.
  • Powerups are now split into 4 categories, common, uncommon, rare and very rare, and spawn accordingly.
  • Removed any powerups that were dropping down the screen when a level ends.

Still some very minor tweaks to do to stop rares popping up too often, and to avoid duplicates immediately after one another, but that should be pretty simple.


  • Added a coloured "flash" to the blocks when they are hit, and trigger this before they're destroyed.
  • Changed the level switch trigger so that it occurs when the last block has actually finished its animation on destruction.

Big Change:
After a fair bit of playtesting I've decided that the levels are too large horizontally, so I'm going to remove two columns from each level and make them a bit narrower. I threw in a test level at the relevant width, and that played much better.

 This will mean a little bit of a re-write of some code, but most of it is already built to accommodate such a change. Worst will be going through each level already coded in and changing those. Probably no more than an evenings work though.

And that's about it for this time, thanks for reading.