• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Properly Organized Workflow

T

Toxicosis

Guest
So, uhh...

I've been a gamedev (read: keyboard-headbanging script kiddie) for 4 months now. And... I think I'm moving way too slow. A likely cause is my general lack of organization- I had an idea for something, but I'm nowhere near completely sure how to implement it. Or anything, really. I'm hammering away at random, but that's all.

I made a prototype- then realized what I wanted to do wouldn't work on the game as it was at the time. I had to start over- and this time, I don't want to have to iterate anew. Though I'm sure I'd move a lot faster this time around (last time, I had been doing everything for the first time. I still make mistakes, but I'm sure it's nowhere near the same rate), if I can't keep a properly organized workflow, it makes no difference how many times I iterate, lol.

I started by a system to make tiles the new walls. It took me a few hours, probably optimized a lot of stuff, but now I realize I'm not sure how to proceed from here. In fact, I wasn't sure how to proceed at any point in the development, but only now that I've got an underlying system that will require taking into consideration all through the development does it matter this much.


I wanted to ask, how do you pros keep it together from start to finish?
 
C

Comedy Rotten

Guest
Though I hardly consider myself a "pro", I am in the software and development industry and might be able to give you some pointers. I have not been in the business of making games as of recently, though I hope to get back into it soon.

Project management is what you are looking for. It's something that the "pros" have poured a prodigious amount of thought and energy into. To tell the truth, you sound like me when I first began to delve into Game Maker: banging away at a keyboard and learning all I could about scripting, yet never actually finishing any of my projects. In one word, I needed focus.

Focus is an attribute that will take patience to learn and a lifetime to master. Besides focus, learning how to organize a project and setting goals becomes imperative. Another attribute is perseverance, willing yourself to keep coding until you finish a project! Finding a motivating factor along with someone (even a checklist) to keep prodding you on can be difficult, but rewarding. These are all just ideas and abstract concepts I've thrown out there at this point, but lets dig a little deeper.

It sounds to me like you need a framework, tools to help you become organized and goal-oriented. This ultimately boils down to you, you have to make the tough calls and set yourself up for success. I'm going to suggest some tools and methods that will get you started on the right path:

Below is something called the "Agile Development Cycle" that many professional development firms conform to. It is a methodology that will help you to stay focused. I'll walk you through the steps briefly below.

  1. Design - This is the planning stage. This is when you write down what you want to do, then break it down into a task list of individual pieces ("user stories") (e.g., Game Idea > Main Menu of Game > Start New Game button on Main menu). You break it down into pieces that you can get done in a couple hours (pretty small pieces). Don't plan on doing everything at once! Focus on one big piece ("feature") at a time.
  2. Build - Now you start working on those tasks you came up with in the design phase. If it takes you 10 hours to do one task, the task might be too big and you should break it down. You want to be able to bust out little pieces so you feel like you're accomplishing things and not just spinning your wheels.
  3. Configure - This is a smaller step where you configure things and set things up for testing. This is also where you look at things you got done and go back and make sure you didn't forget anything. You could also be making some minor corrections to some of the pieces you worked on here.
  4. Test - Testing what you got finished is pretty important. Now, this goes back to what I said in the "Design" phase, do NOT try to get EVERYTHING done and then test it all at once. You need to work on a complete "module" or a couple "user stories"/tasks at a time. If you bite off more than you can chew, when it comes time to see if things work and they don't, trying to figure out why can be a pain! Moral of this story: TEST OFTEN!
  5. Release - This concept might not make much sense to you now, but it will as your game progresses. Lets say you have built your game up with only a single level and a very limited feature set (only one weapon, no extra abilities, two kinds of enemies, etc.), but it's playable. Consider that a "release". You next "release" that you'll aim for will add two new weapons and another level (just an example).
  6. Repeat those previous five steps until the product you release is version 1.0 and you have a finished game!
This is one of many different types of processes, but this is one that has proven effective in helping to keep developers on-task and motivated. Keep things simple, start small and work up. Break down your ideas and brainstorm about everything that needs to happen! If you would like me to explain any of this more, or if it doesn't quite make sense, please feel free to contact me.

Here are a couple tools that will help you get started:
  1. Trello, Taiga.io, or MeisterTask - These are essentially project and task list programs. Projects MUST be broken down into individual pieces. Planning is an important process of any project. You are not going to know EVERYTHING that goes in here, or how to break everything down, but you've gotta start somewhere. Break things down into To-Do's like, "create a sprite for main character", "figure out how to get jumping working", "build a level with such and such in it", etc. The important thing here is to break things up into essentially a checklist so that you can work, get something done in a couple hours, check something off, move on to the next thing.
  2. Habitica - A habit-forming/task-list that utilizes "gamification" to help keep you motivated to get things done.
Best wishes!
 

Yal

šŸ§ *penguin noises*
GMC Elder
@Comedy Rotten has made an excellent post, and there's not a lot I can add to it. Just one thing, actually.

Don't forget that planning is meant to make you work more efficiently; there's no purpose in doing planning activities for their own sake. Always keep an eye on the planning work you do and make sure you don't end up focusing exclusively on "doing it right" and forgetting what it's used for. It's a good idea to do stuff by the book early on when you're not used to it, but don't obsess too much - planning is supposed to give you structure, not a straightjacket.
 
C

Comedy Rotten

Guest
... planning is supposed to give you structure, not a straightjacket.
Thank you, Yal! I definitely appreciate that last comment you made. There have been many times that I have found myself a little too constricted and obsessed with planning and following those plans to a "T". An excellent point!
 
Z

zircher

Guest
... there's no purpose in doing planning activities for their own sake.
Well, creating milestones and then knocking them down as you progress can have a positive effect besides keeping you on course. It feels good to make progress especially if you're in a part of the code that doesn't give you any tangible feedback until later. [support functions, networking code, documentation/comments, etc.]
 
Top