(note to self: Save this for autobiography when famous)
Hi. I'm Phil. And Luftwiderstand is my first real game, real in a sense of actually coding more than just a little aspect of the over-ambitioned whole and losing interest after drawing three sprites and writing 30 lines of code. No, this time I am focused on implementing gameplay features rather than dilly-dallying around in Photoshop or experimenting with data-structures I never fully grasped. But who can blame me? I am not a programmer.
Well, despite not being a real coder I have quite a long history attempting to be one, like the guy who knows he can’t dance but never stopped trying (much to the embarrassment of his friends, but I digress). Lately I've came to re-discovered a dusty Steam Sale impulse purchase, the GameMaker Studio, and this time it was different. This time I might have a chance, I thought.
Once I wrote a blog article on my first game-making steps. So if you're really bored and nosy, there's the post on my personal BASICs (haha get it!?) in case you're interested in how such an outsider goes about programming. You can find it here: ► Blog.philstrahl.com
First of all I am impressed with how well GameMaker Studio handles the amount of scripts and custom code I like to litter around and it still feels like my beloved PureBasic (at least most of the time). On the other hand it’s a bit limiting not being able to set my own data types or do some more branched out class/object- inheritance and some other stuff I’d like to try. But the compiling speed and ease of use make up for it so far.
But enough of that. You’ve come here to learn about the game, right?
So I've uploaded my latest (very stable) alpha (0.0.10) for anybody interested to try. These are some of the features I did over this weekend:
- Item Drops with cute little parachutes and physics. You can also just shoot the chute and watch the item fall again.
- Push ↑ to Shoot: Shooting was formerly bound to the right shift key, but as one of my patient alpha-testers told me (thanks Steven!), Windows thinks you're disabled once you hit Shift five times in short succession and pops open the Ease of Access center when you haven’t turned it off. Not good. So now it's fixed.
- More Sound Effects & Music: After running around the flat recording sounds, tweaking synthesizers in Reason or mangling the NES sound chip in Famitracker, there's some basic sounds now in the game. And I noticed how I really suck at sound design. Better get a pro on it. Nevertheless the music is also my own. The title track is from Friday and the in-game temp track is from 2006. So when everything else fits, I’ll get back to my cue sheets.
- Faster Turning Speed and other tweaked physics value because SCIENCE!
- Different Enemy Behavior: Enemies now shoot only three times after spawning till they run out of ammo, so you shouldn’t end up in a bullet hell after a couple of seconds. And to make it more fun, every five seconds a new batch of 35 dumb enemy planes spawns outside the screen close to you.
- Score Mechanics! Finally the spine of any good arcade shooter is in place: Score-keeping! There's a multiplicator which you can level up to level 25 (when you're good or lucky or both). The game also tracks your frags and how long you stay alive.
- Prettier Graphics: I wanted the game to be very minimalist but I just couldn’t resist pixeling a cheesy sunset-like haze with some clouds, inspired by the stage backgrounds of F-Zero. Well, it's one cloud and its many clones in the sky. This might get changed or reworked when I have nothing else to do. I miss pushing pixels dearly… Well, I spiced up the explosion-effect with a small sprite animation inspired by how Irem did with R-Type.
- Visual Feedback When Taking Damage: This is a very important aspect and it took me way too long to figure out programming-wise. Nevermind, in the end I did and it works. Even for enemies, once they become tougher.
- Invulnerability. It's just like in every good old-school game: When your character sprite blinks, you know you can get hurt. My cure of spawning in a bunch of enemies right from the start.
- Better UI: The prototypy stuff is now far to the right, the most important information for the player is now dead center on top including a Skyrim-style health-bar. Y'know, for the kids.
- Saving Private Score. Your high-score values will get saved to disk and recalled every time you play the game, so it’s not like in a game of Tetris on the old grey brick where switching off meant your bragging rights went bye-bye. Since the values are stored in an easy to read .ini-file, they can be easily tempered with but hey, real pros just say no to cheating.
What the future brings
I am like many one-person-indie-developers here: Constrained by a day job and a life outside games (well, let's better call it "20 minutes outside games"). This means I can only do sprints rather than endurance races on the game. So as soon as I got a couple of consecutive days off, I will get back to it and work on some features.
Right now I am still not sure what the "fun" element in my game should be. Is it the skill challenge of player vs. physics as in Lunar Lander and Asteroids? Or the hearty and rewarding cacophony of explosion effects going off thanks to big sprites and forgiving hitboxes, as in R-Type, Capcom’s U.N. Squadron or Luftrausers? Frankly, I’d like to have both.
If you are still reading, there's a hearty Thank You hug out for you. And if you have any questions or comments, feel free to add your two cents. I need all the change I can get ;)