Sign in to follow this  
flashinpan

Game Design 101

Recommended Posts

flashinpan    100
I have a simple 2D board game I am trying to write in C#. I need some help with the design...all of it. I need some good recommendations on articles...especially here in gamedev.net, that talk generally about game design. How do I take an idea and design it. There are a lot of elements I want to pull together: -I want to leverage OOP in my design. -There will be a game board and game piece that you drag and drop to make game moves. -I have the game rules written out but not sure how to design the way to enforce them. -I want P2P internet play ability. -I want chat ability -I need to save the game -I need to be able to load in saved games -I want a level editor so I can make game boards -Support for sound All of these things need to be designed, but I don't know how. Thanks! Tom

Share this post


Link to post
Share on other sites
flashinpan    100
Quote:
Original post by dmreichard
Do you already know how to program with C#?



I know a little C#, but the focus of my question is on design.

Isn't it true that a good design is language-agnostic?

Share this post


Link to post
Share on other sites
King of Men    394
Yes, but it's not knowledge-agnostic. If you do not know how to make your program enforce game rules (well, in fact, the mere question has a problem: In some sense your program is the game rules) then you do not know enough programming to do any useful design at the computer level. You can still do useful design at the boardgame level, certainly; but you cannot design a computer program, as opposed to a computer game, without knowing a programming language.

Share this post


Link to post
Share on other sites
flashinpan    100
Quote:
Original post by King of Men
Yes, but it's not knowledge-agnostic. If you do not know how to make your program enforce game rules (well, in fact, the mere question has a problem: In some sense your program is the game rules) then you do not know enough programming to do any useful design at the computer level. You can still do useful design at the boardgame level, certainly; but you cannot design a computer program, as opposed to a computer game, without knowing a programming language.



I don't know how to quantify how much C# I actually know. I have 2 or 3 reference books. I've been programming for 8 years, but not really in the role of "designer" but as a "maintenance programmer". So I lack the "ground-up" experience in design. Most of the systems I've worked on are past all of that.

I think I have the C# knowledge covered adequately, and what I lack I know I can find out, so I would like to focus on the language-agnostic design principles, if that is okay.

Share this post


Link to post
Share on other sites
ItsDoh    162
See I've never bought into the 'good design is language agnostic' arguement, I've always felt good design makes use of your specific language's strengths, and avoids its weaknesses.

Share this post


Link to post
Share on other sites
flashinpan    100
Quote:
Original post by ItsDoh
See I've never bought into the 'good design is language agnostic' arguement, I've always felt good design makes use of your specific language's strengths, and avoids its weaknesses.



I understand what you mean.

For now, I would like to pursue design that ignores language and focuses on relationships, behaviors, etc. irrespective of language.

Share this post


Link to post
Share on other sites
Idakyne    133
Are you after information on designing the game (i.e gameplay elements) or designing the game software system itself?

Assuming you mean the later how familiar are you with the end to end software development process itself? e.g. this

I get the impression you are having difficulty knowing where to start. If I where you I would pick one aspect of the overall system you describe e.g. ability to load, save and display a board. Take this aspect and flesh it out as much as you can by describing the use cases, how the board will look etc.

From this point grab a UML editor or a pen and paper and "design" a set of classes that could implement the features you have just described.

All you need to do is then do the same for every other feature you want modifying your existing architecture as you go.

Hope this helps.

Share this post


Link to post
Share on other sites
flashinpan    100
Quote:
Original post by Idakyne
...
...
From this point grab a UML editor or a pen and paper and "design" a set of classes that could implement the features you have just described.

All you need to do is then do the same for every other feature you want modifying your existing architecture as you go.

Hope this helps.



>>>Hope this helps.



It does.

I am looking for articles that describe this process for a sample game. An article that shows all the UML diagrams that were created. That shows how internet play was provided for, sound, graphics, etc.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this