home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Universal Map Package Format Concept

by MovingTarget on 07/06/2008 20:12, 33 messages, last message: 09/25/2008 18:01, 15488 views, last view: 05/18/2024 21:39

I've been thinking lately about how exactly to solve the never-ending issue of incorrect map packaging over at Quadropolis.
I tried with a Python script I submitted, but it didn't turn out that well, and even if it did, how would the community two years from now find out it's there? Of course you could provide a link in the Packaging section, but who looks there?

Then it hit me: Why not have a file format that stores the map, textures, screenshot, models, and other stuff?
Someone who has made a map would run a command--let's say "packagemap"--and the engine would run some steps:

1) Engine checks that map file exists
2) Engine checks that map file has screenshot (if not, prompts user to take one?)
3) Engine checks cfg (if there is one) for textures, models, skyboxes, and sounds that aren't included in vanilla Sauerbraten and includes those in the file
4) Engine jams all the stuff into a file named MAPNAME.sauermap (?)

The user then does the usual steps to upload their map.
Another user downloads the map. They stick the map in the main Sauerbraten directory (or some other place) and starts the game up. Sauerbraten indexes wherever the map files are to be placed, finds the newly downloaded file, unpackages everything where it's supposed to go, and the user can then play the map, with hardly any effort on his/her part at all.
And they lived happily ever after :D

In an even better scenario, the user that made the map, after running "packagemap", runs "uploadmap" and a GUI comes up with fields for all the required stuff (title, blurb, detailed description, etc.) He fills them in, presses OK and the engine uploads the map to Quadropolis (possibly through an interface meant to be used by Sauerbraten clients). The only thing I'm not sure about with this part is the username the map will be posted under. Maybe a username and password field too? Anyway, this interaction could be done with the help of libcURL.

The second user starts up Sauerbraten and clicks on the "Quadropolis" entry on the main menu. Sauerbraten quickly retrieves the latest maps (RSS feed?), parses what it gets, and shows the user a GUI with the ten or so most recent maps. He clicks on one, gets the detailed description and a download button. He downloads the map, the engine takes care of the unpackaging, and he's golden.


Now this is all just a concept I thought up, but I thought it an interesting enough concept to share with the community. Currently I'm not going to work on this until I get the plugin stuff done, if I work on it at all (hey, I might not need to if eihrul beats me to it :D).


If you like the concept, post why you like it. If you don't like the concept, post why you don't like it. And both categories of people, post how you think the idea can be improved.

   Board Index    Go to next 20 messagesGo to last 20 messages

#1: ..

by {Qs}Homicidal on 07/06/2008 20:29

hell yea ( points to auto download of maps and content ) ------> http://www.cubeengine.com/forum.php4?action=display_thread&thread_id=1808 post 26 :D
and there is no reasion why the current map format would be incompatable with the with the current one :D

pak/pk3/Gzip anyone :D

reply to this message

#2: Re: ..

by MovingTarget on 07/06/2008 20:36, refers to #1

I was thinking that the format could be based on gzip compression (like the ogz format is). Maybe even something like pk3 that you can open with a zip program like 7zip.

reply to this message

#3: ..

by Max of S2D [Fr] on 07/06/2008 20:38

I can do nothing but approve.

reply to this message

#4: Re: ..

by jbuk2k7s cookie has gone on 07/06/2008 20:50, refers to #3

What happens if multiple maps use the same additional textures, or, two different maps use the same textures, but one has a modified version?

Unlikely scenario, but it is possible.

Aside from that, the whole idea sounds great and so does the quadropolis integration.

reply to this message

#5: auto screenshot

by fhjdksfconorhfksdj on 07/06/2008 21:11

what about implementing an auto screenshot into the current sauerbraten?

like everytime you save, it takes one, but it removes the hud and gun and fps display, maybe off screen.

reply to this message

#6: Re: auto screenshot

by fhjdksfconorhfksdj on 07/06/2008 21:12, refers to #5

oh wait i just read your idea and that is awesome! That would be a really useful thing to have in sauerbraten.

reply to this message

#7: Go for it.

by tentus_ on 07/06/2008 21:15, refers to #4

In that case, do essentially the same thing that usually happens when trying to write a new file over an existing one:
Warning, file abc.jpg already exists. Would you like to:
Overwrite old (1704 bytes, modified July 5 2008 14:03:36) with new (1856 bytes, modified July 6 2008 02:44:99)
Skip this file and continue
Skip all conflicts
Overwrite all conflicts
Abort all
Write to log and continue

I'm all about this idea, btw.

reply to this message

#8: ..

by {Qs}Homicidal on 07/06/2008 22:30

yea puting all custom stuff for in map i with the map its self would solve a lot of head aches custom map models custom texuters custom sounds and configs wee the list go's on

all i can say is why has no one thought of this before =/ :P

reply to this message

#9: Directory structure?

by jbuk2k7s cookie has gone on 07/06/2008 22:40

I'm thinking that we could have something like this for the structure

+ packages
+ base
+ models
+ [texture folders]
+ [anything else]
- info.cfg

where info.cfg contains the sauer version which created the map, and any other info the author wants to provide, like copyright/credits, and the contents of this would be dispayed on first map load, along with an install prompt (and possible file overwrite warnings).

obviously, packages/xxx is generated by sauer from the existing dir structure in the user's sauer install.

reply to this message

#10: Re: Directory structure?

by jbuk2k7s cookie has gone on 07/06/2008 22:42, refers to #9

Oops it should look like this:

+ packages
---+ base
-------+ map.ogz
-------+ map.cfg
-------+ map.jpg
---+ models
---+ [texture folders]
---+ [anything else]
+ info.cfg

reply to this message

#11: Re: Directory structure?

by MovingTarget on 07/06/2008 23:40, refers to #9

I think the Sauer version could be put in the package file's header, and the other stuff could possibly be put in the map file itself.

reply to this message

#12: Re: Directory structure?

by a~baby~rabbit on 07/06/2008 23:56, refers to #11

isn't this is why there's a '-k' command line flag to sauerbraten - for specifying package directories...

Meanwhile you can abuse the engine in which way you wish, so maybe its better giving quadrapolis the business logic to enforce/impose a directory structure for uploads/downloads

reply to this message

#13: Re: Directory structure?

by MovingTarget on 07/07/2008 00:09, refers to #12

Right now I'm not quite sure what the first part of your comment has to do with the one you replied to... could you please enlighten me?

reply to this message

#14: Re: Directory structure?

by SheeEttin on 07/07/2008 00:11, refers to #12

Yeah. I've been thinking about just setting up something on Quadropolis (or getting MeatROme or Quin or somebody with this kind of access) so that the map-upload form has fields for the CFG, screenshot, OGZ... and the packaging is done server-side. Completely skips the problem of user error. (Of course, it'd take a little more effort to support the packaging styles of Sauer, AC, etc.)

reply to this message

#15: Re: Directory structure?

by MovingTarget on 07/07/2008 00:19, refers to #14

That's an interesting idea, and might work.
I forgot to mention that the ten most recent maps displayed would be only Sauer maps.

reply to this message

#16: Re: Directory structure?

by SephoD on 07/07/2008 03:09, refers to #15

I really like your idea.

The only thing I would like to add is to include when you download a map through that it is added to the load map menu.

reply to this message

#17: needs moar prompt

by sdhkjfconorfhdsjk on 07/07/2008 07:25

I think that if you join a game with a map you don't have, it should ask if you want to have sauer search quadropolis and download it for you.

reply to this message

#18: Re: needs moar prompt

by SheeEttin on 07/07/2008 07:44, refers to #17

There definitely needs to be some support for retrieving maps you don't have.

Maybe Quadropolis is the answer... As people have mentioned many times, just getting it from another user leaves open the great hole of a malicious package. Malicious maps, of course, have no place on Quadropolis.

reply to this message

#19: ..

by Hirato Kirata on 07/07/2008 08:50

just how would the engine identify that the textures inside the map's cfg are vanilla sauer ones or not? default_map_settings.cfg is NOT an option, as there's plenty of textures that're not referenced in there.
and what about the models, how would you likewise determine if it's a vanilla model, or a custom one?

reply to this message

#20: Re: ..

by JadeMatrix on 07/07/2008 14:22, refers to #19

When someone makes a modified texture, they're supposed to add it to a separate directory, even if its a "playername_modtex" folder within the original. Modified textures should not be a problem unless the mapmaker is breaking the "rules" of mapmaking.

reply to this message

   Board Index    Go to next 20 messagesGo to last 20 messages


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
54038799 visitors requested 71819349 pages
page created in 0.023 seconds using 9 queries
hosted by Boost Digital