OniGalore:Current events: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(→‎BSL tutorial(s): all commands created so far should have accurate info now)
(→‎Cancelled sequel: linking to new OBD page for Oni2AS)
(30 intermediate revisions by the same user not shown)
Line 9: Line 9:
:''If you're not familiar with wikis, see [[OniGalore:About]]. If you're not confident about editing a wiki, see [[Help:Editing]].''
:''If you're not familiar with wikis, see [[OniGalore:About]]. If you're not confident about editing a wiki, see [[Help:Editing]].''


These are only suggestions, although some are more obviously needed than others. Whatever in this list looks interesting to you, feel free to tackle it, even if you only have a little time here and there. However, if you are leaving a project half-done until you can resume it, please note that under the item in this list.
Here are some ongoing projects, and ideas for projects, on the wiki. Whatever in this list looks interesting to you, feel free to tackle it, even if you only have a little time here and there. However, if you are leaving a project half-done until you can resume it, please note that under the item in this list.


Thanks for whatever you can do to contribute.
Thanks for whatever you can do to contribute.
{{TOClimit}}


==General wiki work==
==General wiki work==
*Look at the list of [[:Category:Flagged articles|flagged articles]] and see if there's anything you can help out with. There are a number of articles which need to be updated or finished.
*Look at the list of [[:Category:Flagged articles|flagged articles]] and see if there's anything you can help out with. There are a number of articles which need to be updated or finished.
*Just browse [[Special:Wantedpages]], and pick an interesting topic to write about!
*Just browse [[Special:Wantedpages]], and pick an interesting topic to write about!
*Categorize our [[:Category:Media|images]] of the different enemy classes and characters into the appropriate sub-categories of [[:Category:Factions]] and [[:Category:Characters]]. The classes that still need pictures to be categorized under them are the Syndicate's [[:Category:Strikers|Strikers]], [[:Category:Elite Strikers|Elite Strikers]], and [[:Category:Tankers|Tankers]], and the TCTF's [[:Category:Cops|Cops]], [[:Category:Troopers|Troopers]], [[:Category:SWAT Troopers|SWAT Troopers]], [[:Category:Black Ops|Black Ops]] and [[:Category:SWAT Black Ops|SWAT Black Ops]], and under the WCG category we need to tag pictures of [[:Category:Mercenary Snipers|Mercenary Snipers]], [[:Category:Thugs|Thugs]], [[:Category:Civilians|Civilians]], [[:Category:Scientists|Scientists]], and [[:Category:Security Guards|Security Guards]].
*Images hosted on other domains should be localized (uploaded to this wiki, and the external links changed to point to our local copies) to protect against the external sites going down. As a secondary priority we should also copy over images that are currently hosted on other subdomains of oni2.net; though these are less likely to go away, there is no way for the subdomain owner to know whether their images are being linked to if they suddenly get the urge to do some spring cleaning on their account.
==External link review==
Help us fight against [[wiktionary:linkrot|link rot]] by correcting bad links that have been found by our automated script. The latest report on bad links will always be found '''[http://iritscen.oni2.net/val/ValExtLinks%20report.htm here]'''.
===How to fix bad links===
*In most cases, fixing an [[wikipedia:List_of_Japanese_Latin_alphabetic_abbreviations#N|"NG"]] link will mean finding the desired web page in the [http://www.archive.org Internet Archive] and linking to that archived page instead. In some cases, an "NG" link will not be recoverable and should be surrounded in nowiki tags [[Special:Diff/16377/26212|like this]] to prevent it from showing up in future reports.
*A link marked as "RD" is redirecting us to a new page. The new page should be evaluated, and if it has the content we intended to link to then we should update the link to point to the new location.
*A link marked as "IW" is an external link that could be an [[Help:Editing#Interwiki_links|interwiki link]]. Interwiki links are shorter and more resistant to rot. The suggested interwiki link markup will be given in the report. For Wikipedia, you can add a language code in order to link to a page in a specific language, e.g. <nowiki>[[wikipedia:de:Test]]</nowiki>.
*A link marked as "EI" is an external link to a page on our own wiki that could simply be an [[Help:Editing#Intrawiki_links|intrawiki link]].
**Sometimes an "external internal" may seem to be necessary; for instance you may wish to link to a specific version of a page, which used to require putting the full URL, [http://wiki.oni2.net/w/index.php?title=Oni&oldid=7685 like this]. In fact, there's no need to link to any page at all, as the "id" of an edit, like the one you see in that sample URL, is unique wiki-wide. All you need to do is plug the edit ID into the Permalink page [[Special:Permalink/7685|like this]], and you're done (you'll notice that the preceding link says "Special:Permalink" in the wikitext, but "Permalink" is actually a shortcut for "PermanentLink", so that's how it shows up for the reader).
**Sometimes you need to link to a diff between two revisions of a page, or between two different pages. In this case you plug the old and new revision numbers into the "Special:Diff" page [[Special:Diff/21491/21492|like this]] (no need for page IDs, as explained above).
*Some links simply have to be the way that they are, or return superfluous error codes and actually work fine. These links can be listed in the [http://iritscen.oni2.net/val/exceptions.txt exceptions file] in order to hide them in future reports. Contact Iritscen to have him add new exceptions to this list.
===Background===
While MediaWiki makes it easy to find bad links to pages on our own wiki, marking them in red and providing tools like Wantedpages, there is no automatic check of external links. MediaWiki compiles all these links into a table, but it does not ping the URLs to see if they give any response. The most you are allowed to do is [[Special:LinkSearch|search]] through the links table, and even that isn't implemented well. Over the years, many links on our wiki have gone dead as the Web has changed and various file hosts have gone out of business.
So [[User:Iritscen|Iritscen]] has implemented an automated solution that will help us catch these problems more easily; a human hand will still be needed to fix the problems. Here's how it works: every day, a script written by [[User:Admin|Alloc]] dumps the wiki's external links table to [http://wiki.oni2.net/w/extlinks.csv this location]. Iritscen's Validate External Links script then walks through the table and looks for URLs that return problematic codes like 404. It will also detect other problems in the future. The script and related files are found [http://websvn.chrilly.net/listing.php?repname=Oni2&path=%2FValidate+External+Links%2F here].
===Coming features===
*It seems that many external links no longer display the content that they were intended to display. In many cases, web sites are silently redirecting the user to their main page without using the appropriate code that indicates the content was not found. Only visual inspections of the pages can catch these issues. Once we have dealt with the low-hanging fruit of pages that return "NG" codes, the screenshot feature in the script will be activated, which will allow us to easily confirm if the "OK" links (and snapshots from the Internet Archive) are actually loading the intended page.
==PlayStation 2 port==
The community has always tended to overlook the PlayStation 2 port of the game, for fairly obvious reasons -- it doesn't play as well, and it's impractical to mod a disc-based console game. Nevertheless, we ought to have a page like [[PS2 Oni vs. PC Oni]], modeled on [[Windows Oni vs. Mac Oni]], which explains the differences in PS2 Oni from Win/Mac Oni. We should also devote at least a tiny amount of research to the contents of the game data. Might some unexpected resources be in there? First we need to know how to read the game data. Based on a cursory examination, resources were moved around and re-packed, but one would expect that the basic binary format of the tags has not changed. Thus, it would be nice to have a page like [[OBD:PS2]] that gives at least a high-level view of the binary data (e.g., how the .dat files are now packed).
==Cancelled sequel==
If you have some hacking skills, please look at [[Talk:Oni 2 (Angel Studios)]] and [[OBD:Oni2AS]] to see if you can answer any outstanding questions or contribute new information.


==Improving the documentation==
==Improving the documentation==
===BSL tutorial(s)===
===Modding introduction===
Despite its relative simplicity, [[BSL]] is vastly under-documented. Most of the stuff is well-known to experts, but designing a comprehensive guide that will get novice scripters started and keep them going requires didactic skills and ''lots'' of patience. Long-term goals are: a cross-referenced set of mini-tutorials that document the functions and variables in a standalone way (see, e.g., [[ai2_allpassive]]); maybe a functional breakdown of an original script (see [[BSL:Tutorial/airport1_level_logic.bsl|HERE]]); and redirects so that typing the name of the variable/function in the Go/Search box leads to just the right place.
[[Modding Oni]] has a number of notes on it about parts that need to be filled in.
:I am putting into effect soon a plan that will fulfill some of geyser's old goals for the BSL part of the wiki:
 
:*I will be making the above-mentioned mini-tutorials for the BSL "commands" (variables + functions) that center around a certain topic. I have plans to make about 30 pages, which will be listed soon. However I currently have no plans to actually write the kind of thorough tutorials that geyser would have made; instead, I am just going to port all of the var/func info to the [[Template:BSLvarinfo|var]] and [[Template:BSLfuncinfo|func]] templates that I made (using templates means that we can easily tweak the display of all commands' information later, if anyone is not enamored with the [[User:Iritscen/TestSpace|current design]]). I will also bring over any small notes on the funcs/vars that I find laying around the wiki. But there won't be a comprehensive write-up on how exactly to use each one. The main goal is just to group all commands by subject matter, so I am calling these the "grouped" pages.
===BSL tutorials===
:*Pages will be created for every function and variable. Viewing a page for a single command should give you the standard template display of the command's information, but there should also be a redirect link that goes to the grouped page, so you can view the command's documentation in context.
A project to document the built-in BSL commands is underway. This will replace the [[BSL:Functions]] and [[BSL:Variables]] pages with a more organized and natural system:
:*A new page (originally to be called "BSL:Reference", but probably now going to be called something else; maybe "BSL:List of built-in commands"?) will list all functions and variables together. It will be sortable by name, group (subject matter), type (func or var), and platform availability (Win/Mac), but will not contain any other info on the commands. It's just intended as a quick reference. You will be able to click the name of any command to go to the grouped page that discusses it in the context of related commands. This table will hopefully be built automatically from the information entered elsewhere (sample [[User:Iritscen/TestSpace2|here]]).
# A single, master list of all functions and variables at [[BSL:List of built-in commands]] ("BSL:List" is a shortcut that redirects there). No longer will we have to browse two pages at once when we're trying to find a command but don't remember if it's a variable or function. The list is sortable by name, group, kind (function or variable), and platform availability, but does not contain any other info on the commands. It's just intended as a quick reference. You can click the group name for any command to go to the grouped page that discusses it in the context of related commands.
:*When this is done, BSL:Functions and BSL:Variables will be replaced by messages that redirect the reader to the instructions for using functions/variables on [[BSL:Manual]], or else the command list on the "Reference" page, whichever they are looking for. No longer will we have to browse two pages at once while trying to find a command we're thinking of but can't remember if it is a variable or function.
# Grouped pages which discuss all the functions/variables related to a certain task. This is where the detailed coverage of commands will be found. See [[BSL:AI activity]] for an example.
:If anyone has any questions or concerns, either now or as I perform the work and things start to take shape, I guess we can just talk about it here (I will clear the talk when the project is done). If it's not clear what I am proposing, I will have a fuller "demo" available in the next few days that shows how the system is supposed to work. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:06, 7 December 2015 (CET)
# Each command will also have its own page, so typing in the name of that command, e.g. "ai2_active", in the Go/Search box will take you to a page that allows you to either edit the basic information about that command or to visit its group's page.
 
The master list, the grouped pages, and the individual command pages are all dynamically interlinked (the system is explained [[BSL:Grouping|here]]). When I am done porting all commands to the new templates and creating all the grouped pages, BSL:List will automatically be completed, and the BSL:Functions and BSL:Variables pages will be replaced by messages that direct the reader to BSL:List and to the instructions for using functions/variables on [[BSL:Manual]].
 
I regret that the complex nature of the documentation system probably makes it feel difficult to contribute to, but it actually isn't as complicated as it seems, so if you would like to contribute, just let me know about any questions you have. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:59, 11 May 2017 (CEST)


::The demo is in progress, but not working yet.... --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 19:49, 8 December 2015 (CET)
:Progress report: {{#expr:{{PAGESINCAT:BSL functions}}+{{PAGESINCAT:BSL variables}}}}/504 commands, {{PAGESINCAT:Scripting tasks}}/38 groups done.
::The demo is now working fully for a few commands, though the actual page formatting is still rough<s>, I haven't finished handling the platform info yet, I have a big mess left over from previous attempts that I have to clean up, and the few commands that are done are using placeholder information</s>. But for an example of how the information is viewable at three different levels, see one of the pages under the [http://wiki.oni2.net/w/index.php?title=Category:BSL_functions&action=edit&redlink=1 BSL functions] category (typing a command name into the Go/Search box will take you to one of these pages), then look at [[BSL:AI activity|a grouped page]] that will list all related commands, then look at [[BSL:List|the full table]] of built-in commands that will eventually collect all the BSL variables and functions automatically once their information is entered. Things will take shape much more over the weekend. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 18:52, 11 December 2015 (CET)


:Oh, I also just created [[BSL:Manual]] by merging together all of the pages about BSL (and filling in the blanks that had never been documented). I think it's easier to read a single long, interconnected page on this subject than to click around the wiki, reading about disconnected subjects like "Operators" and "Keywords". I am not rapidly editing the Manual anymore, so it's safe for others to edit it if they want to fix something. I did a lot of research and testing while writing it, but there are still probably some mistakes. One of the topics I am less experienced with is the various uses of "fork". So it would be good if experienced scripters could read over the Manual page, and also its "[[wikipedia:CliffsNotes|Cliff's Notes]]" version, [[BSL:Introduction]]. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:20, 7 December 2015 (CET)
===XML tutorials===
See the category for [[:Category:Articles_that_need_finishing|articles that need finishing]].


==Oni 2 and beyond...==
==Oni 2 and beyond...==

Revision as of 16:01, 5 February 2018

WIKI WORK IS FUN!
Penny Arcade - EvilCorp Too.png
ENOUGH FOR A JOKE OR TWO
THEN IT GETS BORING
If you're not familiar with wikis, see OniGalore:About. If you're not confident about editing a wiki, see Help:Editing.

Here are some ongoing projects, and ideas for projects, on the wiki. Whatever in this list looks interesting to you, feel free to tackle it, even if you only have a little time here and there. However, if you are leaving a project half-done until you can resume it, please note that under the item in this list.

Thanks for whatever you can do to contribute.

General wiki work

  • Look at the list of flagged articles and see if there's anything you can help out with. There are a number of articles which need to be updated or finished.
  • Just browse Special:Wantedpages, and pick an interesting topic to write about!
  • Categorize our images of the different enemy classes and characters into the appropriate sub-categories of Category:Factions and Category:Characters. The classes that still need pictures to be categorized under them are the Syndicate's Strikers, Elite Strikers, and Tankers, and the TCTF's Cops, Troopers, SWAT Troopers, Black Ops and SWAT Black Ops, and under the WCG category we need to tag pictures of Mercenary Snipers, Thugs, Civilians, Scientists, and Security Guards.
  • Images hosted on other domains should be localized (uploaded to this wiki, and the external links changed to point to our local copies) to protect against the external sites going down. As a secondary priority we should also copy over images that are currently hosted on other subdomains of oni2.net; though these are less likely to go away, there is no way for the subdomain owner to know whether their images are being linked to if they suddenly get the urge to do some spring cleaning on their account.

External link review

Help us fight against link rot by correcting bad links that have been found by our automated script. The latest report on bad links will always be found here.

How to fix bad links

  • In most cases, fixing an "NG" link will mean finding the desired web page in the Internet Archive and linking to that archived page instead. In some cases, an "NG" link will not be recoverable and should be surrounded in nowiki tags like this to prevent it from showing up in future reports.
  • A link marked as "RD" is redirecting us to a new page. The new page should be evaluated, and if it has the content we intended to link to then we should update the link to point to the new location.
  • A link marked as "IW" is an external link that could be an interwiki link. Interwiki links are shorter and more resistant to rot. The suggested interwiki link markup will be given in the report. For Wikipedia, you can add a language code in order to link to a page in a specific language, e.g. [[wikipedia:de:Test]].
  • A link marked as "EI" is an external link to a page on our own wiki that could simply be an intrawiki link.
    • Sometimes an "external internal" may seem to be necessary; for instance you may wish to link to a specific version of a page, which used to require putting the full URL, like this. In fact, there's no need to link to any page at all, as the "id" of an edit, like the one you see in that sample URL, is unique wiki-wide. All you need to do is plug the edit ID into the Permalink page like this, and you're done (you'll notice that the preceding link says "Special:Permalink" in the wikitext, but "Permalink" is actually a shortcut for "PermanentLink", so that's how it shows up for the reader).
    • Sometimes you need to link to a diff between two revisions of a page, or between two different pages. In this case you plug the old and new revision numbers into the "Special:Diff" page like this (no need for page IDs, as explained above).
  • Some links simply have to be the way that they are, or return superfluous error codes and actually work fine. These links can be listed in the exceptions file in order to hide them in future reports. Contact Iritscen to have him add new exceptions to this list.

Background

While MediaWiki makes it easy to find bad links to pages on our own wiki, marking them in red and providing tools like Wantedpages, there is no automatic check of external links. MediaWiki compiles all these links into a table, but it does not ping the URLs to see if they give any response. The most you are allowed to do is search through the links table, and even that isn't implemented well. Over the years, many links on our wiki have gone dead as the Web has changed and various file hosts have gone out of business.

So Iritscen has implemented an automated solution that will help us catch these problems more easily; a human hand will still be needed to fix the problems. Here's how it works: every day, a script written by Alloc dumps the wiki's external links table to this location. Iritscen's Validate External Links script then walks through the table and looks for URLs that return problematic codes like 404. It will also detect other problems in the future. The script and related files are found here.

Coming features

  • It seems that many external links no longer display the content that they were intended to display. In many cases, web sites are silently redirecting the user to their main page without using the appropriate code that indicates the content was not found. Only visual inspections of the pages can catch these issues. Once we have dealt with the low-hanging fruit of pages that return "NG" codes, the screenshot feature in the script will be activated, which will allow us to easily confirm if the "OK" links (and snapshots from the Internet Archive) are actually loading the intended page.

PlayStation 2 port

The community has always tended to overlook the PlayStation 2 port of the game, for fairly obvious reasons -- it doesn't play as well, and it's impractical to mod a disc-based console game. Nevertheless, we ought to have a page like PS2 Oni vs. PC Oni, modeled on Windows Oni vs. Mac Oni, which explains the differences in PS2 Oni from Win/Mac Oni. We should also devote at least a tiny amount of research to the contents of the game data. Might some unexpected resources be in there? First we need to know how to read the game data. Based on a cursory examination, resources were moved around and re-packed, but one would expect that the basic binary format of the tags has not changed. Thus, it would be nice to have a page like OBD:PS2 that gives at least a high-level view of the binary data (e.g., how the .dat files are now packed).

Cancelled sequel

If you have some hacking skills, please look at Talk:Oni 2 (Angel Studios) and OBD:Oni2AS to see if you can answer any outstanding questions or contribute new information.

Improving the documentation

Modding introduction

Modding Oni has a number of notes on it about parts that need to be filled in.

BSL tutorials

A project to document the built-in BSL commands is underway. This will replace the BSL:Functions and BSL:Variables pages with a more organized and natural system:

  1. A single, master list of all functions and variables at BSL:List of built-in commands ("BSL:List" is a shortcut that redirects there). No longer will we have to browse two pages at once when we're trying to find a command but don't remember if it's a variable or function. The list is sortable by name, group, kind (function or variable), and platform availability, but does not contain any other info on the commands. It's just intended as a quick reference. You can click the group name for any command to go to the grouped page that discusses it in the context of related commands.
  2. Grouped pages which discuss all the functions/variables related to a certain task. This is where the detailed coverage of commands will be found. See BSL:AI activity for an example.
  3. Each command will also have its own page, so typing in the name of that command, e.g. "ai2_active", in the Go/Search box will take you to a page that allows you to either edit the basic information about that command or to visit its group's page.

The master list, the grouped pages, and the individual command pages are all dynamically interlinked (the system is explained here). When I am done porting all commands to the new templates and creating all the grouped pages, BSL:List will automatically be completed, and the BSL:Functions and BSL:Variables pages will be replaced by messages that direct the reader to BSL:List and to the instructions for using functions/variables on BSL:Manual.

I regret that the complex nature of the documentation system probably makes it feel difficult to contribute to, but it actually isn't as complicated as it seems, so if you would like to contribute, just let me know about any questions you have. --Iritscen (talk) 23:59, 11 May 2017 (CEST)

Progress report: 40/504 commands, 7/38 groups done.

XML tutorials

See the category for articles that need finishing.

Oni 2 and beyond...

Some fans use the wiki to write sequels, prequels, interquels (what may have happened to Konoko in the time gaps between the original chapters, e.g., between Chapter 12 and Chapter 13) or even paraquels (e.g., what was happening on the Syndicate side during Oni?). You can then list your work HERE. Just be aware of the rights issues attendant with posting fan fics here. Also, plagiarism is not nice, but "Oni 2" can still be influenced by anime/cyberpunk/other references. See HERE to review the influences so far, elaborate on them some more, or point out new ones.