This document outlines a roadmap to the other documents found in this directory. If you are new to BigWorld Technology, it should guide you in learning about and becoming proficient with its concepts, installation, customisation, use and operation.
Note: depending on the BigWorld Technology license you have purchased, not all files mentioned below may have been included.
|
||||||||||||||||||||||||||||
  | ||||||||||||||||||||||||||||
Server |
||||||||||||||||||||||||||||
Operations
|
Scripting
|
Extensions
|
Client
|
Tools
|
Third Party Integrations |
The recommended reading is:
The recommended reading is:
Python API Reference Guides
The recommended reading is:
Python API Reference Guides
C++ API Reference Guides
Note that a full massively multiplayer game may be produced using BigWorld Technology solely at the scripting level, so these documents need not be read.
The recommended reading is:
The recommended reading is:
Changes in BigWorld Technology are described per-version in the following documents: described in the corresponding
These notes are quite detailed, and it is recommended that you read them for each new release of BigWorld you receive.
The following document contains important information about third party libraries included in the BigWorld Technology and the licensing requirements of these libraries. [HTML]
The directory bigworld/doc/logos contains the logos as required by licensing requirements. [black logo] [white logo]
Some releases may contain ancillary documents that break out a description of some particular feature in BigWorld, usually one that has only appeared in the latest version – for example, they may include instructions on how to migrate from an older format to a new format.
The titles of such documents will make clear their purpose and intended audience. In future releases their content is likely to be integrated into the main Manual documents.
api_cpp
– C++ API docs
baseapp.chm
– (CHM) BaseApp C++ API Reference Guide
baseapp_html.tgz
– (TGZ-compressed HTML) BaseApp C++ API Reference Guide
baseappmgr.chm
– (CHM) BaseAppMgr C++ API Reference Guide
baseappmgr_html.tgz
– (TGZ-compressed HTML) BaseAppMgr C++ API Reference Guide
cellapp.chm
– (CHM) CellApp C++ API Reference Guide
cellapp_html.tgz
– (TGZ-compressed HTML) CellApp C++ API Reference Guide
client.chm
– (CHM) Client C++ API Reference Guide
client_html.tgz
– (TGZ-compressed HTML) Client C++ API Reference Guide
dbmgr.chm
– (CHM) DBMgr C++ API Reference Guide
dbmgr_html.tgz
– (TGZ-compressed HTML) DBMgr C++ API Reference Guide
loginapp.chm
– (CHM) LoginApp C++ API Reference Guide
loginapp_html.tgz
– (TGZ-compressed HTML) LoginApp C++ API Reference Guide
reviver.chm
– (CHM) Reviver C++ API Reference Guide
reviver_html.tgz
– (TGZ-compressed HTML) Reviver C++ API Reference Guide
api_python
– Python API docs
baseapp_html.tgz
– (TGZ-compressed HTML) BaseApp C++ API Reference Guide
cellapp_html.tgz
– (TGZ-compressed HTML) CellApp C++ API Reference Guide
client_html.tgz
– (TGZ-compressed HTML) Client C++ API Reference Guide
python_baseapp.chm
– (CHM) BaseApp C++ API Reference Guide
python_cellapp.chm
– (CHM) CellApp C++ API Reference Guide
python_client.chm
– (CHM) Client C++ API Reference Guide
html
– HTML version of the documentation
bigworld_tutorial/index.html
– (HTML) How to create a client-only game, a client-server game, and a chat system
client_programming_guide/index.html
– (HTML) High-level overview of the client
content_tools_reference_guide/index.html
– (HTML) Reference guide of the BigWorld tools
file_grammar_guide/index.html
– (HTML) Documentation of BigWorld configuration files
howto_accurately_target_entities/index.html
– (HTML) How-To
howto_avoid_file_in_main_thread/index.html
– (HTML) How-To
howto_build_friends_list/index.html
– (HTML) How-To
howto_build_moving_platform/index.html
– (HTML) How-To
howto_build_vehicle/index.html
– (HTML) How-To
howto_upgrade_bigworld_version/index.html
– (HTML) How-To
howto_control_bot_movement/index.html
– (HTML) How-To
howto_find_memory_leaks/index.html
– (HTML) How-To
howto_implement_progress_bar/index.html
– (HTML) How-To
howto_items/index.html
– (HTML) How-To
howto_move_entities/index.html
– (HTML) How-To
howto_SFX/index.html
– (HTML) How-To
offline_patcher/index.html
– (HTML) Overview of offline patching of resources and game binaries
server_operations_guide/index.html
– (HTML) Overview of operations for running a server
server_overview/index.html
– (HTML) Overview of server components
server_programming_guide/index.html
– (HTML) Manual for extending the server with C++, and scripting on the server
server_web_integration/index.html
– (HTML) Manual for extending the server with PHP and Python
bigworld_tutorial.pdf
– (PDF) How to create a client-only game, a client-server game, and a chat system
client_and_tools_build_guide.pdf
– Instructions for programmers on recompiling code
client_installation_guide.pdf
– Instructions for programmers on installing the client and setting up the environment
client_programming_guide.pdf
– (PDF) High-level overview of the client
content_creation.chm
– Complete high-level documentation for using the content creation tools
content_tools_reference_guide.pdf
– (PDF) Reference guide of the BigWorld tools
documentation_roadmap.html
– This document
file_grammar_guide.pdf
– Documentation of BigWorld configuration files
howto_accurately_target_entities.pdf
– (PDF) How-To
howto_avoid_file_in_main_thread.pdf
– (PDF) How-To
howto_build_friends_list.pdf
– (PDF) How-To
howto_build_moving_platform.pdf
– (PDF) How-To
howto_build_vehicle.pdf
– (PDF) How-To
howto_upgrade_bigworld_version.pdf
– (PDF) How-To
howto_control_bot_movement.pdf
– (PDF) How-To
howto_find_memory_leaks.pdf
– (PDF) How-To
howto_implement_progress_bar.pdf
– (PDF) How-To
howto_items.pdf
– (PDF) How-To
howto_move_entities.pdf
– (PDF) How-To
release_notes_client.html
– Client release notes
release_notes_server.html
– Server release notes
release_notes_tools.html
– Tools release notes
server_installation_guide.html
– Guide to installing the server
server_operations_guide.pdf
– (PDF) Overview of operations for running a server
server_overview.pdf
– (PDF) Overview of server components
server_programming_guide.pdf
– (PDF) Manual for extending the server with C++, and scripting on the server
server_web_integration.pdf
– (PDF) Manual for extending the server with PHP and Python
tools_tutorial_examples
– Files used in the examples for the Content Creation manual.
The root directory is called mf
by default. It can be renamed,
as long as the appropriate environment variables are updated to reflect
the change. Under the root directory, we have the following files/folders:
bigworld
– Source for all bigworld client and server applications, and executables for tools.
bin
– Server-side binaries.
Hybrid64
– 64-bit binaries.
commands
– helper commands.
doc
– Documentation.
res
– Shared resources used by tools and game application.
src
– Client and server source (Not available for Indie customers).
build
– Files used to build the source code on Linux systems.
client
– Source for the bwclient library and Visual Studio solution file to build the game executable.
common
– Miscellaneous source code common to client and server.
examples
– Source for all BigWorld example programs.
cellapp_extension
– CellApp extension example source code, containing an example Controller and EntityExtra extension.
client_integration
– Client integration example source code.
c_plus_plus
– Client integration example source code.
ios
– iOS client integration example source code.
sdl
– SDL client integration example source code.
python
– Client integration example source code.
simple
– Simple Python-based client integration example source code.
lib
– Source for all BigWorld libraries.
appmgr
– Application manager library used only by the tools.
ashes
– Graphical user interface library, used by client and tools.
camera
– Library for various camera types, used by the client and tools.
chunk
– Library that manages world chunks, used on client, tools, and server.
connection
– Library that is used for low-level client-server communication management.
connection_model
– Library that is used for high-level client-server communication management.
controls
– Library that manages panel buttons and sliders, used by tools.
cstdmf
– General purpose classes and functions used by everything.
dbmgr_lib
– Common DBMgr library used to integrate specific database implementations and DBMgr.
dbmgr_mysql
– MySQL implementation for DBMgr.
dbmgr_xml
– XML implementation for DBMgr.
duplo
– Connectable model pieces for the client, such as action_queue, motor, and attachments.
entitydef
– Classes to manage entity definitions, methods and properties (server and client).
fmod
– Interface to FMOD sound library.
fmodsound
– The FMOD sound library.
gizmo
– Library of graphic gizmos for manipulating objects in the tools.
guimanager
– Library that manages GUI components and toolbars, used in tools.
guitabs
– Library that manages GUI panels, used in tools.
input
– Library for user input from mouse, keyboard and joystick.
job_system
– Multi-threaded job system library for the Client.
math
– A maths library, used by everything.
model
– The model library, used by client and tools.
moo
– The rendering library, used by client and tools.
network
– The network library, used by everything.
particle
– The particle systems library, used by client and tools.
physics2
– Library for sorting, colliding, and manipulating objects in 3D space (client and server).
post_processing
– The client post processing effects library.
pyscript
– Library for integration of Python into the engine's C++ classes, used by everything.
python
– The Python library, used by everything.
png
– The PNG image format library, used by the tools and client.
resmgr
– The resource manager, used by everything for loading resources.
romp
– Miscellaneous classes for managing various types of effects on the client.
server
– Common server classes.
speedtree
– Interface to the SpeedTreeRT library.
speedtreert
– The SpeedTreeRT library.
sqlite
– Wrapper library to interface with the third-party SQLite database.
terrain
– The terrain library, use by everything.
third_party
– Third-party libraries such as CppUnitLite2, OpenSSL and Stack Walker.
ual
– The Asset Browser library, used by the tools.
umbra
– The UMBRA library.
unit_test_lib
– The Unit Test library.
waypoint
– Server library for AI waypoint navigation.
web_render
– Client library used for integrating the Mozilla Gecko rendering engine.
zip
– The zlib compression library.
server
– Server application source.
baseapp
– Process that manages a group of base entities (incl. client proxies)
baseappmgr
– Process that manages a group of BaseApps.
cellapp
– Process that manages a group of cell entities.
cellappmgr
– Process that manages a group of CellApps.
dbmgr
– Database process.
loginapp
– Login process.
reviver
– Process that monitors and revives other processes.
tools
– Source to various server tools.
tools
– Executables for the BigWorld content creation and server tools.
server
– Server tools.
bin
– Executables for the server tools.
cluster_commands
– Python scripts used to implement the functionality of Control Cluster.
message_logger
– Scripts used to support interacting with the logs generated by Message Logger.
misc
– General operation scripts used by server software.
pycommon
– Python module used by most server tools to communicate with a BigWorld server and processes.
rpm
– Scripts and spec files used to generate RPMs for the server components.
snapshot
– Script to perform LVM snapshots of the DBMgr database and consolidate the secondary databases.
space_viewer
– A tool for viewing and managing servers, spaces and cells.
stat_logger
– A tool for logging server cluster performance data to MySQL.
web_console
– Suite of web-based server tools.
exporter
– Visual and animation exporters.
misc
– Miscellaneous client-side tools, including NavGen.
modeleditor
– ModelEditor, the model-editing tool.
particle_editor
– ParticleEditor, the particle system-editing tool.
res
– Resources for the tools.
worldeditor
– WorldEditor, the world-builder tool.
fantasydemo
– All fantasydemo resources (script, config, graphics) and the client runtime.
res
– Resources for the fantasydemo.
audio
– FMOD sound banks.
characters
– Visuals and animations for avatars and NPC's.
environments
– Flora and sky definition files.
flora
– Flora models and textures.
gui
– Graphical user interface definition files.
maps
– Textures for the game models, and user interface.
materials
– Definitions for types of materials.
objects
– Objects you can place in the maps such as models, shells, lights, water, etc.
lights
– Light definition files.
particles
– Particle definition files.
scaleform
– Demonstration data files used by the Scaleform integration.
scripts
– Entity definition, entity Python scripts, script data.
server
– Server-side information.
sets
– Assorted models, animations and textures used by FantasyDemo.
sfx
– Particle system effects.
spaces
– Each sub-directory is the name of a space.
speedtree
– Models and textures of SpeedTree flora.