Manual indexing (variations of an object)


#1

So if there were an application that took a character from RPG game that had skills/abilities and they’d have prequisites between each other and purpose behind app would involve processing characters in interests of publishing characters that a user would like (as in filtering). Wouldn’t that make a case for where you would label every possible variety of a character in order to enable quick filtering of character database where a new character is availabe for say 3k user base at which point you’d have to determine if it’s relevant to a user? Additionally you could send the “indexer” code base to the client at which point if they were to open skills/abilities viewer they’d hopefully be able to reverse engineer what that particular index stands for without having to actually reproduce the whole index base.

I imagine the algorithm for this would hardly be justified for sole purpose of saving bandwidth and IO reads that would go with having to send an array of skills/abilities potentially doing so pre-emptively before user opens the skills/abilites viewer, yet I imagine cross referencing what user has subscribed to (set of abilities he’d be interested in a character) and what the new published character has would be fairly expensive? PS I clearly am not aware of how such an algorithm would “look” like.

I’d also like to enable for user to provide flexible criteria that would match a bunch of indexes, at which point the purpose of exercise would be defeated if there weren’t enough constraints within skills and abilities to really make for easy cross referencing via indexing.


#2

So, what are you asking?


#3

Im concerned with abstract methodology and practicality of such mechanism where you would go and assign a variable to a variation of top level object for purposes of easier comparison and client/server interaction by way of exploiting constraints within variations as to make for a branching tree at which point the variable will carry a connotations that could be deciphered by backtracking if you were to have codebase that assigned such an index thereby saving server costs.

A concrete example or anecdote is also welcome.


#4

Anecdotally, that sounds like a search engine back-end comprising a b-tree index and inverted file.


#5

If there’re say 10k of outstanding requests (or more if thinking in terms of actual indexes requested) with 5 new characters available every hour, is that something that I’d like to kill myself over as a 21 year old with no education given that computers are easy with Math? While by way of constrains there’re like 20 to 40% of variations eliminated via indexing.


#6

is that something that I’d like to kill myself over as a 21 year old with no education given that computers are easy with Math

You’re over-engineering. Just work on your thing and then address that if it becomes an issue. You won’t build skills if you’re afraid to dive in until you’ve worked out every single detail.


#7

Actually learning what and how of the algorithm beforehand would more than likely be helpful.


#8

If you really want to learn fundamental algorithms (and a lot more) I strongly suggest you get hold of The Art of Computer Programming by Donald Knuth.


#9

I imagine another way to go about it is just flatten it stupid. Order list of all skills and just make a string with 0s for what is absent, although that may wind up to be a mighty string :stuck_out_tongue: that doesn’t do much in terms of enabling search down and up the tree of skill prerequisites. Im coming from having watched graphQL, not that I know particulars or even plausibility of approach, but essentially looking at least down the barrel of just single field looks more encouraging. Although in practice this more than likely is going to look as list of skill entries with field for characters rather than the other way around. You get to throw characters into an endless twisted loop where they have this same string inside of them, and etc if that proves to be any good for my IO.