Jump to content

Introduction to modding: Difference between revisions

adding new section on how mods are made
(→‎Introduction to types of modding: linking to persist.dat in lede since we don't discuss it here; reorganization of subsections; describing "levels" more accurately as "environments")
(adding new section on how mods are made)
Line 35: Line 35:


*Go to [[Oni (folder)]] for information on each file, or;
*Go to [[Oni (folder)]] for information on each file, or;
*Go to [[Game data terminology]] to learn the precise terms for Oni's data, or;
*Continue reading to learn about the types of modding you can perform.
*Continue reading to learn about the types of modding you can perform.


==Introduction to types of modding==
==Introduction to the modding workflow==
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. These days, you can rely entirely 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.
 
===Data unpacking===
The game data cannot be edited easily until our tools convert it into something more modder-friendly. Thus you will usually start by using [[OniSplit]] to break level data files (a .dat file supplemented by a .raw file, and on the Mac a .sep file as well) into their component resources (.oni files), then converting those resources into something editable. The editable format you arrive at will depend on the kind of data you're editing. It might be plain-text, XML, PNG, Collada, WAV, etc.
 
===Third-party tools===
If you are scripting, then you might need nothing more than a text editor. For editing textures, you might only need a free bitmap editor. For creating levels or characters, you'll need a full 3D modeling package. Thankfully, since Oni is graphically primitive, you won't need to know as much about modeling as with a modern game, and there are free modelers available (but not as good as the commercial ones). Our recommendations for tools will be found under the appropriate subsections of "Modding resources", below.
 
===Community tools===
''Talk about scripting assistants and other tools we've made, and which are available from within the AEI.''
 
===Mod creation===
To see how mods normally look and how they are distributed and installed, you should download the [[Anniversary Edition]] and choose to install some mods. You can then look at the packages that have been downloaded to AE/packages/. See [[Making a mod package]] for full instructions.
 
==Introduction to areas of modding==
The data which Oni relies upon comes from scripts, game data (resources), and [[persist.dat]].
The data which Oni relies upon comes from scripts, game data (resources), and [[persist.dat]].


Line 50: Line 66:
===Modding resources===
===Modding resources===
Broadly speaking, Oni's resources can be broken down as: '''environments''' (architecture, triggers, and furniture), '''characters''' (class data, models), '''weapons''' (ditto), '''text''' (diary, objectives, subtitles, etc.), and '''sound''' (music, voice-overs, and sound effects). However, new levels do not require all this data to be made from scratch. You might decide to re-use a level or some of its resources, or make a new level populated with existing characters, etc.
Broadly speaking, Oni's resources can be broken down as: '''environments''' (architecture, triggers, and furniture), '''characters''' (class data, models), '''weapons''' (ditto), '''text''' (diary, objectives, subtitles, etc.), and '''sound''' (music, voice-overs, and sound effects). However, new levels do not require all this data to be made from scratch. You might decide to re-use a level or some of its resources, or make a new level populated with existing characters, etc.
The game data cannot be edited easily until our tools convert it into something more modder-friendly. The basic process of modding game data involves breaking the level data (a .dat file supplemented by a .raw file, and on the Mac a .sep file as well) into its component resources (.oni files), then converting those resources into something editable. The editable format depends on the kind of data you're editing. It might be plain-text, XML, PNG, Collada, WAV, etc.
Thus, besides our community modding tools, the program(s) you need in order to mod will vary according to your modding task; you might need nothing more than a text editor, you might need a free bitmap editor, or you might need a full 3D modeling package. Thankfully, since Oni is graphically primitive, you won't need to know as much about modeling as with a modern game, and there are free modelers available (but not as good as the commercial ones). In any case, make sure you download the [[Anniversary Edition]], which provides a modding framework and installs modding tools.


*Go to the [[XML]] namespace to get a plain-English introduction to the types of game data and learn the (relatively) user-friendly XML modding technique, or;
*Go to the [[XML]] namespace to get a plain-English introduction to the types of game data and learn the (relatively) user-friendly XML modding technique, or;