Jump to content
RealModScene
QuattroGam3r

[Aurora] Game Series sorting

Recommended Posts

So I was looking through my games the other day and noticed that all of my Assassin's Creed games are in whatever order they are named. Obviously thats the way Aurora is intended to work, but I thought What if we could sort series collections by release date. The release date is already being pulled from xbox.com, maybe not for older Classic games or home-brew, but for 360 games. 

I'm not sure how to even begin something like this, but seems that a lua filter would have to be made custom for each series. My thought is that it would have to retain the original game title to keep it's place in the overall sort order, but then drop anything after the title and replace with release date. 

Just some musings here, but it would be nice to have the ability to sort these games a little better. Any thoughts?

Share this post


Link to post
Share on other sites

Try something like this

GameListSorters["Release Date"] = function(Item1, Item2, Type)
  -- Check if sort Descending
  if Type == SortType.Descending then
    return string.lower(Item1.ReleaseDate) > string.lower(Item2.ReleaseDate)
  end

  -- Sort Ascending
    return string.lower(Item1.ReleaseDate) < string.lower(Item2.ReleaseDate)
end

You should also check this out if you are interested in creating your own aurora lua scripts. http://www.realmodscene.com/index.php?/topic/3570-the-aurora-scripting-how-to-guide/ :)

Dont know if it works, but in therory it should. Havnt tested it, as it was mainly a copy and paste job, just changed the name stuff to releasedate stuff, but since ReleaseDate is in the struct built into aurora, it should work.

 

Note, this is for all games, not a series of games, but I am sure you could add a title filter also, and then add both filters to a quickview. :)

Share this post


Link to post
Share on other sites

Thanks for taking a look at it gavin, you definitely get the gist of it. The problem is that what i'd like to do is make it customized for a series or set. Somehow it would have to filter for a specific title instead of all games. I don't even think it's possible because that would remove all other games except for the filtered title. It's a little over my head anyway, that's why I put it in the suggestions and requests section, I'm not any good at lua. I'll keep trying though.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for taking a look at it gavin, you definitely get the gist of it. The problem is that what i'd like to do is make it customized for a series or set. Somehow it would have to filter for a specific title instead of all games. I don't even think it's possible because that would remove all other games except for the filtered title. It's a little over my head anyway, that's why I put it in the suggestions and requests section, I'm not any good at lua. I'll keep trying though.

Sorting scripts don't do filtering, they only tell Aurora which one goes before the other one... so, tell me a string to search for in order to identify the series you want, and i can build you a customized sorting which puts the series first...

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for taking a look at it gavin, you definitely get the gist of it. The problem is that what i'd like to do is make it customized for a series or set. Somehow it would have to filter for a specific title instead of all games. I don't even think it's possible because that would remove all other games except for the filtered title. It's a little over my head anyway, that's why I put it in the suggestions and requests section, I'm not any good at lua. I'll keep trying though.

 

I was under the impression they wanted it sorted by release date, and by title set. I figured if I handled the release date part, there was half the battle. :) I figured if you create a filter that would search for Assassins Creed in the title name, and then apply that to a quick view with the sort script above, it would filter only assassins creed games, and put them in the order they were released. :) I am fairly certain I said that though. :)

 

Edit: Had a minute to test the sort function, and fixed it, so now it actually works. The release date stuff is done, and can be found a little further up. :) As for the filter for names, that is all on you, or swizzy, whoever gets to it first. :)

  • Like 1

Share this post


Link to post
Share on other sites

Here this should work as a filter for assassins creed games, hasnt been tested yet, so I dont know if it actually works, the release date sorting does work, I tested that real quick, but assuming this works, just edit the "assassins creed" lines, and keep them lower case, to set something like this up for other games. Also notice the or statement. I did this because some of the assassins creed games have an apostrophe in the title on unity, and some do not. I dont know if aurora gets the game name from the xex, but assuming it works, it will check against both versions. Also keep the search test lowercase.

 

If this filter works, create a quick view, with this filter, and set sort by release date. then you get assassins creed games in the order they came out. :)

GameListFilterCategories.User["Assassin's Creed Filter"] = function(Content)
    -- Return if this game has Assassins Creed in the name
    if string.find(string.lower(Content.Name), "assassin's creed") ~= "nil" or string.find(string.lower(Content.Name),"assassins creed") ~= "nil"
    return true
    end
    return false
end
  • Like 1

Share this post


Link to post
Share on other sites

Sorting scripts don't do filtering, they only tell Aurora which one goes before the other one... so, tell me a string to search for in order to identify the series you want, and i can build you a customized sorting which puts the series first...

Ok, that helps clear that up. I wasn't sure if it was possible to do it all in one script. If I understand you correctly, the script you're offering to help with would put the series (Assassin's Creed) at the beginning, i.e. between A & Z instead of where it would normally be i.e. between Ar & At. I don't think that will work and i'd hate to put you out to work on it if I can't use it.

Thanks gavin, i'll try it out now

Named the script AssassinCreed.lua and tried it in every folder under Aurora/Media/Scripts following a restart, could't get it to show up under any category. Maybe i'm doing something wrong gavin?

Share this post


Link to post
Share on other sites

Ok, that helps clear that up. I wasn't sure if it was possible to do it all in one script. If I understand you correctly, the script you're offering to help with would put the series (Assassin's Creed) at the beginning, i.e. between A & Z instead of where it would normally be i.e. between Ar & At. I don't think that will work and i'd hate to put you out to work on it if I can't use it.

Thanks gavin, i'll try it out now

Named the script AssassinCreed.lua and tried it in every folder under Aurora/Media/Scripts following a restart, could't get it to show up under any category. Maybe i'm doing something wrong gavin?

Yes, it'd be a sorting script that puts the Assassins creed games first then everything else in A-Z, of course, it'd also contain the date thing for the series...

The script have syntax errors in it, which is why it's failing to show up, i'll fix it for you shortly...

** edit: **

this should work:

 

GameListFilterCategories.User["Assassin's Creed Filter"] = function(Content)
    -- Return if this game has Assassins Creed in the name
    return (string.find(string.lower(Content.Name), "assassin's creed") ~= nil or string.find(string.lower(Content.Name),"assassins creed") ~= nil)
end
Also, it should be in: Media\Scripts\UserFilters\

If you want to have it in the style that Gavin wrote it, here's the correct syntax:

GameListFilterCategories.User["Assassin's Creed Filter"] = function(Content)
    -- Return if this game has Assassins Creed in the name
    if (string.find(string.lower(Content.Name), "assassin's creed") ~= nil or string.find(string.lower(Content.Name),"assassins creed") ~= nil) then
    return true
    end
    return false
end

Share this post


Link to post
Share on other sites

Thank you Swizzy. I thought UserFilters but couldn't figure why it wasn't showing. So after a restart the script does work to isolate Assassin's Creed Games, but I can't see the use of pursuing it if it's going to sort them in front of all other games. They're fun, but they don't deserve top sorting order. The whole idea was to get them to sort inside their own set but keep the set in the correct order as far as A-Z. 

Share this post


Link to post
Share on other sites

Thank you Swizzy. I thought UserFilters but couldn't figure why it wasn't showing. So after a restart the script does work to isolate Assassin's Creed Games, but I can't see the use of pursuing it if it's going to sort them in front of all other games. They're fun, but they don't deserve top sorting order. The whole idea was to get them to sort inside their own set but keep the set in the correct order as far as A-Z.

Well, i can do that aswell, makes it slightly more complicated, but... :p

I'll build this for you in the coming days...

Share this post


Link to post
Share on other sites

Yes, it'd be a sorting script that puts the Assassins creed games first then everything else in A-Z, of course, it'd also contain the date thing for the series...

The script have syntax errors in it, which is why it's failing to show up, i'll fix it for you shortly...

** edit: **

this should work:

 

GameListFilterCategories.User["Assassin's Creed Filter"] = function(Content)
    -- Return if this game has Assassins Creed in the name
    return (string.find(string.lower(Content.Name), "assassin's creed") ~= nil or string.find(string.lower(Content.Name),"assassins creed") ~= nil)
end
Also, it should be in: Media\Scripts\UserFilters\

If you want to have it in the style that Gavin wrote it, here's the correct syntax:

GameListFilterCategories.User["Assassin's Creed Filter"] = function(Content)
    -- Return if this game has Assassins Creed in the name
    if (string.find(string.lower(Content.Name), "assassin's creed") ~= nil or string.find(string.lower(Content.Name),"assassins creed") ~= nil) then
    return true
    end
    return false
end

Yeah, I was close, I was tired, and lua is not my first computer language. I am still trying to learn it, so give me some time before they are perfect without testing. :) I am working on it. Now I dont get why that would still put the other games after the assassins creed games, as if the Name doesnt return true, i would think it wouldnt show up. or am i missing something in the fundementals of lua here?

  • Like 1

Share this post


Link to post
Share on other sites

Yeah, I was close, I was tired, and lua is not my first computer language. I am still trying to learn it, so give me some time before they are perfect without testing. :) I am working on it. Now I dont get why that would still put the other games after the assassins creed games, as if the Name doesnt return true, i would think it wouldnt show up. or am i missing something in the fundementals of lua here?

This is a filter, filters hide the other titles, i was talking about a sorting script, which is used to tell Aurora which cover to put first and which to put next etc... filters don't affect the order of the covers...

  • Like 1

Share this post


Link to post
Share on other sites

Ok, and I noticed the nil in quotes thing when I looked at it this morning, didnt realize I had to put the whole statement in (). Learning alot about this. :) thanks for the patients swizzy. :)

  • Like 1

Share this post


Link to post
Share on other sites

Ok, and I noticed the nil in quotes thing when I looked at it this morning, didnt realize I had to put the whole statement in (). Learning alot about this. :) thanks for the patients swizzy. :)

at the end of a if statement you also have to put "then", so...

 

if (true) then
   ...
elseif (true) then
   ...
else
   ...
end
I prefer always going for parenthesis, that guarantees that it'll work as-is, LUA works without those aswell in some cases... but, if you always have them, it'll also always work as expected, otherwise it may work differently from what you expect it to...
  • Like 1

Share this post


Link to post
Share on other sites

Hi guys.... this kind of thing is already done (with movies)

You can check out http://www.themoviedb.org and http://emby.media

I am thinking that there are to many game sets (collections) to manage, to do this individually.

 

idea:

1. All games already have a TitleID

2. Create something like CollectionID

3. All games in Database can have a option to also link to CollectionID

4. then maybe Unity Admins can create Collections 

Then when scanning/adding media, this process can be automatic

 

then you can add quickview filter to show all games or collections

attached is a quick mock-up

post-58292-0-84687000-1434269304_thumb.jpg

post-58292-0-12298300-1434274819_thumb.jpg

  • Like 2

Share this post


Link to post
Share on other sites

Hi guys.... this kind of thing is already done (with movies)

You can check out http://www.themoviedb.org and http://emby.media

I am thinking that there are to many game sets (collections) to manage, to do this individually.

idea:

1. All games already have a TitleID

2. Create something like CollectionID

3. All games in Database can have a option to also link to CollectionID

4. then maybe Unity Admins can create Collections

Then when scanning/adding media, this process can be automatic

then you can add quickview filter to show all games or collections

attached is a quick mock-up

So when you press A, it brings up a "sub menu" and you pick the specific game out of the collection?? Is that what you are saying??

A manual quickview filter could create the collections view so when u press the bumper it swaps through the collections.. Such as halo/NFS/cod.. But I do like the coverflow version idea..

  • Like 2

Share this post


Link to post
Share on other sites

Yes, A for sub menu, and the games belonging to that collection can be sorted by release date...

It would also reduce the entries for the Top Level. I now have 906 Games. My guess is that it would drop to around 350  when grouped into the collections 

Share this post


Link to post
Share on other sites

Might be something that quickly becomes overly complicated...

It'd likely not be something that Aurora will be able to detect automatically... which means, it'd require a database editing thing in order to do, even so... what would the collection cover be? those won't be easy to have on Unity for instance... they're not homebrew, they're not game specific... so... >_<

Share this post


Link to post
Share on other sites

Might be something that quickly becomes overly complicated...

It'd likely not be something that Aurora will be able to detect automatically... which means, it'd require a database editing thing in order to do, even so... what would the collection cover be? those won't be easy to have on Unity for instance... they're not homebrew, they're not game specific... so... >_<

true.. but it would go by the "name"? like emulators do now? lol.. but yeah i could see this project becoming VERY complicated..

  • Like 1

Share this post


Link to post
Share on other sites

I am sure that this will NOT be quick and easy...

But here is my thinking :-)

 

The database will need to be changed to accommodate the new entry, CollectionID

Each entry for a game (TitleID) in the database be changed, to be able to be linked if needed to CollectionID

Unity could then add support for the new CollectionID  and custom covers can be upload by community.

Collection can be added the same way as titles, Admins could then approve collection names, as well as custom covers

 

Maybe someone can make a template (psd) and upload it here...

 

Aurora is an AWSOME app.... and can do pretty amazing things...

It can already tell the difference between X360 / Arcade / Kinect...

The basics should be similar for collections

 

The Coverflow integration should add support for a 2nd Level of the view....
(I think this one is  more difficult, although linking the games is going to take some time...)

 

I know that this is not an easy request, but this would make this App even more AWSOME...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...