3DGC:Design

3D Game Comparison - Game vs. game. No hype; just facts.™

(Difference between revisions)
Jump to: navigation, search
Revision as of 00:01, 5 August 2007 (edit)
Eep² (t|c)
'''Wiki markup comparison'''
← Previous diff
Current revision (21:00, 13 January 2010) (edit) (undo)
Eep² (t|c)
m '''Wiki markup comparison''' - more namespace examples
 
(10 intermediate revisions not shown.)
Line 1: Line 1:
-Originally designed for a [http://tnlc.com/eep/compare/database.html database], conversion to MediaWiki presents some problems:+This page is MediaWiki-specific but see http://tnlc.com/eep/compare/database.html for general design ideas.
-This page is MediaWiki-specific but see http://tnlc.com/eep/compare/database.html for general design ideas. +Originally designed for a database, conversion to MediaWiki presents some problems:
==Classification== ==Classification==
Line 7: Line 7:
===Categories=== ===Categories===
-The most obvious is with categories. Unfortunately, these can quickly clutter up the bottom of pages if there are too many. Categories could be named like namespaces (i.e. ''Game:Tomb Raider'') but why not just use namespaces then to reduce having to type the link ('':Category:Game:Tomb Raider'' vs. ''Game:Tomb Raider'')?+The most obvious is with categories. Unfortunately, these can quickly clutter up the bottom of pages if there are too many (if categories could be displayed in an organized way instead of by declaration or alphabetically...) Categories could be named like namespaces (i.e. ''Game:Tomb Raider'') but why not just use namespaces then to reduce having to type the link (''[[:Category:Game:Tomb Raider]]'' vs. ''[[Game:Tomb Raider]]'')?
===Namespaces=== ===Namespaces===
Line 14: Line 14:
===Subpages=== ===Subpages===
Less obvious is using subpages (''games/Tomb Raider'') but they may be easier to manage than namespaces, although I'm not sure how DPL (see next section) can handle them. Additionally, subpages are automatically transcludable via template calls (''<nowiki>{{/Tomb Raider}}</nowiki>''). Less obvious is using subpages (''games/Tomb Raider'') but they may be easier to manage than namespaces, although I'm not sure how DPL (see next section) can handle them. Additionally, subpages are automatically transcludable via template calls (''<nowiki>{{/Tomb Raider}}</nowiki>'').
 +
 +===Pages===
 +Even less obvious is just using pages (''Tomb Raider'') and, with an [[#Extensions|extension like Dynamic Page Lists (DPL)]], categories really aren't necessary. Not having categories means not duplicating same-named pages/categories (or redirecting to one or the other) but explicitly require an extension like DPL or embedded [[Special:Whatlinkshere]] lists.
==='''Wiki markup comparison'''=== ==='''Wiki markup comparison'''===
Line 20: Line 23:
<th>System <th>System
<th>Markup <th>Markup
-<th>Adavantages+<th>Advantages
-<th>Disadavantages+<th>Disadvantages
<tr valign=top> <tr valign=top>
-<th>Category+<th>Category/Page
<td> <td>
* [[:Category:Games|Games]] * [[:Category:Games|Games]]
Line 37: Line 40:
*** [[pan]], [[perspective]], [[zoom]]; [[shaking]] (in [[:Category:Effects|Effects]]) *** [[pan]], [[perspective]], [[zoom]]; [[shaking]] (in [[:Category:Effects|Effects]])
** [[:Category:Lighting|Lighting]] (subcat of [[:Category:Effects|Effects]] or ** [[:Category:Lighting|Lighting]] (subcat of [[:Category:Effects|Effects]] or
-*** [[:Category:Lighting effects|Lighting effects]]?)+*** [[:Category:Lighting effects|Lighting effects]]?) ([[lighting effects]])
-*** [[:Category:Shading|Shading]]+*** [[:Category:Shading|Shading]] ([[shading]])
**** [[pixel shading]], [[vertex shading]] **** [[pixel shading]], [[vertex shading]]
-** [[:Category:Physics|Physics]]+** [[:Category:Physics|Physics]] ([[physics]])
-*** [[:Category:Collision detection|Collision detection]]+*** [[:Category:Collision detection|Collision detection]] ([[collision detection]]
-** [[:Category:Texture|Texture]]+** [[:Category:Texture|Texture]] ([[texture]])
-*** [[:Category:Texture filtering|Texture filtering]]+*** [[:Category:Texture filtering|Texture filtering]] ([[texture filtering]])
-*** [[:Category:Texture mapping|Texture mapping]]+*** [[:Category:Texture mapping|Texture mapping]] ([[texture mapping]])
**** [[bumpmapping]], [[environment mapping]] ([[reflection]]), [[mipmapping]] **** [[bumpmapping]], [[environment mapping]] ([[reflection]]), [[mipmapping]]
Line 52: Line 55:
* [[:Category:Characters|Characters]] * [[:Category:Characters|Characters]]
** [[:Category:Actions|Actions]] ** [[:Category:Actions|Actions]]
-*** [[bow]], [[climb]], [[close]], [[crawl]], [[crouch]], [[dance]], [[drink]], [[duck]], [[eat]], [[drop]], [[hit]], [[hop]], [[jump]], [[kick]], [[lean]], [[lie down]], [[open]], [[punch]], [[push]], [[roll]], [[run]], [[search]], [[sit]]. [[skip]], [[sleep]], [[sneak]], [[stab]], [[stand]], [[shoot]], [[strafe]], [[swim]], [[swing]], [[tumble]], [[vault]], [[walk]]+*** [[bow]], [[break]], [[climb]], [[close]], [[crawl]], [[crouch]], [[dance]], [[dive]], [[drink]], [[duck]], [[eat]], [[drop]], [[fly]], [[hit]], [[hop]], [[hug]], [[jump]], [[kick]], [[kiss]], [[lean]], [[lie down]], [[open]], [[pick up]], [[primp]], [[punch]], [[push]], [[roll]], [[run]], [[search]], [[shoot]], [[sit]], [[skip]], [[sleep]], [[sneak]], [[stab]], [[stand]], [[strafe]], [[shoot]], [[strafe]], [[swim]], [[swing]], [[talk]], [[throw]], [[tumble]], [[vault]], [[walk]]
** [[:Category:Footprints|Footprints]] ** [[:Category:Footprints|Footprints]]
*** [[:Category:Surfaces|Surfaces]] *** [[:Category:Surfaces|Surfaces]]
-** [[:Category:Footsteps|Footsteps]] (subcat of [[:Category:Sound effects|Sound effects]]+** [[:Category:Footsteps|Footsteps]] (subcat of [[:Category:Sound effects|Sound effects]]?)
*** [[:Category:Surfaces|Surfaces]] *** [[:Category:Surfaces|Surfaces]]
** [[:Category:Player characters|Player characters]] ** [[:Category:Player characters|Player characters]]
Line 72: Line 75:
** [[:Category:Interaction|Interaction]] ** [[:Category:Interaction|Interaction]]
*** [[:Category:Actions|Actions]] *** [[:Category:Actions|Actions]]
-*** [[:Category:Puzzles|Puzzles]]+*** [[:Category:Puzzles|Puzzles]] ([[puzzles]])
-*** [[:Category:Traps/hazards|Traps/hazards]]+*** [[:Category:Traps/hazards|Traps/hazards]] ([[:cat:Damage|Damage]]/[[damage]])
 +**** [[crushing]] ([[doors]], [[walls]], etc), [[falling]] ([[gravity]]), [[explosions]], [[impalement]] ([[spikes]], etc), [[water]] ([[drowning]])
-* [[:Category:Effects|Effects]] (see also [[:Category:Physics|Physics]])+* [[:Category:Effects|Effects]] ([[effects]]; see also [[:Category:Physics|Physics]])
** [[:Category:Breath effects|Breath effects]] ** [[:Category:Breath effects|Breath effects]]
*** [[cold breath]], [[fire breath]], [[poison breath]] *** [[cold breath]], [[fire breath]], [[poison breath]]
Line 81: Line 85:
** [[:Category:Lighting effects|Lighting effects]] ** [[:Category:Lighting effects|Lighting effects]]
*** [[coronas]], [[flickering]], [[lens flare]], [[lightmaps]], [[shadows]] *** [[coronas]], [[flickering]], [[lens flare]], [[lightmaps]], [[shadows]]
-** [[:Category:Particle effects]]+** [[:Category:Particle effects|Particle effects]]
*** [[blood]], [[debris]], [[dust]], [[explosions]], [[fire]], [[gas]], [[shards]], [[sparks]], [[smoke]], [[spray]], [[steam]]; see [[weather]] *** [[blood]], [[debris]], [[dust]], [[explosions]], [[fire]], [[gas]], [[shards]], [[sparks]], [[smoke]], [[spray]], [[steam]]; see [[weather]]
** [[:Category:Reflection|Reflection]] ** [[:Category:Reflection|Reflection]]
Line 100: Line 104:
*[[:Category:Objects|Objects]]--see [http://tnlc.com/eep/compare/gameform.html] for extensive list *[[:Category:Objects|Objects]]--see [http://tnlc.com/eep/compare/gameform.html] for extensive list
-** [[book]]s, [[candle]]s, [[door]]s, [[flare]]s, [[:Category:lights]] ([[flashlignt]]s, [[lantern]]s, [[torch]]es, etc), [[key]]s, [[ladder]]s, [[rope]]s, [[scroll]]s, [[staff]]s, [[weapon]]s, [[window]]s+** [[books]], [[candles]], [[doors]], [[flares]], [[furniture]] ([[beds]], [[chairs]], [[desks]], [[tables]], etc), [[lights]] ([[flashlights]], [[lanterns]], [[torches]], etc), [[keys]], [[ladders]], [[ropes]], [[scrolls]], [[staffs]], [[weapons]], [[windows]]
-** [[:Category:Weapons|Weapons]] (melee/ranged?, general type/kind only?)--see [http://tnlc.com/eep/compare/gameform.html] for extensive list+** [[:Category:Weapons|Weapons]] ([[melee]]/[[ranged]]?, general type/kind only?)--see [http://tnlc.com/eep/compare/gameform.html] for extensive list
-*** [[:Category:Bows|Bows]]+*** [[:Category:Bows|Bows]]/[[bows]]
-*** [[:Category:Guns|Guns]]+*** [[:Category:Guns|Guns]]/[[guns]]
-*** [[:Category:Projectiles|Projectiles]]+*** [[:Category:Projectiles|Projectiles]]/[[projectiles]]
**** [[arrows]], [[bullets]] **** [[arrows]], [[bullets]]
-*** [[:Category:Swords|Swords]]+*** [[:Category:Swords|Swords]]/[[swords]]
* [[:Category:Surfaces|Surfaces]] * [[:Category:Surfaces|Surfaces]]
Line 116: Line 120:
** [[:Category:Water|]]--> ** [[:Category:Water|]]-->
-* [[cutscene]]s, [[FMV]]s, [[inventory]] ([[:Category:Interface|Interface]]?)+* [[inventory]] ([[:Category:Interface|Interface]]?)
 +** design: [[store and use]], [[combine]], [[encumbrance]]
 +** [[map]]
 +** [[objects]]
 +** [[pickups]]
 + 
 +* [[:Category:Gameplay|Gameplay]]?
 +** [[cutscene]]s, [[FMV]]s
 +** [[difficulty level]]s, [[boss]]es
 +** [[linear]], [[open-ended]]/[[sandbox]]
 +** [[saving]]: in-level (anywhere, save points), end-level
 + 
 +<td>
 +* Less typing
 +* Default classification system with auto-generated lists
-<td>Default classification system with auto-generated lists 
<td> <td>
* Mixing same-named articles and categories causes redundancy (redirect to categories only?) * Mixing same-named articles and categories causes redundancy (redirect to categories only?)
Line 126: Line 143:
* sprite (computer graphics) -> sprite (fantasy creature) * sprite (computer graphics) -> sprite (fantasy creature)
* level (environment term) -> level object * level (environment term) -> level object
-* map environment term) -> map object+* map (environment term) -> map object
-<tr valign=top><th>Namespace+:Combining a noun (object) with its verb (action) on the same page may just be easier.
 + 
 +<tr valign=top style="background:#797b86"><th>Namespace
<td> <td>
-[[Game:Games]]+*[[Game:Games]]
-* [[Game:Tomb Raider]]+** [[Game:Tomb Raider]]
-[[Effect:Effects]]+* [[Effect:Effects]]
-* [[Effect:weather]]+** [[Effect:weather]]
-* [[Effect:wind]]+** [[Effect:wind]]
-<td>Name conflicts less likely+* [[environment:level]]
-<td>Must use extension to generate lists+ 
 +* [[objects]]
 +** [[object:bow]]
 +** [[object:dirt]]
 +** [[object:level]]
 + 
 +* [[actions]]
 +** [[action:bow]]
 + 
 +* [[surfaces]]
 +** [[surface:dirt]]
 + 
 +<td rowspan=2>
 +* Name conflicts less likely
 +* Less need to use complicated/confusing Semantic MediaWiki to establish relationships (links between games and features)
 +* [[#Dynamic Page List|DPL]] can list links to specific namespace/subpages vs. to a page that can mean different things (noun vs. verb, action vs. object, etc)
 + 
 +<td rowspan=2>
 +* More typing
 +* Must use extension(s) to generate lists
<tr valign=top><th>Subpage <tr valign=top><th>Subpage
<td> <td>
-[[game]]+* [[game]]
-* [[game/Tomb Raider]]+** [[game/Dirt]]
- +** [[game/Rune]]
-[[effect]]+* [[company]]
-* [[effect/skid mark]]+** [[company/Core Design]]
 +* [[engine]]
 +** [[engine/Steam]]
 +** [[engine/camera]]
 +** [[engine/camera/pan]]
 +** [[engine/sprite]]
 +** [[engine/texture]]
 +** [[engine/texture/filtering]]
 +** [[engine/texture/filtering/anistropic]]
 +** [[engine/texture/filtering/bilinear]]
 +** [[engine/texture/filtering/trilinear]]
 +** [[engine/texture/mapping]]
 +** [[engine/texture/mapping/bump]]
 +** [[engine/texture/mapping/environment]]
 +** [[engine/texture/mapping/mip]]
 +* [[character]]
 +* [[character/sprite]] (noun)
 +* [[character/Sprite]] (pronoun)
 +* [[level design]] ("[[environment]]"?)
 +** [[level design/level]]
 +** [[level design/map]]
 +* [[action]]
 +** [[action/bow]]
 +** [[action/bowl]]
 +** [[action/duck]]
 +** [[action/jump]]
 +* [[effect]]
 +** [[effect/particle]]
 +** [[effect/particle/steam]] (particle effect steam vs. some other way to render it, as rare as it may be)
 +** [[effect/particle/water/drop]]
 +** [[effect/steam]] (general steam effect--necessary if "particle effect steam" exists?)
 +** [[effect/water]]
 +** [[effect/water/bubble]]
 +** [[effect/water/ripple]]
 +** [[effect/water/splash]]
 +** [[effect/weather]]
 +** [[effect/weather/rain]]
 +* [[object]]
 +** [[object/bow]]
 +** [[object/bowl]]
 +** [[object/dirt]]
 +** [[object/duck]] (quack)
 +** [[object/level]]
 +** [[object/map]]
 +** [[object/mud]]
 +** [[object/pan]]
 +** [[object/rune]]
 +** [[object/can]]
 +** [[object/can/soda]]
 +** [[object/can/food]] (aluminum/tin)
 +** [[object/weapon/bow]]
 +* [[surface]]
 +** [[surface/dirt]]
 +** [[surface/mud]] (wet dirt)
-<td>Name conflicts less likely 
-<td>Must use extension to generate lists 
</table> </table>

Current revision

This page is MediaWiki-specific but see http://tnlc.com/eep/compare/database.html for general design ideas.

Originally designed for a database, conversion to MediaWiki presents some problems:

Contents

Classification

There are different ways of designing this "database"'s classification system using MediaWiki.

Categories

The most obvious is with categories. Unfortunately, these can quickly clutter up the bottom of pages if there are too many (if categories could be displayed in an organized way instead of by declaration or alphabetically...) Categories could be named like namespaces (i.e. Game:Tomb Raider) but why not just use namespaces then to reduce having to type the link (Category:Game:Tomb Raider vs. Game:Tomb Raider)?

Namespaces

Perhaps the next most obvious is with namespaces for games (game:), companies (company:), engines (engine:), characters (character:), effects (effect:), etc.

Subpages

Less obvious is using subpages (games/Tomb Raider) but they may be easier to manage than namespaces, although I'm not sure how DPL (see next section) can handle them. Additionally, subpages are automatically transcludable via template calls ({{/Tomb Raider}}).

Pages

Even less obvious is just using pages (Tomb Raider) and, with an extension like Dynamic Page Lists (DPL), categories really aren't necessary. Not having categories means not duplicating same-named pages/categories (or redirecting to one or the other) but explicitly require an extension like DPL or embedded Special:Whatlinkshere lists.

Wiki markup comparison

System Markup Advantages Disadvantages
Category/Page
  • Less typing
  • Default classification system with auto-generated lists
  • Mixing same-named articles and categories causes redundancy (redirect to categories only?)
  • Games with simple names (like Rune, Dirt, etc) can conflict with object names (like a "rune") or surface types (like "dirt"); engine names like Steam and Source can conflict with the "steam" effect and "source" of something (though rare; or short for "source code"). Lowercase names can help alleviate most of these conflicts but not these:
  • bow action -> bow weapon
  • Camera pan (view pan, camera pan?) -> object pan (pans?)
  • sprite (computer graphics) -> sprite (fantasy creature)
  • level (environment term) -> level object
  • map (environment term) -> map object
Combining a noun (object) with its verb (action) on the same page may just be easier.
Namespace
  • Name conflicts less likely
  • Less need to use complicated/confusing Semantic MediaWiki to establish relationships (links between games and features)
  • DPL can list links to specific namespace/subpages vs. to a page that can mean different things (noun vs. verb, action vs. object, etc)
  • More typing
  • Must use extension(s) to generate lists
Subpage

Extensions

Note: DPL and SMW appear to cause pages to load slower (lots of server calls, flashing the web browser statusbar like mad most of the time).

Dynamic Page List (DPL)

Using DPL, lists of pages linking to other pages (as well as pages in categories and namespaces) are possible. This may be the best option that will allow all classification schemes to be included/used.

Semantic MediaWiki (SMW)

This extension is similar to DPL in outputting lists of pages in categories and namespaces, but also allows more complex relationships between things. Unfortunately, it's a lot more complicated to use (even moreso than DPL), which makes it a last resort. Programmers still code for programmers, apparently...even if they claim to be "semantic"--try being "intuitive" and "user-friendly" instead.

Comparison table

So far I've tried 2 extensions for the comparison table. One (TemplateTable) is easy-to-use but very limited and the other (DPL) is more difficult to use but more customizable (yet still not enough for my needs).

Personal tools