Design Document
History Key
- New content
Removed content
Recent Versions
Choose two versions to compare, or click the link to view it.
Let's get this started! This whole document is very subject to change, put question marks (bracketed) next to a tentative idea please, along with your name in [square brackets]. eg [geti]. Put comments, and meta, in blue to separate from actual content.
Why is h3 bigger than h2? Can I edit some CSS somewhere?[matt]
General gameplay Mechanics
-The game world will consist of outer space and orbiting celestial bodies, including planets and stars. All (?) bodies will react to gravitational and impact force, but may be in faked orbit until a degree of force is exerted on them to prevent a catastrophic solar system failure every few minutes. [geti]
-The player will play as one of 3 different characters, which can be switched at certain times. Each character will have strengths and weaknesses and control very differently. The player will react to forces but will have no impact on the planets themselves (This would stop orbits from collapsing)
-There will be (usually light) combat and weapons. The player will always have a melee weapon. In the "run" mode, the player will also carry a gun or possibly grenade launcher.-- Perhaps run could just be melee and we could have combat man for guns? (see characters section) [Destiny]-- (?) In "jump," he'll carry a cannon. (?) -- [matt]: I would prefer no weapon at all for hover, and a melee for run. -- Enemies may use melee or ranged attacks, be passive or aggressive, living or environmental, based on the enemy -- [geti]: see enemy section for a large-ish rant on this topic. Most enemies will be killed with one to five shots; they're there to present a brief challenge, not slow the player down, but some enemies would be unkillable obstacles, eg interplanetary cannons/lazers. An average level will have relatively few enemies - maybe some planetoids are infested with crabs, yet other planetoids are barren. Some levels may be entirely enemy-free, and others may have swarms of enemies. this is up to the level designer.
-The game-world will be a universe, split up galactic clusters/galaxies/star systems, etc.
Level Structure
* Galaxies, split into:
* Sectors, split into:
* Star Systems, split into:
* Planetoid Clusters.
+ 1 Boss Planetoid Cluster Per System (?) (which is unlocked when you beat every level in the Sysytem)
= Total = Probably 15-80 normal levels, 3-10 Boss levels
The number of Galaxies, Sectors, etc. depends on how many levels make it into the game. Players will only play on Planetoid Clusters, and the rest are just for hierarchy. Different branches could have different graphical, musical and gameplay styles.
Note: There would not need to be a separate menu for Sectors, simply divided the solar systems into two groups, numbers 1-5 are in sector 1 and numbers 6-10 are in sector 2. As long as the two sectors are tagged differently, people should have no trouble seperating the two. (?)[Condog]
Levels have a three-part numbering system as well as a name, in the form (or a similar form) of galaxy-system-cluster: name. (?) Numbers are zero-indexed (i.e. 1-5-0) as an homage to N. (?) why the questionmark? definitely, zero-indexing is more stylish anyway. [geti]
-objectives for each level: may change for each level or always have the same goal. Possibilities include:
* fetch quests
* beat a boss enemy
* reach the exit
* clear the level of enemies.
* do any of these within a time limit
-end for each level - has not been decided yet. ideas?
* wormhole entry to the level (wormhole dissapears), wormhole exit. basically, the player is just going wherever the wormholes take him/it/whatever [geti]
focus meter (?)
see http://forum.therealn.com/viewtopic.php?p=9546#p9546 for information, cant reword it. [Animator/Mechanica] That's complicated. I say we start out with the current ideas and later on we see if that fits in the plan.
Controls
Ideas include:
-arrow keys/WASD, with a rotating camera. The camera would align to the sum of all gravity forces at the player's location. Rotation would be eased using matt's special easing method
i think this is definitly the best idea, with the addition of zoom keys, maybe a scroll wheel on the mouse could be configured for use, or Q/E in other cases? [geti]
-clockwise/anticlockwise movement buttons
-arrow keys/WASD, but when you hold run you keep running along a planet, even if this may become the opposite direction to the key pressed
-forward button/turn around button
some dynamic events (mostly for "run-man"): [geti] (?)
* Down = crouch
* Forward + Down = dive to prone
* Down while diving = roll to standing
* Up while rolling = spring jump I'm picturing this with a similar effect to Mario's long jump, for covering distance rather than height.
* Back + Down = backwards roll
* Back + Up = jump backwards
Planets
I'm changing this section a bit. If you don't like what I've done, you can get the old stuff back from the history. [matt]
all in-game objects should be separated into fixed and dynamic, similar to tiles and objects in N. "Planets" are the fixed objects. Fixed stuff follows a set path or is stationary.
The game would always record a single fixed object associated with the player, which they can interact with - anything else could not affect you except for gravity (this is for optimization). Because of this these fixed objects cannot be within one player-width apart
"Planets" are at minimum a point and a number - the point is the center of gravity and the number is the mass that gravity calculations will be based on.
Each "planet" could have sub-objects on it split into static geometry and dynamic objects.
- Static geometry can consist of lines and arcs and will never move relative to the planet (so physics data can be cached for optimization)
- dynamic stuff can be created and destroyed, and may move along/around the planet (but never leave it). This would include most land enemies, moving platforms, items, crumbling platforms etc.
Because of all this there are no hard-coded categories for planets. A star would simply be a stationary "planet" with a high mass and with geometry made out of a round object that hurts you. But, we can generally split up the kind of "planets" into categories that we arbitarily create because they're quite prominent:
stars
can't walk on them (at least not normally), hurt you, would usually be the center of orbit of planets, light source (?)
black holes
You die if you hit one, suck in planets etc. (?)There are a variety of reasons why I think making planets dynamic like that is a bad idea, mainly because if we want planets in the abundance and scale I think we do we'll have to cache/precaculate some stuff, and for that they need to be fixed. [matt]
Perhaps these could maybe be used like a time limit in certain missions, like retreived that package before the black hole sucks it into nothingness, and get back alive [Destiny]
walkable body
you can walk on them. The geometry for these planets could include lava pits, icy bits, tunnels, anything really, ranging from really big planets with platforming on them, to really simple planets that are just a circle where the platforming puzzles involve jumping between planets (Kind of like Mario Galaxy). Could be used as asteroids or planets depending on the mass and velocities you assign them. They could vary in type: there could be slippery planets, hot planets, planets with tunnels through them, etc.
Gas giants
While they do have an effect (gravity), they cannot be walked on and mainly exist for scenery and to create more interesting gravity for puzzles.
subcategories could include:
* asteroids - slow orbit, procedurally generated (?), low gravity bodies that hang around in belts
* planetoids - made up of separate images, for front and back (?) and have a set orbit. Different objects could be put on each planet after being defined, and we could construct tunnels, etc. whenever we like. geometry will need to be defined per planet. hopefully with some sort of editor. [geti]
* gas giant - intangible, but causes gravity
You see, I was thinking that asteroids are functionally the same thing as planets. Mass is modifiable, as is whether it has a set orbit or not, so functionally, an asteroid is just a small, dynamic planet. I was trying to think of a distinction that could separate it from a normal planet too, but I got nowhere. [matt]
Won't the planets be different individually anyway? I think if we have more than a few types of planets we would be taking away a portion of the simplicity we are aiming at. I'm thinking just planets, stars, and black holes. [Destiny]
um..that's kind of what we have here? I proposed a new system of planets and stuff though, see the forum topic.[matt]
Characters
Switching - The player can change form at any time, but switching form takes some time and the player is more vulnerable during this time. (?) The player doesn't have to slow down or stop, and changing from one form to another never takes control away from the player. It may remove the ability to attack and make the player take more damage (?) as a cost.
do we want switch points,tokens, stationary switch, or free switching between character types?
Switch points - either a platform that when stood on allows you to change between any of the three forms, or a platform that is marked with a symbol indicating which character you will become when standing on it. not really a fan of this one.
Tokens - the player can only switch a limited number of times per level.
Stationary switch - the player must not be moving to switch forms.
[LV] Crossed out less popular options, but I'll leave them here while discussion continues.
I'm liking free switching, but I think in order to make the game puzzley enough to hold interest, there need to be strategically placed switch points that require some thinking about what you're going to do. However, with such open-space gameplay as is planned, this may not work. [orange]
I like stationary switch or free switch. Just so long as there's SOME disadvantage or difficulty to switch, otherwise I can't justify multiple characters. [matt]
im still liking free switch too, where it just makes you vulnerable to some degree. see misc ideas for something related to this. [geti]
I really don't like the idea of making the player extra vulnerable after a switch. It just seems arbitrary to make them take double damage for five seconds or whatever. Stationary switch it my favorite. I could probably be persuaded to free switch if there was a good cost for it. [LV]
I would prefer free-switch with no cost. why is a disadvantage to switching even required? And in response to matts above statement, i would say that multiple characters with this kind of switch still allows for a huge amount of level innovation, and faster-paced gameplay. [Destiny]
If there's no disadvantage, it's just like one character with the annoyance of switching when you want to do something character specific. [matt]
Hover-man (?)
Can move in space or on planets, against gravity to some degree. Can cross lava pits and other ground hazards without injury. Perhaps limit hover time? [Destiny]
Jump-man (?)
Can make big jumps, sometimes between planets, and uses spring-ergy. [geti]
Unwieldy to use -- to counter this, if we have combat, he should have the best weapon, any sort of ranged cannon or gun, which can also be used to propel yourself in space with recoil (?) If we have a gun, having it be a fairly slow moving projectile would allow for physics puzzles[matt] I would rather have some kind of combat-based character than this, i dont see jump-man as being a very enjoyable character to play as.[Destiny]
I think that depends on how good our physics engine is. If we have a good engine it would be fun to calculate each jump by imagining the path through gravity and obstacles, but I agree, if the engine is not good, it would be just like a very slow and frustrating form of movement. I suggested a gun that gives momentum in the opposite direction to firing, this could make the character more interesting also. [matt]
Run-man (?)
Can run and jump at high speeds around and between planets, can wall jump
note: I'm not sure how valid 'wall' jumping is when we have no flat surfaces [matt]
let's give him hand-to-hand combat if applicable (?) [matt]
notes on characters:
characters currently have no arms and legs, only hands and feet ("rayman" style), and look robotic, with one large eye in the center of their face. their heads are adorned with antennae.
Enemies
probably needs restructuring once we decide on the logical/programming structure of this stuff [matt]
I think that ideally, enemies should be easily modified/remodeled so that the end user can possibly create their own enemies, including the weapons the enemies use, what collisions are possible, etc.
if enemies have a main and an optional secondary weapon, and aim according to the projected arcs (assuming this can be done, calculated arcs through gravity), the player/modder/whatever could configure all related variables and place the weapon onto the enemy - either through editing config files or a dedicated editor - and the AI would take care of how the enemy would attack. likewise, the enemy could be either static, terrestrial or flying, some variables could be tweaked for this (eg for a flying enemy the thrust, braking and turning capacity could be altered) and the AI would handle its movement.
i understand this is more work, but it would greatly increase the life of the game. just a thought. [geti]
space (?)
float around in space, or are static
-gun turrets (rocket, laser) Too N-like? [LV] see http://forum.therealn.com/download/file.php?id=336&mode=viewfor turret examples.
-battleship
-asteroids I added these here because they don't belong in planets anymore. They're kind of enemies. [matt]
planetary (?)
would orbit just like a planet and sometimes be walkable, may affect the orbits of other planets
-missle base/weapons battery planet
-space station
on-planet (?)
could travel around planets and maybe between them, or be completely static on the planet.
-soldiers
-artillery cannons
-animal life
Bosses
They are now all located here.
After reading over that, it doesnt sound like they would offer as much enjoyment as regular levels. Maybe we should stick with the times and not have bosses at all? [Destiny]
Art Style
note: there'll be lots of rotation of bodies, so I suggest vector imagery for the dynamic objects. Definitely not sprites, they'll look all wrong when rotated not in multiples of pi/2 [matt]
Dynamic objects will very likely be done in vectors due to the large amount of rotation and zooming they'll go through. Some non-moving images, like starfield backgrounds, could still be done as bitmap images.
sketchy block colour cartoon
done either in vector or pixel, this not quite clean style is both easy and fun to design for and makes environment changes especially noticable. stands out as vibrant and allows creativity. [Commander votes vector, he's the bomb at vector]
clean cartoon, textured
done either in vector or pixel, this style would be more gritty and take more work, but produces a striking result, while still allowing a lot of creativity and target identification. concept art coming!! sorry for the delays..
I don't understand what this means at all. I'll have to see examples. [LV]
http://datarealms.com/games.php <-- look at the art style here for a good example. CC is what i got the idea from.
photorealism-ish attempt
likely done in pixel, involves a lot of texture work
Sound
because we're in space, sound doesn't carry. We're considering abstract tones/sounds instead of realistic booms and such. Sound people please elaborate.