|
|
Line 1: |
Line 1: |
| =History=
| | 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. |
| 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.
| | --Starter BSL links here-- |
|
| |
|
| 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.
| | --Starter OBD links here-- |
|
| |
|
| For a list of the scripts produced by the community, see [[:Category:Scripts]].
| | 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. |
| | |
| ==Binary modding==
| |
| 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.
| |
| | |
| 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.
| |
| | |
| 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.
| |
| | |
| 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.
| |
| | |
| 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.
| |
| | |
| OniSplit and "delta" patches form the core of the [[Anniversary Edition]], a project scheduled for release in summer 2008.
| |
| | |
| | |
| ----
| |
| | |
| =Current perspectives=
| |
| This is mostly related to the Anniversary Edition, as it is the single most promising opportunity for modders ATM.
| |
| ==Upgraded content==
| |
| 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.
| |
| | |
| Another challenge is to add reflectivity channels to all the "metallic" parts (characters, objects, environment).
| |
| ==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.
| |
| | |
| (Ninja Comguys, BGI executives, cyborg enforcers, WCG troops... you name it: it's almost easy - if you're creative)
| |
| ==Scripting==
| |
| 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:
| |
| *either for more savepoints throughout a mission (possibly a lot harder)
| |
| *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).
| |