Posts Tagged ‘shoot ‘em up’

Wave hello…

Tuesday, February 23rd, 2010

Y’know what’s daft? Part of the idea behind this site was that the games would be simpler and more about experimenting with the languages; despite that, I seem to be spending a lot of time building systems that then need populating with large blocks of attack wave data! Stuff that for a game of soldiers, I reckon the next project is going to be an arena shooter with randomly-generated placements!

Anyway, I finally sat down with Dark Cavalier to populate it today and have about a minute or thereabouts of enemies now – the “plan” is to have four or five minutes in total and some of the nasties only spawning if the game is set to “hard” (so the best scores will be gained by using that mode) which initially had a suicide bullet system as well which rather ironically felt too damned difficult so they’ve been disabled. I might add a third “very hard” setting that brings them into play perhaps…

Now I know DarkBasic hates me!

Sunday, January 31st, 2010

Yes I’m afraid its official now, DarkBasic Pro and I had something of a… tiff yesterday and as a result it spent last night sleeping in the spare room whist I spent the evening crying down the phone to my mother.

All I was wanting was to put a still image behind the 3D objects and the texture backdrop command appeared perfect for that job… except it wasn’t being highlighted as a keyword in the IDE and seemed to have no effect whatsoever. The reason (which I found squirreled away on the DBPro forums after about four hours of web searches, trying variations, swearing and re-reading the help files) is that the “texture backdrop” command is now classed as obsolete and, rather than throwing back an error or anything sensible like that, the compiler just goes ahead and ignores it entirely! I’m really not sure how “professional” any programming language can claim to be when the on-board documentation hasn’t been updated to remove depreciated commands like this, especially when the compiler itself has been told to paint over the cracks.

On the plus side, project 5 now has an “official” name – it’s going to be called Dark Cavalier because it sounded fairly cool when i did the “science fiction voiceover test” (essentially just saying the name as though you’re voicing a trailer for a new sci-fi blockbuster) and, after spending another two hours building the titles logo in Imagine and then finding a way to convert it to Direct3D for DBPro to work with, I’m knackered if it’ll get changed now!

I think DarkBasic hates me!

Sunday, January 24th, 2010

Or perhaps “hates” is a little strong but I’ve broken it a couple of times since picking Project 5 back up after my deadline; two of the nastiest crashes were just trying to do a find and replace on my source but there was half an hour of head scratching when the damned thing refused utterly to explain where the syntax errors it found were located in the bloody code – turned out the “issue” was some comments added to the end of a line where a constant was defined… if there’s one thing that bugs me it’s bad error reporting.

Un-named DBPro Project

But despite the tribulations there’s now a workprint of the still unnamed project. Apart from actually strapping a title page into the thing and performing the usual surgery so that the game can run as part of a larger loop rather than relying on the variables being nulled when they’re created, it’s pretty much done – the actual populating of the level will take a bit of time and i need to “fudge” a soundtrack as well…

Project 5 is alive

Sunday, January 17th, 2010

In fact, the as yet un-named Project 5 (hey, maybe I should just call it that…?) is already up and partially running. I’m playing with the ad-driven release of DarkBasic Pro and have a small-ish game engine running, essentially a common or garden vertical blast but with the camera looking through the scene at an angle so that objects get larger as they move down and the entire thing has a little depth to it.

Getting used to “thinking” in 3D (even if the game itself only moves in two dimensions) has been quite uncomfortable, at one point I had quite a bit working and decided to add some particles to make things go “boom”, only to find out that the built-in particle engine is designed to run at a particular orientation and i’d designed my entire game at a ninety degree angle to how it’d look best – cue moving the camera, followed by head scratching and trying to work out which axis to rotate the objects on to get them the right way up!

I’ll probably have a screenshot in the next day or two (got a writing deadline next week so development’ll be slowing to a crawl until that’s safely out of the way).

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!