Jump to content

Introduction to modding: Difference between revisions

filling in a couple more of our bold to-do notes; various tweaks
mNo edit summary
(filling in a couple more of our bold to-do notes; various tweaks)
Line 34: Line 34:
==What is the workflow for modding?==
==What is the workflow for modding?==
The general order of events in creating a mod is (1) unpacking the resources you wish to edit, (2) editing them, and (3) re-packing them into Oni's level data. You can rely on the Anniversary Edition Installer to re-pack your data, which means that you just need to know how to create the kind of mod package that the AEI requires. If you are only creating a script mod, then you don't need to unpack any data, but you'll still need to know how to place your script(s) in a mod package.
The general order of events in creating a mod is (1) unpacking the resources you wish to edit, (2) editing them, and (3) re-packing them into Oni's level data. You can rely on the Anniversary Edition Installer to re-pack your data, which means that you just need to know how to create the kind of mod package that the AEI requires. If you are only creating a script mod, then you don't need to unpack any data, but you'll still need to know how to place your script(s) in a mod package.
'''''Add something here about how to find a given resource.'''''


===Data unpacking===
===Data unpacking===
Line 55: Line 53:


==Which resources should I be modding?==
==Which resources should I be modding?==
The data which Oni relies upon comes from scripts, game data (resources), and [[persist.dat]].
Oni assembles its game world from the scripts in the IGMD folder, game data in the .dat/.raw(/.sep) files in GameDataFolder, and [[persist.dat]]. It's easy to read the BSL scripts since they're plain-text, but how do you find the resource in the game data that you want to edit? Look under "Modding resources" below for a link to the XML database, which explains the function and location of each resource type.


===Editing scripts===
===Editing scripts===
Line 73: Line 71:


====Environments====
====Environments====
Levels are usually build in [[SketchUp tutorials and tips|SketchUp]].
Levels are usually built in [[SketchUp tutorials and tips|SketchUp]]. [[Blender]] can be used for levels, objects, characters and animations. Formerly we preferred to do that work in [[Mod Tool]], but the support for Blender is continuing to improve, so that it should completely replace Mod Tool as our modeler of choice around 2022.
 
[[Blender]] can be used for levels, objects, characters and animations. The support gets better and better so that it will completely replaces [[Mod Tool]] as an universal editor around 2022.


* tutorial: [http://oni.bungie.org/forum/viewtopic.php?id=2087 Creating the Lair - A level tutorial]
* Tutorial: [http://oni.bungie.org/forum/viewtopic.php?id=2087 Creating the Lair - A level tutorial]
* tutorial: [[Authoring custom camera animations]]
* Tutorial: [[Authoring custom camera animations]]


====Textures====
====Textures====
'''''Mention [https://www.gimp.org/ Gimp], Paint.NET.'''''
Modders have their own preference for which bitmap editor to use when editing/creating textures. On one end of the scale are expensive programs such as Photohop, and on the other end are free editors like [https://www.gimp.org/ Gimp] and [https://www.getpaint.net/ Paint.NET].


* tutorial: [[Modifying textures|Modifying textures (TXMP)]]
* Tutorial: [[Modifying textures|Modifying textures (TXMP)]]


====Characters====
====Characters====
[[Image:female_stun.jpg|right|thumb]]
[[Image:female_stun.jpg|right|thumb]]
Characters in Oni are built with a simple 19-part skeleton. This skeleton (TRIA) is usually the same for all humanoid characters and is just data how the 3D meshes (TRBS) are put together. You cannot really compare this with modern game industry's term of "skeleton". The meshes have individual textures (TXMP) stored in a list (TRMA). In its entireness a character is defined by his class file (ONCC) which links also to the animation list (TRAC).
Characters in Oni are built with a simple 19-part skeleton. This skeleton (TRIA) is usually the same for all humanoid characters and simply tells Oni how the 3D meshes (TRBS) are put together. You cannot really compare this with the modern game industry's use of the term "skeleton". The meshes have individual textures (TXMP) stored in a list (TRMA).


The high modularity of character data allows to share many resources between characters (especially animation collections and particle).
In its entirety, a character is defined by their class file (ONCC) which links also to the animation list (TRAC). The high modularity of character data allows Oni to share many resources between characters (especially animation collections and particles).


* '''tutorial: [http://oni.bungie.org/forum/viewtopic.php?id=2423 Adding character classes] (ONCC)'''
* Tutorial: [http://oni.bungie.org/forum/viewtopic.php?id=2423 Adding character classes] (ONCC)
* tutorial: [[Importing character models]] (TRBS)
* Tutorial: [[Importing character models]] (TRBS)
* tutorial: [[OBD_talk:TRAM|Tweak an individual animation (TRAM)]]
* Tutorial: [[OBD talk:TRAM|Tweak an individual animation]] (TRAM)
* tutorial: [[Adding spawnable characters|Adding spawnable characters to a level]] (CHAR)
* Tutorial: [[Adding spawnable characters|Adding spawnable characters to a level]] (CHAR)


Some cutscenes require the character to use OBANs to overcome obstacles. These OBANs usually have a partner TRAM. The positions from character's animation data have been outsourced to OBAN to avoid effects of gravity. (See Griffin's helicopter scene in last level.)
Some cutscenes require the character to use OBANs to overcome obstacles. These OBANs usually have a partner TRAM. The positions from character's animation data have been outsourced to OBAN to avoid effects of gravity. (See Griffin's helicopter scene in last level.)
Line 111: Line 107:


====Weapons====
====Weapons====
* tutorial: [[Importing weapon models]]
* Tutorial: [[Importing weapon models]]


====Text====
====Text====