02-26-2018, 05:10 PM
(This post was last modified: 03-17-2024, 04:15 AM by Gate. Edited 2 times in total.)
So this is an experimental thread. I tend to not like megathreads but it's a start, and hopefully it causes more specific threads to branch out.
I'd like to start a dialogue on MFGG about good game design. I hope we can have critical discussions about what makes games good, what makes them bad, and how to apply that to your games.
So I'll start out with a few subjects that I think are important to game design, either at its core or as good ways to polish your game:
=20Accessibility & Obeying Standards
I made these two one point because they sort of go hand-in-hand. Standards are there to make programs as accessible as possible. Things like:
- Standard control schemes, so that people stand a decent chance at figuring out your game's controls without looking at the settings. WASD, Z and X, etc.
- Control customization, so people can make your game fit their style, or work around a broken keyboard or a physical disability.
- Standard aspect ratio. Your game will work at any ratio in windowed mode, but it will only look good at one ratio in fullscreen, and that is your player's ratio. Most monitors tend to be 16:9 widescreen (even phones are pretty close to this most of the time), so I recommend using this ratio pretty much every time.
- Gamepad support. Lots of people own controllers for their PCs now, and the Xbox controller has carved out a pretty sweet standard that's relatively ubiquitous, so this is fairly easy to achieve. I wrote a thread on it on the phpBB forums. =8"but hylian, none of your games have gamepad support!" yes but all of my games are either made in flash 8, which has no gamepad support, or are Spoopy Mario Teaches Typing, which has no gamepad support for obvious reasons
=20A good engine is a valuable asset
One thing that the MFGG community has done very right -- whether or not the execution is all it could be -- is that there's a strong emphasis on engines. There's a lot to be said about just sitting down and making your game from scratch, but that isn't always the right thing to do. In fact, if you're making a Mario platformer, why wouldn't you take one of the several pre-existing engines that does a whole lot of great work for you already, and use it to design your game? Reinventing the wheel kills lots and lots of projects.
But the big flaw in our engine-focus community is: everybody is afraid to use them. For several years, the MFGG culture was staunchly against the concept of the "Hello clone", to the extent that people actually believed a good game could never be made with it (which has been proven wrong a time or two). I think this notion is having a negative affect on the fangaming community. If you have a great game idea, and you're good at level design, then not being able to program should not be a barrier to your success (nor should being able to sprite, for that matter, which is part of why the mainsite exists).
Even if you choose not to use an existing engine though, it would help to program your game like one. No, I don't mean that you should recreate every Mario powerup and enemy that has ever existed just for your game. What I do mean is, your code should create usable assets. For example, if you're creating a traditional Mario platformer, you should have a Mario object in your objects that you can drag into the level, and he'll just work. The camera will follow him, he will control properly, etc. The same should go for your enemies, other objects, your level exits, etc. They should all do whatever they're supposed to do without having to heavily tinker with them every time. This helps divide the design process up between programming and level design, and makes the whole process way smoother.
What is some game design advice that you would offer to other MFGGers?
I'd like to start a dialogue on MFGG about good game design. I hope we can have critical discussions about what makes games good, what makes them bad, and how to apply that to your games.
So I'll start out with a few subjects that I think are important to game design, either at its core or as good ways to polish your game:
=20Accessibility & Obeying Standards
I made these two one point because they sort of go hand-in-hand. Standards are there to make programs as accessible as possible. Things like:
- Standard control schemes, so that people stand a decent chance at figuring out your game's controls without looking at the settings. WASD, Z and X, etc.
- Control customization, so people can make your game fit their style, or work around a broken keyboard or a physical disability.
- Standard aspect ratio. Your game will work at any ratio in windowed mode, but it will only look good at one ratio in fullscreen, and that is your player's ratio. Most monitors tend to be 16:9 widescreen (even phones are pretty close to this most of the time), so I recommend using this ratio pretty much every time.
- Gamepad support. Lots of people own controllers for their PCs now, and the Xbox controller has carved out a pretty sweet standard that's relatively ubiquitous, so this is fairly easy to achieve. I wrote a thread on it on the phpBB forums. =8"but hylian, none of your games have gamepad support!" yes but all of my games are either made in flash 8, which has no gamepad support, or are Spoopy Mario Teaches Typing, which has no gamepad support for obvious reasons
=20A good engine is a valuable asset
One thing that the MFGG community has done very right -- whether or not the execution is all it could be -- is that there's a strong emphasis on engines. There's a lot to be said about just sitting down and making your game from scratch, but that isn't always the right thing to do. In fact, if you're making a Mario platformer, why wouldn't you take one of the several pre-existing engines that does a whole lot of great work for you already, and use it to design your game? Reinventing the wheel kills lots and lots of projects.
But the big flaw in our engine-focus community is: everybody is afraid to use them. For several years, the MFGG culture was staunchly against the concept of the "Hello clone", to the extent that people actually believed a good game could never be made with it (which has been proven wrong a time or two). I think this notion is having a negative affect on the fangaming community. If you have a great game idea, and you're good at level design, then not being able to program should not be a barrier to your success (nor should being able to sprite, for that matter, which is part of why the mainsite exists).
Even if you choose not to use an existing engine though, it would help to program your game like one. No, I don't mean that you should recreate every Mario powerup and enemy that has ever existed just for your game. What I do mean is, your code should create usable assets. For example, if you're creating a traditional Mario platformer, you should have a Mario object in your objects that you can drag into the level, and he'll just work. The camera will follow him, he will control properly, etc. The same should go for your enemies, other objects, your level exits, etc. They should all do whatever they're supposed to do without having to heavily tinker with them every time. This helps divide the design process up between programming and level design, and makes the whole process way smoother.
What is some game design advice that you would offer to other MFGGers?