Community Content Pack Beta 1.0

A secret forum for people who preorder Overgrowth!
Locked
User avatar
Johannes
Posts: 1374
Joined: Wed Dec 17, 2008 10:26 pm
Contact:

Community Content Pack Beta 1.0

Post by Johannes » Sat Mar 21, 2009 6:36 am

=Update= Check here for the next Update.


Jeff recently mentioned that it would be nice to organize a pack containing mods, textures and just stuff made by the community.

I think it's a great idea and so here is my first attempt at putting together such a pack.

This topic is meant mostly to illustrate a system for doing such a thing... ( I realize I might be overthinking this, but I like to be thorough :lol: )

A good bit of thought has gone into how to best organize such a pack, and I think i've come up with a system that follows some of the design choices that have been made in the engine so far, would keep things easily organized, and overall is a good way of doing this. First and foremost, it's drag and drop. No copying into folders necessary, Period! =D (will mention how to load custom levels in a moment)

First, here is how the Folder is structured:


- All of the content is in one folder within the Data folder. here I chose to call it 'Custom', but another name would do if it were more appropriate.
- Inside Custom there is a very specific hierarchy that the folders should follow:
Picture 4.png
(please don't complain if you're stuff isn't in the folder yet. I just quickly grabbed what I could find and didn't choose one over the other. this is just a test)
- I feel it is best to organize it at the lowest level by the user.

- Next is the Name of the project.

- In the project folder there is an about.xml file, and a file structure mirroring that of the Data folder. although not necessary, I feel it is good practice to stick to this format for when projects become more complex and files will be harder to keep organized.

- The about.xml file contains information about the project, and I hope will at some point be readable by the engine's Mod browser. I like how the levels/objects use XML and I feel that tagging/organizing user created content with XML as well would work nicely, and would be easy to implement in the engine. Here is the above XML file:

Code: Select all

<?xml version="1.0" ?>
<Creations>
	<Creation name="Rabboss!" version="1.0" url="http://forums.wolfire.com/viewtopic.php?f=13&t=4607" date="Feb 10, 2009" status="finished" note="Rabbot may have met his match!" />
</Creations>

<Authors>
	<Author name="John" forum_id="12985" />
</Authors>
	
- As you can see, the XML file is divided into two parts, Creations and Authors. Plural, because a Project can have multiple creations, and multiple authors for collaborative projects. Here is a short explanation for each tag:

Creations:
  • - name: a short title for the project.
    - version: the version of this release. (more on that later)
    - url: the url for this project. If you don't have your own website use the topic/post where you posted it on the forum
    - date: the date of release or creation.
    - status: the state of this version of the project.
    - note: a description of what this project is.
Authors:
  • - name: author's name
    - forum_id: the author's ID on the forum. ( to find your ID just click on your name at the top of a post. for example, Jeff's forum ID is 3.)
Of-course other tags could easily be added to the xml file. feel free to suggest others, but I feel these are both informative and broad enough as to not cause too much clutter/unnecessary information.

- Version-wise, if there are multiple versions of the same project another level can be added:
Picture 5.png
This level has to be in the format of v#.# or v#.#.#.etc.



I've probably forgotten something, and will but feel free to download it and try it yourself:
http://jo-shadow.com/Public/Johannes/Mo ... Custom.zip (18MB)
(Jeff, it would be excellent if you could host that. The forum wouldn't let me upload a file of that size)

Once downloaded, place the 'Custom' folder into your Data folder


You can load custom Levels in the starter menu by typing

Code: Select all

../Custom/Your/File/Path/Level.xml
For example, try pasting the following into the Level Loading bar:

Code: Select all

../Custom/Jo-Shadow/Test Maps/Levels/Test2.xml
(land on the slope of the wall and you won't fall through the floor. sorry, forgot to change the spawn height)


This is only a first draft. I have not yet taken into account how one would create an entire mod in this format, but I feel that the About.xml file could be appropriately expanded to make it work.

Once you've tried it out, tell me what you think.
Last edited by Johannes on Mon Apr 06, 2009 11:44 pm, edited 14 times in total.

Mykei
Posts: 72
Joined: Fri Jan 16, 2009 2:38 pm

Re: Community Content Pack

Post by Mykei » Sat Mar 21, 2009 6:52 am

I think it's a bit silly because what If someone wanted to just download one pack? He would have to download all the others just to get that one pack he needs.

User avatar
Johannes
Posts: 1374
Joined: Wed Dec 17, 2008 10:26 pm
Contact:

Re: Community Content Pack

Post by Johannes » Sat Mar 21, 2009 6:58 am

Mykei wrote:I think it's a bit silly because what If someone wanted to just download one pack? He would have to download all the others just to get that one pack he needs.
No, they would simply go on the forum, where I got all this content from in the first place. I have a feeling this is only for the alphas, and later a more robust server based system might be implemented, where you really can download only those that you wish.

User avatar
Sajber
Posts: 29
Joined: Thu Mar 19, 2009 12:14 pm
Location: Sweden
Contact:

Re: Community Content Pack

Post by Sajber » Sat Mar 21, 2009 10:12 am

I think its a great Idea and I have sorted my texture pack according to the standards you have set for the Community Content Pack.

I hope I qualify to be added to it! :)

User avatar
tomascokis
Posts: 431
Joined: Mon Jan 19, 2009 5:34 pm
Location: Australia, Perth
Contact:

Re: Community Content Pack

Post by tomascokis » Sat Mar 21, 2009 2:40 pm

I think that eventually custom textures should be placed in this format ie data/custom/nimai/texturepack1/about.xml and in this file there should be the xml to load objects, and the associated textures. Therefor the xml file for the object should link to /custom/nimai/texturepack1/colormap.tga

User avatar
Nimai
Posts: 234
Joined: Sat Feb 14, 2009 3:38 pm
Location: Planning Jeffs death..

Re: Community Content Pack

Post by Nimai » Sun Mar 29, 2009 11:12 pm

Jo-Shadow..This is amazing!
great job!

User avatar
matto1990
Posts: 146
Joined: Mon Feb 02, 2009 2:54 pm

Re: Community Content Pack Beta 1.0

Post by matto1990 » Tue Apr 14, 2009 4:34 am

Really cool idea. A few major problems though. All of the XML files are invalid and can't be prased by anything. You need to have a root element which wraps around all of the other elements. Also, instead of using attributes on the creation and author elements maybe just use sub elements to aim readability (can sometimes be easier to prase as well).

I've cleaned up one of the About.xml files to show you what I mean. I've also made the naming consistant (all lowercase like xhtml and most other xml based markups) and added a url element to the author bit. See what you think:

Code: Select all

<?xml version="1.0" ?>
<modinfo>
	<creations>
		<creation>
			<name>Shale Guard</name>
			<version>2.0</version>
			<url>http://forums.wolfire.com/viewtopic.php?f=13&mp;t=4713</url>
			<date>Mar 09, 2009</date>
			<status>finished</status>
			<note>The Shale Guard Outpost. For its detailed history check the forum.</note>
		</creation>
	</creations>

	<authors>
		<author>
			<name>Hale</name>
			<forum_id>13038</forum_id>
			<url>http://www.wolfire.com/</url>
		</author>
	</authors>
</modinfo>
I'm having a go at building a PHP based website that will take you zip files and automatically generate a website that sows all this data and allows downloading of individual mods, hence I need to xml to be valid.

Great work so far. Can't wait for the next pack :)

Edit: Woops! Looks like I didn't see the 2.0 thread which makes everything i put redundent. Ignore me :)

User avatar
Johannes
Posts: 1374
Joined: Wed Dec 17, 2008 10:26 pm
Contact:

Re: Community Content Pack Beta 1.0

Post by Johannes » Tue Apr 14, 2009 2:45 pm

Heh, no worries.

With the original about.xml files I simply tried to use a format similar to what the existing level files used, though still I don't doubt that I probably made many mistakes. :lol:


Give that none of these meta files will be used for a while, and many tags and elements are sure to still be added in the future, I think it's best to consider these files pseudo code, at least until the content browser is far enough along to require them.

Locked