Jump to content

Introduction to modding: Difference between revisions

→‎Scripting: making writeup less unreadable
m (→‎Binary modding: do you just forget what you called the pages, or what? *sigh*)
(→‎Scripting: making writeup less unreadable)
Line 2: Line 2:
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.
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==
==Scripting==
Being text-based, human-readable definitions of level logic, [[BSL]] scripts 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, which explains why no "expert scripters" have produced a consistent "course on BSL" yet.
[[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 (just as cloned enemies, as in Titan Mode); "tournaments" (with epic encounters one after another and not much of a plot ("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.
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.


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.
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.


For a list of the scripts produced by the community, see [[:Category:Scripts]].
For a list of the scripts produced by the community, see [[:Category:Scripts]].


==Binary modding==
==Binary modding==