Due to a lack of time, motivation and the fact that I’m pretty sure no one ever actually plays the games I develop, I am abandoning TG3 and releasing the BETA to the world. The 2 player mode functions, with multiple characters, stats and special attacks, there’s a few animated backgrounds, and some ripped Street Fighter 2 music. That’s about it. The game is compiled as an EXE, so you won't need QB64 to run it - this also means it's Windows PC only..
Showing posts with label QBasic. Show all posts
Showing posts with label QBasic. Show all posts
Thursday, January 19, 2012
Trampoline Gunmen III – Lucky Strike (PC)
Due to a lack of time, motivation and the fact that I’m pretty sure no one ever actually plays the games I develop, I am abandoning TG3 and releasing the BETA to the world. The 2 player mode functions, with multiple characters, stats and special attacks, there’s a few animated backgrounds, and some ripped Street Fighter 2 music. That’s about it. The game is compiled as an EXE, so you won't need QB64 to run it - this also means it's Windows PC only..Sunday, July 31, 2011
Lady Priest Lawnmower – Windows PC
I’ve programmed a new game, with vocal song! You'll love it..
.
.
Feeling in a bit of a retro mood on Saturday I spent a couple of hours coding a spiritual successor, pseudo sequel and pretend remake to Advanced Lawnmower Simulator, a phenomenal ZX Spectrum game by famed taxidermist and Jazz dancer Duncan MacDonald, of Your Sinclair fame.

I call it (click to download):
LADY PRIEST LAWNMOWER
I like to think of it as The Brothers Karamazov for the modern age, examining religious faith while at the same time weaving a complex tale of love and redemption in a time of confusion. It follows the struggles and tribulations of woman priest at a time when she questions her purpose in life, there’s an obvious love tension with Sergei, who is also her kidnapper – but! By the end of the narrative becomes her psychological saviour, helping her to come to terms with her beliefs and desires in a conclusion that I’m sure no one will see coming.
More Tea, Vicar?
FEATURES:
* Authentic 8-bit graphics
* Over 11 colours used ON SCREEN
* HYPER-Mega 340 by 200 pixel graphics!!!
* Post-rendered Blast porcsession
* Super Audio Phonic Sounds
* Vocalised theme song by new indie band The Punk Yaks
* 180 minutes of voiced dialogue speech (may be condensed)
* Dynamically tuned pick-up-and-play control scheme
* Easy to learn, even easier to master
* Unique story script, edited down from an original draft of 2000 pages
* Tragic tale of love, redemption, faith and a woman turning into a lawnmower
* Runs on OFFICIAL Microsoft Windows Operating System
* Is NOT a virus
* Beards!
This game is freeware and can distributed and copied as much as desired.
Labels:
homebrew,
indie,
Lawn Mowers,
PC games,
QBasic,
Retro,
ZX Spectrum
Friday, February 25, 2011
Akira homebrew game on PC

Some may recall my entry on the games I’ve made, which included an Akira game which was subsequently deleted. Well, I’ve started to remake it. Download the demo today!
.
.
DOWNLOAD THE DEMO HERE.
I take no responsibility for any damage this may cause. As far as I can tell it's totally safe.
Push ALT and ENTER for fullscreen. Arrows to move, space to shoot. To cancel sideways inertia push DOWN. Or wait for it to cancel itself.
Make sure to enter the number 1 (ONE) at the start for engine sounds. All sounds are on by default, except engine revving, which is off, but if you push 1 you should get some engine sounds when increasing/decreasing your throttle.
It’s taken me about a week in a my spare time, with a 6 month gap in the middle due to loss of interest. But I started it again last week and added one of the Clown gang. It’s little more than a tech demo, and I stole the music track from the Amiga game, but it kinda shows what I’d want it to be if I ever finished it. I want to add another Clown biker or two, and give each distinctive AI. The current one is stupid, and while he will try to evade your line of fire he doesn’t see the barricades and doesn’t actively attack you. If I can I’d also intend to add one of those flying vehicles from the film, since they wouldn’t be affected by the road speed.The basic premise is: survive the XX kilometres to the stadium, in a Spyhunter style game, and then switch to a Space Invaders type game for the boss fight against Tetsuo. The second half hasn’t even been started yet, but I’m already growing bored of this project (plus I’ve got a 4 page magazine article due in soon and I’m contributing to the Adventure Book). So I guess this will have to suffice until I find more time/motivation.
If your fuel runs out it just resets. Eventually I’d intend for it to be Game Over, with the chance to pick up extra fuel as the game goes along (perhaps tied to the death of a biker). The idea would be you need to avoid obstacles and keep your fuel up. Your lazer gun is recharged via the bike engine (like in the film), so it burns up more fuel. Hitting anything bad drains fuel too (though if you hit a barricade at full speed you should be fine). The clown bikers swing green hockey sticks to attack you. The “km” bar on the right charts your progress to the (non-existent) stadium. Each time you shoot a Clown biker it marks your kill count on the right. Clowns can die on barricades.
Oh, an the reason the Kaneda sprite looks so ugly is I drew it first, about 6 months ago, and did the Clown biker today - obviously I was more artistically motivated. If I work on it some more I'll also try to use more sound files, since they're easy to add in QBasic. I found this site with sound files. For example I'd like to later have Kaneda saying his "just when my coil was reaching the green line" quote, to be used when the player presses ESC to finish the game, or after a Game Over.
FUN FACT: the game was made without any arrays. I have never been able to work out how to do them properly, so I don’t use them. Which is why there’s only one biker and two barricades and I will never be able to elevate myself above 1980s era game design. I suppose if someone really wanted it they could have the source code.
Have fun, and don’t complain about the music theft. This is a non-profit thing so I don’t really care. If you spot any bugs or anything which needs addressing, post in the comments and I might fix it.
Thursday, September 2, 2010
Haiku Quest – the MAKING OF

For the record, no that sadly wasn’t Christopher Walken’s voice in Haiku Quest. I had thought this would be obvious, but it says a lot about the internet that for a time it was regarded as fact. For a full explanation on how Haiku Quest came to be, read on! (heading image from Zen Albatross on Motherboard)
.
.
My motivation for creating Haiku Quest was mainly to give people the experience of the haiku minigames from Boku no Natsuyasumi 3 in English. As several pointed out it’s actually very similar to the insult sword-fighting in Monkey Island, though I personally didn’t make this connection at the time. I also wanted to experiment with QB64’s sound playing options, and I really wanted to have an entry on TIGSource, since I love the website and the whole indie community. As I’ve said before, I regard myself as the Ed Wood of indie games development, and getting people to take notice of anything I make is nigh on impossible. But my haiku RPG idea had just enough merit, and was just within my abilities, to actually appear worthwhile.
My initial idea was a grand multi-screen RPG, where verses of haiku could be acquired for doing tasks and could be used like equipment. Haiku are meant to be seasonal, so imagine sticking winter verses on your armour to keep cool when fighting a fire-breathing dragon. Maybe boss battles could take the form of haiku stand-offs similar to the rap battles in 8 Mile, and you’d absorb the haiku verses of defeated poets, to then find and take on more powerful haiku poets. Stuff like that. It was within my abilities if I could set up an array to handle all the verse combinations, but I knew I’d get bored before completion. So I scaled it down to 4 screens, and replicated the BnN3 minigame exactly, except I used 5 poems and it used 10.
In the end I decided rather to create a proof of concept game, something you could finish in 10 minutes, but which might encourage other indie game makers to do something similar. I also went with ASCII in the end since despite creating an animated sprite, the amount of work needed to create perfect collision detection was rather daunting, since I’d need to cater from the start X and Y points, and the ending X and Y points for not only the main character, but anything he touched. So 8 variables, as opposed to only 4 axis positions with ASCII.
Of course my decision to claim that the legendary Christopher Walken had lent his voice to the game ignited some internet rage – though it serves you all right, since most sites didn’t even take the time to check the WAV files before posting a news story. 1UP actually had the best, and most intelligent coverage of this, and I’ll be discussing all of these in a moment. But first, a list of all the places I found that spoke about this:
GameSetWatch
1UP
Colony of Gamers
NeoGAF
RPGcodex
Metafilter
Motherboard
French website
HG101
CALCULATED DESIGN
One of the biggest surprises regarding the game is how many people posted online saying they didn’t know how to play it. I have a great dislike for long-winded tutorials, and I thought that the basic mechanics of the game would be fool-proof in their simplicity. There are 4 screens, only 2 which contain anything. You visit Haiku Man, he recites a poem and asks you to grade him (your grade to a degree affects what grade he gives your lower level poems), and then all that’s left is visiting the village.
The daylight meter at the bottom continuously goes down, and I thought it would be obvious that if the inn keeper says it’s too early for bed, you need the bar to be a little smaller. It needs to be around 20 pixels long I think, and it decreases 1 pixel with each step. So when the inn-keeper boots you out, I made sure that even if the bar was at 21 (the lowest it would go without letting you sleep), you’d still have enough time to walk AGAIN from the village entrance to the inn without it reaching sunset – by which time it would OK to sleep. Calculated design that was, people. Also, the more expensive sleeping option is redundant. A lot of games feature utterly redundant options, and this is my homage to them. Stay in the cheap room!
After sleeping the bar refills and you need to spend the rest of your money increasing your supplies bar. I decided that in so many RPGs, winning came down to having enough gold to buy the most health restore items, plus the best equipment and weapons. No one intentionally buys anything less than the best they can afford, so I streamlined it. Imagine a thousand useless variations on items and equipment, and assume that based on your current money, you will always buy the best you can afford. So your bar fills up, representing armour integrity, health potion numbers, HP and so on. I was reminded that in Final Fantasy 7, the majority of boss battles came down to how many Mega Elixirs I had, since this restored the entire party. The only tricky bosses were the Ultima Weapon bosses, which were my favourite, since they required genuine strategy to clock, involving complex things like W-Materia and clever use of material in dual weapon slots, plus the need for underwater material so you could breath, and instant-revive set-ups for when the entire party was wiped out. Most other battles though, like most RPGs, came down to buying the best sword before a big boss, and buying as many restore items as you could. Then it was a case of hitting attack or magic until it died, while regularly using said items.
NPC IRONY
Also, I thought it rather clever that the game’s only NPC (assuming Haiku Man is the game’s only boss) says only “...” to you. That well known JRPG cliche of the ellipses, which says and does nothing other than waste time. But actually, Ojisan is extremely important. If you enter town and it’s too early sleep, rather than run left or right, he acts as a wall you can run into to decrease the daylight bar more quickly. In short: he exists purely to waste/pass time. How many times did you play Shenmue and wish there was a quick way to make the time pass? Deadly Premonition had the clever idea of cigarettes, where smoking would cause time to pass. Ojisan falls into this category.
STEALING AND MUSASHI’S WIFE
I had to laugh at how several people online claimed the game was unfinished. A guy on Reddit said: “A lot of the game is not even really implemented or just put in to look like there is more when there isn't like menu options that aren't selectable.” He was referring to Musashi’s inn where there’s the option to “sleep with Musashi’s wife” but the cursor won’t go there, and in Takashi’s store there’s the option to steal from Takashi, but again you can’t select it/
This wasn’t really an attempt to make it seem like the game contained more – it was a kind of post-modern, abstract dig at all those jerkoff Western developers who are claiming JRPGs aren’t really RPGs, because you haven’t got the freedom to kill anyone, or rob from anyone, or do totally pointless shit like decide what your character looks like. For these narrow-minded idiots, the lack of freedom do irrelevant things means JRPGs don’t deserve to be called RPGs. I disagree. It is a crazy idea for games to allow total freedom outside the context of what they are. I think it was EDGE magazine that once complained about Metal Gear Solid, that while Snake had a packet of cigarettes, it was unrealistic that he couldn’t kill himself by smoking the entire pack at once. How absurd is that? So with all this in my mind, I added 2 options which no one can ever select. I suppose if this were a Bethesda game, you could kill the storeowner and steal all his goods, or if it were Fable you could sleep with whoever you choose.
Actually, the stealing the from the store bit reminded of Zelda: Link’s Awakening on the GB, where you could steal the bow, which was a seminal moment in gaming for me. Since the only penalty was your name changing to THIEF and you losing a life. Which was a small price to pay for saying 980 rupees. But yeah, the inaccessible menu options are part of this game’s modus operandi – messing with your mind.
INSTANT-TIME BATTLES
This bullet point, along with the claim of a massive overworld, should have sent bells ringing that most of this was satirical. I had recently completed Dragon Knight 3 (aka Knights of Xentar) for DOS, and what I liked most about it was that all the battles were automatic. Random battles in almost all RPGs fall to you repeatedly hitting attack or magic, over and over, and if you’re lucky the bosses prove more challenging. But Knights of Xentar streamlined this, resulting in automatic damage to yourself and enemies, with your only input being occasionally hitting the items button to give a health potion. It was great, since what is the point of going through the motions of your standard JRPG battle? It also reminded me of Earthbound, where after getting to a high level, touching an enemy results in their instant defeat. People have compared it to Roguelikes, but I have never, in my life, played a Roguelike. So I can’t comment on this. Mainly it was inspired by Knights of Xentar.
Speaking of battles, my idea was for a very avante guarde art style, with the game entirely in black and white. And then I thought, wouldn’t it be interesting if the monster names were in colour? No one has commented on the fact that you inhabit a world where the only source of colour is its monsters – the things which kill you. I also chose names which would sound foreign, rather than crap like orc and elf. Wyvern is common in Europe, but babayaga (witch) isn’t, and neither is gorbunok (a flying horse from Russian legend).
THE POETRY
I wrote these first. As an accomplished writer, and author, I could probably write some decent haiku. I quite like the Game Over haiku I did, even though they lacked any kind of seasonal theme or “cutting word” at the end. Regardless, I decided to make my job easier, and make this appeal to game geeks, but basing them entirely on games. First I wrote the 5 perfect haiku (each inspired by a certain classic series), and then I tweaked them so that the different verses would work when you mixed them up.
Darius:
The small ship flies / A huge enemy approaches / Smell of dead fish
Street Fighter or Streets of Rage:
Two men in the street / Ancient bare knuckle technique / Fierce burning is felt
Mario:
In and out, again, again / Glade of green pipes stretching forth / Princess in a castle
Tetris:
From the sky they fall / Moulding the body’s position / Conformists vanish
Metal Gear
In a box hiding / Rigid serpent in warm places / Father’s legacy
I’m a little disappointed that David Wolinsky of 1UP, despite “getting” the game better than anyone else, assumed the haiku were all filthy and about masturbation. The Mario themed one makes sense, since he goes in and out of green pipes which stretch to the horizon. And the reason? Princess in a castle. The Rigid Serpent verse is obviously “Solid Snake”, and the fact that most of his games are in a hot climate (MG, MG2SS, Snake’s Revenge, Ghost Babel, MGS3, MGS4, Portable Ops, etc). Dead fish? Come on, that has to be the aquatically themed Darius. And as for fierce burning, that’s obviously a hadoken from Street Fighter.
The only really abstract one I’m disappointed with in hindsight, is the Tetris one. I always picture Tetris as a metaphor for communist Russia. They fall from the sky represents the blocks, but moulding the body’s position is me thinking of George Orwell’s 1984, and how the state moulded you inside the Ministry of Truth, which eerily mirrors what the communists did to dissenters. Conformists vanish means that once you conformed, you vanished from the Ministry of Truth and room 101 – in effect let free. And in Tetris, if you conform to a single clean line, you also vanish. I imagine people are the blocks being moulded by the state, and as they form the imposed ideal, they are allowed to leave.
There are 3 columns of 5 verses, allowing for 125 poem combinations. Only 5 will give you a red haiku diamond to complete the game, and about 30 other specific combinations will net you above 70 points. The rest are likely to be nonsense poems which only allow for a maximum of 65 points, depending on what scores you gave Haiku Man and a few other factors.
THE ENDING and SECRET
Someone described this as the prank of a 7th grader doing his first coding project. I like to think of the ending as being as cool as the ending in Monkey Island 2. And based on how people fell for my Walken hoax, I’m sure one or two probably got a little frightened seeing the ending. Just push enter 5 times to quit. With the above perfect haiku answers, you can see it for yourself.
CODING IT
I coded it up in about 10 hours over two days, and then posted a couple of topics on a forum asking for “sexy voices” – I wanted a silky smooth leading male and female voice for the game. Something which sounded fantastic, to elevate it from a proof of concept game to something with artistic merit. Hal Binderman and Topher Florence I actually knew from some podcasts I participated in, so I contacted them directly and they graciously agreed, without knowing how deranged my plans would become.
And then.... nothing. No female leads. Those I contacted directly declined, and only a couple showed a slight interest before promptly ignoring further forum messages. Perhaps the quite obviously sexual innuendos put them off. After about 3-4 days I was sitting on a nearly complete project and then thought, in my quintessentially Cockney lilt, bugger this for a lark. I’d waited long enough and wanted it out there. So I’d have to use my own voice I realised. So, against my initial plans, I’d have to use an all-male cast. And my voice isn’t actually Cockney, that would have been cool. In reality it’s a horrid, screechy blend of Afrikaans, British and East European. Well, with no other options, maybe I could milk the comedy angle and make the game sound awful on purpose.
CHRISTOPHER WALKEN
Then I watched Larry King, sometime last week probably, and he was interviewing a comedian who spoke about Christopher Walken. The comedian said that some everyone in comedy can do a Walken impression, and that Walken loves to DANCE. He’s also one of my all-time favourite actors. I mean, the guy is incredibly skilled, charismatic, funny or frightening depending on the role, with an incredible voice/persona, not to mention everyone who works with him says what a great guy he is personally. I have bought and watched mediocre films for no other reason than because Walken was in it. In fact I think Walken should have his own radio show, or podcast, just Walken, talking for an hour, about whatever the hell he wants. No set agendas or script, just Walken, discussing his thoughts.
I have nothing but the utmost respect and admiration for Walken - who is deservedly regarded as legendary.
I decided if I was forced to act in my own game, I’d try to salvage it by doing a Walken impression. Except my impression was terrible. But what was I going to do after 4 days of waiting and not even a cursory interest? So, with nothing to lose, I decided I’d say I got the real Walken to do it. Many have commented on how he loves acting and won’t turn down something he finds interesting – so it was certainly within the realm of possibility. I even tried to look for his agent’s contact details, but couldn’t find any.
My belief was people would download the 4.5mb file, instantly realise it wasn’t Walken, and chuckle to themselves at how ridiculous my attempted impression was. If Conan O’Brian can have Arnold Schwarzenegger impressions, with the moving lips, and people realise it’s fake, they’d sure as hell realise this was a lie. And this, ladies and gentleman, is why I’m not even remotely sorry for what I did. I have absolutely no shame regarding such a half-arsed hoax. Maybe, if I’d gone to the effort and got one of the many skilled people on youtube who do Walken impressions, and created a genuinely convincing set-up, I might feel guilty. But this was the equivalent of doing a doodle in MS paint and calling it a Da Vinci. Maybe I’d fool you until you actually saw it, but after that it should be obvious. And yet, incredibly, people continued to believe, and several who obviously wanted it to be real, argued why it must be.
This fiasco did reveal something very interesting about the internet though.
No one who initially reported on it even downloaded it, since the WAV files are right there to be listened to. WAVs A1-C5 were those meant to be Walken’s and it’s quite clear they’re a (very bad) impersonation. Even if you couldn’t load it on your Mac computers, you could listen to the WAVs. This was partly GameSetWatch’s fault, who reported on it first and wrote the story in a way that made you think it had to be true and that they'd checked this. And they fooled a lot of people who later quoted them as a source.
The best write up was David Wolinsky’s on 1UP, and I’m naming him not only because his was the most intelligent reporting on this, but because he has a Polish surname and there can never be too many of us Poles taking the internet limelight. As he wrote:
---
[...] a new freeware game with its claim that Christopher Walken, that cowbell-loving star of stage and screen, took “five minutes” to record voice acting for it on someone’s laptop. If you’re gullible enough to believe that, then you’re going to hate Haiku Quest.
Or if you choose to believe the lie, then you’ll appreciate the short JRPG-inspired game’s charm.
---
I think he missed out a word, and meant to say either “you’re NOT gullible enough” or in the next paragraph “choose NOT to believe the lie”, since at the moment each sentence basically says the same thing. But regardless, he’s right on the money. If you realised it was obviously a joke on my part, I’d hope you’d enjoy it for what it is: a 5 minute diversion which should make you think, “hey, this is kinda neat. It’s a great concept for a more fleshed out RPG.”
That’s all I wanted, really.
If I had any regrets (and I don’t) it’s that the main website of HG101 might receive some negativity because of this. Let the record show that I am only a contributor. Articles on the main site are checked by Kurt before going live, whereas with the blog I have total unchecked freedom to run amok should I choose.
Several people, some of whom I know and respect, have said they come to HG101 for serious article. And yes, the main site is a place for serious examination, but the blog should be seen as more light-hearted and fun. All I did was, at worst, waste 5 minutes of your life. And it was fun while it lasted, because my utter disbelief at how the internet ran with this made me laugh like a drain for hours.
I suppose this stunt detracted from whatever genuine merit the game originally had, and made people dislike it as a result, but I'm not really concerned since this was never going to make a huge splash. At least this has made Google searching for results even easier.
Haiku Quest was a 100% calculated and planned project, and up until the 3-4 days that I waited with no interest from anyone wanting to do the female voices, was not going to involve the Walken spoof. I didn’t do it to upset people, I did it out of frustration because no one got back to me and I needed this finished, and to amuse myself. And to quote Joey in that chocolate eating scene: I’m not even sorry!
Monday, August 30, 2010
Haiku Quest – an RPG featuring haiku poetry and Christopher Walken

It’s taken me a long while to finish my latest game, Haiku Quest. Mainly I had trouble recruiting voice actors to play the parts (as in very few volunteered when I asked, my request topic was mysteriously deleted, and even less replied after I’d sent them the innuendo laden script). But, on a whim which I never expected to work, I emailed Christopher’s agent and, intrigued by the idea of a non-profit independent game based on Japanese poetry, he took five minutes from his schedule to record the lines on someone’s laptop and emailed me a giant WAV file to cut up. If his voice sounds a little off, it’s because he was pressed for time (he apologises) and it wasn’t done in any kind of sound booth. I did my best to clean it up though.
.
.
The game was inspired my experiences with the haiku mini-game in Boku no Natsuyasumi 3. This was in Japanese though, and I wanted something analogous in English for western players to appreciate.

The game features:
* A JRPG style of design
* A large overworld to explore
* Villages to visit
* NPCs to speak with
* Stores and inns to stop by
* Unique “instant-time” battle system
* Five different monsters to fight
* Streamlined inventory system
* 125 different poems to compose
* 5 true haiku to decipher
* A special "hidden secret" from the gods of haiku
* An incredible ending which will leave you floored
* The voice work of Christopher Walken
Download it here!
TIP: When playing, please do NOT hold down the arrow keys, rather tap them, since otherwise it may skip certain poetry sections.

And if you like it, be sure to spread it around.
Now all I hope is that someone tips off those lovely chaps TIGSource and this gets some kind of news entry. Heck, email Kotaku too, while you're at it.
Labels:
Christopher Walken,
haiku,
haiku quest,
homebrew,
indie,
indie gaming,
QBasic,
RPG
Saturday, March 20, 2010
Trampoline Gunmen


Trampoline Gunmen is the greatest videogame series every developed – true fact, fans of facts. Better than Mario, Sonic, and the CD-i Zelda games combined. Yes, I’m afraid it was inevitable that with my over-inflated ego and unashamed self-obsession, I would, at some point, hijack HG101’s otherwise fine blog and, like Narcissus on meths and at the helm of Concorde, ruin it irrevocably by gushing at high-speed about the only self-made game I ever loved. Attach oxygen masks and tighten those lifejackets, because I’m about to crash this sucker into a trampoline!
This is a follow-up to my previous post, regarding the games I’ve made using QBasic (and was inspired by Kurt’s awesome post on his own game). Trampoline Gunmen stands as the series which I put the most effort into, and the one which seemed to be enjoyed the most by those who played it (which I think was all of 10 people). A download link is available right at the bottom of this post.
It all started in 1999. That’s 11 years ago. After a friend in the year above mine at high school introduced me to QBasic, I spent 6 months dabbling in game creation, making mostly awful derivatives of already available titles. My biggest hurdle was not learning how to do arrays until much later, and even then I didn’t really master it. From what I understand, an array allows you to set-up the code to deal with multiple objects without having a line of code for each one. In QB, if I wanted a bullet, it needed a line of code to draw it, another line for its movement, another line (or four) for when it went off screen, plus further lines for how it interacted with the player, enemies, other bullets and so on. One projectile could have 10 lines of code or more governing its behaviour. Five bullets and you’d need 50+ lines of code, unless you create an array which, in theory, should control all projectiles under the rules of the initial 10 lines. Or at least that’s what I can remember – I might just be making this up.
I couldn’t do arrays and so to keep my work easy, I made simple games. Creating working AI also seemed too daunting, so I stuck to games which were multiplayer, or didn’t require it. Trampoline Gunmen was born of this inability to create anything which required complex routines.
My initial idea was for a target practice game: what if you were falling alongside a building and had to shoot through a window to cut some rope which would release a mattress at the bottom and save you. After a while I thought, what if there were people in the building shooting at you? What if you had to shoot back? What if you could bounce on the mattress and fly back up, shooting at them? From here the basic idea of TG formed: two people on trampolines, at either end of the screen, shooting at each other. Speed changing is handled like rocket thrusters: fire in the direction you are travelling to slow down, and fire in the opposite direction (behind you) to speed up. Each character has 3 speeds. To make things easier to code, each person could only fire 2 bullets at a time, meaning a maximum of only 4 projectiles to keep track of. It also seemed logical to have an ammunition box at the top of the screen to reload your ammo.
At first I called it Tramampolining Gunmen (based on the Simpson’s episode where Homer takes a free trampoline from Krusty), but this was confusing and so I eventually just called it Trampoline Gunmen. It proved popular at school, with a lot of kids wasting time in the computer room loading it up. There was very little sound, partly because I couldn’t get music to work correctly, but also because it allowed you to play unnoticed.I went on to make other games, but regularly came back to my TG series, updating it with follow-ups, and at one point even creating a Dreamcast version with the help of another programmer.
THE GAMES
Trampoline Gunmen
The first game was 2 player only, based on the mattress minigame idea which ended up in TG: Minigame$. There were actually two versions of this first iteration, since the original contained a nasty bug which meant you couldn’t reload if any of your bullets happened to be onscreen when you touched the ammo box.Trampoline Goats
Technically a sequel to the original TG, this was made several years after I’d stopped thinking about TG (about 2002 I’d guess). I replaced the main characters with the heads of goats, and the bullets with cheese. It was a homage to Jeff Minter and his use of animals in games. It also incorporated, rather unsuccessfully, a power-up system. If two bullets collided they formed a bubble, and shooting the bubble caused your opponent to freeze.
It caused balancing issues though, and the collision detection never really worked, so it was scrapped from later games. Due to the complexity of the DRAW statements used for the goats, it also runs slower and there are graphical glitches in DOS Box.
Trampoline Gunmen: Turbo Deux
A proper update to the original this time, it was the first version to feature AI. It also featured a bit of code at the start to detect your system speed – unfortunately it doesn’t work as well as it should. The AI was actually based on a perfect algorithm which read the speed of your bullets, opponent position, speed and direction, and calculated the likelihood of a hit – so it always avoided your projectiles. It also only ever fired when it was guaranteed a hit – it would check your direction, speed and position and calculate precisely when to fire. I then slackened the parameters so the variable ranges weren’t as precise, and then I added randomisation. For the final boss it was 50/50, meaning there was a 50/50 chance that he’d avoid your shot or fire at you given the chance. Even if he did, since I’d loosened the ranges to no longer be precise, he could still miss you or mis-time his speed change. For weaker enemies this randomisation went up, and I think the first opponent it’s a 1-in-10 chance. At first though this meant he didn’t do much, since 9-out-10 times he’d ignore the opportunity. So to give the impression of constant activity, I made the weaker enemies do random stuff in reverse proportion to when they did take perfect shots. I also tried to make the random behaviour be based on as many variables as possible – bullets held, bullets on screen, position, position minus the other person’s position then divided by the number of bullets held after being multiplied by the number of rounds won – and so on. My hope was that by layering it in ways undetectable to the player, interesting behaviour might result. It works reasonably well in giving the impression of intelligence. TIP: I could only ever get the AI for attacking to work if you’ve switched speeds either to slow or fast, mainly due to the constant variation in both players’ positions. So by keeping your speed at the default medium, you’re far less likely to be attacked or hit. Don’t play it like a shmup – take your time when firing, and play it a leisurely pace.It included a tournament against 6 progressively more difficult opponents, each of whom had their own distinct background – it was tremendous fun creating the animated ocean background. There was even a hidden Easter egg that allowed you to see the ending (it’s the # of rounds you select). The sub-heading of ‘Turbo Deux’ I added for a number of reasons. Capcom sequels liked having Turbo at the end instead of a number, and of course there’s the film ‘Hot Shots: Part Deux’. It also sounds similar to Turbo Duo, a classic gaming system. I wish I’d made all the deaths as violent as the final boss’ death, since it looked awesome. I also wish that I’d included some kind of story mode to go alongside the AI and single player campaign. Other improvements would have been tweaking the speed (and changing the fact that t/y changes the speed parameters instead of +/-), and the front end. Otherwise I’m happy with how this turned out.
Generic dude
Easy and stupid. No backgroundDesert Fighter
A basic Egyptian desert background. I’m not sure why I didn’t fill the sun in – it now gives the game a creepy atmosphere. I had wanted to put an animated tornado in, but it glitched when bullets flew through it, and I was too lazy to tweak it.Ocean Twin
You fight a mirror image of yourself against the backdrop of a constantly moving ocean wave. I love this animated background, even if it is just randomised lines. From here I find the AI starts to get tricky.Mountain Guerilla
It’s the other guy from the original 2P game. I like to think that his first name is Mango, due to the colour of his trousers. There’s also an eagle flying around the night-time background, which is cool.Kabuki Gunman
Your opponent here is a kabuki warrior with a painted face. Actually, I should have made his hair red in that case, since here he looks a bit like a clown. There’s a delicate background of falling cherry blossoms. If I could, I would have had the background music as a lonely shamisen being plucked.The Ending
The final boss is an invisible enemy, which you only have to hit once. Annoying, I know, but I wanted to scare players. He’s actually not too tough. Just stick to the default medium speed and fire like mad. The ending has your character rotating and inflating to screen-filling proportions, while the boss explodes in torrents of blood.Trampalien Gunmen DC (aka: Trampoline Gunmen DC)
A Dreamcast remake of the original Trampoline Gunmen, albeit with underpants at the bottom of the screen representing a sort of pseudo health bar. I did the design, painted the cover you see here, sprite artwork (mostly Metal Slug sprite rips), music (a Street Fighter rip for the title, the in-game tune I composed on Dezeamon for the SNES), sound effects, and playtesting. Voices were done by my brother.
It was meant to go further, but my programmer grew bored of the project. Annoyingly, I’d written up designs for all the minigames before they were added. (Also available on PC and Linux)Trampoline Gunmen: Minigame$
With my programmer leaving, I decided to make the Minigame$ version by myself, using QB. It was originally inspired by WarioWare. This was also the first game I made to feature hi-score saving, and the ability to move your character left and right using the arrow keys. Even if I say so myself, I think it turned out damned well, especially the front-end and save function – it all comes together to feel really professional. The storyline, which is redundant in a collection of minigames, is pure condensed ridiculousness – I think I’d actually been drinking wine when I cobbled it together.
I included 3 selectable difficulty levels, which I seem to recall altered the speed/score loss of the minigames, but also boosted your score. Unfortunately higher difficulty levels aren’t much fun, it unbalances the hi-score table, and there’s no real need to play on higher levels. I urge everyone to ignore this and just play them on Level 1. I’ll also list my hi-scores here, though they’re by no means impressive. There is also a button to reset the hi-scores to zero, if you’re having trouble beating them, and in hindsight perhaps I should have included the ability to add a 3 letter name to each score.Mattress Hopping (16)
This is what TG could have originally turned out like. In hindsight, it’s not that much fun. The window gets smaller as the game progresses. I was tempted to include several windows instead of one giant window, each giving a different score, but I coded this last out of the 8 available games, and just wanted it finished.Bullet Tsunami (82)
Avoid the oncoming bullets for a high score. There’s only a maximum of four, and the game works pretty well, but I wished I’d varied the time between a bullet going offscreen and then re-appearing on the other side, since as it is, they tend to cluster together.Missile Demand (82)
Inspired vaguely by the arcade game Missile Command. Russia has fired to nuclear missiles, and it’s your job to repeatedly knock them back. The visuals are pretty damned awful, with the LINE statements for the missiles leaving a trail – this is because once an object is drawn to screen, if you move the object and redraw it elsewhere, the old image remains unless it’s drawn over with the background images. I was in a hurry and needed to keep the speed up, and the only solution I could think of was blacking out each missile before redrawing the new one, but this caused flickering. So instead there’s an invisible cube of black following each missile, which slowly erases the blurring. I think I should have also coded it so the missiles avoided each other, since with purely randomised vertical movement, they tend to fuse together sometimes.Boolzai (91)
Aim as close to the centre as possible. You get five shots, and the score is an average of those five, using the CINT command to round the final score. It’s pixel perfect, with only a single pixel representing 100.Lantern Blast! (21)
You’ve got a time limit to shoot as many randomly appearing lanterns as possible. If you aim it right, you can shoot several lanterns with a single bullet. After shooting a lantern its tattered remains still stay on screen. I could have drawn a solid black square over the lantern once destroyed, to clean up the screen, but I decided against this since I really liked the effect it created.Bullet Pong (43)
The TG series is a bit like Pong with guns, so here I bring you, Pong with guns! I was also thinking of making a variation on this called Body Pong, where you needed to use your body to rebound the ball, but 8 seemed like a good number and I just wanted the project finished.Bounce for me Baby (21)
When coming up with the title, I had hoped people would picture an nubile young woman in skimpy top, bouncing up and down for one’s entertainment at some form of high class gentleman’s establishment. In contrast, the point of the game is to repeatedly shoot a baby in order to make it bounce, and therefore protect it from the spikes below. To complicate matters, there are spikes up above, and too much bouncing will also cause problems. I’m really pleased with the momentum of the baby and the way it increases in speed – had I motivation, I would have taken this code and made a decent platformer. I coded the Game Over noise to change in pitch as it played, giving a fairly good faux-impression of synthesised speech. It’s very difficult at first, since the timing of the first shot needs to be precise, but afterwards it’s quite a tense target practice game.Got cheese? (24)
White balls of goat cheese are fired at you, and you need to catch them. This is the weakest minigame, since speed changing to grab the cheese is nearly impossible. Perhaps the cheese should fly a bit slower? Also, in hindsight I wish you didn’t lose points for missing cheese, since I find that often I’ll end up with a negative score. I should have changed this before finalising the game, but for whatever reason didn’t.----
Trampoline Gunmen Quadro
The last version of TG which I worked on. This too was meant to be included in the DC version, and it would have been far more fun with four controllers around a TV than four guys crammed around a single keyboard. It can be played either a 1 vs 1, 1 vs 2, 1 vs 3, or 2 vs 2.
Instead of the round ending when one person dies, like in previous games, they flash white and become invincible for a short period, while the game continues. As a result it has a much smoother flow than usual, and convinced me that in future versions there should be a health bar to main momentum. There is also no friendly fire, and although I considered giving an option where you could kill the other person on your team, I decided against it in the end because of balancing issues. I also wish I’d included a tournament mode, so up to 16 players could enter, and then they’d be played off against each, either 1 vs 1, or 2 vs 2, until the grand final, since I recal really enjoying the tournament modes in Super Street Fighter II.
Unfortunately I’ve never been able to find three other people willing to play it, so I’m not really sure how well it all works. Based on my solo attempts, I’d say there’s probably quite a few bugs still. Anyway, it should hopefully give you an impression of the potential TG had. The story was inspired an indie game competition some time back, where you needed to create a game featuring zombies, ninjas, pirates and robots – I typed it up in English, then ran it through Babelfish’s language translation a few times, into Japanese and Chinese before back into English, then tweaked the spelling to be reminiscent of old arcade games.
THE FUTURE
I kept meaning to go back to TG and incorporate new things, but I never did. Today, I’m sad to admit, I no longer remember enough QB to attempt programming anything, and I haven’t the motivation to relearn it. If I did make an attempt to learn anything, it should be C, or some other more versatile language, perhaps which I could then use for PSP or 360 homebrew development. As it stands, my programming days are over, but I’m pleased with what the TG series managed to achieve, even if it was only played by a few people.
I had many ambitious hopes for future versions:
* Multiple characters with different traits. For example one might be able to change speed at will without using bullets, but he’d only have one bullet to shoot with, and his speeds would be limited to Very Slow and Slow. Another might have two guns, one solely for shooting, the other for speed changing. A second might also have dual pistols, but with one specifically for firing up, and the other down, and either for firing at the opponent. Some characters might have 5 speeds, but low health, and another might only have 3 speeds, but more health. Some might have up to 5 bullets, but others only 1 at a time. Several would need to be unlocked.
* Better visuals for the characters, maybe some animation. Also, a Super Deformed anime styling with massive heads, if I could draw it using the small amount of pixels available.
* Health bars. The underpants in the DC version was stupid. These wouldn’t be massive bars, since I wouldn’t want the game to drag on too long.
* Timers, just like Street Fighter.
* Each character would have signature super moves and a power bar, which could be charged either by hitting the opponent, being hit themselves, or other means. There could also be clever means of cancelling an opponents’ super move. For example, if one’s person’s SUPER released a falling homing beacon from the sky, which when it touched the ground caused missiles to rain down and fill the screen, the opponent would have a short time to shoot this beacon and cancel the super. Other supers could be a single massive bullet, homing bullets, slowing down time, infinite ammo for a period, invincibility, and so on.
* Faster and more fluid ability to move left and right, and also the ability to cancel an opponent’s shots by hitting them (this could be toggled).
* Power-ups, akin to Smash Brothers. Trampoline Goats had power-ups, but they didn’t work very well. I’d bring back the bubble popping idea, with power-ups contained within, but I’d base their occurrence rates on unseen variables which can’t be predicted by players. I’d hope to make their abilities different to those of the character’s super moves.
* Tournament mode – supporting 4, 8, and 16 people, either as 1 vs 1 or 2 vs 2.
* Survival mode – one hit kills you, or the other player. See how many rounds you can survive in a row (requires maximum AI).
* Practice mode – the enemy (a sack of potatoes), just bounces up and down allowing the player to practice techniques.
* Stories for everyone, with some kind of animation and endings.
* A lot more minigames: Body Pong (knock ball back using body) / Raining Missiles (like Missile Command, where they slowly fall to the ground and you need to destroy them before they do) / Box Bounce (shoot the boxes that are bouncing) / Girder Grid (avoid the flying girders) / Ring Runner (position yourself to go through the rings flying towards you, similar to Got Cheese?) / Balloon Bulge (shoot a bouncing and expanding balloon to shrink it, similar to the Sumo Head boss in Mystical Ninja) / Creature Bleacher (creature goes for you, shoot a bullet and he goes for that, if he eats the bullet he gets faster. A timed survival game. He always goes for the last bullet fired) / Creature Seeker (a creature goes towards you, shoot him to knock him back. Similar to Missile Demand, except instead of random movement he homes in).
* Better backgrounds and AI, plus music, and an improved save function which remembered more.
* Better front-ends and title screens, with proper graphics instead of just text. An improved credits screen.
If you’d like to play any of the Trampoline Gunmen, they can be downloaded HERE. They all work on my Windows XP computer quite well, and the speed detection also functions reasonably. If running it through DOS Box, I’m afraid you’re going to have to set cycles to maximum, and then manually tweak the speed in-game to run faster, since under DOS Box the auto detection routine sets the speed as far too slow. There’s a white bar at the top of the screen: the shorter this is, the faster the game will run. When you initially run it in DOS Box, this line will be off the right side of the screen, and you need to hold your finger on the SPEED UP button until it’s shrunk down to about only an inch in length.
Thursday, March 18, 2010
The games I’ve made

It could be said that at one time in film history, two contrasting figures were Orson Welles and Ed Wood. Therefore it can also be said that in the realm of homebrew videogames two contrasting figures could be Derek Yu and... aww damn, myself?
Yes, readers of HG101, welcome to my Plan 9 From Outer Space!
(scroll to the bottom for a download link with everything)
.
.
.
Actually, perhaps the Ed Wood comparison is incorrect. I don’t suffer from Wood’s more perverse traits, I’ve never made porn games, I don’t have someone like Bella working for me, and my games don’t even reach the level of so badly kitsch they’re awesome (that status is reserved for Red Seeds, which I’m hoping receives an English Asian release for the PS3).
But if a tortured analogy to Welles and Wood allows me to put my own name alongside the astoundingly gifted Derek Yu, then so be it. I recently read an article on him, one of the best articles I’ve seen, in GamesTM magazine issue 93, and it reinforced my admiration for Yu’s creative skill (especially his deft use of randomisation), and it also convinced me that he might be the indie scene’s own Miyamoto. He said how he’s always been designing games since he started playing them, if only on paper, and went on to explain how he created his own studio at the age of 14 (I started when I was about 15). The inventiveness and creativity he showed, even at an early age, is astounding.
(naked Derek Yu image taken from indiegames.com)What annoys me about my own games is not my lack of programming skill, which I could have easily improved if I’d made the effort. Rather it’s my lack of originality, especially considering that today I professionally review games and, like most critics, find it so easy to point out creative mistakes and then suggest ways of improving said game. Give the new Vandal Hearts a different art direction, more like the original. Or make Agarest Senki more intuitive for the beginner. And so on... Considering that I made these games not for profit but for my own amusement, and that of my school chums, there is no reason why I couldn’t have been more daring with regards to the themes.
My first game was a text adventure, which by its very nature isn’t constrained by visuals or themes. You can do anything with words, and words are easy to conjure up. And yet I went with a Tolkein-esque setting and a mechanical dragon. Yes, a dragon. A staple in derivative crap since the days of whenever. I could have gone with Mad Space Puppies, or a Seven Breasted Woman From Brazil. But no, I went with a dragon...
Something else which I’m proud of is Trampoline Gunmen (not Tramampolining Gunmen as I once called it), which I will dedicate a whole entry to tomorrow. I swear, if I had a proper dev team and some marketing budget, I could probably scrape some profit with a cheap PSP release. That beautiful oblong screen would be perfect for it. Unfortunately I never implemented all the stuff I’d written down, and with newer Operating Systems beyond Windows 98, most people’s computers stopped being able to run these DOS games anyway. Hence why I eventually abandoned my ambitious TG ideas.QBASIC

During the late 1990s a guy in the year above mine at high school, an Italian named Luke, spend his lunch times coding in QBasic. He was working on an epic RPG (pictured, LOFT2.BAS in folder).

It was a wonderful era, with the PS Net Yaroze community releasing regular demos, Digitiser in full swing on Teletext, and long summers that never seemed to end. I got talking with Luke and he explained the joys of QBasic. I’d used it before to play Nibbles and Gorilla in Middle School, but at the time hadn’t realised I could make my own games using it. He copied the files which were on the school’s computers to floppy, plus he gave me all the stuff he was working on, and so I tried my hand at game creation.

Another friend, Dominic, I later discovered also coded some cool things in QB, including this rather awesome Space Invaders clone. The front-end is sharp, the use of colours good, and altogether it’s a very professional little title.

I coded all the below games using a Windows 98 PC with specs which, in 1999, was considered a powerhouse of the time. Today they run haphazardly on Windows XP, and probably not at all on Windows Vista or 7. But they’re emulated quite nicely in DOSBox, and for anyone interested in trying them, I highly recommend you use this.
I’d also recommend QBasic, even today, to anyone interested in trying their hand at programming, but has no prior experience and has no desire to take it very far. I do not do reading instruction manuals – I’m a man, with a hairy chest and a beard, and when I do stuff, I barge in and get it done. Manuals and instructions are for women and small children. Real men can operate the VCR and heavy machinery without no stinkin’ manual. And so it went with programming: I wasn’t going to spend time studying before hand. GameMaker I find clunky - half an hour of fiddling and I couldn’t even get a text box to pop up. C and the “plusses” require far too much reading beforehand (though I acknowledge that they’re probably the best language to learn for serious coders). PASCAL was even worse. Visual Basic was good, with a click and drop interface, but after two high-school classes in it, all I’d managed was a Tamagotchi clone where you tortured a butterfly.
An artist's impression of me and Luke, during those lazy, innocent summery wonder years, where you could skip class to code some games, before riding your bicycle to the soda shop to play some pinball.Why QB is a good starter language:
1) You can, within seconds, creating a working program and even a game. After QBasic I tried to learn PASCAL, and after struggling for 20 minutes with a demo program which drew some lines, I still had no idea what I was doing. 30 seconds with QBasic and I’d progressed beyond HELLO WORLD and had made a quick 3 line text adventure. QB grants instant gratification to the wannabe programmer. It’s quick and easy, and very versatile. Be warned: you risk ending up learning just enough to make a few simple games, but never anything high level enough to anything really interesting.
2) The HELP FILES are probably the best I’ve ever seen, for any program. You don’t even need to study them – you can glance, copy, paste, and suddenly you’re coding your own stuff again. It allows for rapid learn-as-you-do coding. Other companies should look at QBasic’s help files and learn a lesson. Neatly organised, they explain pretty much everything you need to know in a very short amount of text. I much later went against my genetic machismo and borrowed a few books on QBasic from the library, but it was honestly quicker and easier just to read the bundled help files. As I said, I didn’t need no books on the subject.
3) You can do a surprising amount with QB. The DRAW, LINE and CIRCLE functions allow for some reasonable creativity and, despite the fact that QB lacks the ability to display the colour orange (without some tweaking), you can get some nice NES-style visuals out of it with enough effort. I’ve even seen polygon models and voxel landscapes rendered with QBasic.

QB COLOURS (I think they went like this?)
0 Black
1 Blue
2 Green
3 Turquoise
4 Blood Red
5 Purple
6 Brown
7 Light Grey
8 Dark Grey
9 Light Blue
10 Light Green
11 Light Sky Blue
12 Light Red
13 Pink
14 Yellow
15 White
So if you want to claim to have coded something, without relying on external Game Creation tools, the easiest (laziest) option could be QBasic and DOSBox.
MY GAMES
What I love about these is not their quality – they’re mostly awful and not worth anyone’s time but my own – but they recall an era where my frame of mind was wholly different. Before the injustices of the world slowly crushed my spirit. Playing them again, and reading the code, I can actual feel glimpses of this past frame-of-mind, devoid of the bitter cynicism that corporate bankruptcies over the years has created.
Unfortunately I never kept records of when I started these projects, so I’ll go through them as best I can remember, and kind of fudge the order from then on. I will be saving a write up on the Trampoline Gunmen series, my best creations, for tomorrow. This was also the first time where I featured SAVE functions for a game, and even the ability to save the required SPEED, so you didn’t have to input it each time.
Most of the EXE files should work under Windows XP, otherwise use DOS Box. I’m afraid that the timing with DOS Box, even with Cycles set to maximum, is kinda screwy and everything runs too slow (or has glitches). So it’s essential that you play around with the numbers, or if you can in-game, manually alter the speed until it runs right. Also, most will require you to put CAPS LOCK on, though a few automatically do this. Remember to turn it off afterwards.
John’s Fortress
The first game I ever made, it started off as a three-line text adventure which I coded the night I brought QBasic home from school, housed on a standard floppy disk. The next day I spent my lunch break and, if I recall, my art class working on it (along with classical art, we had weekly art classes to learn how to use Corel Photo Paint proficiently). I tried to incorporate as much from the help files as possible, including randomisation so you were forced to play everything in sequence. I also screwed around with different screen modes (a bad idea). My big problem was that for some tasks, like taking the water, there was an incredible number of things people might type: check water, take water, grab water, read water, read water bottle, take the water, drink the water, and so on. Only much later did I learn how to use an INPUT statement that searched an entire sentence for a specific word. Here you have to type precisely what it needs or it doesn’t work. In the uncompiled version I had about 30 variations for each situation, but this wouldn’t compile, so I trimmed it down to about 5 obvious ones (try to keep what you type simple). Most kids in my class liked this, with one playing it to the point where he timed himself and claimed he could finish it in under 20 seconds.Akira
Immediately after finishing John’s Fortress I started this, an action game based on the film/manga Akira. It was also the only game whose code I destroyed – a grossly over-ambitious project which, had I had more experience, could have been great.
With the only two Akira games I could think of at the time being the Famicom text adventure, and the awful Amiga game, I thought that if I could make something slightly more fun, the brand recognition alone would propel it to stardom. The basic premise was Spyhunter with a big boss battle at the end. You drove your red bike up the street and could fire ahead of you in a long line using the laser gun from the film – I think you had like 50 shots or something. Up to two pink Clown bikers would attack you at a time, each being able to fire left or right. It was really cool because if they were on either side of you and one fired, you could slow down and let his bullet hit his friend on the other side of you. There were also yellow road blocks hurtling down the road, and it was possible to lure the Clowns into these to be destroyed. If you hit the roadblocks, or were shot, you’d lose some fuel. You started with a set amount and the goal was to survive 20 miles to the Tokyo Stadium, at which point you’d fight Testsuo. You could alter the speed of your bike, which affected fuel consumption, and if you lost too much fuel through collisions or poor driving, it was GAME OVER.
The Tetsuo battle took the form of a Space Invaders clone, with the yellow Akira bio canisters from the film appearing and then being hidden underneath Testsuo’s pink and grey mechanical-flesh body as he manifested himself (I just randomised the CIRCLE function a lot). You had to move left and right firing your remaining laser energy to hit the canisters. There were 7 canisters partially visible beneath Tetsuo, and if you missed you could see the long black line of emptiness which you had cleared in his flesh (real time damage display!). Each time you hit a canister he redrew himself, but it wasn’t difficult to know where to fire the laser. In the end Tokyo blows up in a giant ball of light.
Unfortunately my lack of experience killed it – I went partially with ASCII rather than all drawn sprites. This led to a few weird problems where the ASCII conflicted with the drawn images, and the constant need to update the screen made it slow. Also, different computers have different ASCII sets I discovered, meaning it looked totally different on my computer to how it did on the school computers and my friend’s computer. The controls used the Numkeys and so tended to jam a lot (after this I discovered how to code using the arrow keys). I also didn’t have any grasp of computer speed or timing, meaning it tended to run WAAAY too slowly on other people’s lesser-specced computers. This taught me a valuable lesson though, and all subsequent games started with a screen requesting GAME SPEED. Other problems included only much later learning that the CINT statement rounded numbers – until then, your distance travelled was augmented by like a dozen variables, including fuel amount, number of Jokers on screen, proximity to enemies and roadblocks, and so on. Somewhere along the line these miniscule numbers would go awry and the distance travelled in the status bar would shoot up to about half-a-dozen decimal places, borking the screen in the process.I also tried to do far too much, including incorporating WAV playing and GIF loading code. The game would start by loading a GIF of Kaneda walking towards his bike, an aerial view taken from one of the Akira manga books. After this the bike-riding Kaneda song from the film would start playing. Unfortunately because I’d borrowed the code from other people’s projects, it conflicted with itself and made the whole thing buggy and unstable and I could never get the two sections to work at the same time.
Eventually, after pouring what must have been close to 50 hours into the project, in a fit of rage I deleted the entire thing and vowed never again to spend so much time on a single project. Sadly I don’t have any archives with the code on it.
----
Dice
Dice game inspired by the same dice game in Mystical Ninja on the SNES. As you can tell, it in no way, shape or form evokes any of the good feelings found in Mystical Ninja. In hindsight I wished I’d added a stupid story or something to this. I don’t know why I made it, apart from the desire to have another finished title under my belt. The kids in my class loved it.Flight Simulator
I saw a screenshot of a really old wireframe flight-sim in some magazine (for DOS?), and decided I’d try to create a pseudo-copy. It didn’t need to be accurate I told myself, it just needed to trick people into thinking there was something clever going on in the background. I spent a 6 hour train journey writing the code up by hand, while some guy in the chair opposite mine, with his wife, gave me a deranged psychotic look. On reflection, I think they may have been on drugs, drunk, or possibly just trying to freak me out – fresh-faced teenager that I was. Either way, that’s the most memorable thing about this project. Those two nutjobs on the train. After a couple of weekends I dropped this.Wimbledon
The fifth game I started after Akira, Dice and the Flight Sim, this was technically only the third game I completed: a Pong clone in colour. Except, because multiple key presses had a tendency to freeze DOS, it’s One Player only. And since I couldn’t be bothered to create AI, the enemy paddle follows the ball continuously, and you score only when you rebound the ball. It’s basically racquetball.Asteroids
This tech-demo exists because I wanted to experiment with altering the angle of a DRAW statement using variables which could be changed in real time. Tap the arrow keys and it changes the number in the draw statement, as opposed to having a separate line of code drawing each conceivable angle. The asteroids and stars also move at different rates to simulate foreground and background movement. I think there’s only 4 of each, and when they go off screen they randomly appear on the other side. There’s not much to do except fly around. Like so many other games, it was the development of graphical trickery which led the design of the gameplay. I toyed with the idea of doing some kind of space-trading game, like Elite in 2D, but my mind wandered long before that.Aces High (no EXE, can’t compile)
I think this was done after the Asteroids game, since I think I included the ability to alter the line angle in the DRAW statements in real time. I also recall spending ages painstakingly drawing the aeroplanes – and today their DRAW statements are so long and complicated you can’t compile the game! The title was inspired by the Iron Maiden song, and the gameplay was a less-elegant version of Space War. For a start you can only fire one bullet each (I only worked out how to do arrays, and therefore multiple bullets, MUCH later on in my coding life), and you can only travel in one of eight compass directions. I would later learn how to do 360 degrees of movement with variable speed for each angle, but I never did anything with the knowledge.
In hindsight I wish I’d done this a lot different. For a start, I’d change the theme from Iron Maiden to Porco Rosso. One blue and one red plane, like the film’s end. I’d also simplify it so that a single hit means victory – I included energy bars and variable damage to increase game time, but friends in my class hated this since it took WAY too long. I made a proto version with one-hit kills, and this proved popular, but in my arrogance I never properly implemented it in this final version, thinking I would later improve the game. The visuals should also have been simplified. No fancy DRAW statements for the planes, just a basic aeroplane shape and square bullets to keep the draw times quick and the overall game speed up. As it is, most of the processing power is spent drawing all those bloody lines! I also had an idea for a scrolling background of clouds and a sky, which only moved when both planes where going in the same direction, but to do this I would have definitively needed to trim the detail those stupid planes. Boredom killed the project though...
Tankers
Unfinished tank game, killed by the fact that I didn’t pay attention in maths class and couldn’t use Pi or any other kind of function that would help me draw an accurate projectile arc. As a result the projectiles moved in a kind of cuboid trajectory. I later got a handle on Pi, circular area, and other such essential knowledge, but it was rather late in my coding life and I never really put any of it to use outside of a few tech demos which drew heartbeat lines. The game was probably inspired not by the myriad of other tank games out there, but the film THE BEAST OF WAR, which featured a group of Russian tankers invading Afghanistan. Bloody good film.
Hanoi Hilton
Ever play Metal Gear 2 Solid Snake on the MSX? Well, it featured the Hanoi Hilton tap code, where you had to count people’s tapping to spell out words, or in the case of the game, find new frequencies for the codec. I made a simple program to do this using numbers. It is rubbish.The First Age (no EXE, can’t compile)
Derivative Indiana Jones storyline coupled with some diabolically broken jumping was the result. Unfortunately, the way the sound code worked, I couldn’t easily change the speed of the game or the number of loops is did while playing the music – in a bizarre situation which I can’t ever recall understanding, the game synced itself to the music being played and was locked at that speed. Meaning on slower machines it went all weird – if you drop the DB cycles, you suddenly gain a double jump because the timing has gone off. If played on max cycles though it’s similar to how I remember it was supposed to be played. You can double jump by clipping the edge of the platform, and to win you need to jump and double back on yourself at one point (which is technically impossible in the real world once you have momentum, but if Mario can do it!), then jump over a snake hidden on one platform, reach the upper right and jump over the end of the screen to land near the gold mask. There’s some cool scaling effects when you grab it, based on increasing the length of the DRAW command.Slipgate
I made this right after the above platformer, because I was still obsessed with having music in my games. I thought it sounded like Jaws, but in hindsight it’s just annoying here. The game plays like Gyruss, with your ship moving in a circle and attacking the red ship.
If you wait around for long enough the Slipgate becomes unstable you get a really cool warbling effective, the result of the circles moving around as they expand. I still like this, since the gameplay is fairly playable and the effects almost give the impression that I knew what I was doing – as opposed to screwing around with the CIRCLE command.War Dogs of Solaris (aka: Crisis on Polaris)
Recoil in horror as you read some of my earliest and worst attempts at fiction. The name on the title screen doesn’t even match the name IN THE GAME. In my defence, your honour, I was a young teen – I knew not what I did! Anyway, if you can ignore the terrible plot to this, you’ll be astounded to find the game is actually quite unplayable. I’d been playing Mercenary all weekend and had momentarily become obsessed with wireframes and flat green landscapes.
In an afternoon I cooked this up but, not being bothered to even try to create wireframe models, populated the planet only with an invisible enemy and a black sphere you needed to collect – unfortunately it had the worrying tendency to not display properly, and with the enemy constantly closing in on you, actually winning was a nightmare. I thought if Kenji Eno can have invisible enemies in Enemy Zero, then so can I!
Ahh yes, these were the experimental days of the Sega Saturn, and I have fond memories of bidding on weird Saturn imports online before eBay became crappy. There was a distinctive smell during the era, one of warm summers and drying lawns. In hindsight I wish I’d made it more like Everblue, with no enemies and instead a sonar which pinged the closer you got. It might have actually had some semblance of fun. As it is, it’s delightfully impossible.Stealth Dude
I made a deal with an student archaeologist friend: if he discovered a new dinosaur, he’d name it after me, and in return I’d make a game featuring him. He never did discover the dinosaur (actually, he became a farmer in the end), but this Metal Gear inspired game features him. It’s also very loosely based on a hedonistic night out, which featured some mind-altering “food” and events (Fear and Loathing in Las Vegas style).
Stealth Dude is almost perfect, let down only by my laziness to implement proper collision detection, and the fact that I randomised the number of Dollars you need to steal (this can make playing tedious if the number was randomised at the maximum 16). At the time I had trouble dealing with the problem of: how can the code detect when you’ve entered a solid object, like a wall, and revert you back to your original starting position if you can enter said wall from any side. The outer walls are simply collision based on IF PLAYER > NUMBER THEN PLAYER = -1, because the EAST wall is always in the same place. Much later I solved this by creating an additional variable which, every time the direction key was pressed, became the number travelled (which was either negative or positive depending on which way you went). If you entered an object (IF PLAYER = WALL) then it subtracted this variable from the X, Y co-ordinates before anything was even drawn to the screen. It was hugely effective, and I should have gone back to fix this, but I was too lazy, so instead walking into walls kills you. Also, the randomisation of items to collect can make the game impossible, since you’ve a timer. LESSON LEARNED: randomisation is bad, and so is impossible games. I probably should have also added more colour to stuff. Still, you can escape from rooms if the dollar is in a dangerous place, and it’s still a cool experimental title.Arcamus
Based on the Atari 2600 game, Adventure. This was made after Stealth Dude, and took advantage of better collision detection which I learned. It also has an “engine” of sorts, and signifies my attempt to streamline my coding. Every room is built using the same building blocks (6 or so cubes of colour), each governed by the same code, just with different location variables. Some rooms also have items in them, and the enemies are identical, with no AI. I was also experimenting with detection of computer speeds, since inputing numbers is a pain – but unfortunately it doesn’t quite work. I highly recommend you play this, but you’ll need to experiment until you find a speed where the monsters are fast enough to catch you if you try to run past them, but slow enough to allow you to run back in the direction you came. Like Adventure, there’s also an Easter Egg. If you kill all the enemies, then grab an invisible item in a tiny walled off room, and then take it and drop it in a big empty grey room, you’ll be able to grab the glowing circle and discover something totally awesome. And by awesome, I mean pointless.Castle Adventure
The first ever PC game I played was Castle Addventure, by Kevin Bales, during my first year at primary school. Mr Bales was apparently only 14 when he made it, back in 1984, but at the time it captivated me. Only a few years ago did I finish it for the first time, and I’d say that it has probably influenced my view of videogames quite considerably over the years. I love how he was able to create so much detail using only ASCII, and there’s actually quite a lot of depth to the game, especially when it comes to using items. I wanted to create something similar, so after finishing Arcamus I started my own Castle Adventure in ASCII. I’d finished the design and basic engine code, but grew bored before I’d implemented item usage or anything interesting. As it stands, it’s a ghost castle. If it looks interesting, then please find and play Kevin’s original Castle Adventure.Panda Commanda
During Metal Gear Solid fever back in the day, there was a website where you could put your details in and get a MGS-style codename – someone I knew got the codename Panda Commander. Since I was also playing through the original Metal Gear again, I decided to make a game based on the remote control missile segments, since they were especially fun. This is a great title, with its own boss at the end, but like everyone who played it said: you should have designed each stage, instead of having them randomly designed. As it stands, the first stage is fine, then there’s about a dozen or so which are stupidly easy because the blocks end up in ridiculous places, then you finish it. Or, you could end up with a stage impossible to finish. I’m convinced that with a little more thinking, I could have refined the randomisation to create meaningful levels. Or I could have knuckled down and actually been creative. Laziness I tell you, for the love of pies, it was the thing which crippled me!Hunt For Red October
Why would I think that creating a Battleship game with the added of complexity of submarine depth would be a good idea? Why would anyone think that’s a good idea? Why would I base it on a film I can remember nothing about? Perhaps I was being post-modern and intentionally wanted to make a terrible film-to-game conversion. Well, if I had, I probably should have turned it into a platformer. Be amazed at the fact that you can actually SHOOT YOURSELF with your OWN TORPEDOS. Enemy AI is pure randomisation. Sonar helps with working out enemy depth. Please do not play it.MAX
This started off as my attempt to get QBasic to display the colour orange, and it sorta works. Then it mutated into a game based on the Mad Max films (playing like Spyhunter, and reminiscent of my Akira game), but I lost interest before doing anything with it.2050AD
A fairly late project of mine, this was another text adventure – though I never finished it. Inspired by a description I read on Digitiser, of a text adventure they played with the same starting scenario. I never discovered what it was, and I grew bored with this before completion. The code for keeping stock of your inventory also proved bloody troublesome.Unnamed Text Adventure
This is why 15-year-olds shouldn’t write text adventures – horrible, horrible, horrible writing. Another attempt at a text adventure, this time purely multiple selection. I reckoned if I could put a few dialogue trees in, some of which reached the same conclusion, I could knock up a text adventure in an afternoon. Well, after a few hours I realised I’d need to write another 30 entries or so and gave up. Again, this was based on a Digitiser entry I had read. I also seemed to have an obsession with dingy hotels and amnesia. Hey, if it worked for Shadowrun on the SNES!
Cyberpunk
I attempted this 3rd text adventure directly after the above two. This time I decided to use randomly generated situations based on a pool of words, most with a cyberpunk theme, to avoid having to write anything. Why waste time writing a whole bunch of scenarios when the computer can do it for you? Honestly, I think I may have been inebriated when I coded this, but today it stands as something which, thanks to the absolute lunacy of what it tries to do, is actually funny. I am amazed at how ridiculous some randomly generated situations can be, many of them worse than a lot of internet Engrish, and on at least one occasion I laughed hard to point of projecting coffee out my nose. Derek Yu used randomisation in Spelunky to create something beautiful, whereas I used it to create something frightfully wrong. Yes, I think I’ll head in the direction of some tramps!----- AI STUFF
I went through a phase of trying to create perfect AI. This resulted in about half a dozen files, none of which are even remotely worth loading.
Rboto
I watched a documentary on the development of sentient AI for computers – and one experiment involved creating an AI that learned to hunt another AI more efficiently. So I wanted to make an experiment like that. The two coloured blobs feature rudimentary AI augmented by 3 parameters: attack, defence and speed, and each has to draw from a limited pool of points. I can’t remember how they work, but the results of changing them are often unexpected and the whole thing is mostly pointless. I had the intention of creating a save function for this, so it could record the best possible set of parameters against other sets and, in effect, have the AI learn to be more efficient. I got bored though and stopped.Food AI
Bloody hell, did I make this? The code is in my personal folder, but I don’t ever remember typing this. The creature gets smarter each time it dies, and more stupid each time it feeds.Money AI
Make bets on how long the creature will survive.-----
SPACE
A really late effort, coded sometime around 2004 I think, in an afternoon. I was attempting to recreate two-dimensional outer space physics in ASCII – this was inspired by that Star Trek film where Shatner has to go back in time, and in order to do so has to gravity whip them around the sun.
The game works, kinda. You need to speed past the sun and get caught in its gravity force to be slingshotted around and increase your speed beyond the maximum which your thrusters can achieve (which was “ONE”, I think). I recall managing to do this twice and get the number pretty high.Catch Me
Long after finishing Trampoline Gunmen 2, I came to the conclusion that multiplayer games were best (what I was really thinking was that they’re easier to make interesting, since even some crap games are enjoyable with another player). Two balls and a timer bar. If the bar is your colour, you’re faster than and can catch the other player. When the bar runs out, the roles are reversed, and the other player can catch you – think of Pacman and the ghosts, in that once his power pill wears off they no longer need to run from him.
To make it interesting, the grey boxes can kill you. It’s a good idea, and one that would probably be more fun if coded by someone else. I’ve never actually tested it with anyone else, but I would guess that as your bar decreases, there’s a fair amount of tension if you’re close to catching the other guy. Be fast, because if you take too long he’ll get you!Sprite
TECH DEMOS
I have a folder with about 40 tech demos, mainly graphics stuff. Stuff like a Matrix screensaver, or using LINE commands to paint a nice picture. If you think I’m going to screengrab this crap, or make it available, you’re outta your minds. It’s really not worth it.
DOWNLOAD
If anyone would like to try their hand at coding in QBasic, I’ve created a little package featuring my games in EXE format, QB 1.1 (for coding), QB 4.5 (for compiling), plus the source code to most of my stuff, the source to all of Luke’s stuff, plus my friend Dominic’s Space Invaders game.
Get it HERE.
Tomorrow, I will talk about Trampoline Gunmen – which is excellent.Click the link!
Subscribe to:
Posts (Atom)