Thoughts on Good Game Design

Posted on 14th March 2011 in Something Daily

I’m learning a lot about game design as a result of my endeavors into the field. When I began to create this game I’m working on, it wasn’t at all about what the design would ultimately be, it was more just a practice with object-oriented programming using graphics and keyboard controls, just because they were two things that I thought I could easily use to make a playground for myself to create sprites and animate them, learning the ideas of OOP in the process. In that sense, this project has been a complete success. I know objects very well now, as a result of using a nested class structure for every game entity. I also have come to understand privilege and how it can be used effectively, as well as making the appropriate variables global and nonglobal. That’s all great, but what I’m realizing now is that in addition to all of that new coding knowledge, I’m also coming away with a better understanding of what makes an effective game design.

One of the most important steps for me in this regard has been the playtesting that my friends and family have done during various stages of the development. I spent quite a while building the engine from the ground up, which was where I got my OOP practice, and which was what I originally thought would be the main bulk of the work. When the engine was finished (or nearly finished), though, and I started having people playtest it and give me their feedback, I started noticing a lot of commonalities between how the players reacted to certain game aspects. For example, every time people would play one version of it, one of their comments afterward would be something like “I lost really quickly because I was concentrating on dodging the asteroids.” This was interesting, because the asteroids were in fact part of the background image and not part of the gameplay mechanic at all, yet since people saw them flying by in the same direction and at a similar speed as the enemy projectiles, they assumed that they had to dodge them. This brought up the intersting issue of visual design – namely, how can I make an interesting setting for this game without making it detract from or confuse the player’s experience.

In more general terms, how can I make it immediately obvious what a game element’s function is? A powerup that gives the player more health should indicate that by how it looks. Something that makes sense in the context of the story (they’re little medical kits in Half-Life 2, for example) or even a simple heart. Something that stands out and is obviously condusive to the player winning the game. Similarly, an enemy should look menacing to some degree, whether it’s the goombas in Mario that have little frowns and are conveniently at foot-stomping level, or the alien swarm guys in Gears of War who look like big angry gray tanks who clearly want to murder you. If there’s something you need to avoid, like enemies or projectiles, it should be really easy to see and to avoid. The lasers the enemies shoot in Metroid Prime are all brightly colored and very clearly come from an unpleasant source. Ikaruga is another great example of this, where the game mechanic is mostly based on the avoidance of enemy projectiles; in that game, they’re all very well-lit and colored, to make it exceedingly obvious where the player needs to be. That’s not to say that it’s easy to avoid the projectiles, but it does mean that there is a correlation that the player can pick up on between being close to a projectile and losing a life. There are no surprises. Backgrounds and settings shouldn’t distract, but should only serve their purpose as a stage-setter; in a well designed game, the player never has to wonder what any aspect of the game does: it’s all so obvious.

Another thing I’ve come across is the need for well-thought-out gradation of difficulty. This can be restated by saying the the played needs to feel at once challenged and successful at all times in order to keep enjoying the game. Noone wants to play a game where you die on the very first level every time; nor does anyone play games in which you make it to the end having hardly put forth any effort at all. The player’s mental state during play is important for the designer to take into consideration, as it’s ultimately the deciding factor that controls whether they go tell their friends that your game is ‘fun’. A player needs to be given rewards; there needs to be a sense that progress is being made. Levels up, points, weapon upgrades, and powerups all aim toward this end. I don’t think it’s important exactly which of these elements are used; rather, only that they are used to synthesize an overall experience of challenge and reward. A well-developed difficulty curve can compliment this; for example, you don’t want to introduce a new challenge or mode of playing in a situation in which it’s impossible to learn.

A great instance of this is the Zelda games, in which a lot of the excitement comes from collecting new items and weapons. A trick that’s commonly used in these games is to put the item in a room that’s impossible to leave without the use of the new item – to leave the slingshot room in Ocarina, the player uses the slingshot to shoot down a ladder that leads to the door. Clever. It’s a semitransparent method of easing the player into the correct control of the new game mechanic, without having it seem completely like a tutorial stage. It’s my opinion that this method is a better design principle to follow than actually including an almost nondiegetic tutorial stage – it keeps the player fully embedded in the game world.

These are just some thoughts that have occurred to me over the course of my work with designing a game. It’s a great learning experience to make a game from the ground up, both in programming and design. I’ll talk more about this at a later date. For now, go play your favorite video game.

Codename: Space Conflict from Beyond Pluto

Posted on 5th February 2011 in Something Daily

I don’t know if you remember the game that I claimed to be working on about three months ago; it’s definitely been a while. I had this idea over the summer to make a sweet and very involved Java game with my CS 101 experience – there were going to be multiple maps and physics and stuff blowing up and dinosaurs and it was going to be sweet. It was originally going to be mostly a learning experience to get me more acquainted with object oriented programming (which it absolutely has been), and it wasn’t really intended to be a project that I’d necessarily make into anything polished. After working on it for a while, though, it started to snowball and I figured “how hard could it be to make an Ikaruga clone?”. As it turns out, it’s both challenging from a programming perspective and time-consuming on the art side. I worked on it for about a month and a half with incredible persistence and then kind of fell off – I think I was intimidated by the huge amount of work I’d set out for myself. I had to program the whole game engine from scratch, draw all the sprites and backgrounds, animate them, and come up with a decent storyline. Basically I lost interest because it seemed kind of impossible. The project never totally left my mind though, I was always a moment away from working on it again. I have a mostly-complete game engine that I’ve made scalable to include more enemies, patterns, and areas, as well as a bunch of enemy sprites and two 8-bit audio tracks. Today, for some reason, I decided to pick it up again, and that I want to be done by the end of the semester. It’ll give me something to do and feel good about. I did significantly alter my initial expectations on how it would be when it was finished – my original project was just really daunting. But if all goes well I’ll have a sweet little Galaga-style arcade game by the end of May. Here are some screenshots of what I have so far (it’s all in the 8-bit visual style minus the background, which I have yet to draw correctly).

Also, Super Mario Kart is so annoyingly tough. Always has a super star regardless of where in the lap he is, and he always uses it right as you’re about to pass him. It’s not cool, and I hate Luigi. He makes it impossible to win the Flower Cup at 150 cc. Seriously, I’ve tried it probably twenty times and on the third course, he always comes from behind at the last moment and screws me. It’s not funny anymore, Luigi. Just go home. We all know you’re awesome at kart racing. Just stop, man. And Chrono Trigger is still taking a year and a day. I’m done two of the side quests and I still have five to go and probably a bunch more training before I try Lavos again…it’s a good thing that’s such a good game, because otherwise I’d probably have stopped playing by now.

Eric Sluyter owes me some Dibs

Posted on 4th November 2010 in Something Daily

So around this time last year, my suitemate Eric promised me that if I ever finished Ikaruga, he’d buy me some of these:

For those of you who don’t know, Ikaruga is an arcade-style shooter that was released on Gamecube in 2001, known for its high degree of difficulty and innovative polarity-switching mechanic. People have called it a “bullet hell” game, in that at some points there are so many enemies and projectiles on the screen that it’s extremely difficult to find the safe areas. It’s a cult favorite these days, mainly because of how hard it is to finish. I got it about 2 years ago from a Gamestop (for 40 bucks used, it’s apparently rare), and I’ve been playing it fairly regularly since then trying to get past the especially difficult 4th level. I eventually did that and recently have been working on the fifth.

And I just finished it.

So now I can finally shut up about it on the blog, and to everyone I talk to in person.

So Eric, whenever’s good for you, you know? There’s no rush. Really.

-&-

Here’s another render that I did a few weeks ago with Blender (haha, blender render), this time of one of the iconic blocks that Mario has punched in so many games over the years. A little better with the lighting here.

Mario '?' Block, rendered 10/2/10

I finished my initial foray into PHP today, after learning how it’s used to grab data from MySQL databases, and how it makes HTML really easy. PHP is awesome. Also, I’m going home this weekend! I’ll probably still post, but it’ll be from Pennsylvania! Check it out!

Speaking of Blender, here’s the famous iPad Blend. Yes, it’s what it sounds like.

Vegeta! What does the scouter say about his room number?

Posted on 2nd November 2010 in Something Daily

My room at NYU

It’s over NINE THOUSAAAAAAAND! This is my dorm room door at school. Vegeta’s pretty angry about how high the number is; so much so, in fact, that he smashed his scouter over it.

Paying attention in class is tough when there’s so much you want to learn (ironic, isn’t it?) I spent a good portion of this morning going over a PHP tutorial and learning how it’s used to generate HTML. Having been discouraged from writing HTML in the past by how apparently daunting the process was, the knowledge that PHP can be used to speed up the process is quite encouraging. I learned from the a tutorial on devzone.zend.com the basic syntax, as well as how to use PHP in HTML pages to dynamically generate the dimensions of a table. I think it’s awesome to have the two so well integrated that all it takes to make a bit of content if for your program’s output to be in HTML format – and way less work than it could be!

It’s exciting to learn a new language. I remember being probably 8 or 9 and waking up really early in the morning to sneak to the downstairs desktop computer and page through my dad’s copy of “HTML & XHTML: The Definitive Guide” from O’Reilly. I think I built a website explaining how to do all kinds of different card tricks. It never went live, but it might still be on that home computer. I’ll dig up the source for it if it’s still around and put it up here…it’ll probably be comedy gold. Unfortunately, maybe due to my years with the School of Rock, I pretty much completely forgot how to write HTML and any other basic coding knowledge that I may have amassed; so when I started taking programming classes last year, it was all essentially new to me. The point is, I’m excited to get into making websites again, with much more enthusiasm this time! Hopefully this works out…

I just got within 23 seconds of finishing Ikaruga again. Before, I would feel pretty good about finishing around that area of the game, because it meant I was generally improving. But now, with success within my grasp, every time I make it to the challenge stage and fail is just a slap in the face. I know I’ll get it eventually, but the sting of defeat is a new and unwelcome sensation in my gaming experience. (In Ikaruga at least – in Team Fortress 2 it’s completely the norm, for example).

I listened to CSNY’s Deja Vu this morning – that is a great album. You probably already knew that. But they just have an awesome, classic sound. Check it out.

This is another webcomic that Justin turned me on to a few days ago. It’s called “Axe Cop“: written by a 5-year-old and illustrated by his 29-year-old brother. It’s so ridiculous (some would say…random?), and the fact that it’s written by a five year old may be what makes it funny, but hey….it’s funny. Check it out.

Thanks for reading!

Battlestar Skateboard

Posted on 1st November 2010 in Something Daily

I’m working my way through the pictures I’ve uploaded onto my imgur account and have come across a few good ones, similar to the Pyramid Head costume. Here’s the design that I recently stenciled onto my Uglydoll skateboard. (WARNING: BSG spoilers)

Starbuck's Tattoo on my skateboard, 9/2010

In case you don’t know, this is from Battlestar Galactica – it’s the tattoo that Starbuck and Sam get when they get married. I had the new deck and thought it was awesome, but I needed some way to easily tell the difference between the front and the back. So I figured a stencil was the way to go, and it was pretty much a no-brainer when it came to what the stencil should be of. It’s a pretty cool looking design, regardless of the context, and the fact that it’s worn by one of the very best characters on the new Battlestar Galactica makes it all the more awesome. Not one single person has ever gotten the reference though. I’ve had to explain it to anyone who’s curious. I’m just waiting for the day when I’m in the elevator with someone I don’t know and they see my board and know what it is…and say something about it, of course. I won’t hold my breath though.

I finished the series with Quinn over the summer. It got to the last two or three weeks before I headed back to school, and we were only about halfway through season 4.0 or something like that. We really had to rush to finish, but i remember we watched the finale two days before I left home. That whole three-part episode was amazing (except for the very very end with the stock footage of robots). I’ve heard and read a lot of complaints about the finale, mostly from people who say that nothing in the show was resolved and that the introduction of religion and the concept of God were ‘cop-outs’. Honestly though, I have to disagree. I think that there could not have been a more fitting conclusion to a show that always had a fascination with the relationship between artificial intelligence and spirituality.

What happens to Starbuck at the end of the show, though…NUTS. It freaked me out so bad the first time I saw it. (Notice that even though I warned about spoilers at the top of the post, I still don’t want to give this one away. It’s too good.) That’s all I’ll say about that, except that again, people got really pissed over what happens to her, and I’m more than ok with it.

Not just the finale, but the entire show is worth the time of anyone who is into good dramatic TV; really, I don’t think it’s just for sci-fi fans. I’m not really that much of a science fiction person…actually that’s a lie. I don’t know why I was about to say that. But still, it’s great TV, with some super good acting (for the most part) and it’s very well received by critics. I can think of about two episodes off the top of my head that I don’t like – that’s out of about a hundred. The black market episode…not so much with that one. Also the one about Adama’s ex-wife. But even those are still important to the storyline.

Also, the whole show is now on Netflix instant! So if you have a Netflix account, you don’t have to search around the illegal internets anymore! You’re free.

EDIT: I just came within three seconds of finishing Ikaruga for the first time and died. I don’t need to explain my disappointment. Bryant was filming it and everything. That game is so awful…

This is a webcomic I discovered recently called Dr. McNinja – it’s about a doctor who’s also a ninja who fights ridiculous villains and has a pet velociraptor named Yoshi. Very well drawn, in my humble opinion, and the storylines are hilarious.

Have a good November 1st, everyone!

Wario Land

Posted on 29th October 2010 in Something Daily

Wario Land 2, drawn 10/26/10

I did this a few days ago and didn’t bother to put it up until today. I think this one is the best so far – I keep stretching everything out heightwise in all of these drawings though! Wario’s face is way stouter than this on the actual WL2 cover. I’m making progress though.

It’s tougher to get motivated right after midterms went really well and there’s still a long time until Thanksgiving break. Hopefully, though, this weekend will include a lot of progress on whatever it is I feel I need to make progress on, because most of my roommates are going the Rally to Restore Sanity in Washington DC (I registered for the bus too late!) So I’ll be chilling out here, being compulsively productive as usual. I saw Obama on the Daily Show the other night, by the way – it was crazy go nuts. I had no idea what to expect, and it ended up being a lot of Obama defending himself rather pointedly. He’s scary, man. Such a powerful speaker.

Also, I’m listening to Tobacco as we speak (as I type) – Fucked Up Friends. It’s a pretty cool electronic instrumental album with a lot of crazy synth action in it. Synth action is one of the best kinds of action. I don’t know any other Tobacco, but this album is super cool, so maybe you might possibly check it out, maybe.

I have made a vow to myself that I will eventually complete Ikaruga, but that game is ridiculously hard…like stupidly hard. I usually get halfway through the final chapter and then eat it on the part with the two trails that keep following you in circles. I’ve made it to the very last surivial stage about three times ever, and sometimes have no hope that I’ll ever actually finish. Eric has promised me Dibs (those little spherical treat things) if I ever do, so that’s something to work for, I suppose.

I’m at the stage of the game’s design now at which the core engine functionality is (arguably) complete, and the big deal now is designing and drawing all of the enemies and stages – adding them to the existing engine is the easy part. I’m sort of hitting a wall with that, but it’ll come to me. I’m experimenting with different ways to get a classic old-school game look out of the Gimp, with moderate success (snap to grid and a really big brush size, if you’re wondering). Right now, the main thing this project is lacking is a fun factor. I think once it becomes difficult, it’ll add a lot of playability, ironically.

I wish I’d had a room this cool growing up.

Turn it on

Posted on 23rd October 2010 in Something Daily

Today is going to be a good day, I believe. I’m listening to the Flaming Lips right now, “Turn it On” from Transmissions from the Satellite Heart. It’s always been one of my favorite Flaming Lips songs. I love when a band has a catalog of material that you can look back on and see how many different changes they’ve gone through from album to album. These guys started out making noisy punk-type music, and it slowly grew more and more mellow and theatrical from album to album, an recently we’ve seen a return to some heavier styles in Embryonic and, to a lesser degree, At War with the Mystics. But the thing about the Lips is that despite all the artistic phases they’ve gone through, you can always tell a Flaming Lips song when you hear it. Obviously it’s Wayne’s voice, to a degree, but they’ve so often got that heavy overdriven bass sound and drums that sound like they’re right there in the room with you. I think the Lips have accomplished something that’s really tough to do here. So have the Mars Volta. One could make a very similar argument for their catalog as well. In the words of Tim and Eric: “Great Job!”

I stretched this morning as soon as I woke up. It was awesome, and I recommend it highly. Other things that are awesome: the Street  Fighter II shirt that I’m wearing right now (see yesterday’s post), cinnamon raisin bagels, orange juice, Dragon Ball Z, and Left 4 Dead 2. By the way, that’s not an inclusive list of things that are awesome, it’s more of a primer in case you wanted to get better at knowing what’s awesome. These updates will continue, I just decided. I’d think about renaming the blog “Things that are Awesome”, except I think its current title is essentially synonymous with that already, so it would be overkill.

Another thing that is awesome is the game that I’m currently working on. In case you didn’t know (how would you know?), I’ve taken a total of one year of programming courses in college, and that was last year. The rest of the knowledge that I have about computers is pretty much entirely a result of reading programming books on the beach when I should have been relaxing, or independent projects that I’ve worked on in the last half a year. So the idea that I would make a game that one would, you know, sit down and actually play may be a bit of a stretch. And, in fact, it’s proven to be really difficult so far. I’m teaching myself basically everything I don’t already know as I go along. Now obviously this is how pretty much every programmer works, the difference is that I know a lot less than your average programmer. Also, did I mention that I’m not using any APIs and I’m doing it all by hand? It’s really a learning experience, so it’s slow going, and I’m not really ashamed to admit that I’ve been working on this for a few months now.

But, as it turns out, it appears that this project will indeed be finished one day, probably not too long from now. It’s about dinosaurs who live on the moon and have to escape to show their existence to the people of earth (add to the list of things that are awesome). The gameplay is/will be similar to Ikaruga or 1942: like an upward scrolling fly-around-and-shoot-guys type game. All the graphics (drawn by me in Gimp) will emulate NES/SNES graphics with a pretty large pixel size, and all the music (composed by myself) will be from a Gameboy. So it’lll have a real serious 8-bit old school vibe. And it’s getting there. And it’ll be on this blog…and you’ll play it!

This is, according to reddit, the best version of the “order a bunch of pizzas for some other house” trick in history

Ok, sounds great!

Christmas Present, perhaps?

Posted on 21st October 2010 in Something Daily

Wow, I can’t believe that in yesterday’s post I said that the game I’m working on might be more awesome than Ikaruga. No way man, Ikaruga is incredible. The color switching gameplay dynamic adds something to it that I’ve never seen in any other shooter – or maybe it’s just a lot harder than any other shooter. I’m getting back into it recently, as I didn’t play that much over the summer, and that game is hard. Really hard, actually. I’ve never finished it. Although I did just discover how chaining in that game works, and it’s helping out a little bit, with the extra lives and all that. I’m going to try and finish it eventually, all it takes is a ton of practice and a fast reaction time. I remember playing it when I was really young and thinking “this is the game I’ve been waiting for”, and ever since, I had it in the back of my mind without knowing what it was called. I finally stumbled upon it and had to have it, you know? Go check out Ikaruga, though. I managed to find it in the original box, used, for $40 at a Gamestop, but apparently it’s really rare. Even if you have to pay a lot for it, it’s certainly worth the price.

If my calculations are accurate, I have one more piece of core engine material to code for “The Game” and then the engine will be (more or less) fully functional. At that point, which will hopefully be around, I don’t know, tomorrow sometime, I can start really focusing on design – more enemies, bosses, levels, et cetera. The levels will be scary to draw because they’re each over 100,000 pixels tall. I need to figure out some way to automate this stuff. But it’s coming along, slowly but surely.

I recently bought the ROM of Little Sound DJ, a Gameboy cartridge that lets you track audio with the Gameboy’s internal soundchip. Like chiptunes or whatever. And I’ve used that to compose and record track 1 of the game’s soundtrack. It sounds like it came straight from an old 8-bit system (which it practically did), the only difference being the physical hardware. LSDJ is awesome though, if you’re into chiptunes then definitely check it out (actually, if you’re into chiptunes, you probably already have LSDJ, so in that case, check it out if you’re not into chiptunes). By the way, I’m not really sure how I feel about the word “chiptunes”. I guess every genre needs a name, but it would be cool if it were called, I don’t know…something else?

As could be pretty easily inferred from this blog so far, work on this project is sort of consuming my mind. So hopefully it will be done sooner than later (say, before Christmas?) so that I can breathe once more. But until then, well, you know.

Also, Dr. Dog are a wonderful band. Check out “Fate” or “We All Belong”, they’ll make you happy.

Here’s some love for Moog’s new Slim Phatty. Never played it, but the Little Phatty is a great sounding synth.