Introduction to modding: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(→‎Scripting: making writeup less unreadable)
(48 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=History=
{{finish}}
This is a sorta historical overview of Oni modding, that also offers some insight in the basic elements of modding and into the potentials and perspectives.
==Scripting==
[[BSL]] scripts are text-based, human-readable definitions of level logic, and so they were the very first way that Oni was modded by fans. The lack of documentation was somewhat compensated by the possibility to rip the names and descriptions of the [[BSL:keywords|keywords]] and [[BSL:preset|preset]] [[BSL:variables|variables]] and [[BSL:functions|Functions]] from the engine. Despite the popularity and relative ease of scripting, BSL tutorials and guides have remained virtually non-existent for years, so that scripters are largely self-taught. Also, BSL is perhaps the most bug-ridden piece of Oni's engine. This starts explaining why no "expert scripters" have produced a consistent "course on BSL" yet.


One could point out three popular classes of scripts: original level logic with minor changes (e.g., cloned enemies, as in The Immortality or Titan Mode); "tournaments" (epic encounters one after another and not much of a plot, like "Mountain Rally", "Tournament in Real Time"); totally new objectives and mission layouts (e.g., Mariachi Bear's alternate storyline). Those last ones are typically more elaborate, but fully original scripts are all the more prone to bugs. The first two are easier to set up, but extreme situations tend to overload the engine (as in [[Blam]]!) in ways that the scripters usually don't control.
This page provides an introduction to modding that does not assume that you have prior modding experience or knowledge of the Oni engine. Links to more technical parts of the wiki are interspersed below or can be accessed directly from the wiki's Main Page.
{{TOClimit}}


Generally, scripts tend to suffer from lack of thorough testing and insufficient knowledge of BSL. BSL's variables and functions allow for some creative scripting (Oni Menu, [[OTA]]), but in the absence of binary modding, they are limited to the resources that an original level has to offer, which are intended for the original missions and may not be suited for much else. Then again, people often script "just for fun", with little or no commitment to debugging or support, so the limitations of BSL-only modding are easily overlooked.
==Introduction to modding==
[[Image:No_easy_button.png|150px|right]]
Modifying, or "modding", a game is generally easier than creating one, because you might only be changing some of the game's existing elements, or creating a limited amount of new data. Nevertheless, modding can be an intimidating field to get into. Our community does not have the polished modding tools of the big engines like Unreal (but we're getting better). You should have a [[wiktionary:DIY|DIY]] personality and a high tolerance for technical details. If this page seems like a chore to read, for instance, then you are definitely not ready for Oni modding :-) We do not yet have any modding solutions with a big red button that says "easy".


For a list of the scripts produced by the community, see [[:Category:Scripts]].
Like learning a new language, modding your first game is always the hardest, but after that you can more easily pick up new ones. If you take things one step at a time, you can learn a lot from Oni about how to make games in general; in fact, many game developers started out as modders. Additionally, there are lots of different ways for someone to mod; whether your interest is in coding, art, sound, 3D modeling, or general game design, there's something for you to do, and collaborating with others to divide the work according to your abilities can lead to a memorable, rewarding creative experience.


==Binary modding==
*Go to the {{OMD}} to see what kinds of mods are available, or;
Soon enough it became clear (to some of us, at least) that scripts alone would not allow us to design radically new single-player missions. Entities like [[OBD:BINA/OBJC/TRGV|trigger volumes]] or [[OBD:BINA/OBJC/CHAR|character descriptions]], for example, were originally designed and fine-tuned in parallel with the scripts. The interplay is such that modders with 100% original ideas typically have to mod the binary resources to adapt them to their scripts. The first one to have consistently done so is [[User:Loser|Loser]], with a massively reshuffled Warehouse. Loser's Warehouse mod included a global component (modified level0_Final), level-specific binary modifications, and highly custom scripts that took full advantage of the modified binaries.
*Install the [[Anniversary Edition]] to try out the mods, or;
*Continue reading to get an overview of the game engine.


Minor binary modding had already occurred before Loser's Warehouse (thus, while compiling the [[OBD]] database, ssg had released a version of level0_Final in which all of Konoko's combos were unlocked). Still, it was the Warehouse mod which first showed the "full" potential of binary modding. It inspired a short-lived initiative called the [[OBD:BIP|Binary Improvement Project]], aimed at providing upgraded binaries for all levels, not just level0_Final and level1_Final. BIP was hindered by large upload/download sizes as well as by the potential legal issues and was promptly put in standby.
==Introduction to the Oni engine==
Oni runs on a custom engine that Bungie could build for both Windows and the Macintosh (later, PlayStation 2 support was added, however console games are not easily modded, so we do not work with the PS2 version of Oni). At the time development started, Bungie did not yet have a true 3D engine, and Oni's lead coders intended their work to be reused in future cross-platform Bungie titles, so the engine is separated into a lower layer of general-purpose game code called BungieFrameWork (usually referred to as simply '''BFW'''), and an upper layer called '''Oni''' with Oni-specific code. The engine also consists of various subsystems, some of which have colorful animé-related names like [[wikipedia:Akira (film)|Akira]] (environment), [[wikipedia:Motoko Kusanagi|Motoko]] (graphics), and [[wikipedia:My Neighbor Totoro|Totoro]] (animation).


An equally short-lived alternative to supplying whole levels was developed in the form of [[OUP]]-based patches and was termed Oni ni Kanabô. The modder would edit his DAT/RAW files in [[OUP]], and then release a single binary resource. This was both bandwidth- and legalese-friendly, but suffered from one major limitation: the indexation of DAT resources and the offsets of RAW data vary a lot across the available versions of Oni. Thus, resources exported with OUP were not truly standalone or portable. Also, OUP still lacked the feature or generating or importing new resources alongside existing ones.
Unfortunately, the game was rushed to completion during a change of ownership, and it was not possible for the developers to release any tools or information to aid the fans in modding. The game data also reflects Oni's rocky development, being assembled somewhat haphazardly, containing unused and duplicate resources, and also missing a number of resources that the engine looks for during gameplay. One good thing that can be said about the engine is that it is solid enough to run smoothly over top of the errors that it regularly encounters in the data. That being said, it's easy to crash the engine when modding, as is the case with all game engines.


The advent of [[OniSplit]] marked a radical improvement. OniSplit decomposes Oni's data in truly standalone and portable modules, which can be recombined, cloned, or even generated from editable objects like (re)authored textures or meshes. The .oni modules, which only link to each other by name, can be arranged as the modder sees fit and then merged into Oni-ready level files by OniSplit, which handles duplicates, exceptions etc in a rather foolproof way.
Due to the lack of modding tools/information at the time of Oni’s release, fans had to explore the wild jungle of raw game data and create modding tools through reverse-engineering. It took over seven years to unlock most of the game's secrets –- and the work is still ongoing. But to make a long story short, we can now mod almost all types of data effectively, allowing us to create entirely new levels and characters. Now we're turning our focus to making tools that are user-friendly so artists can work more freely.


Since the .oni files are largely independent of the user's version of Oni, a modder can distribute .oni modules which the user merges into his local installation. However, when the modules correspond to slightly modified original content (and thus fall under IP protection), an alternative is to distribute so-called "deltas": patches that check the integrity of the original module on the user's side and then upgrade it to the same state as intended by the modder.
Altogether, we have identified over 100 types of resources (often called "file types" on this wiki, and "tags" in many other game modding communities) in the game data, however we only directly edit about half of these. It may sound intimidating at first, but depending on the kind of modding you want to do, you might be able to start working with only a little knowledge of the engine.


OniSplit and "delta" patches form the core of the [[Anniversary Edition]], a project scheduled for release in summer 2008.
*Go to [[Oni]] for the full story on Oni's development, or;
*Go to [[History of Oni modding]] to read about the community's accomplishments up until now, or;
*Continue reading to learn about the game data files.


==Introduction to the game data==
A game can be compared to a theater play: in both cases, you have <u>stages</u>, <u>actors</u>, <u>scripts</u>, and <u>music</u>. A level is built so that when the player performs certain actions or reaches certain locations on the <u>stage</u>, further events are set in motion according to the <u>script</u>. The player is told what to do through various textual instructions, cutscenes, and/or voice acting (more <u>scripts</u>), and he interacts with [[wikipedia:Artificial intelligence (video games)|AI]] <u>actors</u>. <u>Music</u> will often play dynamically behind all this, changing along with the flow of events.


----
In Oni's case, the <u>stages</u>, <u>actors</u>, and <u>music</u> (and other sounds) are all packed together into files inside GameDataFolder/ that end in ".dat", ".raw", and, on Macs, ".sep". The level0_Final data files provide resources for all levels, and when you load a Chapter, an additional set of data files provide the level-specific resources for that Chapter (e.g. level12_Final for Chapter 10). The <u>scripts</u> are stored in separate, plain-text files ending in ".bsl", in GameDataFolder/IGMD/. The player's progress is stored in persist.dat, next to the Oni application.


=Current perspectives=
*Go to [[Oni (folder)]] for information on each file, or;
This is mostly related to the Anniversary Edition, as it is the single most promising opportunity for modders ATM.
*Go to [[Game data terminology]] to learn the precise terms for Oni's data, or;
==Upgraded content==
*Continue reading to learn the general process of modding.
High-resolution textures are highly welcome as well as a redesign of critically ugly things (such as Muro's face).


The environment could do with less dull colors, and the character textures have far too much compression/dithering.
==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.


Another challenge is to add reflectivity channels to all the "metallic" parts (characters, objects, environment).
'''''Add something here about how to find a given resource.'''''
==New content==
Oni characters have a modular design one can take advantage of, by "swapping bones" and authoring all-new textures.


One can thus create entities more or less closely related to Oni's original ones, possibly with new storyline roles.
===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.


(Ninja Comguys, BGI executives, cyborg enforcers, WCG troops... you name it: it's almost easy - if you're creative)
===Third-party tools===
==Scripting==
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.
Reshuffled or upgraded binaries are worthless without some genuinely inventive level logic.


For one thing, Oni's levels allow for 10 savepoints each, which allows:
===Community tools===
*either for more savepoints throughout a mission (possibly a lot harder)
'''''Talk about scripting assistants, XmlTools, Vago, and other tools we've made, and which are available from within the AEI.'''''
*or savepoints that "revisit" a level (alternate missions and storylines)
*or non-mission savepoints like [[Oni Team Arena]] (and other such things)


It is also essential to set up innovative patrol paths (redeeming stealth).
===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/AEInstaller/packages/.
 
*Go to [[OniSplit]]'s page to learn how to unpack and reassemble the game data, or;
*Go to [[XmlTools]]' page to learn how to smartly alter the game data during mod installation, or;
*Go to [[Making a mod package]] to learn how to assemble a mod, or;
*Continue reading to learn about the types of modding you can perform.
 
==Introduction to areas of modding==
The data which Oni relies upon comes from scripts, game data (resources), and [[persist.dat]].
 
===Editing scripts===
The easiest kind of modding is scripting. Scripts are written in the BFW Scripting Language and stored as plain-text files with the suffix .bsl in the sub-folders inside GameDataFolder/IGMD/. Scripts take a lifeless level and spawn characters in it (Konoko and the AI-driven [[wikipedia:Non-player_character|NPC]]s), give the level a logical flow of events, drive cutscenes, make the AIs play certain roles, and alter the level's appearance.
 
Scripting is the easiest way to mod because you can work with existing game data, and only have to modify BSL files using a text editor. It's quick and easy to see the results of your work (just reload the level), and you have lots of accessible examples to learn from (14 levels' worth!). That being said, scripts sometimes reference game resources in technical ways, so you will have to learn how certain data types work in order to script effectively.
 
*Go to the [[BSL]] namespace to start learning about scripting, or;
*Continue reading to learn what's involved with editing 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 pages, 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.
 
*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 [[OBD]] namespace to learn more technical details about the game data, or;
*Continue reading to start down the path to modding specific kinds of resources.
 
====Environments====
'''''Talk about AKEVs and related data here. Mention Mod Tool, [[SketchUp_tutorials_and_tips|SketchUp]].'''''
 
* tutorial: [[AE:Authoring_custom_camera_animations]]
 
====Textures====
'''''Mention [http://www.gimp.org/ Gimp], Paint.NET.'''''
 
* tutorial: [[AE:Modifying textures|Modifying textures (TXMP)]]
 
====Characters====
Characters in Oni are built with a simple 19-part skeleton. '''''Talk about ONCCs and related data here. Mention [[Mod Tool]], [[User:Iritscen/BlenderTutorial|Blender]].'''''
 
* tutorial: [[Importing_character_models|Importing character models (TRBS)]]
* tutorial: [[Adding_spawnable_characters|Adding spawnable characters to a level (CHAR)]]
* tutorial: [[Adding_character_classes|Adding character classes (ONCC)]]
{| border=0 cellspacing=20 cellpadding=0 style="float:right"
| [http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XSI_modding/RAICOMthrow_fw_kick.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XSI_modding/RAICOMthrow_fw_kick_TN.png]
''An "appetizer screenshot".''
|}
* tutorial: [[OBD_talk:TRAM|Tweak animation (TRAM)]]
 
'''''Talk about OBANs and TRAMs here. Mention Mod Tool.'''''
 
: 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 variant need to be set. For all I know this works with animations exported from Oni and modified in Softimage. If you come up with a completely new animation it should work as long as the skeleton is similar to the one used in Oni.
 
====Weapons====
* tutorial: [[Importing_weapon_models]]
 
====Text====
As long as you don't confuse IDs of instances and stick to the structure, these types shouldn't pose a problem.
 
Important text-related file type are:
* [[XML:OPge|XML:OPge (Objective page)]]
* [[XML:DPge|XML:DPge (Diary page)]]
* [[XML:WPge|XML:WPge (Weapon page)]]
* [[XML:TxtC|XML:TxtC (Text Console)]]
 
Less important (rarely used) file:
* [[XML:SUBT|XML:SUBT (Subtitles)]]
 
Not important:
* [[XML:HPge|XML:HPge (Help page)]]
* [[XML:IGHH|XML:IGHH (Explains HUD elements)]]
 
====Sound and Music====
* Instructions on importing sounds and links to conversion tools can be found [[XML:SNDD|HERE]].
 
==Need some inspiration?==
To get ideas, play some existing mods (which you can install with the [[AE]]), or look at the pages below.
* [[Modding brainstorms]]
* [[Review criticisms]]
* [[Animation ideas]]
 
[[Category:Modding tutorials]]

Revision as of 03:58, 3 December 2015

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.

This page provides an introduction to modding that does not assume that you have prior modding experience or knowledge of the Oni engine. Links to more technical parts of the wiki are interspersed below or can be accessed directly from the wiki's Main Page.

Introduction to modding

No easy button.png

Modifying, or "modding", a game is generally easier than creating one, because you might only be changing some of the game's existing elements, or creating a limited amount of new data. Nevertheless, modding can be an intimidating field to get into. Our community does not have the polished modding tools of the big engines like Unreal (but we're getting better). You should have a DIY personality and a high tolerance for technical details. If this page seems like a chore to read, for instance, then you are definitely not ready for Oni modding :-) We do not yet have any modding solutions with a big red button that says "easy".

Like learning a new language, modding your first game is always the hardest, but after that you can more easily pick up new ones. If you take things one step at a time, you can learn a lot from Oni about how to make games in general; in fact, many game developers started out as modders. Additionally, there are lots of different ways for someone to mod; whether your interest is in coding, art, sound, 3D modeling, or general game design, there's something for you to do, and collaborating with others to divide the work according to your abilities can lead to a memorable, rewarding creative experience.

  • Go to the Oni Mod Depot to see what kinds of mods are available, or;
  • Install the Anniversary Edition to try out the mods, or;
  • Continue reading to get an overview of the game engine.

Introduction to the Oni engine

Oni runs on a custom engine that Bungie could build for both Windows and the Macintosh (later, PlayStation 2 support was added, however console games are not easily modded, so we do not work with the PS2 version of Oni). At the time development started, Bungie did not yet have a true 3D engine, and Oni's lead coders intended their work to be reused in future cross-platform Bungie titles, so the engine is separated into a lower layer of general-purpose game code called BungieFrameWork (usually referred to as simply BFW), and an upper layer called Oni with Oni-specific code. The engine also consists of various subsystems, some of which have colorful animé-related names like Akira (environment), Motoko (graphics), and Totoro (animation).

Unfortunately, the game was rushed to completion during a change of ownership, and it was not possible for the developers to release any tools or information to aid the fans in modding. The game data also reflects Oni's rocky development, being assembled somewhat haphazardly, containing unused and duplicate resources, and also missing a number of resources that the engine looks for during gameplay. One good thing that can be said about the engine is that it is solid enough to run smoothly over top of the errors that it regularly encounters in the data. That being said, it's easy to crash the engine when modding, as is the case with all game engines.

Due to the lack of modding tools/information at the time of Oni’s release, fans had to explore the wild jungle of raw game data and create modding tools through reverse-engineering. It took over seven years to unlock most of the game's secrets –- and the work is still ongoing. But to make a long story short, we can now mod almost all types of data effectively, allowing us to create entirely new levels and characters. Now we're turning our focus to making tools that are user-friendly so artists can work more freely.

Altogether, we have identified over 100 types of resources (often called "file types" on this wiki, and "tags" in many other game modding communities) in the game data, however we only directly edit about half of these. It may sound intimidating at first, but depending on the kind of modding you want to do, you might be able to start working with only a little knowledge of the engine.

  • Go to Oni for the full story on Oni's development, or;
  • Go to History of Oni modding to read about the community's accomplishments up until now, or;
  • Continue reading to learn about the game data files.

Introduction to the game data

A game can be compared to a theater play: in both cases, you have stages, actors, scripts, and music. A level is built so that when the player performs certain actions or reaches certain locations on the stage, further events are set in motion according to the script. The player is told what to do through various textual instructions, cutscenes, and/or voice acting (more scripts), and he interacts with AI actors. Music will often play dynamically behind all this, changing along with the flow of events.

In Oni's case, the stages, actors, and music (and other sounds) are all packed together into files inside GameDataFolder/ that end in ".dat", ".raw", and, on Macs, ".sep". The level0_Final data files provide resources for all levels, and when you load a Chapter, an additional set of data files provide the level-specific resources for that Chapter (e.g. level12_Final for Chapter 10). The scripts are stored in separate, plain-text files ending in ".bsl", in GameDataFolder/IGMD/. The player's progress is stored in persist.dat, next to the Oni application.

  • 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 the general process 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.

Add something here about how to find a given resource.

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, XmlTools, Vago, 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/AEInstaller/packages/.

  • Go to OniSplit's page to learn how to unpack and reassemble the game data, or;
  • Go to XmlTools' page to learn how to smartly alter the game data during mod installation, or;
  • Go to Making a mod package to learn how to assemble a mod, or;
  • Continue reading to learn about the types of modding you can perform.

Introduction to areas of modding

The data which Oni relies upon comes from scripts, game data (resources), and persist.dat.

Editing scripts

The easiest kind of modding is scripting. Scripts are written in the BFW Scripting Language and stored as plain-text files with the suffix .bsl in the sub-folders inside GameDataFolder/IGMD/. Scripts take a lifeless level and spawn characters in it (Konoko and the AI-driven NPCs), give the level a logical flow of events, drive cutscenes, make the AIs play certain roles, and alter the level's appearance.

Scripting is the easiest way to mod because you can work with existing game data, and only have to modify BSL files using a text editor. It's quick and easy to see the results of your work (just reload the level), and you have lots of accessible examples to learn from (14 levels' worth!). That being said, scripts sometimes reference game resources in technical ways, so you will have to learn how certain data types work in order to script effectively.

  • Go to the BSL namespace to start learning about scripting, or;
  • Continue reading to learn what's involved with editing 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 pages, 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.

  • 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 OBD namespace to learn more technical details about the game data, or;
  • Continue reading to start down the path to modding specific kinds of resources.

Environments

Talk about AKEVs and related data here. Mention Mod Tool, SketchUp.

Textures

Mention Gimp, Paint.NET.

Characters

Characters in Oni are built with a simple 19-part skeleton. Talk about ONCCs and related data here. Mention Mod Tool, Blender.

RAICOMthrow_fw_kick_TN.png

An "appetizer screenshot".

Talk about OBANs and TRAMs here. Mention Mod Tool.

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 variant need to be set. For all I know this works with animations exported from Oni and modified in Softimage. If you come up with a completely new animation it should work as long as the skeleton is similar to the one used in Oni.

Weapons

Text

As long as you don't confuse IDs of instances and stick to the structure, these types shouldn't pose a problem.

Important text-related file type are:

Less important (rarely used) file:

Not important:

Sound and Music

  • Instructions on importing sounds and links to conversion tools can be found HERE.

Need some inspiration?

To get ideas, play some existing mods (which you can install with the AE), or look at the pages below.