Online World/Level Repository

Tools, Editors and other programs around SMC.

Moderator: SMC Team

Online World/Level Repository

Postby BowserJr » 17 Jan 2010 11:45

Split from this thread: viewtopic.php?f=4&t=3107. Please discus in-game repository there, online repository here

There used to be a great unofficial repository for Supertux levels, with ratings and comments, but it seems to be down now. :( Here's an old cached version: http://web.archive.org/web/200702070150 ... pmlvls.php

Something like that would be awesome to have, and simple enough if someone has a bit of PHP and MySQL knowledge (I probably could do it, but I'm not very experienced at PHP and I've never actually done MySQL stuff).

Also, Mrvertigo, does your "repository" contain levels that require additional objects/ music? I tend not to bother with these, and I'd really like a set which doesn't. 8)
"Plants need to have water poured on them because they have no hands to hold glasses of water."
User avatar
BowserJr
SMC Team
SMC Team
 
Posts: 1543
Joined: 05 Feb 2007 14:07
Location: London, UK

Re: World/Level Repository Accessible from Game

Postby Luiji » 18 Jan 2010 01:35

BowserJr wrote:There used to be a great unofficial repository for Supertux levels, with ratings and comments, but it seems to be down now. :( Here's an old cached version: http://web.archive.org/web/200702070150 ... pmlvls.php

Something like that would be awesome to have, and simple enough if someone has a bit of PHP and MySQL knowledge (I probably could do it, but I'm not very experienced at PHP and I've never actually done MySQL stuff).

Also, Mrvertigo, does your "repository" contain levels that require additional objects/ music? I tend not to bother with these, and I'd really like a set which doesn't. 8)


I am quite adept at PHP and have some useful knowledge of MySQL. I will work on such a web page and upload it in a .zip when I am done. If you have time, please consider putting it on the website so that people can navigate to http://www.secretmaryo.org/contrib/index.php if they want to see and upload any new contributions.

If this is a terrible idea, tell me on this forum (or PM me if you prefer) and I will stop right away.
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: World/Level Repository Accessible from Game

Postby BowserJr » 18 Jan 2010 10:11

Yeah, I'd love something like the Supertux thing on the official site. So much easier than navigating the forum.

Obviously it would need FluXy's approval, and he'll have to add it to the site, but he should if it's good and useful.
"Plants need to have water poured on them because they have no hands to hold glasses of water."
User avatar
BowserJr
SMC Team
SMC Team
 
Posts: 1543
Joined: 05 Feb 2007 14:07
Location: London, UK

Re: Online World/Level Repository

Postby FluXy » 23 Jan 2010 01:25

Also talk with Fabianius as he also wanted to do this but we wanted to wait for a packaged smc level format which we still don't have.
The level repository should be on the official homepage and i gave Fabianius a copy of most website files (it uses only smarty and the phpbb authentication/session management). Should be in PHP5/MySQL like everything else on the website.

We could implement dropping .smclvl files onto the SMC binary to automatically "install" the level which would be a simple check if it is already there and if not move it.
If i didn't read your post but it was important you can send me a PM.
Any Donation will help this project!
User avatar
FluXy
Admin
Admin
 
Posts: 2857
Joined: 04 May 2004 19:44
Location: Germany

Re: Online World/Level Repository

Postby Luiji » 23 Jan 2010 01:33

Okay, how about this. I will terminate my online world/level repository code (which was not that far along, anyway) and design the packaged .smclvl format? I am really good at designing file formats if I do say so myself. But the question is, why not just have the levels and worlds installable sepperately and have a package dependency system that would automatically install any other required levels?
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: Online World/Level Repository

Postby FluXy » 08 Feb 2010 09:24

Do you mean with a package dependency system that it automatically downloads it from the net ?
A packaged .smclvl format would also be useful.

A compressed level format could look like this :

levelname.zip =
./levelname.smclvl
./translations/de.po
./translations/de.mo (compiled .po)
./thumb.png
./pixmaps/... (custom sprites)

Music and sounds should not be in there for now as it could become way too big then.
Translation support could also be omitted for now. Files are in lowercase and case-sensitive.
If i didn't read your post but it was important you can send me a PM.
Any Donation will help this project!
User avatar
FluXy
Admin
Admin
 
Posts: 2857
Joined: 04 May 2004 19:44
Location: Germany

Re: Online World/Level Repository

Postby Fabianius » 06 Mar 2010 15:20

Sorry that I haven't been on the board for such a long time. I would really like to make rapid progress now since I've already started to create an online level repository in PHP and MySQL.

Let's talk about the new ZIP file format. Beside the SMCLVL-file(s), you may also put various images (names don't matter since they are renamed in the upload process anyway) of your level into the ZIP file. They will all be showed on the online repository (thumbnails will be created automatically).

Upload Procedure:
  1. You upload your packaged ZIP file.
  2. The PHP script scrapes your ZIP file and shows all levels and pictures (dir pixmaps is omitted). You have to select your main level and main level icon (PNG or JPG file) now.
  3. You can type in further properties (name, description (max. 255 characters, one line), information (long description with line breaks), type (e.g. Land, Jungle, Ice, Desert), difficulty (e.g. Easy, Medium, Hard)).
  4. Your SMCLVL file is scraped for further information (author, version, music, game_version, engine_version, save_time). Your level directly appears in the level list.

I hope that FluXy might add these text or combo boxes to the in-game level settings (author and version are already available):
  • description, might be called Short Description (max. 255 characters, one line)
  • information, might be called Long Description (needs to be a bigger text box because you can also add line breaks)
  • type (e.g. Land, Jungle, Ice, Desert, Other, etc.)
  • difficulty (e.g. Very Easy, Easy, Medium, Hard, Very Hard, Insane, etc.)
Please do also think of other possible fields for the type and difficulty settings. It might be quiet hard to revise them later because they are saved as numbers in my database (0 => Easy, 1 => Medium, 2 => Hard, etc.). However, it's no problem to change them from time to time but not regularly! The added combo box, though, should write the name (e.g. Easy) instead of the number (e.g. 0) into the SMCLVL file because my PHP script can convert the text into the number.

Last but not least, there is a problem with the pictures. Either the whole community helps to create good pictures of the levels or you could create a tool which automatically creates a screenshot if you save a level. The last option is the best but it takes quite a lot of time to implement this. Therefore, FluXy can decide which option he prefers. In the case he prefers the first option it's important that the whole community starts to create screenshots as soon as possible.

Nonetheless, I would really like to see an option which deactivates the points, coins, bonus, time and lives indicators at the top for the print screen key. If we have so many screenshots of the levels in the end we don't need these indicators. If members of the community want to create screenshots, too, please save them as uncompressed PNG files (no JPEG files because of the JPEG artefacts as seen in the image below), don't shrink the pictures (thumbnails are created automatically) and use a 4:3 resolution (e.g. 1024×768).
Image

For the time being, you know my point of view for the whole level repository project now. I have already thought about the procedure for the most part but there are still many uncertainties and decisions to take. I hope to hear your suggestions, too. And don't forget that I absolutely need the help of all of you especially if the level screenshots have to be taken by the community. As you might know, there are so many published levels on this board. It will take quite a lot of time to add all of them to the database. With the aid of everyone here, though, it will be an achievable objective.
User avatar
Fabianius
SMC Team
SMC Team
 
Posts: 173
Joined: 03 Nov 2007 11:30
Location: Switzerland

Re: Online World/Level Repository

Postby Luiji » 06 Mar 2010 17:17

The Level Repository ZIP project should probably ease the creation of the online repository. I would do some screenshots, but sadly the Print Screen override does not work on Ubuntu with Gnome, since Gnome forcefully takes the command (I am considering switching fully to Xfce).

I would like for there to be a Contributed Levels menu that allows you to download levels in-game. I could probably program that if you, Fabianius, will create a version of the PHP script that can return XML information to be translated to CEGUI information. Just simple data as supposed to HTML, is what I mean.
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: Online World/Level Repository

Postby BowserJr » 06 Mar 2010 19:39

Luiji wrote: I would do some screenshots, but sadly the Print Screen override does not work on Ubuntu with Gnome, since Gnome forcefully takes the command (I am considering switching fully to Xfce).

Weird, because I use GNOME, and have no problems taking screenshots. Do you get any error messages?
"Plants need to have water poured on them because they have no hands to hold glasses of water."
User avatar
BowserJr
SMC Team
SMC Team
 
Posts: 1543
Joined: 05 Feb 2007 14:07
Location: London, UK

Re: Online World/Level Repository

Postby Luiji » 06 Mar 2010 20:29

BowserJr wrote:
Luiji wrote: I would do some screenshots, but sadly the Print Screen override does not work on Ubuntu with Gnome, since Gnome forcefully takes the command (I am considering switching fully to Xfce).

Weird, because I use GNOME, and have no problems taking screenshots. Do you get any error messages?

No. SMC doesn't get the message and GNOME opens up it's screenshot taker program. This would be a better discussion for a bug post, though. I'll do more research on that.
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: Online World/Level Repository

Postby Fabianius » 06 Mar 2010 20:57

I thought that Secret Maryo Chronicles takes the screenshots and saves them into the screenshots-folder in your Secret Maryo Chronicles application data directory. Is this different if you use Ubuntu?

I really like the idea of an in-game online level repository. You can tell me your desired XML format and I could start to create a version of the PHP script. However, I don't know a lot about CEGUI. Isn't it quite a lot of work to implement such a feature? At first you need the new user interface but you also need an internet connection to the PHP script. That would be quiet easy with C# for example, but what about C++? In addition to that, I hope it isn't too much traffic for the server. Probably I could find another free server for the downloadable files (graphics and unzipped level files) but you never know if the hosters want to reduce your traffic.

By the way, thank you for your zipped level repository. It's astonishing to see all these levels made during many years in a ZIP file. To summarise, we have all levels including the credits and graphics together. Nevertheless, we need to separate the graphics. That shouldn't be a problem, though, because the associated graphics and sounds seem to be mentioned in the credits.txt, too.
User avatar
Fabianius
SMC Team
SMC Team
 
Posts: 173
Joined: 03 Nov 2007 11:30
Location: Switzerland

Re: Online World/Level Repository

Postby Luiji » 06 Mar 2010 21:13

Fabianius wrote:I thought that Secret Maryo Chronicles takes the screenshots and saves them into the screenshots-folder in your Secret Maryo Chronicles application data directory. Is this different if you use Ubuntu?

It isn't supposed to be. Seemingly it is a bug.

I really like the idea of an in-game online level repository. You can tell me your desired XML format and I could start to create a version of the PHP script. However, I don't know a lot about CEGUI. Isn't it quite a lot of work to implement such a feature? At first you need the new user interface but you also need an internet connection to the PHP script. That would be quiet easy with C# for example, but what about C++? In addition to that, I hope it isn't too much traffic for the server. Probably I could find another free server for the downloadable files (graphics and unzipped level files) but you never know if the hosters want to reduce your traffic.

It is actually fairly simple, especially with libSDL_Net. I do have a tendency to screw up with CEGUI, though.

The XML format would preferably be like:
Code: Select all
<PackageInfo>
    <Title>My Level Package</Title>
    <Description>My level package for fun.</Description>
    <LevelCount>3</LevelCount>
    <Size>300</Size>
    <!-- The other descriptive tags you wanted. -->
</PackageInfo>

Note: the size is the amount of kilobytes the unpacked package is.
Note: The screenshot would be downloaded separately from this file.

By the way, thank you for your zipped level repository. It's astonishing to see all these levels made during many years in a ZIP file. To summarise, we have all levels including the credits and graphics together. Nevertheless, we need to separate the graphics. That shouldn't be a problem, though, because the associated graphics and sounds seem to be mentioned in the credits.txt, too.

Credits.txt does have all of that information. I think your repository was in mind when that was suggested.
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: Online World/Level Repository

Postby mrvertigo27 » 07 Mar 2010 16:05

your level repository idea was indeed in mind during the process, think of it as a kind of workaround that involved to coding or gui changes, I would love to get this done and do it right so to speak.
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: Online World/Level Repository

Postby FluXy » 25 May 2010 20:51

A small part is there now :)
Level description, difficulty and land_type is now implemented and in git.

- Description is the short one and could be displayed at the level start. I don't think a long description is needed.
- Difficulty range is 1 - 100 with 0 as undefined (1 is dead easy and 100 is an ultimate challenge).
- Land types are a string in the level xml but a number in the source.
undefined = 0
green = 1
jungle = 2
ice = 3
snow = 4
water = 5
candy = 6
desert = 7
sand = 8
castle = 9
underground = 10
crystal = 11
ghost = 12
mushroom = 13
sky = 14
plastic = 15
If i didn't read your post but it was important you can send me a PM.
Any Donation will help this project!
User avatar
FluXy
Admin
Admin
 
Posts: 2857
Joined: 04 May 2004 19:44
Location: Germany

Re: Online World/Level Repository

Postby Luiji » 25 May 2010 23:51

Awesome.
Custom Built IBM-Compatible (Arch Linux w/ KDE)
Dell Vostro (Windows 7)
Dell Inspiron 1440 (Windows Server 2003, Debian w/ KDE)
Dell Inspiron 11z (Linux Mint)
Luiji
MVP
MVP
 
Posts: 2703
Joined: 14 Jan 2010 23:20
Location: The Mushroom Kyngdom

Re: Online World/Level Repository

Postby mrvertigo27 » 26 May 2010 19:39

awesome step in the right direction!
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: Online World/Level Repository

Postby Jonn » 21 Mar 2012 18:08

I think this is still a good idea, but if we put the repository on another host
(maybe some free online host that supports php, like http://www.000webhost.com/),
we don't have to wait for Fluxey to return. I've started to make a level repository in php too,
so it might be useful to compare the versions of everyone. The cool thing is that my one supports AJAX :lol:
Anyway, if we call it "Unofficial" I don't think Fluxey has any problems with it.

Oh, and it might be useful, if we are using a free host, that the files are uploaded somewhere else and that if you add something to the reposity, you just enter the URL.
No pizza is perfect, and SMC is not a pizza!
chicken+egg=dilemma
User avatar
Jonn
Eato
Eato
 
Posts: 57
Joined: 31 Oct 2011 17:46

Re: Online World/Level Repository

Postby Jonn » 24 Mar 2012 12:24

I´ve read this in the Terms of Service of 000webhosting.com:
5. Chat, proxy, or file download scripts are not allowed. (allowed if you upgrade account)

Does that mean that we aren't allowed to make a website with a bunch of levels where each level has a download link? Is that what the mean with "file download scripts"? Or do the mean something else?
No pizza is perfect, and SMC is not a pizza!
chicken+egg=dilemma
User avatar
Jonn
Eato
Eato
 
Posts: 57
Joined: 31 Oct 2011 17:46


Return to Add-Ons and 3rd Party things

Who is online

Users browsing this forum: No registered users and 1 guest

cron