Xerra's Blog

Drunken coder ramblings

99 Crazy ways to order a pizza —

  1. If using a touch-tone, press random numbers while ordering. Ask the person taking the order to stop doing that.
  2. Make up a charge-card name. Ask if they accept it.
  3. Use CB lingo where applicable.
  4. Order a Big Mac Extra Value Meal.
  5. Terminate the call with, “Remember, we never had this conversation.”
  6. Tell the order taker a rival pizza place is on the other line and you’re going with the lowest bidder.
  7. Give them your address, exclaim “Oh, just surprise me!” and hang up.
  8. Answer their questions with questions.
  9. In your breathiest voice, tell them to cut the crap about nutrition and ask if they have something outlandishly sinful.
  10. Use these bonus words in the conversation: ROBUST FREE-SPIRITED COST-EFFICIENT UKRAINIAN PUCE.
  11. Tell them to put the crust on top this time.
  12. Sing the order to the tune of your favorite song from Metallica’s “Master of Puppets” CD.
  13. Do not name the toppings you want. Rather, spell them out.
  14. Put an extra edge in your voice when you say “crazy bread.”
  15. Stutter on the letter “p.”
  16. Ask for a deal available somewhere else. (e.g. If phoning Domino’s, ask for a Cheeser! Cheeser!)
  17. Ask what the order taker is wearing.
  18. Crack your knuckles into the receiver.
  19. Say hello, act stunned for five seconds, then behave as if they called you.
  20. Rattle off your order with a determined air. If they ask if you would like drinks with that, panic and become disoriented.
  21. Tell the order taker you’re depressed. Get him/her to cheer you up.
  22. Make a list of exotic cuisines. Order them as toppings.
  23. Change your accent every three seconds.
  24. Order 52 pepperoni slices prepared in a fractal pattern as follows from an equation you are about to dictate. Ask if they need paper.
  25. Act like you know the order taker from somewhere. Say “Bed-Wetters’ Camp, right?”
  26. Start your order with “I’d like. . . “. A little later, slap yourself and say “No, I don’t.”
  27. If they repeat the order to make sure they have it right, say “OK. That’ll be $10.99; please pull up to the first window.”
  28. Rent a pizza.
  29. Order while using an electric knife sharpener.
  30. Ask if you get to keep the pizza box. When they say yes, heave a sigh of relief.
  31. Put the accent on the last syllable of “pepperoni.” Use the long “i” sound.
  32. Have your pizza “shaken, not stirred.”
  33. Say “Are you sure this is (Pizza Place)? When they say yes, say “Well, so is this! You’ve got some explaining to do!” When they finally offer proof that it is, in fact (Pizza Place), start to cry and ask, “Do you know what it’s like to be lied to?”
  34. Move the mouthpiece farther and farther from your lips as you speak. When the call ends, jerk the mouthpiece back into place and scream goodbye at the top of your lungs.
  35. Tell them to double-check to make sure your pizza is, in fact, dead.
  36. Imitate the order taker’s voice.
  37. Eliminate verbs from your speech.
  38. When they say “What would you like?” say, “Huh? Oh, you mean now.”
  39. Play a guitar in the background.
  40. Say it’s your anniversary and you’d appreciate if the deliverer hid behind some furniture waiting for your spouse to arrive so you can surprise him/her.
  41. Amuse the order taker with little-known facts about country music.
  42. Ask to see a menu.
  43. Quote Carl Sandberg.
  44. Say you’ll be able to pay for this when the movie people call back.
  45. Ask if they have any idea what is at stake with this pizza.
  46. Ask what topping goes best with well-aged Chardonnay.
  47. Belch directly into the mouthpiece; then tell your dog it should be ashamed.
  48. Order a slice, not a whole pizza.
  49. Shout “I’m through with men/women! Send me a dozen of your best, Gaston!”
  50. Doze off in the middle of the order, catch yourself, and say “Where was I? Who are you?”
  51. Psychoanalyze the order taker.
  52. Ask what their phone number is. Hang up, call them, and ask again.
  53. Order two toppings, then say, “No, they’ll start fighting.”
  54. Learn to properly pronounce the ingredients of a Twinkie. Ask that these be included in the pizza.
  55. Call to complain about service. Later, call to say you were drunk and didn’t mean it.
  56. Tell the order taker to tell the manager to tell his supervisor he’s fired.
  57. Report a petty theft to the order taker.
  58. Use expletives like “Great Caesar’s Ghost” and “Jesus Joseph and Mary in Tinsel Town.”
  59. Ask for the guy who took your order last time.
  60. If he/she suggests anything, adamantly declare, “I shall not be swayed by your sweet words.”
  61. Wonder aloud if you should trim those nose hairs.
  62. Try to talk while drinking something.
  63. Start the conversation with “My Call to (Pizza Place), Take 1, and. . action!”
  64. Ask if the pizza is organically grown.
  65. Ask about pizza maintenance and repair.
  66. Be vague in your order.
  67. When they repeat your order, say “Again, with a little more OOMPH this time.”
  68. If using a touch-tone press 9-1-1 every 5 seconds throughout the order.
  69. After ordering, say “I wonder what THIS button on the phone does.” Simulate a cutoff.
  70. Start the conversation by reciting today’s date and saying, “This may be my last entry.”
  71. State your order and say that’s as far as this relationship is going to get.
  72. Ask if they’re familiar with the term “spanking a pizza.” Make up a description to go with the term. Ask that this be done to your pizza.
  73. Say “Kssssssssssssssht” rather loudly into the phone. Ask if they felt that.
  74. Detect the order taker’s psychic aura. Use it to your advantage.
  75. When listing toppings you want on your pizza, include another pizza.
  76. Learn to play a blues riff on the harmonica. Stop talking at regular intervals to play it.
  77. Ask if they would like to sample your pizza. Suggest an even trade.
  78. Perfect a celebrity’s voice. Stress that you won’t take any crap from some two-bit can’t-hack-it pimple-faced gofer.
  79. Put them on hold.
  80. Teach the order taker a scret code. Use the code on all subsequent orders.
  81. Mumble, “There’s a bomb under your seat.” When asked to repeat that, say “I said ‘sauce smothered with meat’.”
  82. Make the first topping you order mushrooms. Make the last thing you say “No mushrooms, please.” Hang up before they have a chance to respond.
  83. When the order is repeated, change it slightly. When it is repeated again, change it again. On the third time, say “You just don’t get it, do you?”
  84. When you’ge given the price, say “Ooooooo, that sounds complicated. I hate math.”
  85. Haggle.
  86. Order a one-inch pizza.
  87. Order term life insurance.
  88. When they say “Will that be all?”, snicker and say “We’ll find out, won’t we?”
  89. Order with a Speak-n-Spell where applicable.
  90. Ask how many dolphins were killed to make that pizza.
  91. While on the phone, fake entering puberty. Fluctuate pitch often; act embarrassed.
  92. Engage in some serious swapping.
  93. Dance all around the word “pizza.” Avoid saying it at all costs. If he/she says it, say “Please don’t mention that word.”
  94. Have a movie with a good car chase scene playing loudly in the background. Yell “OW!” when a bullet is fired.
  95. If he/she suggests a side order, ask why he/she is punishing you.
  96. Ask if the pizza has had its shots.
  97. Order a steamed pizza.
  98. Get taker’s name. Later, call exactly on the hour to say, “This is your (time of day) wake-up call, So-and-so” ; Hang up.
  99. Offer to pay for the pizza with a public flogging. 

How my games have done in Syntax Bomb competitions – Part One —

I can’t believe I’ve not actually published about this before but I’ve properly released seven games on Itch in just over two years and six of them were for Syntax Bomb competitions. Nowhere have I actually mentioned much about how they have done in these competitions so I really should rectify that now.

Firstly, in April of 2018, I entered the fourth competition on the site with my game Envahi. A remake of one of my favourite Vic 20 games, this competition was the imputes to actually write it because I’d been planning it for years. I hadn’t entered the previous three competitions as I was new to the forums back then and missed them. The game did pretty well for a first entry and came in at third place – mainly because the host doesn’t count his own games in the judging as that would have put me down into fourth and out of the prize fund. For getting on the podium I got a prize of £100. When I factored in the development time, including numerous blog entries on here, I worked out my rate was roughly £1 an hour working on it. More than I usually get for writing games 🙂

Around 2 months later the fifth competition began and I had 8 weeks to come up with my next game for it. I came up with an idea for a top trumps style game involving retro computers and even got some nice artwork done for it. Around 6 weeks in I realised it wasn’t coming together very well and I pulled out of entering. I’d put a lot of work into the game by that time and I would say I was around 70% done but the game just didn’t feel right when playing and I was also having some technical issues which didn’t help. I was still pretty inexperienced with the dev system, even though I’d worked on a few games, so I just put it down to experience. Luckily, since then, I’ve managed to make every deadline since. While developing RAM – as I called it – I also wrote a short story of 8 chapters which I planned to have unlock as the story mode of the game progressed. If I haven’t published it on the blog yet then I will do so later somewhere, as it’s not a bad little effort and I can’t really do much else with it since I canned the game.

I was a bit more focussed when the next competition came around and as the topic was a maze game, I decided to proceed with another remake of a game I’d planned to recreate for years. Rockman was one of my favourites on the Vic 20 as well, so I went all out to try and get this done in six weeks and it worked out pretty well. I’ve blogged a fair bit about the process for this at the time and I’m especially proud of uploading the final build and forum post at 8 minutes before the deadline. The closest I’ve ever been. The game itself was pretty well received and I’m still rather proud about how polished it is even now, for a six week game. Obviously there’s a few quirks and bugs that could do with fixing or improving but it’s stood the test of time pretty well and even had a few payments on the site from people who donated after they downloaded it. As for the competition, it went up against some amazing competition so only got joint fourth place. I can’t moan about this because that competition in particular was very popular with entries.

At this point we had got to mid-November and discussion was going on about having a Xmas themed game. I’d bandied the idea around possibly having an adventure game theme and this was picked up. I had seven weeks to work on this one and I got some help from a friend to come up with 20 locations set around a house and a Xmas-themed plot where you are a school boy out exploring the house looking for codes to open the safe and find your xmas presents. I expanded on this to come up with some optional extra side quests and then got my nose stuck into writing a basic framework for creating adventure games before getting the core game in place as a text adventure. After this I commissioned an artist to draw all 20 locations for me, with a heavy xmas theme, and also got some gui help from another syntax bomb user so the game could have a more modern feel with icons for moving around etc. Bah, Humbug! did win this competition but my glorious victory was somewhat subdued because there were only 3 entries submitted. Still, the prize was £250 which covered my expenses for the artwork and development costs around the same as Envahi of roughly £1 an hour 🙂

I will continue this in the next post.

Boulderdash finally finished —

I started working on a Boulderdash remake back in 2017 and it was pretty much one of my first games that I worked on solo when I switched to working with Gamemaker Studio 2.

Readers who’ve seen some of the first blog entries here will have seen that I was actually going guns blazing putting the game together until I got distracted by competitions and other ideas and kind of left it by the wayside when it was almost finished. At the time the game had a couple of elements like the amoeba and the magic walls still to go in but the biggest issue I was having was implementing the fireflies and the butterflies AI into the game.

I’d have to read back the earlier blog posts to see how much of this I went into back then but the main issue was that I’d been using tiles for all of the game elements, rather than objects, and I’d come up stuck with not being able to have code elements on the enemy tiles so they knew both where they had been and where they were going.

A simple idea would have been to flip them out into objects and removing the tiles for them so they could work with collision checks against tiles still, for interacting with other gameplay elements, but would have their own AI system coded into their step event and meant each one had individual control.

Aaron helped me out with the start of implementing this but we moved further in starting a branch of the code to work with a complete object system instead of tiles. For some daft reason I was even contemplating redoing the already completed tile maps as object layouts instead when I just needed to do a bit of processing as each map loaded to delete the tiles and put an object version down instead. Needless to say I was a lot wiser when I came back to the project and finished it.

Anyway, to sum up, the game is finally complete and up on itch.io with the rest of my work. I could do a lot of waffling about the rewrite of probably around 90% of the code to get it over the line but that is for another day.

I only published the Mac version of the game online yesterday and got the Windows build up this evening but it’s already picking up quite a bit of traffic which is very interesting. People obviously still remember the classic games to this day and I’m modestly claiming that my remake isn’t bad either. Go see for yourself…


Time to start work on a new game —

I’ve been thinking about starting a new game outside of the competition ones that I’ve been doing for the last couple of years finally.

The deadlines that have been imposed from writing competition games has increased my productivity massively during this time and, for the Six competitions I worked on a game, I delivered for Five of them. I even got placed Third and First in two of them which was a massive boost aside from just getting the games themselves completed.

So, now that Creepy Crawlies is finished and there’s not been the need to do any follow up work on it, I’ve been thinking on what to do next. I’ve had a couple of months lay off really, and have done very little coding apart from tweaking to my project file that I’ve tended to improve and add to after each game. It’ll probably never be complete but every game always ends up giving something back to it in a new feature or two, and the development work is much quicker to get going by using it.

Over the last week I’ve come up with three things that I’m considering doing – again with Gamemaker 2 because why not?

Firstly I wanted to do another one of my Vic 20 remasters that I’ve harped on about before. As the missus bought me some more old tapes for display purposes this Xmas, I considered doing Crazy Cavey just so I can say I’ve finally done a platform game. I did a bit of prototyping for this yesterday and, while I’m still keen to throw myself into that, I remembered I’ve not actually finished the first Vic game I was working on almost a year back which I shelved so I could do Damnation Alley. So, if I’m going to get on with a Vic remaster then it should be finishing that off so I’m not going back to my old habit of half-finished games all over the place.

And the second game I came up with is something completely different and not based on any game I’ve played before on computer, although it does have a vague link to the board game Cluedo, if anything. I’ve done a lot of writing ideas and creating a map structure for doing this and have a pretty good idea how it would all come together as a complete game despite not writing a line of code yet. However, it’s an ambitious game compared to the stuff I’ve done up until now and I really feel the urge to do something a bit more conventional first so I’ve written it all up, will be creating a proper map, and borrowing some of the heavy script and database functions I wrote for Bah, Humbug to help me get started on that at a later date.

This nicely brings me onto my third idea which has been incubating since both my nephews have told me how much they’ve been playing Rockman and giving me ideas about what works and what doesn’t. It’s now been a Eighteen months since I put that game to bed and released it and, for all its flaws, it’s still one i come back and play myself every so often. Usually just in the puzzle (easy) mode as I’ve come to realise I pretty much fucked up having bad guys in and making medium and hard levels kind of pointless because it was then almost impossible. In fact, just last night I did a play-through which I considered recording, where I was going to play through every screen and complete the game just to show my nephews that it can be done. Those two are too much into Switch and easier games to probably actually care, but the idea of doing another Rockman and making it much, much better would be quite good fun. I wouldn’t need to actually rush it this time but I also wouldn’t have to remove half of my ideas from the design doc just so I could make it in the Six weeks deadline the original game had.

So here we are and I’ve made a tentative start this evening to get this underway. I had two approaches for this. First I’d load up the original project, rip out all the stuff in the original that I didn’t want to keep and then tidy up the project, import some framework code that I had created or updated since doing this game, and then get to work redoing all the bits that I wanted to change. However, while Rockman was written with the same framework I’m using now, it’s a much older version of it, and there’s been a huge amount of changes to some of the functions and scripts that other parts of the framework relied on which caused no end of compatibility issues. I muddled along fixing stuff, disabling bits, writing little bits of middleware or just modifying function calls and importing replacement files to try and bodge it all to a working state at least but it ended up just an effort in frustration. Even simple stuff like scripts for sound routines had changed since I’d written the original game so I took the second approach instead.

There’s still a lot of functionality my basic framework needs, even after using it for so many games, but I’ve always worked with it as it is at the time I start a new game purely because it’s always straight after finishing a game that a lot of work goes back into the framework itself. Damnation Alley helped get a lot of the retro functions in place which I developed for that game and then put into the framework afterwards. The high score and configuration file i/o stuff from Creepy crawlies has also been copied out and into it now. As Bah, Humbug was a completely different game to the other stuff I’ve done, there’s also a lot of string handling and lists code in it too. Even incomplete projects like RAM have given me code that can go into the framework in case I ever do another card game. So I’ve loaded up my framework and just pulled in some of the objects, graphics and scripts from Rockman that can still be used, and will just rewrite some of this stuff to save a lot of development time. As the sequel is going to have a few new things, such as an editor for starters (I really wish I’d had the time to do that for the first game), I’ll still be doing a shit load of development from scratch.

So a rough list of what I’ll be adding to the sequel to Rockman that I’m tentatively calling “Rockman 2 – Jewel Thieves”

Firstly an Editor. I’m thinking of a bank system so you can load in up to 26 levels (A-Z) from each of the five banks but can only overwrite 2,3,4 and 5 so the original maps are always present. As I’d keep the original map structure for the first bank I’d probably need to have a system like this in place so I can make some new levels where the additional features can be used without breaking them in some way. If I work it out right then the player can also have some kind of system to put screens together and set up their own map from the editor and they can have as few or many screens (up to the limit) as they want for each map as I could have them loadable as text files, or similar.

An update to practically every object in the game, specifically the rocks and player themselves. The way Boulderdash does it works. I’ve written a clone of Boulderdash before and it played really well because I tried to make it just like the original game. With Rockman I switched to pixel movement to simulate sprites instead of character graphics and, as well as being a nightmare to code, also didn’t turn out that well in certain cave layouts where rocks could bug out. The map “Valentine” shows this very well but it’s not the only problem area. Also a lot of players had problems with not being able to move up under a rock but it seemed the right way to go when I was writing the game. So block movement comes in so there’s a speed increase, which will make it a lot more fun, and I’ll balance it to make sure it’s not too tricky. This will also solve the problem of my enemies being too dangerous because I will keep them moving in pixels so it’s a lot easier to avoid them. Or let the dog deal with the buggers – more on that later.

I’ll go back to the artist for some of the graphic stuff that Rockman used and probably get a bit more done. Some of the sprites can stay as they are but I’m sure some new intro screens showing the dog and anything else on the go would be a good idea. Animation and stuff was very lacking in the original game. Hopefully it won’t be too expensive.

Some of the basics can go into the game this time around. High scores, saving configuration data, maybe even a save game system so you haven’t got to crack up to 26 screens in one go. Certainly a map improvement so you can see where you are in the layout. The first game just superimposed an image of the map layout with no clue as to what screen you were on. Rush job that was too. Think the map was the last bit to go in an hour before deadline.

I’m thinking a new char needed to go into the game to add to Roxy and Rocky. So a pet dog is what my nephew suggested. How to implement it is another matter, let alone thinking of a good name, but i’m thinking he could be in a cage on the map and you have to release him. Once free he can run around and deal with the aliens if he runs into them. I’ll need to be working with the same map size that the original game had if I want to retain the original levels so this may need some thought.

Two new objects that have come to mind that can go into the newer levels are the compressor, which turns rocks into diamonds if they fall into it, and the muncher, which just eats anything that hits it full stop. Maybe some more if I come up with them while I’m working on it.

So far I’m at the point where i have all the old elements into the new framework and have patched it up enough so it at least runs. So the next session is going to be developing the editor before anything else as the levels will need to be made using it. I can’t go back to using them from the original game as each map was a seperate game room, which is a hell of a waste of resources doing it that way. I want an editor that will save a map as a text file that can be read both in and out before I start creating anything more than just test designs.

Syntax Bomb Xmas Magazine Issue 1 —

The Syntax bomb website (where all my recent competition games have been submitted) have released a Xmas annual – their 1st one. Hopefully there will be many more to come. In there Creepy Crawlies is covered in a retrospective of the recent Mix-it-Up competition and also a condensed excerpt of the first Two chapters of my memories of growing up in the Eighties when the home computer revolution was really kicking in.


Creepy Crawlies released —

Today I finished and released Creepy Crawlies for the Syntax Bomb game coding competition number Nine. This is my second game of the year and the fifth competition I’ve entered as I don’t count my incompleted entry for competition number Five. I really should blog about the development of these games more but, as always, there’s a tight deadline to getting them completed. This one was Six weeks.

You can find the finished game here: https://xerra.itch.io/creepy-crawlies

And also a You Tube demo of the final game with me playing it here:

Bah, Humbug! is released. —

Title Screen

I finally completed and released Bah, Humbug! on Itch.io around 11pm on 23rd of December. I should have put a post up a bit earlier but, like Rockman, I only just made the deadline for Syntax Bomb’s 7 week competition so I had a few other things to do. Oh, yeah. And this Xmas thing also affected that.

Yet again I didn’t blog during development because I wanted to keep focus and the topic was an Adventure game. I was pretty sure it was going to be a tight enough squeeze to do a game like that – especially with the game design I had. I just decided to post at the end when I could talk about the whole process rather than just sporadic posts here and there where I probably repeated myself endlessly as I rarely edit blog postings.

So, because the game was a Xmas themed adventure, I decided that I wanted to go the old-school type of adventure where you type in commands and the parser is limited to two words only. Kind of like Scott Adams did back in the day – and possibly still does for all I know.

However, as we’re updating the format for the modern day, I decided that I wanted graphics, some kind of scoring system, multiple objectives and also something that affected the game in real time. I designed Bah, Humbug! with a friend at work – not during working time, honest – and the actual game, including items, rooms, plot and other elements ended up almost exactly the same as the day two design documents that we drew up.

I was pretty proud of that as it meant I’d actually finally created a game that I’d thought through properly.

So, to keep the plot brief, and certainly without spoilers, the idea of the game is that you’ve woken up in your bedroom the morning after hosting a party for your school friends at your house. It’s morning, your parents are away for a couple of days, and you have decided that it would be a great idea to search for your Xmas presents.

You know your dad has hidden them in his safe so you just need to find the five digits of the safe code and you should be in business. However, things are never as easy as they sound. As well as the ghost of Ebeneezer Scrooge wandering the house sapping your score and generally being annoying, as well as giving the odd clue, you also have some sub-quests you can take on.

Your friends hid all your mothers Xmas cards so you need to find them or she’s not going to be happy.

Your school project needs to be finished but you just can’t find the disk that you stored it on.

Scrooge doesn’t seem to like being trapped in the house. Maybe there’s something you can do about that?

The adventure uses the usual syntax of verb, noun including words like get, drop, move, examine and use, along with a few more you may learn along the way. Once you’ve solved the quest then you can also speed run for maximum score and minimum moves just for bragging rights as well.

The game can be found with my other releases this year at Itch.io/ – feedback is always welcome.

So, for development, I decided that I would stick to GameMaker Studio 2, even if there are dedicated adventure game systems out there that might be better for creating a game like this. I wanted the ghost wandering the house as well as room backgrounds so I figured it would be a good learning curve to do it all with something I was already familiar with. Adventure systems don’t usually have options for live elements and just rely on updates every time a command is entered.

I spent a three figure sum to hire an artist to do the backgrounds and the ghost of Ebeneezer and had some assistance from another Syntax Bomb user with the UI elements of the game near the end.

There’s also a lot of xmas themed music in the game so I had to spend a bit of time during development making sure that I could use that as well as constant art revisions for the backgrounds. While they’re not truly relevant to what’s happening in the game there are a few cross-over elements but, on reflection, I do wish that I had asked the artist to make the backgrounds element based so I could make items hidden in the pictures as they are picked up. I did this with the magnifying glass in the game only because I had two copies of that background because my artist had forgotten to include it in his first draft.

Fortunately I didn’t need to do too much with the graphics myself this time around. Some bodging of the UI elements to create inventory and help panel borders was about as tough as it got. I’ve hired the same artist for my last four games because I’m not good with that side of it at all.

As I was writing an adventure game great care had to be taken to ensure it was not too hard. Most people who play games these days are too young to even have been born in the day when this type of game was popular. They’d be learning to play a completely different type of game if they played Bah, Humbug! and it’s likely to be frustrating until they get how to play it initially. Stupidly hard puzzles would just make them rage quit. One of my beta testers actually did, a day before deadline, which made me rework the entire examine object system interaction just to give a few more clues and better descriptions.

I meant to just develop the basic text system to completion right from the start and have it all working and tested before any of the graphics stuff was done but, like Rockman with the rocks, I ended up having to practically strip it all out and rewrite right at the eleventh hour.

Commands like get, drop, inventory all had their own processing system as they could be used in multiple rooms and I had a seperate script for each room so that specific actions that would only work in that room could be coded in there. I wanted to keep them out of the main processing but stupidly realised right at the end that all the commands should have had their own script directly because they needed to allow for mistakes, such as someone trying something in the wrong place. A classic example was dealing with the ghost in the game. This is why I only got the game in an hour before deadline instead of two days early so I could have it done before I went away for the deadline weekend.

I’ve not been updated with any news of problems with the game yet but, then again, I’ve only just really announced that it’s done and out there, so I’m bound to get some. I will hopefully be patching it before voting actually starts on the 30th if this does happen. I’m already aware of my own mistakes making the game, however, so it’s been a learning experience just like the other games I’ve released this year.

I’m still hoping to have five completed since January 1st, 2018 but it’s a tough call to finish two games that are around 90% done because that’s when most of the work is actually needed.

Try out Bah, Humbug! before it gets out of date like your old turkey and the Xmas cake. Probably in around 10 days but then I can always throw it out again next year. It works for all those Xmas songs we hear every year, after all 🙂

Rockman development posting —

I’ve posted the following write up about the development of Rockman on both Syntax Bomb and the ItchIO page for the game so I thought I’d also put it up here as well.

Rockman is my entry in the aMAZEing code a game competion

As a kid I loved playing the original Vic 20 game so this is my re-imagining of the game for modern computers.

The game features 20 caves each containing 8 gems and lots of nasty rocks that are going to give you more than a bump on the head if you let one fall on you. Rather than the conventional idea of clearing a cave to then be shoved into the next one, like Boulderdash, Rockman was novel in that it had it’s own mini-maze of caves in a map where each cave had exits leading to specific other caves. You would have to backtrack through areas you had already cleared to get to the new caves which meant you had to have a good memory for the layout of the area or draw your own map.

The original game never supplied you with this, so you had to stumble around back and forth until you eventually managed to clear them all. Fortunately I’m not so cruel and you can get a map in this version just by pausing the game. It won’t show you which caves you’ve cleared and which ones are still left, but you do get a rough idea of the layout on each map so you can work out where you are.

A few hopefully interesting bits of trivia about the development of this game:

I started working on Rockman around 3 days after the competition theme had been announced as I wanted to give myself time to really make sure that I knew what I was going to aim for rather than run blindly into something too ambitious like I did with the previous competition. Nobody wants to fail again and I was nowhere near finishing the last competitions game – and that had two extra weeks.

Among the games I was looking at for some inspiration were the following:
Nonterraqueous, Boulderdash, Gauntlet, Pacman, Doodlebug, Rhino and Radar Rat Race.

I’ve already written Boulderdash once with GMS2 – just never released it as it’s not quite finished, so that one was ruled out.

Rhino was a very early Basic game I played again on the Vic 20, which involved trying to reach an exit in a maze while avoiding the Rhino’s that were hunting you. The only snag was the Rhino’s were not visible to you until they had you in a line of sight. A very clever game for the time but I wasn’t sure it would make for a good game now.

Doodlebug was a Pacman clone I enjoyed as a kid but didn’t feel it would bring anything interesting to the maze theme.

I felt Nonterraqueous wouldn’t really work because, even though it was a good game at the time, complete with hundreds of screens, they were all very similar and shooting stuff while moving around them isn’t that engaging these days. Besides, who wants to type Nonterraqueous all the time afterwards when you’re writing about it?

Radar Rat Race almost got decided as a safer idea to match the maze theme and I would have gone with that if Rockman wasn’t considered suitable for entry when I asked at the start of the competition if there would be an issue doing it. Maybe one day I’ll have a crack at that one as well.

As I’d written a Boulderdash remake before, which is very close to the original, gameplay-wise, I thought at first that this would give me a good leg-up in doing Rockman because the idea of collecting diamonds in caves while avoiding rocks is the core dynamic for both. Rockman also doesn’t scroll the screen and relies on exits opening when the level is clear. In the end it actually worked out to be quite a bit more challenging as I had to work out how to do the map layout and the rocks worked differently as well.

I wanted to use the original map designs from the Vic 20 game in mine so the first challenge was working out a good all-round window size and then setting it up so the layouts would be the same with much more detailed graphics. In the end I went with 64*64 pixel for all the gameplay elements apart from the exit doors which are double height or width, depending on which part of the screen they are on. My idea of re-imagining a game does mean that I don’t want to clone it exactly but keep the elements that work really well, and the map layouts actually do because you have to be very careful and think about what you are going to do to move certain rocks, or you end up being forced to restart the level. That will cost you one of your lives for that.

One of the things I realised very early on when I had a basic character moving around clearing earth on the screen was that I wanted to try and improve on the original game and pixel move the character rather than just move in each direction as a character block jump. The Vic 20 never had sprites so, unless you were very clever with with rotational assembly instructions to roll the bits in a byte thus shifting pixels in a character to simulate pixel point movement, you just moved the character one space forward in the screen memory map – which was 8 pixels a block. As the Vic 20 had a very low screen resolution this was glaringly obvious that you did that but 99% of the other games did as well, so it was acceptable. With my Boulderdash remake I did the same thing to emulate the original game but I did it the hard way with this game and it actually changed how you played the game in a big way. Not to mention making it a nightmare to get the rocks movement right at the end of development. More on this later.

Now the original game was hard. Too hard, a lot of people, myself included, thought at the time. The reward on that, however, is it’s brilliant if you can actually nail it. I managed to complete the original game once, probably a couple of years after owning it, and the elation I got from actually doing that was amazing. And that, to me, was because it was so bloody hard. I wanted Rockman to be a tough game for people who wanted it that way but also have a way of playing for people who don’t like things so tough because modern games go that way now. So I gave this a serious amount of thought in development and, after tossing ideas like turning some features on and off, and going for a three skill levels system, I think I achieved that.

Rockman on level one does not have any static skulls on the screen, nor the moving butterflies (who are nasty as hell, even though I slowed them down to a crawl and dumbed down the AI). So what you end up with is basically a puzzle game where you shunt rocks around without distraction (unless you still kept the timer on) to get to all the gems and finish the game. That mode is how I mostly play it and will probably be the most popular. Level 2 has one Skull and one Butterfly to deal with and level 3 is two of each – for the really hardcore players. Another change almost forced upon me by going with the pixel movement was that you could no longer move through earth and support a rock directly above you because it breaks all the rules of common sense now. If I deleted the earth as I moved through it in pixels then it’s going to drop on me now whereas in the original game I’d deleted the earth and was already holding the rock in place with one movement. One of my two testers complained very negatively about me making that change but I resisted the urge to revert it back because it was both too late in the day and because I liked it. Especially when playing without the other gameplay elements as it’s still now a challenge.

Playing Rockman on level One is now a good experience, I think. Even if it does mean all the work I did on the other elements isn’t appreciated. One of the bad things about it, however, is that with no Skulls on screen then you don’t get no cake when the cave is actually cleared. Sacrifices, and all that.

Another thing I didn’t consider much back in the Vic 20 days about the original game was that there was no allowance for unfair map layouts. You could spawn in and literally have a bad guy right next to you on the map so you lost a life unfairly. Also you sometimes had levels where a skull could be positioned in such a crap position that it was impossible to actually finish that level, causing you to throw yet another life. That’s not fair and no game should ever be allowed to get away with that. I realised early on that I couldn’t get away with letting that happen as well but that coding around these situations would be nigh on impossible for me. So I remember another Rockman type game from around ten years ago had a feature where you were given a bit of time on entering a new level to quickly look at the map and decide if you wanted to play it that way or not. If you didn’t like it then you could press the restart key before the countdown finished and it would be redrawn. That seemed an acceptable solution to me so I did the same. Remember that this only changes the position of the Skulls and Butterflies, though, and you still have to contend with the rocks placement where they are.

I didn’t keep any logs of the hours I spent working on this game or blog about it, unlike my previous competition game, Envahi, where I kept detailed records. I was working with a six weeks deadline this time rather than the generous ten weeks I got to work on that one, so I kept focus. I probably worked around 80 hours or so doing this one. I probably worked a couple of hours every couple of nights and had three or four sessions where I spent a morning or afternoon on the weekends. My process was keeping a list of stuff that needed to be done, current bugs and stuff that I could implement if I had time. When it got near to the end of the competition deadline I had only one feature that I ended up not doing which was the cave editor. I was hoping to maybe have a seperate set of maps that the player could play with from a template build so they could put their own exits, gems and rocks down and lay them out in a map format like the built in ones. It’s a shame I couldn’t have kept that because it wouldn’t have been that hard to do.

Towards the end of the work on this game I kept a clear bug list and just considered every item that was on the stuff that needed to be done as a milestone and just whittled them down one by one. When I got to two days to deadline I was down to three milestones left and thought I was on easy street and could finish with a day to spare like Envahi. Then I would have time to set up a decent game page on ItchIO, update my website, blog some stuff, create a PC and Mac build, and still have plenty of time to post my entry on Syntax Bomb for the last day. As always this was not what ended up happening.

Anyone who’s ever written a game will tell you that the last 10% of any game may as well be the last 90% because that’s how much more you actually really have to put in. Something always breaks, other stuff needs to changed to work with the things you’re adding, bugs seem to come up that you’ve never seen before but should have logically been seen and fixed early on, and you always get too ambitious with that “oh, wait. Let me just add this…”

3:30pm on Sunday afternoon I’ve got the last of the graphics for my game and finally have both the playable characters in and working correctly. One of my testers reminds me that the rocks in my game still look like Oreo’s and they are still moving into each others spots and seem to be merging when there’s a few moving around. No problem, I think, because I’ve now just put in the new graphics for these rocks and I’m now down to the last bit of the game to fix, which was sorting out the object code for the rocks to stop this happening. I made a massive mistake in putting this part of the game off until the end because the original code was practically the first bit of work I did for the game and I knew it didn’t work right back then. I knew it was going to be tricky to get it working properly with the pixel movement of objects so I went off and did the rest of the game, meaning to come back to it when I was in a better frame of mind to get it done.

This almost cost me the deadline because I ended up having to recode the entire character movement for the player object and also the Butterflies so that collisions between them all would work better. It doesn’t sound much of a problem at first unless you know a bit about how gamemaker works because I wasn’t using the built in collision system but actual object searches because the whole playfield is built out of objects rather than tiles. So after frantic coding all evening trying to sort out the mess, I actually had the final Mac build not ready until about 11:20 pm. Then I had to copy all the code onto the slowest USB stick ever and fire up the old PC to create a Windows build – as per the competition rules. Of course GameMaker needed to update itself – which on Windows requires a reinstall, and not being able to find my login details because it hadn’t been used for ages.

Rockman finally got uploaded onto Itch and the forum competition post at 11:54pm – Six minutes before the deadline. I honestly thought I was going to miss it when things started going pear-shaped. I hope I never write another game that goes that close to a deadline again.

So, in retrospect, I think this is now the best game I’ve ever written. It’s probably not saying a lot but I am my worst critic so I’m secretly hoping people like it a lot more than what the realist in me is saying. However, I am hugely proud of it, because it was hard work. And I realised fairly early on that it was worth engaging a graphic artist to make it look worth it as well. It’s a competition and, as much as I’d like to win it, I’m not going to but that’s not a bad thing. The competition deadline is what I needed to actually get the game finished and at a level where I thought it was worth entering.

So now I’m looking forward to playing some of the other entries and maybe not coding anything for the next few days 🙂

I hope you all enjoy playing my game as much as I enjoyed creating it. Apart from those last two days. Oh, god, no. Apart from those…