Josh Close | 5 Sep 2004 08:23
Picon

game design techniques

I'm starting to do some game design for the first time. I can get
things to move around the screen, but I don't really know what I'm
doing. What are some of the game design standards? Probably for just
2D games to start.

How do you organize things? How do you get objects to move smoothly?
How do you get objects to move at different speeds? How do you get
objects to not go past, say, a wall?

Are there any good websites or books that would have some standards
for this sort of thing? Like a tutuorial or something? I've looked at
all the pygame docs examples, and that doesn't do much right now.

Thanks.

-Josh

Jack Nutting | 5 Sep 2004 23:57

Re: game design techniques

On Sep 5, 2004, at 8:23 AM, Josh Close wrote:
> I'm starting to do some game design for the first time. I can get
> things to move around the screen, but I don't really know what I'm
> doing. What are some of the game design standards? Probably for just
> 2D games to start.

I don't know that there are any real "standards" beyond those that  
people impose upon themselves after figuring out what works for them.   
For games, as for other areas of programming, I find that the best way  
to learn is simply lots of trial and error, as well as looking at  
others' code.  Fortunately, python simplifies and quickens the trial  
and error process.

> How do you organize things?

Well, I'm still working on my first pygame project so I still have lots  
to learn, but for what it's worth:  So far, I've got the bulk of the  
game logic in a single class which handles the game loop, creating all  
game objects, etc.  I have a separate sprite subclass for each type of  
object in my game, as well as classes for game levels, the high score  
table, and a group of classes implementing a state machine for the game  
state, plus some small utility classes.

> How do you get objects to move smoothly?

That depends.  In my project, I'm throttling the game at 30 fps.  At  
the low resolution I'm using, all modern machines I've tried it on seem  
to handle my game at 30 fps with ease, which means I can easily make  
smooth movement occur by coding as if the frame rate is constant (since  
in practice it generally is), just making sure that the movement  
(Continue reading)

Josh Close | 5 Sep 2004 23:28
Picon

Re: game design techniques

Has anyone read the "game programming gems" book series? Would these be helpful?

Any help would be appreciated!

-Josh

On Sun, 5 Sep 2004 01:23:37 -0500, Josh Close <narshe@...> wrote:
> I'm starting to do some game design for the first time. I can get
> things to move around the screen, but I don't really know what I'm
> doing. What are some of the game design standards? Probably for just
> 2D games to start.
> 
> How do you organize things? How do you get objects to move smoothly?
> How do you get objects to move at different speeds? How do you get
> objects to not go past, say, a wall?
> 
> Are there any good websites or books that would have some standards
> for this sort of thing? Like a tutuorial or something? I've looked at
> all the pygame docs examples, and that doesn't do much right now.
> 
> Thanks.
> 
> -Josh
>

SGD | 6 Sep 2004 00:40

RE: Re: game design techniques

HI Josh,
IMO, Game Programming Gems are great books to have on hand or just to
read through. I have volumes 1-3 and was pretty happy with the info
contained in them. I keep hearing volume 4 has some nice stuff in it but
I haven't read it or looked through it yet. They are highly recommended
books, but not really py related.

I don't really have any link to resources for your other questions on
hand but I know there are many out there (mostly c/c++ releated). But If
I remember correctly there are quite a few pygame example games out
there that cover what you're asking but I don't think many come with
tuts, just code.

Steven

-----Original Message-----
From: owner-pygame-users@... [mailto:owner-pygame-users@...]
On Behalf Of Josh Close
Sent: Sunday, September 05, 2004 5:29 PM
To: PYGAME
Subject: [pygame] Re: game design techniques

Has anyone read the "game programming gems" book series? Would these be
helpful?

Any help would be appreciated!

-Josh

On Sun, 5 Sep 2004 01:23:37 -0500, Josh Close <narshe@...> wrote:
(Continue reading)

Josh Close | 7 Sep 2004 15:45
Picon

Re: Re: game design techniques

Are the game programming gems books all similar? Or are they different
and it would be good to get them all? Is the first book more basic
than the others and progress from there?

-Josh

On Sun, 5 Sep 2004 18:40:51 -0400, SGD <vibrations@...> wrote:
> HI Josh,
> IMO, Game Programming Gems are great books to have on hand or just to
> read through. I have volumes 1-3 and was pretty happy with the info
> contained in them. I keep hearing volume 4 has some nice stuff in it but
> I haven't read it or looked through it yet. They are highly recommended
> books, but not really py related.
> 
> I don't really have any link to resources for your other questions on
> hand but I know there are many out there (mostly c/c++ releated). But If
> I remember correctly there are quite a few pygame example games out
> there that cover what you're asking but I don't think many come with
> tuts, just code.
> 
> Steven
> 
> 
> 
> -----Original Message-----
> From: owner-pygame-users@... [mailto:owner-pygame-users@...]
> On Behalf Of Josh Close
> Sent: Sunday, September 05, 2004 5:29 PM
> To: PYGAME
> Subject: [pygame] Re: game design techniques
(Continue reading)

Pete Shinners | 7 Sep 2004 16:33
Favicon
Gravatar

Re: Re: game design techniques

Josh Close wrote:
> Are the game programming gems books all similar? Or are they different
> and it would be good to get them all? Is the first book more basic
> than the others and progress from there?

Josh, I'd hold off on the Game Gems for now, they mainly cover more 
advanced topics, and it sounds like you're still just beginning. The 
books won't help you with the original questions.

> How do you organize things? How do you get objects to move smoothly?
> How do you get objects to move at different speeds? How do you get
> objects to not go past, say, a wall?

Of these questions, 'organization' is the hardest to answer. It really 
depends on the type of game and the specific roles for your different 
game objects.

As far as movement goes, your best place to start is with some of the 
pygame tutorials, examples, and gamelets. Find something that looks 
interesting, then grab the code and see how it is done.

Josh Close | 7 Sep 2004 16:49
Picon

Re: Re: game design techniques

On Tue, 07 Sep 2004 07:33:04 -0700, Pete Shinners <pete@...> wrote:
> Josh Close wrote:
> > Are the game programming gems books all similar? Or are they different
> > and it would be good to get them all? Is the first book more basic
> > than the others and progress from there?
> 
> Josh, I'd hold off on the Game Gems for now, they mainly cover more
> advanced topics, and it sounds like you're still just beginning. The
> books won't help you with the original questions.
> 

What about game programming in python? Would this be good? Or would it
be reinventing the wheel, since I think that's probably what pygame is
doing.

I suppose I just have to look through a lot of source code to get a
good start, then ask more specific questions when they arise.

-Josh

> 
> > How do you organize things? How do you get objects to move smoothly?
> > How do you get objects to move at different speeds? How do you get
> > objects to not go past, say, a wall?
> 
> Of these questions, 'organization' is the hardest to answer. It really
> depends on the type of game and the specific roles for your different
> game objects.
> 
> As far as movement goes, your best place to start is with some of the
(Continue reading)

Pat Johnson | 7 Sep 2004 17:21

Re: Re: game design techniques

>> Josh, I'd hold off on the Game Gems for now, they mainly cover
>> more advanced topics, and it sounds like you're still just
>> beginning. The books won't help you with the original questions.

I'll second that. The Game Programming Gems books are more tips and techniques for those who already know
the basics (or even far more than the basics). A lot of the tips are quite specialized.

> What about game programming in python? Would this be good? Or would
> it be reinventing the wheel, since I think that's probably what
> pygame is doing.

Pygame is Python friendly interface and extension to SDL. Think of Pygame as a service provider and
translator that talks to a bunch of specialists (SDL). You ask Pygame to draw something on the screen and
Pygame asks the specialists to do it using their own dialect.

Game Programming in Python adds another layer on top of Pygame and OpenGL. It teaches about the very things
you've been asking about such as organizing code into systems, collision detection (with interpolated
checking), and more. It's a good book that teaches some of the modern concepts of game design like treating
the system as a simulation.

> I suppose I just have to look through a lot of source code to get a
> good start, then ask more specific questions when they arise.

Reading code is something that can help you learn quickly. There are lots of Pygame games and gamelets that
provide full source so you can learn how the author does things. Just keep in mind that there are *many* ways
to create program structure and you'll see lots of good ways, and lots of bad ways. Eventually you'll learn
to discern the good from the bad but it takes time.

Many people learn faster if they just try something and then build on it. I've learned so much writing my game
over the past year that it has been re-written three times so far. As it got bigger I would find flaws and
(Continue reading)

Josh Close | 7 Sep 2004 17:45
Picon

Re: Re: game design techniques

Thanks, those links should be very helpful. I guess that was my
concern, bad code. That's why I asked about some sort of development
"standards". Hopefully I'll be able to pick up on bad code design
fairly quickly.

Sounds like the python game book might be useful. I'll have to check it out.

Thanks.

-Josh

On Tue, 7 Sep 2004 08:21:23 -0700, Pat Johnson <pat@...> wrote:
> >> Josh, I'd hold off on the Game Gems for now, they mainly cover
> >> more advanced topics, and it sounds like you're still just
> >> beginning. The books won't help you with the original questions.
> 
> I'll second that. The Game Programming Gems books are more tips and techniques for those who already know
the basics (or even far more than the basics). A lot of the tips are quite specialized.
> 
> > What about game programming in python? Would this be good? Or would
> > it be reinventing the wheel, since I think that's probably what
> > pygame is doing.
> 
> Pygame is Python friendly interface and extension to SDL. Think of Pygame as a service provider and
translator that talks to a bunch of specialists (SDL). You ask Pygame to draw something on the screen and
Pygame asks the specialists to do it using their own dialect.
> 
> Game Programming in Python adds another layer on top of Pygame and OpenGL. It teaches about the very things
you've been asking about such as organizing code into systems, collision detection (with interpolated
checking), and more. It's a good book that teaches some of the modern concepts of game design like treating
(Continue reading)

Daniel Dornhardt | 6 Sep 2004 00:28
Picon
Picon

Re: Re: game design techniques


Josh Close wrote:

>Has anyone read the "game programming gems" book series? Would these be helpful?
>
>Any help would be appreciated!
>
>-Josh
>
>  
>

Hi Josh,

I wanted to type some advice for you this afternoon already, but didn't, 
because i don't have any real good links etc. at hand.

I'll just throw some random thoughts on you, maybe they can get you 
started / in the right direction.

small games / experiments (no title screen, etc) are organized like this 
(i do it that way, it's quite generic, i think)

<imports>
import os, pygame, from pygame.locals import *, etc, whichever modules 
you need
maybe a good order to do so is python modules first (os, sys, math...), 
then API's (pygame, whatever), then possibly other files from your project
</imports)

(Continue reading)


Gmane