Forum:Proposal: Add weakness to bestiary information

From the RuneScape Wiki, the wiki for all things RuneScape
Jump to: navigation, search
Forums: Yew Grove > Proposal: Add weakness to bestiary information
This page or section is an archive.
Please do not edit the contents of this page.
This thread was archived on 20 December 2013 by Cqm.

Because a lot of people (including myself) use monster weakness as one way to determine where to train, it seems advisable that in addition to the information currently in the bestiary, it should also list the monster's weakness. (This already is there for the free-to-play bestiary, but not the general bestiary.) Once it's added to the template, people helping out with updating the bestiary (I plan to be such a person) could simply lift the information from the monster's page and enter it (and if it turns out that needs updating due to EoC, the bestiary can be updated with it), so it should go fairly quickly.

So perhaps someone (me if I get permission) can add it to the template, and then people can start adding it to the bestiary.

EDIT: I realized that maybe I put this in the wrong area, in which case an admin should probably move it to wherever it belongs (I'm new here.) 03:44, November 24, 2013 (UTC)Yitzi.


Comment - There's nothing wrong with discussing something like this on the Yew Grove, so you're fine. But I do think it'd be a good idea to have weakness information in the bestiary. Suppa chuppa Talk 03:54, November 24, 2013 (UTC)

Support or something - Weakness information in the bestiary? That sounds neat. Neitiznot  Choose OptionMy userpage Talk to me! Spam goes here Sign here! 16:00, November 24, 2013 (UTC)

Instead of this - Can we make this thread about an overhaul for the bestiary? There was a thread about reworking it, but what the hell happened to that. I have no problem with seeing weakness added (and when we come to a conclusion I'll add that parameter to the template in the complex codey way), and if the bestiary were otherwise fine, I'd say this thread should be closed per RS:BB. But the bestiary isn't fine. I'm commandeering your forum, IP. This is now about the entire bestiary, not just one parameter.

To start off, here's some sample problems:

  • Intervals per page. 10 combat levels? 20? 10 is nice. FYI, we have redundant pages because the reform for that was never done.
  • I reformed the templates for the bestiary and part of that included color-coded cells. I only ever got a small amount of feedback from that idiot Suppa. So what think?
  • Just weakness? Or are there any other params we'd like to add before we attempt another overhaul?

Sorry for having to steal your forum but I just had to, the opportunity was too perfect. Also, I forgot about my problems with these pages until now. Also, it makes me feel like a pirate.

Arrg! MolMan 16:02, November 24, 2013 (UTC)

The intervals I proposed in the thread you mention were (2-49), (50-99), (100-149), (150-199), (200-max), which seems more reasonable than 10 combat levels. I recall getting some support on that, too. 5-x Talk 10:08, November 25, 2013 (UTC)
Oh, really? Sorry, I didn't remember any specifics of the thread too well. I guess I'll have to touch up on that thread later, but it doesn't hurt to get more input on that. Well... Except that I'm feeling pessimistic about the attention this thread will get. MolMan 13:48, November 25, 2013 (UTC)
For those wondering what Regis and I are talking about: Forum:Sortable Table Bestiary for Members MolMan 13:57, November 25, 2013 (UTC)
Thanks for finding the thread, I had trouble locating it myself. 5-x Talk 16:55, November 30, 2013 (UTC)

Don't feel sorry about stealing it; it's just an extension of what I had planned.

As for what to have there, I think weakness is the most important addition, but in terms of full features what I'd like to see there is: -Name, linking to the monster's entry -Level -Hit points -Weakness -Members or not. -Quests required. (Some monsters are not quest monsters per se in that they show up even after you finish the quest, but still require a quest to access them.) -Context: Are they quest monsters (if so, what quest), minigame-based (if so, what minigame), or dungeoneering, or none of those? -Level of the highest-level aggressive monster in the area.

I would also like to see better searchability than just sorting; if it's set up as a proper database (not sure if that's supported by wikia), you'd be able to provide any criteria you want (e.g. "everything in levels 10-20 with a crushing, slashing, stabbing, or unrecorded weakness, and anything levels 8-15 with no weakness or an unrecorded weakness, but only if they are not quest or minigame-based or dungeoneering monsters and there are no aggressive monsters higher than level 30 in the area") and get everything matching it. (This would also make the database be populated more quickly, as anyone looking for something could include "unknown" as an acceptable criterion, and then if there's something that's not entered, they could look it up on the monster's main page and record it as they go through.) 16:27, November 24, 2013 (UTC)Yitzi

If you've been following my edits, I'll sound like a broken record: I'm on my iPod right now, but when I'm back at my computer I'll just go ahead and set up the weakness parameter. That should be tomorrow. All other details should be discussed here though.
The search would be kind of possible but a little tough. It is not set up as a proper database. And wikia does no support that as far as I know (Holy crap the Exchange namespace). This means we have one way of doing things: looking at the pages and fetching numbers! I know we have categories for weaknesses and we use it for searching on Weaknesses. I can't remember nor can I check right now to see if we have subcategories for the bestiary (i.e. Category:Bestiary/1-10, etc.), but we'd need to have that for the search function. The reason for that is that just about ALL our stuff like that is done with DPL which has its limits. But categories should make it search swiftly enough. The problem is more what information is included and how. I'll link my post in the last thread about the bestiary later, but they're a little annoying. I'd love to see a .js script for searching but I'm not sure how well it could work. Jueycaek says that a script like that is tough to write and we have so few users with the js know how to attempt. Ah well :c MolMan 17:23, November 24, 2013 (UTC)
I have some js know-how...thinking it over, I think I could do it, though it would be moderately difficult.
It would, however, require completely reworking the bestiary from the ground level; I'd also need to be told how to embed javascript in wikitext (I know js, I don't really know wikitext that well). (Fortunately, we can do it on a separate page until it's complete enough to replace the existing one.) Finally, the actual bestiary data would be contained in part of the js code itself, so we'd need a bestiary editing guide (pretty much just where to find the appropriate entry in order to update it, so not that long, but it'd be more than just updating a wikitext entry.) 17:57, November 24, 2013 (UTC)Yitzi

One more downside, though it's a minor one: Loading the bestiary will require the page to load all bestiary information plus the search program, so it'll load slightly slower; I'm pretty sure that's negligible compared to the graphics and wikia structure anyway, though.

I can't really write it, though, until someone tells me how to insert js into wikitext, and the document object model (which isn't technically part of js, but is needed to use js with the page you see) for wikitext, and in particular for tables (as it's slightly different for each system that uses js). 18:21, November 24, 2013 (UTC)Yitzi

Actually, I'd need the document object model not only for tables (the output), but also for some sort of multi-option selection (checkboxes or the like) so that people can input what they want to include and exclude what they want to exclude. 18:40, November 24, 2013 (UTC)Yitzi

Comment - Pure and simple, you don't embed javascript into wikitext. Whilst the idea of anyone can edit is the foundation of a wiki, js can do some very nasty things to you and your browser even if it's just a mistake. Infinite loops or things like this spring to mind. Instead we can import pages into [[MediaWiki:Common.js]] which loads javascript for every user on every page.

Back to the question in hand, I'd suggest creating an account and creating a subpage of your userpage to write the script on - something like User:USERNAME/bestiary.js. We don't allow anons to have userpages unfortunately, but there are benefits to having an account such as fewer adverts. You could do something like we have for the item stats compare (see the compare link in the stats infobox for Rune Platebody). I'd love to have some sort of database extension to use, but we never got semantic mediawiki off the ground when it was suggested before (it's unavailable now due to being broken and seriously heavy on wikia's servers). The alternative, Structured Data, never came out of alpha development due to it being too heavy on servers again.

If you want a hand making such a script I'd be more than happy to help. I could use a new scripting project ;) cqm 19:00, 24 Nov 2013 (UTC) (UTC)

I would love having a hand with making such a script. I have some experience with js, but nothing like what's involved in something like the compare script. (I could probably do it if I worked at learning how, but it's probably better to have an experienced hand do the syntax stuff.)
The basic structure, however, is something that I think I've got an idea how to do. The idea is to have, for every monster, a js object that has all the relevant properties (with multi-value properties expressed as an array), with an array holding all the monsters, and then a query would simply create an array of all monsters that match the desired properties; multiple eligible properties would be done by appending to the existing array. Then there'd be a "generate table" button that makes a table of all the array elements. It'd probably be slower than a proper database, but I think there are only a few thousand monsters so it should be manageable anyway. We'd need to make sure that "Unknown" is a valid entry for each property, so that people can search for unknown properties if they want.
If you're willing to do the front end (generating the entry fields and buttons, getting input, and generating the table), I should be able to do the back end.
Yitzi (talk) 19:49, November 24, 2013 (UTC)
Actually, one thing I realized...the compare is in its own non-scrollable file, and a bestiary query would need to be scrollable. So would it be possible to build it on the main page, or on its own scrollable page? Yitzi (talk) 19:54, November 24, 2013 (UTC)
Also, if this is to be a general database functionality, it will need the ability to pull an object (in this case the database) from another page...which apparently can be done, but I don't currently know how to do it. Yitzi (talk) 20:00, November 24, 2013 (UTC)
Actually, looking at what's going on, I think there may be a better way using jquery...give me a bit, and I may be able to generate something really nice and convenient to use. Yitzi (talk) 22:08, November 24, 2013 (UTC)

oppdayt - Weakness is added to the bestiary templates. Parameter is, you guessed it, {{{weakness}}}. We honestly didn't need a discussion for that, but hopefully this forum will actually turn up some discussion for the bestiary. MolMan 18:48, November 25, 2013 (UTC)

Comment - Not to obsolete Yitzi's work on a js database, after a bit of discussion between Cook, Joey and myself, I've started to explore the possibility of doing this with dpl. Quite simply, the user creates a query of categories which returns a list. We then use a phantom template to display the necessary data. It's essentially a mix between what I've done with RuneScape:Forum Archives and Cook's category intersection via dpl demo that came out of Forum:Category Intersection. The bestiary template so far can be seen at [[w:c:camtest:Template:BestiaryData]], with example usage at [[w:c:camtest:Data:Nex]] (cue discussion of a data namespace again). If I can get it working and it's decent on pageloads it could be a viable alternative.

A js implementation would essentially require one, or indeed multiple, JSON objects with all the necessary data. It's more or less how the jagex bestiary api works now. The real issue with that is keeping the objects up to date, which could prove difficult given the lack of users confident in editing code to any great degree. cqm 00:27, 26 Nov 2013 (UTC) (UTC)

I assume this is going to be pretty much an Exchange namespace-esque idea. If so that's a huge change. While I'm not against it, I think something that large should be done in a separate forum. If it's discussed here, it's very likely we'll end up not discussing the simpler problems with the bestiary (my sample problems above being a short, basic list). I'd much prefer we discuss each proposal separately, because the basic issues are important as well. MolMan 01:21, November 26, 2013 (UTC)
It's essentially an exchange namespace and yes, it's a huge undertaking if it is a viable option. If it does come to fruition I'd be inclined to move it to a separate forum if only to co-ordinate such a change.
Back to the matter in hand - what exactly are the shortcomings of the bestiary, other than it sucks at some level. cqm 02:19, 26 Nov 2013 (UTC) (UTC)
The first ones to think about are the intervals to sort the pages by. If everyone is fine with Regis' numbers, we can do that. There's the formatting: color coding - yes? no? do we like the colors?; what other parameters do we want added? We should think of that now. All in all, I think everyone can agree it's not complete. Beyond what I have problems with, we could use some brainstorming on what to improve. MolMan 02:23, November 26, 2013 (UTC)
The idea I had (and I'm fairly certain I can do it) was to have a single table with all the monsters in the game which contains all the information, and then another page that lets you show only those monsters fitting certain criteria. It would mean that even if you only want to look at monsters of a particular level the page has to load (but not display) the entire huge table...but it would be loaded as raw text and would all load from a single page, so it should still load fairly quickly.
The advantages of that are that
-we don't need an entire namespace
-we don't need to worry about intervals and colors (as you can search by whatever criteria you want)
-It's portable; if we decide we want to make a different database with the same features, it's as easy as making a new table and a new database query page (which will be as easy as using a new template). Similarly for adding new categories.
-Anyone can edit it, just by editing the table. It'll require editing an html table (i.e. tr and td rather than wiki markup), but that's not a big deal.
The only real disadvantages I see is that it'll take additional code for each type of feature we want to be able to include (I'm writing one in my own namespace that allows only text and links, so it'd need new code for images), and that editing it will require loading a page that contains and displays all the bestiary information. And that converting it from the existing bestiary will be nontrivial, though not that hard. Yitzi (talk) 20:11, November 27, 2013 (UTC)
The problem is that your proposal here is a large-scale and long-term change. Even if we do plan to implement it, I would like to see the bestiary fixed to be suitable until a searchable database (if ever) comes to life. MolMan 01:37, November 28, 2013 (UTC)
That will probably be sooner than you think; I've started coding it, and would estimate I'm at least 30% done. So it's entirely possible that a searchable database will be done (with the existing information only) before the other methods...we're going to want a searchable one anyway eventually, so I can just continue working on that, and when it's ready I can let you know. Yitzi (talk) 02:00, November 28, 2013 (UTC)

Closed - Discussion has apparently ended and weakness has been added to {{MonsterTableLine}}. If anyone wishes to make further changes to the bestiary feel free to make a new thread detailing the changes. cqm 14:51, 20 Dec 2013 (UTC) (UTC)