| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

TDD

Page history last edited by Patrick Coan 13 years, 8 months ago

Technical Design 


The game has been designed and compiled with the Unreal Development Kit using the Unreal 3 Engine.

 

Because the team is comprised of designers and artists, a detailed and largely accurate description of technical processes and architecture has not been created. This technical design document is a brief account of the various coding and software details we have used in conjunction with the architecture that runs under the hood of the amazing tools that we have used

 

 

Architecture

 

The third generation Unreal engine is created for Direct X 9 and 10 personal computers, Playstation 3 and the Xbox 360. As a result, this game can be ported to those listed consoles.

 

Coding Standards

 

The Unreal 3 engine runs off of C and uses a scripting language known as Unreal Script, or UScript. No programming should be needed for the game, as Uscript provides very open access to the engine's resources. Additionally, the UDK features a visual scripting interface known as Kismet, which can be employed by level designers who have minimal experience scripting/coding.

 

UScript is an object-oriented language similar to Javascript. Several unique classes have been created for use in this game.

Common guidelines for class creation and utilization include:

 

  • extending classes off of base UT classes
  • re-using classes with modifications for extension

 

  • The UDK is case-insensitive, do not use uppercase letters for identification purposes
  • All classes should begin with "INC" by default
  • comments should be used frequently for ease of use by other designers
  • API's include Microsoft Visual Studio, Notepadd++, compiling can occur with Unreal's FrontEnd app, or alternatively nFringe
  • Applications like  UnCodex can be used for class organization and engine architecture

 

Our Tools

 

A number of tools have been used for asset creation and modification:

 

  • Runtime design
    • The UDK
  • Scripting
    • Microsoft's Visual Studio, Notepad ++ for scripting
    • UDK's kismet
  • 3D Asset Creation
    • 3D Studio Max 9,10 and 11
      • Actor X Plug In 
    • Maya 2009
    • zbrush
    • Mudbox
    • Vue 
    • xNormal
  • Concept
    • Pencil and Paper
    • Wacom Tablet
    • Photoshop
    • Corel Painter
    • zBrush 
  • 2D Design and Image Creation 
    • Photoshop
    • zBrush
    • Illustrator
  • Content Management
    • PBWorks (Wiki)
    • Freemind (Mind Mapping)
    • Excel (Asset management and Script)
    • Visio (Script quest structure)
  • Audio
    • Premiere
    • Sound Forge 

 

 

We owe a great deal to our school, ITT-Tech for the education it has provided in understanding the many programs we have used. Additionally, forums like CG-Talk, Game-Artists, Epic Forums have provided a huge amount of help

 


 

Data Management

Data is stored on each team members local hard drives. Individuals are responsible for their data. Builds of the game and project files are sent to a central server. Back up disks have been created and archived for restore points. The nature of our production process allows for small packets of data to be integrated into the whole. An individual's work can be reviewed, saved independent of the game, and then merged into a new build. The new build is saved as a version, and as the master copy and given to each member of the group for further changes.

 

No security measures have been taken to minimize theft or copyright in the production process.

 

 

Version Control

Management of revisions and iterative assets is handled by the producer, who is the conduit for all changed in the game. Early in development, the map is checked out for a period of time so that assets can be added, events scripted, and modification's to the game's structure can occur. After the main components of the game have been added, and the production has moved it's focus to balance and holistic improvements, access to the map is limited. Usually, changes are only made by the producer to ensure that no unintended consequences occur.

 

The file naming convention and directory structure of project files is one of the methods used for version control.

 

  • The master file is always named the same: map.udk 
  • Alterations to the master file require first saving the untouched file with a version number: map1.udk 
  • The newly edited file is saved as map.udk
  • All versions are saved in a director within the location of the master file: map directory>versions>map1.udk
  • A month's worth of versioned files are compressed and added to a folder within the versions folder titled archive: map directory>versions>archive>mapJanuary.zip

 

The wiki is also used for version control. Team members are to post proof of their progress on the applicable page on a daily basis, with a link to the centrally stored document. A typical entry will show the asset, notes on the changes, and a link to the file. Through the wiki, revisions and updates are searchable.

 

Overall, version control systems are still dependent on a communicative team.

 


 

Artificial Intelligence Classes and Behaviors

    • Hostile

      • Respect Chain conditions

      • Patrol specified patrol route

      • Uses A* pathfinding to detect the player

      • Pursue player within spot distance

        • Given that player is in visible state

        • If not player is not visible, will stop and wait for detection 

      • Attacks player within target range

      • Return to post if within specified range

      • Roams available path nodes if out of post range

      • Alert other guards of player's last location 

    • Commoners

      • Movement and animation based off of the UDK crowd system

      • Navigate through village hot spots and proceed with scripted animations and behaviors

        • Respect Chain conditions

        • Wait/Idle

        • Converse

        • Purchase/Haggle

        • Avoid the player 

        • Alert guards of players location given outlaw status

        • Hide 

    • Plot Characters

      • Respect Chain conditions 

      • Perform scripted animation until player activation

      • Perform dialogue and animation

      • Provide script tree for player interaction

      • Continue with updated player status and Chain conditions

 

 

 

Physics

The game uses the UDK's built in physics system. Common parameters are left at default. Characters can employ rag-doll physics in the event that specific conditions are met. Water physics have are employed for buoyancy, swimming and particle systems. Cloth simulations are also employed with engine default parameters.

 

Online Capabilities

The game is intended for offline, single player use.

 

 

Comments (0)

You don't have permission to comment on this page.