ID:32633
 
Keywords: beginner, design
A BYONDscape Classic!


How to Fail at Game Programming
by Deadron



How to fail

On the BYOND forums we've seen dozens of wannabe game programmers come and go over the years. Most of them set out to fail and they invariably find a way. So if you want to fail, here are some tried and true ways to succeed.

Start with an epic game

Think of the best game you've ever played, then imagine how you can do a game five times bigger and more complex. Without planning anything, designing anything, or learning to program, jump into creating the game. Call it "Star Wars: Jar Jar's Revenge" because you know George Lucas is not litigious, and besides you'll put in a statement that says this isn't copyright infringement and then there's nothing they can do about it. Copy and paste some random code that you find, hoping it does something. By the second day, have 20 lines of code that produces 27 errors in the compiler. Then decide that because the stupid game system you are using doesn't support alpha channels for graphics there is no way you can complete your epic game. Quit your career as a game programmer and proceed to blame the creators of the game system for the failure.

This is a particularly good way to fail, because it doesn't involve much actual work on your part. One or two days, tops, and you can be on to your next career as a movie director.

Don't learn the language

Since you once spent two days copying and pasting some JavaScript into your website, you are already a programming expert. There is no need to learn another language, because they are all the same anyway. Post messages on the forum about what a stupid language the game system uses, and how everything would be better if they just used JavaScript. Then post several messages saying that your game is almost done, and you could finish it tonight if someone would just explain what a variable is.

Annoy people who can help you

Often when you ask questions on the forum, people will be so rude as to answer with words. Chop them down for this! Words mean nothing. Only code means something. And not that damn code that "teaches" you how to use a function or leaves stuff out for you to add in. The only acceptable code is that which states which line of your game to paste it into. When you paste it and it doesn't work right away, yank it out and demand "a different code" this time "one that works" from the person who was so brazen as to give you this broken code. Be insistent! Eventually those fools will learn what kind of code to give you.


How to fail at failing

It's hard to believe, but every once in a while someone attempting to fail fails to do so, usually by taking the following steps. Avoid these steps at all costs or you risk succeeding at creating a game.

Explore the available resources

People with no actual purpose to their lives have probably spent dozens of hours writing up detailed instructions, tutorials, and code demos for how to use the game system. Be wary of this! If you were to fall into carefully reading the material provided, you might start to understand how the game system works, and that way lies madness.

Play with the most basic tutorial you can find

There is probably some "Hello World" game demo that insults your intelligence by assuming you don't know anything about the game system and holding your hand through your first few lines of coding. Ignoring this is critical to your failure. And whatever you do, don't use this as the start of a little test game for yourself to explore how a game is put together in the system. You can't waste time on such things when you have an epic Jar Jar game to write.

Create a series of small goals for yourself

Small goals are for script kiddies who don't know how to program. Only giant goals will work for you. Make sure all your goals are at least ten times bigger than these:

* Creating a player character who can move around the screen.
* Having the player character say something.
* Adding a computer controlled character.
* Having the computer player respond if you say a specific word near it.
* Adding a hit point attribute to characters.
* Adding a target attribute to characters which indicates who they are talking to or attacking.
* Adding an attack command to characters that causes them to do 1 point of damage to the targetted character.
* Having a character announce that it is dead if its hit points get to zero.
* Making it so that a character can't do anything if they are dead.
* Having the computer controlled character attack back if attacked.

Ask questions in a constructive manner

Some suckups stoop to the last bastion of the manipulative when they need an answer to something: politeness. Worse, they might be concise in describing the problem, only post the lines of code relevant to the question, and even show what error they are getting. When they get an answer, they think it over carefully for at least five minutes, then try out the explanation and see what happens. You, however, are sure to get results if you say something like "My flying code doesn't work. When is someone going to fix this stupid system so it works?" Even better if you then post 300 lines of code from your game, 297 of which are 99 repetitions of the same if() statement with one variable changed.

Build your game incrementally

Weak-minded and insecure people tend to build their games in small pieces, then play-test them to see how the code and concepts are working, then add a few more features and play-test them again. They even have the gall to use this iterative process to get game suggestions from players that might lead them in unexpected directions. True artists have two superior approaches available to them: Build up a vaguely defined, complicated character class and trade system and work on it for three months until the cat pees on your keyboard and you lose the only copy of the game you had, after which you spend two weeks posting on the board about how incredible your system was. Or, even better, building up such a system until it collapses in on itself, then releasing the source code as "DragonBall Z: The Testicle's Revenge, version 1.022" so that dozens of other twelve year olds can keep mods to the half-baked code floating around the web for the next century.

Moral

If this column helps just one little doe-eyed "DragonBall Z" or "Final Fantasy" kid to fail at their lifelong dream of ripping off a copyrighted property, then it will have all been worth it.

ROFL, thats funny . It kinda reminds me off FFL for some reason. Loud leaving it to someone who has no idea how to code or has no intention on updating the game of which he promises on doing. Which is why the game has gone down hill ever since and is pretty much dead. By the way that was one of the best post I've seen in awhile it was well thought out and had many details.
This post fails at failing, in the most epic way. =D
Tetsuya wrote:
ROFL, thats funny . It kinda reminds me off FFL for some reason. Loud leaving it to someone who has no idea how to code or has no intention on updating the game of which he promises on doing. Which is why the game has gone down hill ever since and is pretty much dead. By the way that was one of the best post I've seen in awhile it was well thought out and had many details.

You mean Nadrew? :P
That one gave me the giggles for a while, lol. Funny and enthusiastic. I think I used to be one of these people though. :( You hurt my feelings! Programming is so fun to me now(I need better things to do with my time now, don't I?).
Ol' Yeller wrote:
Tetsuya wrote:
ROFL, thats funny . It kinda reminds me off FFL for some reason. Loud leaving it to someone who has no idea how to code or has no intention on updating the game of which he promises on doing. Which is why the game has gone down hill ever since and is pretty much dead. By the way that was one of the best post I've seen in awhile it was well thought out and had many details.

You mean Nadrew? :P

No Actually I mean Uhfrank


lol, propaganda in comments page
How many doe eyed kids should read this: about 700....how many will: 1 or 2. :\
Brilliant.
"Then decide that because the stupid game system you are using doesn't support alpha channels for graphics there is no way you can complete your epic game."

You might want to change this article once 4.0 arrives, Gughunter. :)
Jon88 wrote:
"Then decide that because the stupid game system you are using doesn't support alpha channels for graphics there is no way you can complete your epic game."

You might want to change this article once 4.0 arrives, Gughunter. :)

How to Fail at Game Programming
by Deadron

Anyway, great article.
You don't have to follow these to succeed. I didn't follow them for my first three projects, (Diablo, Deus Ex, Escape Velocity Apocalypse), and those projects failed.

But when I got my cousin to work on Antlion Troopers with me, I just got him to work on something basic that could be expanded (A frame or base code, so to speak). Then I used the logic and the knowledge I had gotten from fiddling with RPG Maker 2000 for three years along with the DM reference and learned how to program in DM. Then I proceded to finish Antlion Troopers, and the game turned out largely successful.
This was... Just amazing. It had me laughing the whole time! Very nice article, and very true. I will take this to heart.
roflmfao (Okay, not the 'rof' but definitly the 'lmfao' part XD)

But seriously, funny XD