A BYONDscape Classic!
How to Fail at Game Programming
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
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.
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.
Copyright © 2018 BYOND Software. All rights reserved.