SDSX Requirements

From FSDeveloper Wiki
Jump to navigationJump to search

This is the requirements document for the future Scenery Design Suite X (SDSX) tool. For discussions about this tool, please use the SDSX forum.


SECOND DRAFT DESCRIPTION FOR NEW SCENERY DESIGN TOOL


Draft Version 0.2 (Sept 30, 2006)

Working Name

  • Scenery Design Studio X [SDSX]

Program License

  • Freeware

Developer

  • FSDevelopers.com

Introduction

This is a new Scenery Design Tool for use with FSX. It is being developed on a co-operative basis by members of FSDevelopers.com.

It is expected to be a multi phase development and this description covers Phase 1. Future extensions such as adding new scenery elements should be possible via plug-in technology. These would include land class, mesh etc

Objective

To develop a Scenery Design Tool with the ability to:

  • read FS9 and FSX XML based scenery BGLs
  • enable users to view, modify and create FSX scenery in a graphical environment using drag and drop techniques.
  • handle all existing FS9 and FSX XML based objects and effects
  • create 'compound objects' such as fence lines, area fills and so on.
  • display background images
  • display background geographical information (road, rail, coastlines, elevation data etc) either by reading from the Sim or from GIS data Sources.
  • compile and deploy FSX scenery bgls.
  • provide analysis tools related to scenery
  • manage object libraries
  • operate in either a stand alone mode or in client/server mode for co-operative working with design teams
  • be flexible in design so that new objects, simple or compound can be added without the need to change or re-compile the base program. These should be addable by using plug-in components
  • Allow teaking of 3D objects
    • Automatically create LoD
    • Seasonal texture (can be part of general texture tweaks supporting renaming, adding or removing night maps etc).
    • Convert polygons to ground polygons (FS2002 style or FSX ground textures now resolution can be OK)
    • Add or remove shadows from parts of an object

Target Audience

  • The tool should be usable by a wide range of users from casual to scenery design teams.
  • It should also be usuable by AI Traffic Designers.

Target Sim

  • FSX

Input Formats

  • FS9 and FSX bgl and mdl
  • Shape Files
  • GIS Data

Output Formats

  • The program needs to be able to generate FSX Scenery BGL Files
  • It may also generate XML or other format output if required and useful

Data Storage Formats

  • To be agreed

User Interface

  • In this phase it will provide a 2D top down GUI using the Visual Studio IDE as a model

Scenery objects/elements in toolboxes with drag and drop to the work area objects parameters using property lists. A 3D interface would be expected as part of a later phase

Tools, Design Standards, etc.

Design Philosophy/Patterns

  • Microsoft Smart Client Factory based Client
  • Separation of GUI from Data using the Model View Presenter (MVP) Pattern
  • Observer Pattern for interaction between objects
  • Extensions to the program for new/additional scenery object types via plug ins which will require an SDK. It should also be possible to add new compiler/decompiler options via plug-ins

Tools

  • IDE – minimum C# Express
  • Standards - FXCop
  • Documentation - ??
  • Testing - ??

Design Platform

  • dotNet 2.0 or 3.0

Operating System

  • minimum requirements – XP SP2 Home Edition

Primary Design Language

  • C# although plug-in modules and self contained parts of the program could be created in any CLR compliant language and compiled to dlls (i.e must be managed)

Display handled by (choice of GDI+, DirectX, OpenGL OR WPF)

Design Standards

  • Microsoft Standards as embodied in FXCop - rules to be defined

Components

  • managed NET libraries
  • avoid using COM based