jump to navigation

Let’s Make a Game! March 24, 2014

Posted by eric22222 in Game Development, General.

I’m not sure why, but I got the urge to cobble together a 2-D video game. Maybe it’s just a need to do some “fun” programming outside of work for a while. I’ve decided to document my progress of it for a handful of reasons.

First, to have something to post about. I started this blog in 2004 partly to let friends and family keep up with my exploits at college and partly out of boredom. Life has been good lately, and I’ve been more interested in enjoying it than writing about it. I figure this will give me a good excuse to get writing, if only for a while.

Second, writing about a project is a great way for me to organize my thoughts. Back when I was posting summaries of my D&D game, I found that writing out the details to a 3rd party helped me get a better grip on what parts of the story were important, what could be glossed over, and the direction things would need to go to improve.

Third, being more public about a project makes me a little more likely to keep at it. I have a terrible habit of getting very excited about an idea, putting about two weeks of intense work into it, then never looking at it again. I still have fun with these projects, but I feel like there’s so much more I could do if I stuck it out past the initial burst of excitement. I still don’t expect to take this very far, but I’d like to have something worth talking about when all is said and done.

So let’s talk about what I actually want to do here. I’m trying to capture two different nuances from two very different kinds of games.

First, I’m trying to create solid, rewarding, and fun player physics. Basic player physics are simple rules like set x velocity to 5 pixels per frame when the player presses right, and increase y velocity by 0.4 pixels per frame for gravity. This is enough for a game, but it would feel stiff and uninteresting.

I want to make things feel a bit more interesting. Let’s start with running. In Super Mario World, when you press right, the character doesn’t immediately break into a run. It’s only for a second, but Mario has to get up to speed first. Once he starts running, his jump height increases by an extra block or so. When you release the right button, he keeps jogging for a bit as he slows to a stop. If you try to change direction mid-dash, he slides a bit as he turns around. Simple stuff, but it makes the game so much more fun to play.

The second thing I want to make is meaningful character advancement. Super Metroid did an excellent job of this. Throughout the game, you acquire new upgrades. Some are strictly for dealing with stronger enemies, but a lot allow you to reach new areas. A grappling hook lets you cross previously impassable chasms. A new type of missile allows you clear away blockades that prevent access to areas early in the game. I really like the feeling of remembering an area that I couldn’t access, knowing that I just got the item I need to access it. Banjo-Kazooie for N64 does this is a different way. Instead of getting new equipment, the character learns new techniques, like doing a backflip to jump higher (it makes sense in context (not really)).

Finally, I want to touch on what the game will be about. I asked my wife what I should make a game about, and she said it should be about throwing vegetables at bad guys. So this game will be about throwing vegetables at bad guys, and it will be awesome.



1. usclaireforce - March 25, 2014

Sounds exciting! I always like reading about new game projects. Are you going to build an engine from the ground up or are you going to use a preexisting engine like Unity or Game Maker? I can already think of a bunch of veggie throwing titles! Artichuck, Corn on the Lob, Lettoss…

eric22222 - March 26, 2014

I have tried working from the ground up once before with OpenGL, and I wound up spending more time tracking down old documentation and forum posts than actually making a game. I’m going to be using the Scrolling Game Development Kit, which I’ll go into more details about in one of the next few posts. Stay tuned!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: