OverDose Development Tools
Development of OverDose requires many external tools, such as graphics manipulation software (Photoshop, GIMP etc), audio editing software (Audacity etc) and modelling tools (3d Studio Max, Maya, Mudbox, zBrush etc). However several features of the engine have no tools associated with them. These tools have been created from the ground up to not only provide ease of use for development with the OverDose engine, but also to provide 100% compatibility with the source material.
All tools are presented below for download and use, as well as original source code for the tools to manipulate for your own personal projects. Its worth noting that each tool also includes verbose output and dumping to text files, so that if you wish, you can track each stage of your workflow step by step for more advanced users.
• OverDose supports both uncompressed .tga textures and also compressed .dds textures. However, there are many different formats and thresholds to compression that can help you get a file as low in size as possible while preserving the overall texture detail. This tool allows you to set parameters such as the compression format, modify the channel weights, and a lso edit the alpha threshold. For those of you who don't want to dive too deep into the science behind it all, there is also an automatic setting that tries its best to decide he best possible outcome for you.
• OverDose uses TrueType font files for generation of font assets used in its GUIs. This is a tool that will load any existing font you have in your OverDose fonts directory and creates these files.
• OverDose uses .map files in the editing stage that are compiled into .bsp files. This is a tool designed to make that compile not only a simple click, but also allow the user to select many configurable options, such as removing certain features of levels and fast compiling.
• OverDose uses several types of model file for different needs. Some of which are used in levels, and are called static models (You can also use animated models here too). These files are created in .obj, .lwo and .ase format, and then loaded into the ODModel tool. Our tool will strip out all the junk and useless data from these files and convert them to our own formats. Likewise, you can also use this tool to create collision models.
• Levels are the bread and butter of any game. Without them, all you have is a fancy front end and nothing more. Our engine has its own level format and feature set, and because of that, requires its own level editor. Built form the ground up to be fast, user friendly and feature rich, ODRadiant was created solely for use with OverDose level creation and is not compatible with other exist engines.
• ODTracker is a simple but powerful bug tracking tool that the development team use to keep track of any reported bugs, date them, and give resolutions and or information. A useful tool.
• Overdose has its own version of the .RoQ video file format that is used to compile videos for the game. Our .RoQ tool can create 1080p high quality videos from given animation samples and sound files, with full control over quality.
OverDose SDK Documentation
Throughout development of OverDose, we have written and created documentation to explain features and their uses. These documents contain valuable information such as explanations about console commands, in-game tools and working with our material system and GUI files (including explanations of all syntax). These files can be viewed in either .docx or .pdf, whichever is easier for you.
• Helpful information about how to create and add videos to your game and levels.
• The complete OverDose console guide. In this document you will find the full code list for name colors, as well as every single console command and console variable, its uses and its min/max/default values.
• Useful information for those of you who want to create and distribute your own OverDose modifications.
• Every OverDose level is full of things we call "entities". Each entity has a name and set values, which allow it to function in the way you require it to work. This is the complete list of those entities, as well as their values and information.
• Useful information on all our custom in-house tools, including ODModel, ODMap etc.
• Every effect you see in-game is created with a special FX file. This document contains a list of all variables to help you in creating special effects.
• A GUI, or Graphical User Interface, is a fancy name for the menu system. Menus are made with custom strings and code, and can be easily manipulated. We have created this documentation to help guide you, including explanations of what everything does.
• Materials (Previously called shaders in Quake 3) are created for every single surface in the game, and give that surface its properties. This is what tells the engine how much a wall should shine, or what effect to play when shot. This document contains a full list of all material syntax.
• If an FX file is the overall effect, a particle is the smaller pieces that make the whole image. This document contains all syntax and explanations to help with their creation.
• Shaders are small programs that run on the GPU for every vertex and/or fragment drawn. They are written in a high-level language called GLSL (GL Shading Language) but are compiled by the video driver and turned into object code for fast execution. They can be used to create a wide range of special effects, either per-vertex or per-fragment, or both. When it comes to shaders, only your imagination is the limit.
• Skins are a special way of allowing you to have a single model, but have several different materials for use on that model. For example, you could create a single barrel model, but have green, red and blue materials to use on it. This file helps explain their creation.
• Sound Shaders are like Materials for sound. They tell the engine how a sound should play and how it should be modified etc. This document explains this process.
• The full OverDose source code is released under the terms of the GNU General Public License. OverDose is written primarily in C, but large portions of the code are written in C++ (like the shared math library or the GUI system). For all information on our Source Code and its uses, see this document.
• Tables define a set of values used to map an input value to an output value, with optional wrap / clamp and interpolation. Tables can be used in mathematical expressions in materials and GUIs, and used as lookup tables in particles and FXs. This document explains their uses and features.
OverDose & the OverDose logo copyright © Team Blur Games. Team Blur Games, [TBG] and the Team Blur Games logo © Team Blur Games.
Reproduction of any material is prohibited.