Enterprise Game Design - week 1 update

Published September 10, 2008
Advertisement
Got some work done. I've deleted the empty sections without renumbering the sections, so don't get confused when it jumps from section 4 to section 8.

1 Introduction


1.1 Purpose


This is a general software design for character-oriented, story-driven games, as distinctive from sports games, puzzle games, etc. The resulting game framework will be suitable for developing open-ended worlds with story-centric interactions. The primary emphasis is on interactive story telling, with a secondary emphasis on multiplayer interaction as an enhancement to the story telling system.

1.2 Document Conventions


As deterministic computers are incapable of true randomness, the distinction between pseudo-random and random is ignored. For this reason, the terms pseudo-random and random are used interchangeably throughout the document to refer to predictably repeatable pseudo-random sequence generation.

1.4 Suggested Reading and Game Playing



  • Plots Unlimited, Tom Sawyer, Arthur David Weingarten, 2004

  • The Writer's Journey: Mythic Structures for Writers, 2nd Edition, Christopher Vogler, 2007

  • Noctis v4.0, by Alessandro Ghignola.

  • The Elder Scrolls IV: Oblivion, from Bethesda Softworks.


2 Scope


2.1 Identifications


2.1.1 Need


Content creation is an expensive, time consuming process. Scripted content is also not as satisfying as "real content" to the consumer. The current state of the art in pseudo-random content generation has solved these problems for physical objects and environments. The problems of random story generation and robust interactive story telling have yet to be conquered.

By utilizing mathematical formulae to generate and reliably re-generate data that appears convincingly natural and organic, random content generation saves on content creation time in trade for research and development time. However, the trade is more than economical, as the random content generator is limited only by the restraints of computer memory systems. A good random content generator is able to generate quantities of data so vast that the user may reasonably assume it to be infinite.

Scripted content has the capacity to feel realistic during the user's initial experience, but quickly grows stale. Scripted content turns the game into a sort of "Game World Amusement Park", where the game attempts to provide each individual player with the same, repeatable experience. This is comparable to the way a roller coaster provides every amusement park customer with an identical, repeatable experience.

Conflict is the basis for plot and story progression. Conflict in reality is not scripted; it comes about through the clashing of opposing motivations. By creating a system in which story is dynamically generated through the simulation of the interaction between player characters and artificial intelligence actors, the system eliminates the "Amusement Park" aspect of game world interaction. It is the difference between riding through a constructed park of robotic animals and embarking on a real safari through untamed land.

2.1.5 Assumptions


The distinction between "client" and "server" are relative terms. Sinking the server into the client and removing the network stack should be sufficient to make a single-player game.

2.1.6 Constraints


The specific details of game play mechanics unrelated to story progression are left unanswered, to permit the story telling mechanic to be adaptable to any style of game play. Graphics, audio, and other user interface considerations will also not be covered in great detail, again for the sake of modularity. UI features will be a bare-minimum system necessary to demonstrate the capabilities of the framework.

For the sake of security and portability, and because of the lack of emphasis on UI, the Game Client portion of the design will be relative thin compared to the Game Server portion.

2.3 Known Risks


The creation of a gaming framework for any purpose, let alone a general purpose framework, is a monumental undertaking. Having no distinct game play or user interface characteristics requirements to limit the scope of the project greatly enhances the scale of the project. As this is being developed as a side project, time resources for it are very limited. Project failure due to stagnation, even after very significant resources have been spent on the project, is a distinct risk.

Currently, no dynamic story generation system of the scale proposed in this document exists on the market. While basic, automated story generation systems exist, they are far too simplistic for the purpose of this project. While more complex story generation processes also exist, they require far too much human interaction to be readily adaptable to an automated system. There is no evidence that such a large-scale dynamic story generation system is even possible. Striking out into new territory is always risky.

3 Requirements


3.9 Server


Server tasks are game-play-agnostic. The server has a semantic understanding of the game content, but does not care how that content is rendered.

. Maintain position in server cluster
. Manipulate data in a single dataset for the entire cluster
. Enforce game play rules
. Provide data to user on request
. Allow users to interact with each other
. Simulate other users as NPCs
. Take hot-updates - fixes while the server is still running

4.2 Server Environment


4.2.2 Microsoft Solution


Operating System: Microsoft Windows Vista 64 bit Ultimate Edition
Runtime Environment: Microsoft .NET v3.5
Database: [Microsoft SQL Server 2008| PostgreSQL 8.3.3]

4.2.3 Open Source Solution


Operating System: FreeBSD 7.0
Runtime Environment: [Java SE 6.0|Mono 1.9]
Database: PostgreSQL 8.3.3

8 Appendix B: Areas for Further Research


.	Pen-and-paper RPGs	o	GURPS	o	DND 3.0, 3.5	o	other.	Game Maker applications	o	RPG	o	MMO (does one exist)	o	FPS.	Network Development	o	As relates to MMOs	o	How FPS shooters differ	o	Encryption.	Games	o	RPGs		?	Neverwinter Nights		?	The Elder Scrolls: Morrowind + Oblivion		?	Mass Effect		?	Etc.	o	Sandbox Games		?	GTA		?	CrackDown		?	Etc.	o	Mod-able FPSes		?	Half-Life 1+2		?	Battlefield.	Scripting Systems.	AI Techniques for games	o	Strategic vs. Active.	Pseudo-random content generation	o	Terrain	o	Cities	o	Characters	o	Stories.	Story-writing.	Spatial servers for game world data
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement