Hey guys! I'll be writing a short article about some tips and tricks game makers can use to save themselves a lot of time and create more progress on your game in less time :)
I'm an experience game developer using mostly GameMaker studio 2, I've released multiple games to Steam and worked on 100+ freelance video game projects^^ Without further ado let's get right into it.
- World Building
So world building can be an extremely long, and boring process! You have to design large areas, towns, forests, and you have to decorate the grounds, buildings, trees, and other foliage. It's a lot! I've made many top-down RPG games, and I've found ways to speed up this process immensely. The most important bit is going to be randomized foliage, this is your non-collideables like flowers, grassy patches, perhaps decor on trees like fruits or flowers, etc. It's quite easy to create a script that runs either on map loading or even while the player is roaming around that finds tiles, runs a number generator, and then select a random decor tile to place here. This can even be used in 3D games to a certain extent. This saves you the trouble of manually placing thousands of grassy tiles, flowers, etc, and then constantly being worried about if you're using too many or too little of one tile, or if anything is too busy or empty. I've found that I'm able to get promising results with a script that runs when the room/map is loaded with editable values so that I can choose how frequent decor is added and how often certain tiles are used/not used. Use lot's of tile layers! For the longest time I tried to use as little tile layers as possible, usually only 1 or 2, I'd even make extra special tiles on my tileset to avoid needing to use more tile layers. You can save a lot of time by having 3-5 and designating specific tilesets to tile layers to avoid accidentally working on the wrong layer. One last thing I'd like to add, if you feel like you're getting "writer's block" while trying to design towns/forests, I suggest going into a separate area and just sketch something out without thinking at all, or even drawing a design on paper. Do this a couple times until you get a design you're happy with, then go back and polish it!
- Data Structure Initialization
For creating arrays and data structures, I would highly recommend creating scripts that assist you over hand typing every little thing! Let me give you an example:
itemdex[0, 0] = spr_wood;
itemdex[0, 1] = "Wood";
itemdex[0, 2] = 200;
This is a simple 2D array for a Wood item with a value of 200. Not too bad, but eventually your arrays might need 5-10 times more data! For this, you could create a script that makes adding things to your arrays much simpler, like so:
ADD_ITEM(spr_wood, "Wood", 200);
With this method, you can also assign defaults, in case certain values will often times be the same over many array entries. An example would be setting value to a default of 200 gold since most items would be that much. So instead you'd write: ADD_ITEM(spr_wood, "Wood", -1) since the "value" will fall into the default value of 200. If there's any questions on how to set up a script that does this I'll gladly assist you!
- Coming up with story, enemies, characters, character names, dialogue, etc
For this one, I'm gonna touch back on something I mentioned in World Building. If you find yourself getting stuck, go into a separate area and just let your thoughts flow endlessly. Don't worry about whether anything is good or bad, just write. Let's take names for example, open a document called "Names" and just write 30 names. From here, if you still can't pick one you like, pick a random one and decide to change it later. Chances are, you'll either just end up sticking with that name and it will be fine, or you'll think of a name you like better one day and you can easily replace it with a CTRL + F and Replace All~ You want to minimize time spent nit picking on small details like this. This is also very helpful, because now whenever you need a new name, character, enemy, etc, you'll have a whole document filled with them that you can just pick and choose from. Story is a bit more complex and important though. For this one, I'd suggest jotting a bunch of random ideas, picking your favorites, polish it up a bit, send it to a couple friends to get their input and then move on to the next thing. This method can be used for a new chapter, arc, character background, and anything else.
I have some more things on my mind as well, but this is a good chunk of text so I will leave it at this for now :) If anyone would like to request more tips or tips on certain areas of game creation feel free to comment or message me in my discord channel! Thank you^^