Posts Tagged ‘shmup’

Abrogator released and PM

Thursday, December 31st, 2009

So, the last Illogistix project of 2009 is going to be Abrogator, a vertical blaster built in Game Maker 8. And just to break with “tradition”, since it was a remarkably short project i’ll go straight from the release announcement into an ad-hoc postmortem straight after this ‘ere screenshot!

Abrogator - in-game

What went right?
After the initial difficulty curve of picking up Game Maker i described in the previous post was past, it seemed remarkably friendly overall; because i wanted to approach it as a “newbie”, all of the graphics were created within the editor itself and i didn’t take it out of “simple mode” at any point, instead working within the restrictions it imposed.

The editor itself isn’t perfect, the graphics tools in particular are primitive at best and i’d seriously recommend others to avoid the masochistic approach i took for anything past “programmer graphics” to test things – and if anyone abuses objects in the way i did to simulate time lines, they’ll find that keeping track of what’s going on within the object is rendered more cumbersome by the window’s insistence on resetting the cursor to the top of the current list during test runs. That said, i can’t hold that against the program, after all the time lines in advanced are there for a reason and it was sticking to my “rules” for the project that saw me bouncing off that issue in the first place.

What went wrong?
Well, the game is rather hard because the collisions can’t be tweaked in simple mode to make them more generous; it’s not unplayable for that issue but players will need to take into account how limited the movement can be within the play area.

What was learnt along the way?
The biggie is that GM8 is quite powerful; i have already played with the advanced mode, the time lines and some other GML (this wasn’t the first project started in fact, the other will probably become Abrogator 2 at some point) and right now the idea of paying out for a registration code to get the pro version and the particle engine is proving quite tempting…

Final thoughts
i must admit to being mightily impressed by Game Maker, not just because it allows anybody with time and patience to produce a game but the way it’s almost a “back door” attempt to drag people into programming. Users come to it as a point and click environment and can produce simple games but eventually they’ll bump into limitations which require a fragment of GML to circumvent – the more they use, the more it’s possible to achieve and the braver people may well sit down and attempt to write an entire project with GML.

Yes there’s a lot of shyte out there developed with Game Maker and it has something of a reputation because of that, but the signal/noise ratio is because not every user is going to be able to design a game and there are quite a few pitfalls to be wary of [1] – but for those who persevere and throw some serious time at working on their pride and joy, the results can be superb.

[1] As an example, the “simple” way to make a shooter would be to dump a load of nasties into a room, tell them to reset to a random X and a Y off the top when they leave the room and just let things cycle around, i’ve seen one exactly like that where a smart bomb was included that caused thirty or so nasties to reset to the same Y, making an almost impenetrable wall – i wish i could remember the damned name of the thing!

Here we go again…

Saturday, December 26th, 2009

It’s time to start another project i think, it’s been quite a while since Happy Ball Is Happy was released after all… and since it’s just been released (and because i’m hoping to produce a write up of it for Retro Gamer at some point) i’m going to teach myself at least the basics of Game Maker 8, using the free Lite version. To keep things simple i’m aiming for a simple vertical “scrolling” blaster, taking selected hints on how to achieve some things from one of the tutorials on the GM8 website (the 1945 one) and essentially guessing the rest.

As a total GM n00b i have to say that initially it seems somewhat daunting (and i do feel that even some of the simpler events aren’t entirely logical, simple player movement was a bit more fiddly than i’d expected for example) but after the initial hurdle it’s proving reasonably easy to work with. At this point i’ve got a custom-designed player ship moving around over a dots-on-black starfield (i’ll pretty a load of the details up as i go along, it’s just there as test for the moment) which can fire a bullet on command.

Happy Ball postmortem

Wednesday, December 16th, 2009

i’m pretty bad at these, aren’t i… okay, so Happy Ball Is Happy has been in the wild for a while now, so time for a quick postmortem.

What went right?
This was my first attempt at an arena-based shoot ‘em up and literally the first piece of C++ code i’ve ever written, in that respect it went quite well! i’m not sure i’ll be using C++ for any further projects to be honest, but it was a learning experience and should i decide to try XNA or perhaps Java development at some point it should be a good grounding. As a game, it played pretty well and although it doesn’t appear to have even registered as a blip on most people’s radars, i quite like it so [ppphhhpppt!]

What went wrong?
The final result was rushed because i was getting annoyed with it not being out the door. There was an issue with Vista Home reported that i simply couldn’t trace (since i don’t have any Vista boxes myself and the only ones available to use for testing were running Vista Business or Ultimate) and issues with how Allegro doesn’t protect the contents of video RAM, meaning that it’s easily possible to trash all of the graphics by tabbing away and then back to the game.

What was learnt along the way?
Well, apart from a smattering of C++ the most important lesson is “yes, having spawning points works” and that was the biggie; one of the problems i’ve noted with most arena-based shoot ‘em ups has always been the enemies spawn into the play area, that means there are moment when they’ll be trying to materialise directly under the player’s sprite. The “boss” nasty in Happy Ball Is Happy means that it’s obvious where each spawned attacker is going to come from even if the player hasn’t learnt the release patterns to know what’ll be along next.

Final thoughts
It’s a hideously simple game really and has that forced cuteness that comes from not quite being able to pull off true cuteness due to a high level of cynicism, but Happy Ball Is Happy did what it was meant to and is still a giggle to play. Perhaps a sequel, redone in BlitzMax with more options, joypad controls and so forth should be on the cards…

Happy Ball escapes!

Monday, October 5th, 2009

Although there’s an issue on Vista Home which refused to play nice despite every other version of Windows being relatively cheerful about it, i’ve decided to release Happy Ball Is Happy to my fans – all two of ‘em! For anyone not following the development, Happy Ball’s Happy Place has been invaded by an evil Big Happy Ball and it’s army of minions; the overall goal is to destroy the Big Happy Ball whilst avoiding or toasting the smaller ones launched.

click here for more happiness than you can normally shake a stick at and a postmortem will follow at some point.

Happy balls!

Saturday, July 11th, 2009

Right, i’ve been busy the last couple of weeks with all manner of non-programming type things (and that’ll be true again in the very near future unfortunately) but yesterday and today saw a major leap in project 3 – and it has a name now, it’s called Happy Ball Is Happy (because he is) and here’s a screenshot of the current code during play:

Happy Ball meets the other happy balls!

Happy Ball meets the other happy balls!

The game is essentially finished now that the hiccups that were being caused by the ham-fisted way i was handling the draw cycle are fixed and it’s only lacking some proper attack pattern data to round things off and i’ll take another stab at adding joypad control because right now i’m rather ironically playing my own game with Joy2Key! That lot may well take a while since i have a few other things on my plate (which reminds me… i haven’t eaten much today!) but it won’t be too much longer before Happy Ball is truly with us!