View Single Post
Onag

JCF Member

Joined: Feb 2002

Posts: 165

Onag is doing well so far

Oct 7, 2003, 06:57 PM
Onag is offline
Reply With Quote
By stat system I assume you mean a huge database to track online game stats? Yes, we'll need that. Ideally, it will use SOAP or something to allow other sites to access the info via scripting. This should make things like JDC and clan stuff much easier to set up.

Graphics really aren't my concern right now, but yes, we'll be taking the concept in a slightly new direction.

Okay, here's an old game treatment I wrote. For those who don't know, a treatment is basically an optimistic view of the general game concept. Many features will change as the project goes along, but the general idea should be persistant. Anyway, here it is.



Abstract
Mechaius is a side-scrolling platformer set on planet Mechaius in the same galaxy of the Jazz Jackrabbit series. It will focus greatly on storyline and character development, while still providing great gameplay and fast-paced action. The game is meant to cater to Jazz Jackrabbit fans, incorporating many of the non-copyrighted ideas. Mechaius should appeal to all ages.

Background
Organic brains housed in mechanical suits. Probably more details needed.

Gameplay
Players will control a constantly changing team of machines throughout the game. Each machine will have unique abilities and weapons, and each can be upgraded in various ways. Levels will be very large maps, full of power-ups and opponents. Players will choose the path the game takes, as their actions in one level will affect the storyline and even the details of future levels.

Characters
Every character, whether good or bad, can be controlled either by a player or by AI scripts. This will make for much more interesting multiplayer games, and greater flexibility in custom levels than is available when only a few characters are playable. Each character will have a detailed background history as well as predefined personality traits. In addition to the dozens of included characters, players will be able to define their own using one of several included machine models. Players will be able to define attacks, weapons, and other information about each new character.

Enemies
Both baddies and bosses will be controlled by scripted AI. Enemies will be highly intelligent, making decisions based on their current position, condition, and situation. They will also be able to navigate levels more affectively, allowing them to chase after players or take cover when in trouble.

Environment
Mechaius is a large planet, allowing a broad range of rich environments. While most tilesets will depict buildings and the industrial side of Mechaius, it will also include several outdoor settings.

Internet Play
There will be three types of internet servers: public, private, and closed. Public servers will allow any player to join at any time. A private server prevents uninvited players from joining. A closed server is one where all players join prior to the start of the game. Once all players have joined and settings have been selected, the host begins the game and no new players may join.

Bots
Multiplayer games will support scripted bots. The AI will follow general predefined behaviors coupled with scripted strategies to simulate formidable opponents. Bots will learn as they play, making them even more affective against human players. For example, the first time a bot plays a specific level, it will not know where any power-ups are located. As it plays the level, it will remember what areas to avoid and where goodies are located. Players will also be able to define common routes through levels that bots can use.

Level Editor
Players will be able to create their own levels with the included editor. Virtually every aspect of the game will be customizable via scripting. The editor will include features for creating any type of level as well as palettes, tilesets, music libraries, ambient sounds, custom events, etc.



And for more fun, this should give you an idea of how the engine is organized and what classes do what. Feedback is welcome.

DXEngine - Handles all dirty DirectX code. Initialization, cleanup, etc.

TileEngine - Derrives from DXEngine. Handles sprites, tiles, and the drawing of every frame and some other engine-related stuff.

Tileset - Represents a tileset. Probably represented as a Direct3D surface?

Tile - Represents a single tile from a tileset. Probably represented as a Direct3D texture?

Layer - Represents a plane on which tiles and sprites can reside. Maybe seperate tile layers and sprite layers?

Sprite - Represents a non-tile graphic. Typically owned by an object.

Object - Base class that nearly everything else derrives from. Characters, weapons, items, powerups, etc.




And here are some interfaces.

IDrawable - Inherrited by any object that owns one or more sprites (anything that you can see).

IHasMass - Inherrited by any object that is affected by gravity, wind, etc.

IScriptable - Inherrited by any object that can have a script attached to it.




-Nag

Last edited by Onag; Oct 7, 2003 at 07:14 PM.