Game Design Fundamentals: How to Reach New Heights
From Mario Fan Games Galaxy Wiki
This particular tutorial offers advice primarily intended for those making platform games, especially Mario fangames, although these same principles can be applied to many other genres, including shooters, "beat-'em-ups," and other kinds of games.
First of all...
- Be creative! You're the one making your game, so you can do what you like. You're not a massive, risk-averse multinational corporation with millions of dollars on the line; you're an artist who can (and should) take chances with his or her work. Try new things and seek constructive criticism - those are the best ways to improve.
- It's fine to dream big, but don't be too ambitious. You're unlikely to complete a 3-D platformer with 100 massive levels unless you have a whole lot of experience and an amazing amount of free time (or a few million dollars to hire a professional development team). A more manageable goal is to aim for 10-20 levels, and to expand your game later on if the urge strikes. Besides, overly large games can easily grow stale and repetitive if you're not careful.
- Regardless of the game development tool you use, making high-quality games will invariably require dozens of hours of good old-fashioned hard work. Don't give up if progress seems slower than you expected. Even if you've mastered the programming language you're working in, game development is a time-consuming hobby.
- When you're getting started, try experimenting with a variety of game-making development kits, like Game Maker, Multimedia Fusion, Construct, and others to see which one you prefer. On the other hand, once you settle upon a favorite application, there's usually little point in flip-flopping between utilities, unless you're switching to a more advanced programming language like C Sharp or Java.
- The use of premade engines is one of the biggest controversies today on MFGG, but if you choose to use a premade engine like the Hello Mario Engine or one of DeeY's engines, be sure to change some things from the base engine: add new enemies, change the power-ups, or use a new graphical style. Whatever you do, don't neglect the need to continue improving your own coding skills.
Collaboration and Criticism
- Pay attention to constructive criticism. You're under no obligation to accept every suggestion that's offered to you, but ignorance of critique comes at your own peril, especially when the source of critique is a reputable, respected member with more experience than you. Also keep in mind that at some point, you will receive rude or mean-spirited criticism; while such attitudes are not encouraged on MFGG, just because someone's being a jerk doesn't mean their viewpoints are wrong!
- Be careful when relying on development teams. Working with a friend can greatly improve the quality of your game, but don't team up with someone who's uncooperative or seems likely to quit on you at the hour of greatest need. Team projects have the best chance of succeeding when you choose diligent partners, keep communication channels open, and have well-defined roles. Don't attempt large teams unless you possess some project management skills.
- Don't act like a pest when asking others for assistance. There's lots of people on this planet who are willing to help, but remember that no one is required to help make your game. People are more likely to help if you show some signs that you're committed to finishing the project and that you're willing to do some work yourself.
- Select a good name for your game! In the case of fangames, unique titles like Super Mario Melatonin or Mario's Steroid Adventure are more memorable than Super Mario Bros.: Adventure Journey or the oft-recycled moniker Super Mario Adventure. If you want your game to reach as wide an audience as possible, be sure to pick a unique name that appears high in the search rankings for that term. And if you make an indie game that you intend to sell, be sure your title isn't too similar to anything that's protected by copyright.
- Always double-check your game's dialogue, help files, and other text for spelling and grammar before releasing it. If your English isn't perfect, find a friend to check your grammar.
- Make your games easy to download and install. Don't host them on slow servers or file-hosting sites that are laden with shady pop-ups. Many players prefer stand-alone executables that can be played without having to run an installation program or install third-party plugins. If your game requires specific plugins, be sure to include them with your game, or at least include a link to a site where they can be downloaded. Of course, games that can be played in a Web browser are especially nice, particularly for smaller minigames.
- Exercise caution when mixing graphical styles. Using non-matching graphics in the same screen is known as graphics clashing, and it's generally worth avoiding. For example, you shouldn't use 8-bit sprites in front of 16-bit backgrounds unless you know what you're doing. Remember that it's often easy to edit premade sprites so they better suit the style of your game.
- Try to use a consistent light source for sprites and other graphics.
- Even if you're using a small resolution for your game, it's a good idea to add a way to play the game in fullscreen mode.
- The vast majority of modern computers use a 16:9 aspect ratio for their displays. For that reason, consider using a 16:9 aspect ratio for your game window unless you have a gameplay-related reason for using the older 4:3 ratio.
- Display a balanced amount of information on the HUD. Having too many different meters crammed on the HUD can make it hard to find your player, while leaving out the HUD altogether may make the game confusing. Choose a readable font for your HUD.
- Don't stretch backgrounds - beginning game makers do it all the time, but the result is usually hideous.
- Gratuitous or poorly-implemented blood and gore effects can look tacky, especially outside of the shooter and horror genres. If you feel such effects contribute to the quality of your game, consider adding an option to disable this feature for those who dislike graphic violence.
- Choose high-quality fonts that look nice in both windowed and fullscreen mode. Avoid overused fonts like Comic Sans MS unless you have a compelling reason to use them. When using rare fonts, be sure to embed them into the game's executable or otherwise include them with the download, or else they might not display properly if they're not installed on the player's PC.
Music and Sound
- Choose memorable background music! Many game developers overlook the importance of music, but a good soundtrack can make the difference between a so-so game and a good one. When making fangames, avoid overused arrangements, and don't be afraid to "think outside the box." There's a wide variety of freeware music available.
- Find a good volume for sound effects in relation to background music. Since music is almost always playing, while sound effects play intermittently, you should usually set the volume of SFX louder than the BGM. Make sure all sounds play at an appropriate volume.
- Use sound effects judiciously. In most high-quality commercial games, a sound plays pretty much every time you do something important - opening a door, shooting a gun, or picking up a power-up.
- If you choose to include voice acting in your game, it's advisable to include subtitles as well. Otherwise, players who are not native English users or are hard of hearing may have a hard time understanding the dialogue.
- Add a customizable control scheme, or at least map your game's action buttons to both Shift-Ctrl and letter keys (Z-X is a common pairing). Remember that not all keyboards, especially in Europe, use the QWERTY layout familiar to native English speakers.
- Gamepad support is always a welcome addition.
- Find a reasonable length for your levels. Levels that are too short feel empty and disappointing; needlessly long levels can become boring if there's insufficient variety in them, and they can be frustrating if you don't offer a fair number of checkpoints.
- Don't make all your levels completely linear. Spice up your levels with bonus rooms, secret passages, shortcuts, forks, and secondary exits.
- Add a fair number of power-ups to your levels. Too many power-ups can be redundant and could make the game too easy, but a scarcity of power-ups will make the game artificially difficult.
- Aim for a smooth difficulty curve for your game. Don't make the first levels needlessly difficult, and don't introduce too many traps or gimmicks at the same time. Save the hardest levels for the later sections of the game.
- Avoid the level-design flaw of "enemy spamming" - cramming a huge number of enemies into a small space.
- Provide in-game hints when you're supposed to do anything counter-intuitive. Instead of asking players to jump into a random pit to find a bonus level, you might have a coin or two hinting at where you're supposed to go.