Download the game: Shark Ghost Eater – Windows only, might require XNA libraries, I’m not 100% sure
Download the soundtrack: Shark Ghost Eater Original Soundtrack
So the other day I decided to finally sit down and try my hand at Microsoft’s XNA game programming library. I’d always meant to get into it, but I kept telling myself it’d be a ton of work to get anything up and running.
Turns out I was wrong, and had stuff running within minutes. I guess programming libraries have evolved a lot since the 90s and my own programming skills have progressed too. So, to get my bearings with this new library, I quickly put together a game, with Poe helping in the music and sound effects department.
When I say “threw together”, I mean it 😛 But the end result was SHARK GHOST EATER, and it turned out pretty good for what I was going for – kind of like a “Sweded” version of a game. If something looked ugly, I left it. If something didn’t make sense, I left it.
Not knowing what to do with the audio, we went and bought a cheap toy piano from Walmart and just plinked away random tunes and did vocal sound effects. My hope is that someday someone will do remixes of the songs or something 😛
I learned a lot making this game, probably the biggest thing was the idea of treating the game like a giant state machine. In the old days, I did things very standard and procedural. From my NES programming tests, it looks like this state machine thing is nothing new at all, but I found it very easy to get into since web site programming is very state machine-ish.
Bugs! I got a lot of cool bugs to happen, some of which I was like, “whatever, that makes it cooler” and left them in. But here are some other bugs I decided to record!
In the video above, I had enemies generate once every 100 pixels, but when the stage stops scrolling, it happens to be on a multiple of 100, so the game just keeps making more and more, oops! To get around that, I just made it generate enemies every 101 pixels. A cheap fix, but oh well!
Here we have my very first attempt at adding the title screen. It turns out the game thought it was on Stage 0 after hitting the Enter key, so it just went into crazy land. By this point I had collision detection working, so it was fun eating the zillions of ghosts. I’m honestly surprised the frame rate and memory could handle all that stuff just fine 😯
So there you have it! My first game in like 12 or 13 years. I plan to learn and improve more by making more small games, probably with wacky themes and stuff, occasionally crappy quality but occasionally good quality. It’s gonna be fun making new stuff for once rather than hacking existing things and translating existing things 😀