DEVELOPMENT METHODS:WHICH ONES ARE YOUR FAVORITES?
Posts
Hello everyone, been in deep thought about something lately. Throughout the development of our projects, we all have developed methods, techniques, and habits for better or worse. For most, we don't begin very organized, but as time goes on and our projects get bigger and better, we develop a sense of organization that just seems to stick with you.
With the usage of our favorite programs, things can get pretty messy in our databases. Variables start small, but then we end up getting hundreds of them, switches seem to be no big deal until you realize that you're making your thousandth one. Objects and events are scattered everywhere like someone just dropped a whole bag of skittles on the floor.You code in something that seems to create problems elsewhere and you are ready to pull your hair out over something that was as simple as a variable fix.
What are some methods you have developed that have proven successful and allow you to create your projects with maximum speed and organization? You don't have to have completed a game to respond in this topic because we all have developed a skill that's smart in one way or another. However, if you have completed a game as well, your knowledge and advice would be a golden addition.
What methods can you pass on to new and older developers to guide them in the right direction? What would you avoid doing and what mistakes have you made that you would warn other developers to look out for?
With the usage of our favorite programs, things can get pretty messy in our databases. Variables start small, but then we end up getting hundreds of them, switches seem to be no big deal until you realize that you're making your thousandth one. Objects and events are scattered everywhere like someone just dropped a whole bag of skittles on the floor.You code in something that seems to create problems elsewhere and you are ready to pull your hair out over something that was as simple as a variable fix.
What are some methods you have developed that have proven successful and allow you to create your projects with maximum speed and organization? You don't have to have completed a game to respond in this topic because we all have developed a skill that's smart in one way or another. However, if you have completed a game as well, your knowledge and advice would be a golden addition.
What methods can you pass on to new and older developers to guide them in the right direction? What would you avoid doing and what mistakes have you made that you would warn other developers to look out for?
I feel I do most things poorly and wildly. I'm not sure I can give any pointers.
One thing I've learned is not outright delete things like events, but rather keep them all in their own TEST map type deal. Since the rpg maker engines save on play test or are un-undoable if you switch editing layers.
So usually any big event that's full of dialogue or cutscene scripts I'll keep around on their own map until I'm absolutely sure I don't need them anymore. It can save time too, to have commonly used events on hand, pre made.
One thing I've learned is not outright delete things like events, but rather keep them all in their own TEST map type deal. Since the rpg maker engines save on play test or are un-undoable if you switch editing layers.
So usually any big event that's full of dialogue or cutscene scripts I'll keep around on their own map until I'm absolutely sure I don't need them anymore. It can save time too, to have commonly used events on hand, pre made.
author=InfectionFiles
One thing I've learned is not outright delete things like events, but rather keep them all in their own TEST map type deal. Since the rpg maker engines save on play test or are un-undoable if you switch editing layers.
So usually any big event that's full of dialogue or cutscene scripts I'll keep around on their own map until I'm absolutely sure I don't need them anymore. It can save time too, to have commonly used events on hand, pre made.
That's smart! Having pre-made events is a good choice for saving time so you won't have to start from scratch every time. Testing and debug rooms are good to use until you're ready to push them out to their designated locations. Last time I used RPG maker was a while ago, so thanks for the reminder of the auto save thing.
Glad there was something useful there :)
It also only saves(or things can't be undone anyways) when switching to the event layer. Not sure about MV, but all the other makers do it so it's probably safe to say MV does as well.
It also only saves(or things can't be undone anyways) when switching to the event layer. Not sure about MV, but all the other makers do it so it's probably safe to say MV does as well.
Sooz
They told me I was mad when I said I was going to create a spidertable. Who’s laughing now!!!
5354
My favorite method is to make graphics and have someone else worry about the crunchy bits.
Make a plan, and try to stick to it as closely as possible. Constant revisions are fun and exciting, but ultimately are what prevent projects from seeing the light of day. Sometimes it's best to put that cool new idea towards your next project.
Now that I think of it, I forgot to share some of my methods. I did realize a few things while trying out various engines and here is a list that could shed some light on things.
Same thing applies in Game Maker. It's VERY important to use what we call "Resource Conventions"(RC). This is a simple tactic to separate each type of item. For example, we have sprites(spr),objects(obj), and background(bg). Depending on your game, this can make your database look very good and clean so that you never get lost. Before, I did not use RC to my advantage,so my database looked like spaghetti.
For example, instead of making a parent object in my projects, I simply copied the object and did some stuff to it. That's wrong. You want the parent object to set the standard for the kids. Each "kid" shouldn't have their own programming.They can inherit their events and add some code to become original though. Your dad may be a doctor, but the next kid wants to be a doctor that can play basketball XD.
- Use Resource Conventions
Same thing applies in Game Maker. It's VERY important to use what we call "Resource Conventions"(RC). This is a simple tactic to separate each type of item. For example, we have sprites(spr),objects(obj), and background(bg). Depending on your game, this can make your database look very good and clean so that you never get lost. Before, I did not use RC to my advantage,so my database looked like spaghetti.
- Please plan
- Never EVER forget to back up!
- Keep variables organized
- Add commentary as you code!
- Work smarter, not harder
For example, instead of making a parent object in my projects, I simply copied the object and did some stuff to it. That's wrong. You want the parent object to set the standard for the kids. Each "kid" shouldn't have their own programming.They can inherit their events and add some code to become original though. Your dad may be a doctor, but the next kid wants to be a doctor that can play basketball XD.
- Don't be afraid to ask for help
- Picture what's happening before you test and test lots
- If you're in a team, stick to your forte(s)
I usually make a folder in my computer for projects that I work on. The last couple of projects, I split up things into sub-folders. For example, all the scripts I'm using, generally in an unmodified version, are in a "scripts" sub-folder. Same with music and graphics. Writing, such as the game's dialog, plus any random notes that I think might be useful, tend to be in the base directory.
I must admit, I don't always make comments in the scripts I write. Or make any kind of notes on how it can be used, if I'm okay with other people using it (I usually am, though), or that I even made it. Maybe not the best policy!
I must admit, I don't always make comments in the scripts I write. Or make any kind of notes on how it can be used, if I'm okay with other people using it (I usually am, though), or that I even made it. Maybe not the best policy!
author=Marrend
I usually make a folder in my computer for projects that I work on. The last couple of projects, I split up things into sub-folders. For example, all the scripts I'm using, generally in an unmodified version, are in a "scripts" sub-folder. Same with music and graphics. Writing, such as the game's dialog, plus any random notes that I think might be useful, tend to be in the base directory.
I must admit, I don't always make comments in the scripts I write. Or make any kind of notes on how it can be used, if I'm okay with other people using it (I usually am, though), or that I even made it. Maybe not the best policy!
Now, that is something I haven't thought of. Keeping lots of notes of dialogue would prove to be very useful so you aren't infinitely thinking about new concepts in the storyline.
And yes, commentary would be best especially if the script is "Free to use". Its important to sign your work and let people know who made it so you'll receive credit for it. The last thing you want is for someone to steal your work and claim it as their own. Believe me, I've seen it happen. People will steal scripts and say its theirs. As long as it doesn't bother you, its fine. But, I would update that policy. Small codes is one thing, but entire scripts need credit of some sort(at least IMO).
Usually at the beginning or end of scripts, you'll put "(script name) created by (user). Please give credit if used". Or if you don't care about credit simply put "no credit needed".
Red_Nova
Sir Redd of Novus: He who made Prayer of the Faithless that one time, and that was pretty dang rad! :D
9192
Make a prototype before going all in with a big project. First and foremost, you need to make sure the idea you have works as a game, since what sounds nice in your head may not transfer well to an actual game. Think of it like a rough draft of an essay, or a quick sketch of a work of art. The idea of the prototype is to get the core of your game working the way you want it. For RPGs, this would mostly involve the battle system with all possible party members. For platformers, it's a basic level containing every mechanic you want to implement.
The best thing about prototypes is that you can be as sloppy and disorganized as you want since this is not something you're going to spend months or even years on. Variables scattered all over the place, horribly inefficient code, and garbage/RTP assets if you're planning on having custom graphics are all the benefits of getting your idea out there. Just throw down your ideas, see what works and what doesn't, and then refine it from there.
The prototype is for you and anyone else that would be potentially involved in the project. NO ONE ELSE. It will look ugly and play roughly. Hell, if you take the time to optimize your code or improve your assets, you're doing it wrong. Here's the protype for Braid right next to the finished game (Hidden for size)
This is how shitty you can make your protoype look because it's NOT meant for public consumption. It's just there for the developer to look at what works and what doesn't.
Once your prototype is done and you're ready to start working on the game proper, start a brand new project and work from there. Don't use anything from your prototype in your final game, and for the love of god don't use the prototype as the base for your final game. Scrap everything you've done, and remake it all from the ground up. That's your chance to write better code, develop better assets, and organize your variables/switches instead of haphazardly putting them all together.
The best thing about prototypes is that you can be as sloppy and disorganized as you want since this is not something you're going to spend months or even years on. Variables scattered all over the place, horribly inefficient code, and garbage/RTP assets if you're planning on having custom graphics are all the benefits of getting your idea out there. Just throw down your ideas, see what works and what doesn't, and then refine it from there.
The prototype is for you and anyone else that would be potentially involved in the project. NO ONE ELSE. It will look ugly and play roughly. Hell, if you take the time to optimize your code or improve your assets, you're doing it wrong. Here's the protype for Braid right next to the finished game (Hidden for size)
This is how shitty you can make your protoype look because it's NOT meant for public consumption. It's just there for the developer to look at what works and what doesn't.
Once your prototype is done and you're ready to start working on the game proper, start a brand new project and work from there. Don't use anything from your prototype in your final game, and for the love of god don't use the prototype as the base for your final game. Scrap everything you've done, and remake it all from the ground up. That's your chance to write better code, develop better assets, and organize your variables/switches instead of haphazardly putting them all together.
My favorites are:
-mad rush to brainstorm cool ideas in a text document
-make proclamations about how great it is going to be and sign-up for the event
-never actually implement anything
-abandon event in shame.
-mad rush to brainstorm cool ideas in a text document
-make proclamations about how great it is going to be and sign-up for the event
-never actually implement anything
-abandon event in shame.
@Red_Nova
You nailed a key point that I had completely ignored and should be considered for those making new games. Prototyping a game is a crucial part of the development process. Most of them usually start off as squares or sloppy artwork as you have shown above. There is an interesting YouTube Channel known as Beta64 that discusses a lot of games in their earlier days. I recommend watching it at some point. One thing I've heard from pro developers' interviews is to make sure something is fun before charging into something head first.
@kentona
This had me cracking up XD and unfortunately, it does happen. Lots of ideas never get to make it out the door due to this. I guess the issue is that ideas seem nice on paper or in your head, but then when it comes to programming the thing, you have to go around the block to learn how to do it. Deadlines and time limits can give pressure, but its that pressure that us as developers need to experience because in real companies big or small, you cannot take your sweet time making a project as it costs money...LOTS of money. However, if you are self-employed and make projects in leisure time, more power to you.
Though, I haven't exactly participated in an event yet O_O. I'll change that in the future.
You nailed a key point that I had completely ignored and should be considered for those making new games. Prototyping a game is a crucial part of the development process. Most of them usually start off as squares or sloppy artwork as you have shown above. There is an interesting YouTube Channel known as Beta64 that discusses a lot of games in their earlier days. I recommend watching it at some point. One thing I've heard from pro developers' interviews is to make sure something is fun before charging into something head first.
@kentona
This had me cracking up XD and unfortunately, it does happen. Lots of ideas never get to make it out the door due to this. I guess the issue is that ideas seem nice on paper or in your head, but then when it comes to programming the thing, you have to go around the block to learn how to do it. Deadlines and time limits can give pressure, but its that pressure that us as developers need to experience because in real companies big or small, you cannot take your sweet time making a project as it costs money...LOTS of money. However, if you are self-employed and make projects in leisure time, more power to you.
Though, I haven't exactly participated in an event yet O_O. I'll change that in the future.
+1 for plan everything.
I've worked on my game for a good 6 months, thinking i had the engine down and i could do story. When i started doing the story though, i didn't have a plan. I had ideas for where i wanted the story to go but no solid plans. This ended up in me remaking almost EVERYTHING since the story didn't feel as good as i wanted it to be. I cannot stress this enough, TAKE TIME TO DO YOUR PLANS, EVEN IF IT TAKES A YEAR! Now i have everything planned.
My 2nd tip would be ; Don't settle for the first thing.
You have an idea, it feels like it's the right one. Don't put it in the game yet! Take your time, sleep on it. Once you're 100% sure then add it in the game. I've done this misstake way too many times and it ends up making me restart a bit of the game over and over and over.
I've worked on my game for a good 6 months, thinking i had the engine down and i could do story. When i started doing the story though, i didn't have a plan. I had ideas for where i wanted the story to go but no solid plans. This ended up in me remaking almost EVERYTHING since the story didn't feel as good as i wanted it to be. I cannot stress this enough, TAKE TIME TO DO YOUR PLANS, EVEN IF IT TAKES A YEAR! Now i have everything planned.
My 2nd tip would be ; Don't settle for the first thing.
You have an idea, it feels like it's the right one. Don't put it in the game yet! Take your time, sleep on it. Once you're 100% sure then add it in the game. I've done this misstake way too many times and it ends up making me restart a bit of the game over and over and over.
It can also be said that don't use all your time for planning. Like, don't just theorize and never get anything actually solid done.
Trial and error is a corner stone of any development plan. It's unavoidable even with the best planning. Don't trick yourself into thinking that great planning will equal a flawless product. Because nothing is assured.
That isn't to say don't plan, but rather that no matter how much you plan you will always learn better along the way. Experience makes perfect. (or at least mediocre :p)
Trial and error is a corner stone of any development plan. It's unavoidable even with the best planning. Don't trick yourself into thinking that great planning will equal a flawless product. Because nothing is assured.
That isn't to say don't plan, but rather that no matter how much you plan you will always learn better along the way. Experience makes perfect. (or at least mediocre :p)
You both are absolutely correct.Its wise to plan, but not so much that your game is simply a dream and you never implement it into an engine.
Years ago, I started a project with absolutely no knowledge of how to even begin making a game, I just simply played them. What people need to know is that as you play each and every game, you are becoming a developer inside. You will begin to notice things you do or don't like, errors, good and bad game design,etc.
I've remade my "flagship" project SEVERAL times as time went along. When new ways of handling code came to mind, or a new concept was introduced, it would result in going back and remaking codes to adapt to the new concept. For example, in Game Maker, I had 2 sprites for every character,monster, and NPC. There was a left sprite and a right sprite. As dumb as I was at the time, I didn't know that you could just make one sprite,set the origin, and flip the sprite with codes. With that done, I had easily cut the resources in half, but I had to spend several days reprogramming the database to cater to this new style. Of course there is a difference between not knowing and not planning, but unfortunately, I did both XD.
Planning is what leads to success and much less time will be spent wandering the desert and more time transferring your imagination into works.
Years ago, I started a project with absolutely no knowledge of how to even begin making a game, I just simply played them. What people need to know is that as you play each and every game, you are becoming a developer inside. You will begin to notice things you do or don't like, errors, good and bad game design,etc.
I've remade my "flagship" project SEVERAL times as time went along. When new ways of handling code came to mind, or a new concept was introduced, it would result in going back and remaking codes to adapt to the new concept. For example, in Game Maker, I had 2 sprites for every character,monster, and NPC. There was a left sprite and a right sprite. As dumb as I was at the time, I didn't know that you could just make one sprite,set the origin, and flip the sprite with codes. With that done, I had easily cut the resources in half, but I had to spend several days reprogramming the database to cater to this new style. Of course there is a difference between not knowing and not planning, but unfortunately, I did both XD.
Planning is what leads to success and much less time will be spent wandering the desert and more time transferring your imagination into works.
Great job with this! Thanks for sharing that. Its great to think of your database as a binder. Everyone remembers dividers right?
Link makes a valid point as it should indeed look like the one on left. This form is something that should not be pushed aside.For example, a form I use for platformers is
-World 1
+Stage_001
Stage_001_a
Stage_001_b
+Stage_002
Stage_002_a
Stage_002_b
+Stage_003_Boss
Link makes a valid point as it should indeed look like the one on left. This form is something that should not be pushed aside.For example, a form I use for platformers is
-World 1
+Stage_001
Stage_001_a
Stage_001_b
+Stage_002
Stage_002_a
Stage_002_b
+Stage_003_Boss
I know that if I try to come up with a plan and stick to it rigidly, I'll change it all a million times before it's done. But I still have a rough set of steps for every project.
Here's what I usually do:
1. Write an outline for the game's story. Get a solid idea for the game's beginning and ending, and make a vague outline for everything inbetween and figure out the finer details of how the story gets to that ending as development progresses.
2. Decide what systems you want and what scripts you need to use to attain them. Do this as early as possible. For RM, this is basically setting the "engine" of what you want to do, and it's best to get this done as early in development as you can so that you don't risk breaking something major halfway through your project because you decided you needed some new feature.
If there is a possibility that your game will be commercial and you don't have a scripter, check every script you come across to make sure commercial use is allowed. (Honestly, I just avoid "No Commmercial" scripts in general.)
3. Do the system and UI-related graphical assets first. Icon sets, UI materials, face sets. Do a little of everything to get enough for mock-ups, test maps, test battles, etc.
4. Rather than prototyping with RTP and replacing it with my own assets later, I tend to just make one big debug room to make sure everything is in order. I don't end up building my in-game areas until I have a fair number of assets ready, because I can't get a good "feel" for my envrionments with placeholders.
5. At this point I kinda just do whatever I feel like working on that particular day. Doing too much of one thing gets boring quick, y'know.
Here's what I usually do:
1. Write an outline for the game's story. Get a solid idea for the game's beginning and ending, and make a vague outline for everything inbetween and figure out the finer details of how the story gets to that ending as development progresses.
2. Decide what systems you want and what scripts you need to use to attain them. Do this as early as possible. For RM, this is basically setting the "engine" of what you want to do, and it's best to get this done as early in development as you can so that you don't risk breaking something major halfway through your project because you decided you needed some new feature.
If there is a possibility that your game will be commercial and you don't have a scripter, check every script you come across to make sure commercial use is allowed. (Honestly, I just avoid "No Commmercial" scripts in general.)
3. Do the system and UI-related graphical assets first. Icon sets, UI materials, face sets. Do a little of everything to get enough for mock-ups, test maps, test battles, etc.
4. Rather than prototyping with RTP and replacing it with my own assets later, I tend to just make one big debug room to make sure everything is in order. I don't end up building my in-game areas until I have a fair number of assets ready, because I can't get a good "feel" for my envrionments with placeholders.
5. At this point I kinda just do whatever I feel like working on that particular day. Doing too much of one thing gets boring quick, y'know.
Something else small I do when starting a new project in any of the rpgmaker engines is totally clean house of all the preset options on every tab in the database besides animations(since it's useful to keep handy to save time) I sometimes do it for Status Effects too, but often find it doesn't hurt to keep those either to save time and modify them when needed.























