Solution and Projects

XNA Final Engine solution is divided into several projects:
  • XNA Final Engine
  • XNA Final Engine Editor
  • XNA Final Engine Content Pipeline Extension
  • XNA Final Engine Content Pipeline Extension Runtime
  • BEPUphysics and BEPUutilities
  • Application Project

XNA Final Engine

This is the main project, the one that has the assets, game objects, components, managers and helpers classes. Usually the developer creates entities (called game objects), adds components to them and configures the components (sometimes adding assets). Less often the developer configures some parameter of the managers or retrieves information from them.
The logic is performed using scripts components (that are attached to game objects) or in the update method of the scene class (is just like the script component but global, i.e. it’s not attached to any game object).
It also includes a content project that store system resources, like shaders and textures.

XNA Final Engine Editor

This project has the user interface (USER INTERFACE) and the Editor (EDITOR). There are several reasons to have this project separated from the main project. First, there is no need to waste space storing this code in the final application. Second, the User Interface was developed using the Neo Force Controls source code that uses a GNU Library General Public License, the only GPL license left in the engine. Being separate allows the developing of your game without worrying about this license. Third, these projects don’t need to access internal properties, variables or methods of the main project.

XNA Final Engine Content Pipeline Extension

This project extends the XNA content pipeline. Adding animations, XML documents, User Interface’s cursors, layouts and skins and extending the model processors to support different animations. This project is only needed in compilation time and has to be referenced by the content sub project.
Be careful to select the XNA Final Engine Model Processor instead of the XNA Framework Model processor.

XNA Final Engine Content Pipeline Extension Runtime

This is the portion of the content pipeline extension that runs in runtime, loading different resources to the content managers. This project needs to be referenced only by the XNA Final Engine Project (because it’s the one that load and manages assets).

BEPUphysics and BEPUutilities

These are the main projects of BEPU physics library. The engine implements via components an easy interface to interconnect the graphic and physic world in a transparent and appropriate way.

Application Project

This is the place where the user code resides. In the supplied version this project is called Examples but you can eliminate it and create a new one. Also you probably will need to add there a content project to store your assets. Be aware that you need to follow the naming conventions for folders, you can’t, for example, store models outside the Model folder.
In the subsequent sections the Examples Project will be called Application Project.

Last edited Jan 22, 2013 at 12:04 PM by jischneider, version 21


No comments yet.