Introduction to modding: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (++cat)
(almost two years old and still unfinished ^_^' -- copied content from talk page, minior tweaks, and added EdT's xsi thread on ocf)
Line 1: Line 1:
__TOC__
{{finish}}
{{finish}}


This page will serve as a central area for Oni modding, with an introduction for newbies who might be interested in modding. Add some <u>short</u> blurbs as to the different kinds of modding and what tools the community usually works with, and be sure to mention the tutorials paradox is placing on the talk pages of the OBD pages. The point of this page is to centralize and introduce stuff so there aren't separate worlds being linked to on the Main Page with no bridge between them. Basically giving a newbie a push in the right direction so they can learn more somewhere else.
==introduction==
In sum, modding Oni looks like writing a theatre play: You have stages, actors, and scripts - wide areas, buildings, rooms, decorations, characters running from A to B whereas the protagonist triggers most events.
Due the none-existence of modding tools at the time of Oni’s release, fans had to document the data jungle and create modding tools painfully by their own. It took over seven years to ''unlock'' most possibilities – and the work is still ongoing. Read '''[[History_of_Oni_modding|HERE]]''' the full story.
 
 
Scripts are written in Bungie Script Language and stored as *.bsl files, that's why we often say "BSL mods".
They build up the level logic, simply said they make the level to appear logic/intelligent, they give basic commands to game engine. ''Spawn enemies there if player reaches point X, give them weapons, start cutscene '', etc..
 
 
OBD refers to Oni Binay Data. Script commands are useless when their addressed resources don't exist. A BSL command might say "ai2_movetoflag characterA 7" (characterA moves to point 7) but the actual movement animation and flag comes from the binaries, in this case called TRAM and FLAG. [[OBD:File_types|Every resource]] has a four-letter-acronym. (Make sure to check out the talk pages, they might contain additional information such as XML documentations.) For example, TRAM stands for Toronto Animation. Nowadays, TRAM can be converted to XML almost bug-free. XML files can be read and rewritten more easily by hand but still lacks user-friendliness when it comes to a few special file types.
 
 
Some binary resources don't suit XML. These are 3D objects and animations, sounds and textures, they become converted into their native formats.<br>By modding it is often meant that you can also create complete new resources.
* 3D objects (characters, objects, levels) and animations can be modified/created in [http://www.softimage.com/products/modtool/ XSI].
* Texture can be modified/created in your favorite graphic program: [http://www.gimp.org/ GIMP], [http://www.adobe.com/products/photoshop/compare/ Photoshop], etc. – as long as these programs outputs files in formats that can be reconverted.
 
 
In any case make sure to download [[AE]] which provides you a sophisticated modding framework.
 
 
==links to tools, documentations and tutorials==
===BSL===
* introduction and database links [[BSL|HERE]]
* tutorials: [[BSL:Tutorial/Scratch]]
 
 
===OBD===
====file converting in general====
* tool download: [http://www.mods.oni2.net/node/38 OniSplit]
** tool download: [http://www.mods.oni2.net/node/69 AETools - GUI for Macintosh]
** tool download: [http://www.mods.oni2.net/node/72 OniSplit GUI for Windows]
** tutorial: [[XML_basic_tutorial|basics]]
 
 
====3D====
* tool tutorial: [[User:Iritscen/BlenderTutorial|Blender]]
* tool download: [http://www.softimage.com/products/modtool/ XSI]
* tool tutorial: [http://oni.bungie.org/community/forum/viewtopic.php?id=1229 OCF's XSI thread]
* tutorial: [[AE:Importing_character_models|Importing character models TRBS]]
* turorial: [[AE:Importing_weapon_models]]
 
 
====Animation====
* tool download: [http://www.softimage.com/products/modtool/ XSI]
: You need to add some stuff to that file to make it actually work as an animation. In particular the animation type, from/to states and varient needs to be set.
: For all I know this works with animations exported from Oni and modified in Softimage. If you come up with a completly new animation it should work as long as the skeleton is similar to the one used in Oni.
: Note that the geometry that is present inside the Collada file is used to compute the "vertical extents" so it better be the same or close to the one the animation is intended for.
: The biggest problem are the attacks. While it's not difficult to add attacks to the xml file, computing the necessary "extents" is not going to be easy. I guess in the end I'll have to add some command to OniSplit to do it.
* tutorial: [[AE:Authoring_custom_camera_animations]]
 
 
====HEX====
* any hex-editor
* [http://www.mods.oni2.net/node/67 OniUnPacker]
** tutorial: tweak [[OBD_talk:TRAM|animation]]
* tutorial: [[AE:Adding_spawnable_characters|Adding spawnable characters to a level CHAR]]
* tutorial: [[AE:Adding_character_classes|Adding character classes ONCC]]
 
 
====Sound====
* importer notes
: -WAV files (.wav, mono/stereo, 22.05KHz/44.1KHz, uncompressed(PCM)/compressed(MS-ADPCM)) produce SNDD files that are compatible with Oni PC retail.
: -AIFC files (.aif/.aifc/.afc, mono/stereo 22.05KHz, compressed(ima4)) produce SNDD files that are compatible with Oni Mac.
:: Example
OniSplit -create out_dir test.aif
OniSplit -create out_dir test.wav
 
 
====Textures====
* tool download: [http://www.gimp.org/ gimp]
* tutorial: [[AE:ModTXMP|Modifying textures TXMP]]


--Starter BSL links here--


--Starter OBD links here--
==inspiration needed ?==
* ''play some existing mods to get ideas''
* [[Modding_brainstorms|Modding Brainstorms]]
* [[AE:Food_for_thought]]
* [[Anniversary_Edition/To-do]]
* [[AE:Requests]]


Also be sure to point to the [[Modding brainstorms]] page as a place to get some ideas, and the [[History of Oni modding]] page as a place to learn how we got to where we are.


[[Category:Modding tutorials]]
[[Category:Modding tutorials]]

Revision as of 20:18, 29 November 2009


Unfinished building-60px.jpg

This page is unfinished. Can you fill in any missing information?
If it is not clear which part of the page is unfinished, ask on the talk page.

introduction

In sum, modding Oni looks like writing a theatre play: You have stages, actors, and scripts - wide areas, buildings, rooms, decorations, characters running from A to B whereas the protagonist triggers most events. Due the none-existence of modding tools at the time of Oni’s release, fans had to document the data jungle and create modding tools painfully by their own. It took over seven years to unlock most possibilities – and the work is still ongoing. Read HERE the full story.


Scripts are written in Bungie Script Language and stored as *.bsl files, that's why we often say "BSL mods". They build up the level logic, simply said they make the level to appear logic/intelligent, they give basic commands to game engine. Spawn enemies there if player reaches point X, give them weapons, start cutscene , etc..


OBD refers to Oni Binay Data. Script commands are useless when their addressed resources don't exist. A BSL command might say "ai2_movetoflag characterA 7" (characterA moves to point 7) but the actual movement animation and flag comes from the binaries, in this case called TRAM and FLAG. Every resource has a four-letter-acronym. (Make sure to check out the talk pages, they might contain additional information such as XML documentations.) For example, TRAM stands for Toronto Animation. Nowadays, TRAM can be converted to XML almost bug-free. XML files can be read and rewritten more easily by hand but still lacks user-friendliness when it comes to a few special file types.


Some binary resources don't suit XML. These are 3D objects and animations, sounds and textures, they become converted into their native formats.
By modding it is often meant that you can also create complete new resources.

  • 3D objects (characters, objects, levels) and animations can be modified/created in XSI.
  • Texture can be modified/created in your favorite graphic program: GIMP, Photoshop, etc. – as long as these programs outputs files in formats that can be reconverted.


In any case make sure to download AE which provides you a sophisticated modding framework.


links to tools, documentations and tutorials

BSL


OBD

file converting in general


3D


Animation

  • tool download: XSI
You need to add some stuff to that file to make it actually work as an animation. In particular the animation type, from/to states and varient needs to be set.
For all I know this works with animations exported from Oni and modified in Softimage. If you come up with a completly new animation it should work as long as the skeleton is similar to the one used in Oni.
Note that the geometry that is present inside the Collada file is used to compute the "vertical extents" so it better be the same or close to the one the animation is intended for.
The biggest problem are the attacks. While it's not difficult to add attacks to the xml file, computing the necessary "extents" is not going to be easy. I guess in the end I'll have to add some command to OniSplit to do it.


HEX


Sound

  • importer notes
-WAV files (.wav, mono/stereo, 22.05KHz/44.1KHz, uncompressed(PCM)/compressed(MS-ADPCM)) produce SNDD files that are compatible with Oni PC retail.
-AIFC files (.aif/.aifc/.afc, mono/stereo 22.05KHz, compressed(ima4)) produce SNDD files that are compatible with Oni Mac.
Example
OniSplit -create out_dir test.aif
OniSplit -create out_dir test.wav


Textures


inspiration needed ?