Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
kellessdee

Design Practices

Recommended Posts

Today, I was reading a book I got recently -- "Professional C++" by Marc Gregoire, Nicholas A. Solter, Scott J. Kleper. (Haha, how exciting...well I think it is)

 

Or, more specifically, I was reading a chapter from within that book about planning and designing your programs BEFORE programming them. Now, I'm sure we all realize the importance of this aspect of development (despite being guilty of jumping in and building without a plan...I know I am xD)

 

Nonetheless, there was one analogy presented in the chapter that really stuck in my head, and I feel illustrates this issue VERY WELL.

 

...imagine that you own a plot of land on which you want to build a house. When the builder shows up you ask to see the blueprints. "What blueprints?" he responds, "I know what I'm doing. I don't need to plan every little detail ahead of time. Two-story house? No problem - I did a one-story house a few months ago - I'll just start with that model and work from there."

 

Suppose that you suspend your disbelief and allow the builder to proceed. A few month later you notice that the plumbing appears to run outside the house instead of inside the walls. When you query the builder about this anomaly he says, "Oh. Well, I forgot to leave space in the walls for the plumbing. I was so excited about this new drywall technology it just slipped my mind. But it works just as well outside, and functionality is the most important thing." You're starting to have your doubts about his approach, but, against you better judgement, you allow him to continue.

 

When you take your first tour of the completed building, you notice that the kitchen lacks a sink. The builder excuses himself by saying, "We were already two-thirds done with the kitchen by the time we realized there wasn't space for the sink. Instead of starting over we just added a separate sink room next door. It works, right?

 

The book goes on to relate this to programming design, however, I feel that this analogy can be applied/related to ANY type of development, especially games.

 

Games, have a lot of aspects (story, characters, gameplay, graphics, sound, programming, etc.) that all not only need a solid design, but also need a way to work together - these aspects, brought together as one unifying system, is what really makes a game.

 

With that said, I personally believe each of those aspects need equal attention in planning/designing, then require additional design plans on how they will all fit together, which is why you see commercial game development teams having teams for each individual aspect -- it's important. Unfortunately though, with amateur/indie/hobbyist game developers (like most of us) it is, for the most part, extremely difficult to acquire vast teams. And as a result (as I see, and have seen in the past) it seems that we usually decide which areas to plan, and which to just ad-lib (maybe not, but I know I've done it A LOT, and interestingly enough...all those past games never saw any kind of release).

 

Now, I *try* to plan as much as I can before jumping into ANYTHING. For me, I find starting at the most abstract/conceptual level (what I want to do, usually just a nice overview of the entire game/system) and then breaking it down into smaller, more detailed chunks, continuously until I get to the most primitive level of the game/projects functions/requirements. I feel this is a really good method for me, to allow me to play with ideas and leave a lot of room for expansion.

 

Now, maybe this isn't the best method. And it may not be -- for you. So, I would like to leave you with a few questions:

Do you spend a lot of time planning/designing before you build?

Which aspects do you find you give the most attention to when designing?

 

I'd love to hear your thoughts on this, and I'd also love for you to share any tips/advice you have on planning -- or even your methodologies. I'm a problem solver at heart, and sometimes the best way to solve a problem is to see it from different angles. So, tell me, what do you think about planning/design?

Share this post


Link to post
Share on other sites

Now, maybe this isn't the best method. And it may not be -- for you. So, I would like to leave you with a few questions:

Do you spend a lot of time planning/designing before you build?

 

Yes, I have to figure what my story is and what type of elements and characters I will be appying to said story before I can begin to start on anything else or it will end up in a big disaster. Like when I first started back in 2008, my game was a big mess because I had no clue what I really wanted. After a couple month hiatus, I started actually getting serious. I almost done with the planning stage, so mostly designing, since I don't really have a team. I can't keep any mappers and scripters are kind of hard to find. I mean how many are on this site besides you and liz. Me?

 

Which aspects do you find you give the most attention to when designing?

Graphics and Scripting

 

I'd love to hear your thoughts on this, and I'd also love for you to share any tips/advice you have on planning -- or even your methodologies. I'm a problem solver at heart, and sometimes the best way to solve a problem is to see it from different angles. So, tell me, what do you think about planning/design?

Planning any story based game is well like writting a book, but with a battle system and other engines of course.

  1. Find your story and characters(main cast and side characters)
  2. Brainstorm game elements, such as what battle system you choose to use or what type enviorment your characters will exist in. etc, etc...
  3. Depending on the size of your game, if its huge you can try and gather a team. but the lack of potential help in forums is sometime lacking and might require you to hand out offers (such as cash). Which is great if you plan on selling your game but pointless if your game is free as in turn your just losing money and time. Also your team might not notify you about life and just disappear most of the time without any notice. (believe me my mappers never give me notice and disappear). If small no need for a team as it should be easy to complete.
  4. After brainstorm your story elements, unless your a scripter or have a scripting team ready. You can start searching for scripts that can help in the development of the game.
  5. Same as #5, unless you have a team for graphics. Getting a graphic software like photoshop (windows paints is garabage) can help great images that can be implanted into a developers game.

I'm probably forgetting stuff but that most of the things I do when I'm creating my game.

Share this post


Link to post
Share on other sites
I can't keep any mappers and scripters are kind of hard to find. I mean how many are on this site besides you and liz. Me?

yea, though hopefully I'll be able to help out soon xD

 

Now, maybe this isn't the best method. And it may not be -- for you. So, I would like to leave you with a few questions:Do you spend a lot of time planning/designing before you build?

yes and no, when it comes to mapping I don't, but for code and story and graphics yes I do.

 

Which aspects do you find you give the most attention to when designing?

Story and Code, only things I've really had a chance to do at all so far. Maybe music

 

 

I think it's important, but I guess I do a little bit of both planning and go with the flow, I start out with a general Idea of what I want first, then plan out an individual section, the move on and plan again, how does it fit with the other components? What do I want the end result to look like? Will I have to rework anything to make the component fit? It seems to have worked for now.

Edited by Foxkit

Share this post


Link to post
Share on other sites

I don't generally plan things. When I do something its to achieve one purpose, eg a scripts archive. I start writing some php, its probably crappy at the start, but its like a snow ball effect. I keep going, adding more functionality, rewriting, etc. Eventualky I end up with my original goal. Perhaps its not as fast if I planned it, but i don't mind starting over just to install a sink.

Share this post


Link to post
Share on other sites

Awesome responses guys.

It's unfortunate that we can't all get a large, competent team together -- as I am sure a lot of people have grand ideas, that unfortunately don't work out; due to such constraints.

 

@bigace: I dunno if you were meaning to point it out, but you indirectly make a good point -- sometimes a game can get too big for one person. We all love to be ambitious, but maybe sometimes it's a good idea to start small and build on that

 

@foxkit: "Will I have to rework anything to make the component fit?" I like this, because it reminds me of something I read a while back. When planning games, it's usually good to plan a bit larger scale than what you may need -- then if you want to scale the project later on, it is much easier. But then again, we're usually only a handful of people per project.

 

@marked I am the EXACT same way. I think I have rewritten the current section of my project at least 3 or 4 times...from scratch xD.

Sometimes though, it does have an advantage; as you get to physically see what works and what doesn't...and in a sense that ALMOST is like planning -- just a little less abstract.

Share this post


Link to post
Share on other sites

Also, if you plan something and go a head and make it quickly, efficiently, etc. Well that is great if you're getting paid, but there is little learning value from that. If you try to make something you have never made before, then its certain you're going to make better the 2nd time you try. I have done very few PHP (or any other language) tutorials, and I'm attempting to write an entire website from scratch (including forum integration).

 

The problem with when I started doing web design for money is that it doesn't leave much room for learning. Sure there is some, but you have deadlines and if you don't get it right sooner rather than later, you're in a bit trouble. So its much harder to learn new things as fast as when you messing around with your own projects.

Share this post


Link to post
Share on other sites

I think personally I like having everything planned out as much as I can just to avoid a lot of mess, and then tweak my plan as needed when working.

While in college for game design (that hasn't panned out yet) we had assignments to complete a game on paper to a point of actually being able to play it out with pen and paper like DnD before we could ever actually start working on any other aspect of a game.

 

I'm however guilty of the square peg and round hole when I don't sully plan things out, but when something doesn't fit I make it fit even if I have to get a knife and a hammer to force it. I think as things go though we all have our own way of doing things.

 

Also, if you plan something and go a head and make it quickly, efficiently, etc. Well that is great if you're getting paid, but there is little learning value from that. If you try to make something you have never made before, then its certain you're going to make better the 2nd time you try. I have done very few PHP (or any other language) tutorials, and I'm attempting to write an entire website from scratch (including forum integration).

 

The problem with when I started doing web design for money is that it doesn't leave much room for learning. Sure there is some, but you have deadlines and if you don't get it right sooner rather than later, you're in a bit trouble. So its much harder to learn new things as fast as when you messing around with your own projects.

As far as this goes I agree, you learn twice as much from mistakes than success. Not sure if you meant to make that point but it still stands clear.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...