You should really take a look at Thadues Burgess's pyBTS, where a lot of the things you have mentioned have been done, at least partly. For instance, look at his entity module and the weapon classes in there to get ideas for the weapons you used as your first example.
On Sun, Mar 7, 2010 at 11:42 AM, Thadeus Burgess <[email protected]>wrote: > I have actually attempted to perform this same thing. My project went > on a standstill as other things were pressing, however I am interested > in reopening my project back up. > > I am calling it PyBTS (pygame behind the scenes). It includes a world > manager, terrain, physics based on the "genre". You can take the same > codebase, and change the type of Terrain class, and you get a tilemap > or sidescroller respectively. > > I would definitely love to revive the project, my goals for it are > fairly similar, to provide all of the game engine boiler plate code > that goes into making a game. > > http://hg.thadeusb.com/Games/PyBTS/ > http://hg.thadeusb.com/Games/MyRTS/ # Uses pybts > > -Thadeus > > > > > > On Sat, Mar 6, 2010 at 4:54 PM, Evan Kroske <[email protected]> wrote: > > I'd like to work on a Pygame-related project for GSoC, so I've been > > thinking about possible projects I'd like to do. My favorite idea is > > developing a micro-framework on top of Pygame to cut the volume of > > code required to create a game within a well-defined genre. It would > > revolve around assigning actions to high-level events. For example, > > instead of creating a block like this within the main game loop: > > > > if not player.reloading and sdlconst.K_SPACE in keystate and > > len(shots) < constants.MAX_SHOTS: > > shots.append(factory.createProjectile(player)) > > > > the game developer would write something like this: > > > > player.setProjectile(Bullet()) > > player.setFireTrigger(sdlconst.K_SPACE) > > > > Here are a few more possible examples: > > > > # Set tile map for stage > > level.setTileMap(tileMap) > > > > # Set BG music for stage > > level.setBGMusic("battletheme.ogg") > > > > # Assign goal for stage > > level.setGoal(flagpole) > > > > The framework would have specialized modules for each genre; the > > platformer module would have a simple physics engine and a tiled > > background engine, but the space shooter module would have a way to > > easily control the behavior of shots and enemy ships.The framework > > would dramatically simplify the process of putting graphics on screen > > and playing sounds, allowing developers to focus on other aspects of > > game design, such as automated level generation, AI, and media-based > > mashup games. > > > > I'm really excited about the possibility, but I want to know what you > > think about it. Do game developers need an easier way to create games? > > Has another project already done this? > > > > -- > > Evan Kroske > > http://welcome2obscurity.blogspot.com/ > > The personal blog of Evan Kroske, > > novice software developer. > > >
