Contraptions Design Specification
"The Ship Game 4.5"
Widgets, whatsits, dohickies and thingamabobs
By Kenneth Manta
Main Game Objects
Section 1.*.*
Specification: DO NOT PLACE ANYTHING HERE ITS A COPY
For notes on game design specs see Here
--------Overview--------
- Overview: The Design Treatment
- Feeling of the game: Charactor Design, What are you? Story?
- Phychological reasons for aspects of the game: Feeling of accomplishment.
- GUI Design
- Coding Conventions and Patterns
- Terminology for game character
----Generic Gameplay----
- Gameplay description
---Gameplay Implementation---
- Input
- MasterSession Loose, undoable design of the session
- Game Session(Game Play): How the gameplay, physics and drawscreen interact
- Contraptions
- Contraption Editor
- Network Stucture
- Widgets: Parts on a grid that make up a contraption. Widget signals
- Dohickies: Widgets shoot out dohickies
- Whatnots: Static terrain objects
- Thingamabobs: Dynamic terrain objects
- Structure of Gameplay
- Scripting
- Maps
- AI
---Specific Gameplay Modes---
- Modes of gameplay
- Solve Challenges
- Challenges
- Construct Contraption
- Network Battle
- Tutorial Design
---Game Screens---
- Contraption Edit Screen
-------Art-------
- Graphic Bible: Style sheets and color schemes (i.e., pantone) for your characters and monsters.
- Artwork Design
- Sound Design: evil, minor: A list of the sound effects and music tracks required in the game.
- Music Design
- Other: A list of all other materials which must be produced by the team: press materials, demos, screen shots, box art, manual, etc.
------Ideas------
- Future Ideas
-----Physical-----
- File types and Location
- Hosts: Game Hosts and Server Hosts
- Instalation, Uninstall, Physical location on CPU
----Marketing----
- Contraption's Paraphanalia: The lighter, Poster, Cup
- Game Competitions
- Unconventional Forms of advertizing. ----Removed---- Discussion on questionable attributes of Contraptions to increase public attention. The boy who spilled the milk to gain attention If its questionable it has to be good.
- A discussion of game pricing, marketing strategy, and prizes.
---Development Plan---
- Current Work/ Schedule:A detailed project plan and schedule, including a preliminary assignment list for each member of the production team, a list of dependencies (i.e., a Pert chart), reasonable milestones, and contingency plans.
Overview: The Design Treatment
- Intended audience: Ages 11-16 seem to be most interested in the game. The game features both puzzles for those who enjoy solving. The network play will be enjoyed by those who like to "blow stuff up." It is an action/puzzle game with the versatility of an RPG.
External Libraries
Section 2.0.*
- FreeGlut
- Polylib
- Polylib utilities
- Polyart 2D Physics Engine
- Polyart Graphics Engine
- Polyart Sound Engine
- Polyart GUI
- Polyart Scripting
- Openal
- Opengl
- PNG SDK
- OGG Vorbis
- Lib3DS: ew
Game GUI Interfaces
Section 1.0.*
GUI Navigation Classes
Section 1.0.0
CGameMode: Implemented in GameMode.cpp
SetMode(CGameMode* DerivedClass);
CGameMode is implemented in polylib as CScreen and should optionally be changed.
GUI Navigation Maps overview
Section 1.0.1
TitleScreen->SelectionChallenge{
EditShip->
}
Section 1.0.2
Game Start->GUIInterface = TitleScreen
Game Screens
Section 1.1.*
Title Screen
Section 1.1.1
Interface selection: The following interfaces
- "Solve Challenge": Puzzle Mode
- "Contstruct Contraption"
- "Battle Ships"
- "Network Battle"
- "Options"
Screen should display the games title and a description of each interface type.
Optional future game modes
- Interactive Demo Mode: you watch a demo of people doing crazy thing with the ships however you can hit spacebar and control it from wherever the demo is at kind of a see if you can do that too thing like it might show a level were someone managed to shoot a bullet though a little hole in another ship destroying this huge ships commander
Scattered Notes
Options
Modifies CGlobalOptions
Menu system: Configures the gameplay: GUI system is a way the user can play with the interfaces of the game
Ship Editing
Game Play
Optional future threading model
Main - Controls input and other threads - Controls screens: game via a control pipe
Game?/Physics(N) - Sends screen frame data via pipe. Sends moving object info so that objects can smoothly move even if the physics is slowing
Display - Renders at nice framerate: has 2 layers, one for the CScreen(Top) and one for the game/physics(bottom)
DataLoader
Main Game Objects
- CSession - This is an instance of a running shipgame.
- CPlayer - These point to individual ships. This may or may not represent a real player. These are wrappers for individual streams.
- CSync - This is the router of all IO in a session. Hook various streams to this to redirect IO.
Chain of command
CInput->CScreen->CPlayer->CSync->CSession
CSession public interfaces
- Start();
- Clear();
- SetMap(string Map);
widgets make up contraptions
gadget
thingy
syn: dojigger, doodad, doohickey, gimmick, gizmo, gubbins, thingamabob, thingumabob, thingmabob, thingamajig, thingumajig, thingmajig, thingummy
whatnot, bric-a-brac, knickknack, nicknack, knickknackery]
what·sit ( P ) Pronunciation Key (hwtst, hwt-, wt-, wt-) or what·sis (-ss)
n. Informal
Something or someone whose name has been forgotten or is not known.
what·not ( P ) Pronunciation Key (hwtnt, hwt-, wt-, wt-)
n.
A minor or unspecified object or article.
gadgetry
what·sit ( P ) Pronunciation Key (hwtst, hwt-, wt-, wt-) or what·sis (-ss)
n. Informal
Something or someone whose name has been forgotten or is not known.
session does not send over ship pointers
Standard return values for functions
BOOL - 0=worked
1=Error
bool - 0=failed
1=success
Copyright 2005 © Polyart. All rights reserved.