Official Everybody Edits Forums

Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?

You are not logged in.

#1 2015-04-12 20:55:08

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

[Question] Application to search and browse EE Worlds

Is there any website/application that allows one to browse/search ee worlds, other than the lobby (including ones that are offline?) This would include searching things like titles, world previews, dominant colors (if you forget which room it was but remember the color), plays etc...

If there isn't one, I'll think about making one.

Offline

#2 2015-04-12 20:57:41

ewoke
Member
Joined: 2015-02-20
Posts: 412

Re: [Question] Application to search and browse EE Worlds

i never saw something like this before, would love to see you make one //forums.everybodyedits.com/img/smilies/wink


if you can read this....good for you

Offline

#3 2015-04-12 20:59:33

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [Question] Application to search and browse EE Worlds

ewoke wrote:

i never saw something like this before, would love to see you make one //forums.everybodyedits.com/img/smilies/wink

I just remembered now that Atilla made WorldSearch, which had essentially the same functionality however it has been deleted (to my knowledge.) If anyone can find it, that'd be great!

Offline

#4 2015-04-12 21:07:46, last edited by ewoke (2015-04-12 21:10:26)

ewoke
Member
Joined: 2015-02-20
Posts: 412

Re: [Question] Application to search and browse EE Worlds

Hexagon wrote:
ewoke wrote:

i never saw something like this before, would love to see you make one //forums.everybodyedits.com/img/smilies/wink

I just remembered now that Atilla made WorldSearch, which had essentially the same functionality however it has been deleted (to my knowledge.) If anyone can find it, that'd be great!

i dont think worldsearch had the option to search on colour or plays

:EDIT: asked atilla, he no longer has it running.


if you can read this....good for you

Offline

#5 2015-04-12 21:44:24

lrussell
Member
From: Saturn's Titan
Joined: 2015-02-15
Posts: 843
Website

Re: [Question] Application to search and browse EE Worlds

Gah, I suppose I could give it a shot. I have a fairly good method of reaping the game for levels.

Offline

#6 2015-04-13 02:31:49

Xfrogman43
Member
From: need to find a new home
Joined: 2015-02-15
Posts: 4,174

Re: [Question] Application to search and browse EE Worlds

Colour? What do you mean by that?


zsbu6Xm.png thanks zoey aaaaaaaaaaaand thanks latif for the avatar

Offline

#7 2015-04-13 08:54:50

DarkDragon4900
Member
Joined: 2015-03-17
Posts: 251

Re: [Question] Application to search and browse EE Worlds

Xfrogman43 wrote:

Colour? What do you mean by that?

e.g. Orange plastic blocks in 200 lava minigames.

Offline

#8 2015-04-13 13:09:44

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [Question] Application to search and browse EE Worlds

Xfrogman43 wrote:

Colour? What do you mean by that?

If the level is mainly composed of a certain shade of a color (like 200 red minigames) the color would be red. However, if a world has many different kinds of colors, it would have to detect this and not have any color at all, because a smush of all of the colors together (might be like a brown color) doesn't make sense.

Offline

#9 2015-04-13 21:57:47, last edited by DarkDragon4900 (2015-04-13 21:58:24)

DarkDragon4900
Member
Joined: 2015-03-17
Posts: 251

Re: [Question] Application to search and browse EE Worlds

Something like this, you mean?

BlockColor domBlock;
struct BlockColor {int bid; int Amount;} ///"Amount" -> Amount of blocks found in a level with the color specified.
List<BlockColor> colors = new List<BlockColor>();
int temp = 0;
foreach (BlockColor c in colors)
 if (c.Amount>temp && c.Amount>=(worldWidth*worldHeight/2)) {temp = c.Amount; domBlock = c;} // Only set it once it's dominating over half of the level.

Offline

#10 2015-04-14 10:37:37, last edited by Hexagon (2015-04-14 10:37:50)

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [Question] Application to search and browse EE Worlds

DarkDragon4900 wrote:

Something like this, you mean?

BlockColor domBlock;
struct BlockColor {int bid; int Amount;} ///"Amount" -> Amount of blocks found in a level with the color specified.
List<BlockColor> colors = new List<BlockColor>();
int temp = 0;
foreach (BlockColor c in colors)
 if (c.Amount>temp && c.Amount>=(worldWidth*worldHeight/2)) {temp = c.Amount; domBlock = c;} // Only set it once it's dominating over half of the level.

Yeah this would basically be it. Just changing my idea slightly, it could be cool to have multiple colors if the level has multiple dominating colors (like three colors), but might be complicated.

Thanks DarkDragon!

Offline

#11 2015-04-17 05:45:37

lrussell
Member
From: Saturn's Titan
Joined: 2015-02-15
Posts: 843
Website

Re: [Question] Application to search and browse EE Worlds

        /*
         * To effectively find as many levels as possible, we need to find
         * as many users as possible. To achieve this, all users currently 
         * online will be listed. The levels of each of these users will 
         * then also be listed.
         * 
         * While that would be fairly effective, there is more we can do.
         * We can list all the levels currently open in the game as well.
         * Since a level can be open without its owner present, we can then
         * use the list of levels for each online user and single out the
         * levels whose owners aren't online.
         * 
         * With this method, you can then find the owners of the abandoned
         * levels and perhaps find a user that hasn't been online. All that
         * would be left then is to list every level that the user owns.
         * 
         * To index a level, we would first check if it already exists in the 
         * database. If it doesn't exist, it is indexed. Otherwise, we check
         * if it is open in the lobby since that is the only way any of the
         * information could have changed. If it is open, we re-index it to
         * be sure that the information is current.
         */

This is my design plan so far, any changes or improvements would be welcome. This is the most effective method I could possibly come up with and I'm preparing to implement it. An optimal delay between checking for new users and levels is still being determined, would 30 seconds be effective?

Offline

#12 2015-04-17 12:08:21

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [Question] Application to search and browse EE Worlds

I think that's a pretty good plan, lrussell. I think this would be good if the architecture was similar to a producer/consumer pattern (bots find new info, place it in a queue then have another app which processes it and checks it.) I just have a few modifications:

- build a component that lists all worlds for a username, and lists the owner for a world
- I have a large list of world ids (about 10,000) that I could give to you to start you off plus Atilla gave me some too. I also have a long list of users (maybe 40,000+). It'll take me a while to figure out how to extract them, because I have a bit of a compression mess.
- place a bot in the tutorial world (and another introductory/featured world), that is interested in "add" messages (a good way to "snatch" new usernames).
- if the level is already in the database, and is past a certain age (not sure how old) it would be re-indexed, assuming that you're grabbing the WorldData. Getting live init data would be awesome, but you'd have to have a bot that would peek every so often.
- if you wanted to be really efficient with getting WorldData (if you want to) you could make an algorithm that would calculate the frequency of how quickly the world updates, and crawl it depending on that.

The delay of 30 seconds looks good, however, there is something secret about the lobby. If you scan it very quickly (every second) you can find virtually all registered users starting from today (assuming that they click "Go to Lobby" at any point) because the lobby data has a list of users that are in the lobby, and are not in a world. From there you can get a list of user ids, and get the worlds too.

You could open up something that people just drop in usernames into a form (like google forms) and then have a bot that just goes through and add them to the data base if they don't exist.

Offline

#13 2015-04-17 18:33:01

lrussell
Member
From: Saturn's Titan
Joined: 2015-02-15
Posts: 843
Website

Re: [Question] Application to search and browse EE Worlds

Hexagon wrote:

I think that's a pretty good plan, lrussell. I think this would be good if the architecture was similar to a producer/consumer pattern (bots find new info, place it in a queue then have another app which processes it and checks it.) I just have a few modifications:

- build a component that lists all worlds for a username, and lists the owner for a world
- I have a large list of world ids (about 10,000) that I could give to you to start you off plus Atilla gave me some too. I also have a long list of users (maybe 40,000+). It'll take me a while to figure out how to extract them, because I have a bit of a compression mess.
- place a bot in the tutorial world (and another introductory/featured world), that is interested in "add" messages (a good way to "snatch" new usernames).
- if the level is already in the database, and is past a certain age (not sure how old) it would be re-indexed, assuming that you're grabbing the WorldData. Getting live init data would be awesome, but you'd have to have a bot that would peek every so often.
- if you wanted to be really efficient with getting WorldData (if you want to) you could make an algorithm that would calculate the frequency of how quickly the world updates, and crawl it depending on that.

The delay of 30 seconds looks good, however, there is something secret about the lobby. If you scan it very quickly (every second) you can find virtually all registered users starting from today (assuming that they click "Go to Lobby" at any point) because the lobby data has a list of users that are in the lobby, and are not in a world. From there you can get a list of user ids, and get the worlds too.

You could open up something that people just drop in usernames into a form (like google forms) and then have a bot that just goes through and add them to the data base if they don't exist.

A lot of those components you mentioned are un-needed, because I do get the list of every user online even if they're in a level or not. Essentially I'll be able to find users by having them just login to the game or someone else joining one of their levels. I don't plan on capturing level data, just the metadata. Scanning it every second seems very excessive, I don't believe that my scanning process would even complete in that time.

Offline

#14 2015-04-19 21:26:28

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [Question] Application to search and browse EE Worlds

lrussell wrote:

A lot of those components you mentioned are un-needed, because I do get the list of every user online even if they're in a level or not. Essentially I'll be able to find users by having them just login to the game or someone else joining one of their levels. I don't plan on capturing level data, just the metadata. Scanning it every second seems very excessive, I don't believe that my scanning process would even complete in that time.


If you do this, I would really like this feature to be added: http://stackoverflow.com/questions/7630 … -your-site

Offline

#15 2015-04-20 00:33:58

lrussell
Member
From: Saturn's Titan
Joined: 2015-02-15
Posts: 843
Website

Re: [Question] Application to search and browse EE Worlds

Hexagon wrote:
lrussell wrote:

A lot of those components you mentioned are un-needed, because I do get the list of every user online even if they're in a level or not. Essentially I'll be able to find users by having them just login to the game or someone else joining one of their levels. I don't plan on capturing level data, just the metadata. Scanning it every second seems very excessive, I don't believe that my scanning process would even complete in that time.


If you do this, I would really like this feature to be added: http://stackoverflow.com/questions/7630 … -your-site

I'm working on building up a first-run index right now and then I'll move on to completing the software to scan for changes. I managed to get some help so I should have every level in the game indexed.

Offline

lrussell1429486438496618

Board footer

Powered by FluxBB

[ Started around 1732813209.136 - Generated in 0.276 seconds, 13 queries executed - Memory usage: 1.62 MiB (Peak: 1.81 MiB) ]