Keeping art organized and accessible

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
So I was looking at TeraMisc on GitHub and thinking about how to best keep art organized. Got into wondering if that would be a good time to also straighten out licensing (by contributing art to this repo you acknowledge a, b, c), that got back to what license to use, etc ...

My original idea was that keeping extra art in a different GitHub repo would allow us to post the stuff there that doesn't have a for-sure home yet in the main code branch, or better yet allow the code to pull stuff from there when needed (pull extra music from there to keep the main download smaller, bundle some stuff as external mods, etc). But then that starts falling apart - what about art already in the main code tree? What about art that is parked there for a while then gets hooked up to something in-game?

We've have (had) various approaches to this. Old wiki had a list of who did what block textures. We put author tags in some of the block definitions as the artist also did the definition file. glasz posted this thread to centralize forum-submitted artwork in one place. XenMedio (sibling addon to portal etc) gives you a "Media" tab in XF that has collections of graphics, videos, etc in sets that can be tagged, rated, etc. There are bound to be existing examples of how to organize stuff like this out on the web - anybody familiar with any? I looked around a little, but no dice.

A little while back I tried contacting the Jaxel fellow who did the Xen series of addons suggesting integration of XenMedio with post attachments - you click a checkbox while posting screenies, artwork, models, etc, and you get an entry on the Media tab (normally you submit stuff directly to the Media tab, separate from a post), which suddenly magically becomes a sortable repository of everything ever attached (and enabled) to posts without any effort beyond clicking a checkbox (and maybe adding some tags). Didn't really get the sort of response I had hoped for, rather puzzling really (getting used to this, huh).

But something like that might be closer to an ideal way of storing art, and could help licensing too if different artists prefer different terms - just add a radio button for "license". Then we could just use GitHub for storing stuff that'll be outright used by code, which is probably more apt. GitHub does get us revision tracking though.

Thoughts? And what sort of licenses are out there we should look at, anyway? Only the Creative Commons and some "Artistic License 2.0" stuck out to me beyond the usual software licenses
 

SuperSnark

Lore Master
Contributor
Design
Art
Maybe setting up sub-folders either here or on GitHub would help?
  • 2D Art - Badges, Mascot, Concept Art, etc.
  • 3D models - For blender renderings of animals, humaniods, etc
  • Animations -Animated versions of 3d models
  • Game Art Library - a ready-for-the-world folder that developers can use as a resource for pulling assets. Maybe this one is subdivided into categories useful to developers, sprites for flowers, 3d models, etc.
I would refrain from saying the art is "free for use" like, Creative Commons style. At this stage I think we're all contributing for the benefit of our "free for everyone" game. I would just hate to see someone else monetize our work without compensation to the original creators. At some point we do need to define terms of use.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Oookay. Put some effort into this after some more thinking. Remembered the bit from the past about all content being "mods" (which reminds me of modding terminology because argh this is simple content not complete packs of what you normally think of as "mods") which actually reverses one of my concerns - we won't be moving stuff from TeraMisc into Terasology, we'll be going the other way.

The few bits of assets (that might a better term than mods/content?) we have in the main source tree shouldn't necessarily be there. Like the music - since it makes the war file way big, especially in the situation of launching via applet. I made issue #200 for that a while back. Idea was to put music in TeraMisc, then pull just menu music and maybe one piece into the applet, and have a separate downloadable with all the "extra" stuff in it (and some automated updater/downloader stuff later). We can do that during the build process - pulling stuff from TeraMisc if needed. Probably can make the main project's Gradle hook into the TeraMisc stuff during local development if needed.

I did an example commit with a bunch of stuff in it, including little "info.txt" JSON files with author stuff (avoids complexity / custom Git author tags, etc), attribution to where the user contributed the stuff, and possibly functional stuff (could be a .prefab instead of a .txt even) like notating what files are what for a creature model, or what hook a piece of music should attach to in-game. Other stuff like SFX might just be made available, after all the railgun says it needs an explosion SFX, not the other way around.

I put status fields in there too, figuring we could "build" TeraMisc into a summary page in the attached wiki, then authors or others could create actual pages for their assets with more details if desired (only the summary page would generate, with links prepared to detail pages). Assets may develop over time, like the thing Perdemot and basilix worked on tonight - I left a piece of concept art from that one in place, but know there's a model and texture fun too, we can upgrade that from concept art into creature when we want to. That, and I don't know how to grab files from that fancy model hosting site ;)

There is also other stuff in there like Xenforo stuff - SuperSnark badges and a template CSS file just for the sake of including that. Might be good to keep the templates we customize on GitHub (as long as there's no sensitive info in them, I guess) just in case.

This is a rough first draft that'll need more work, but I like the idea of it as a solution. And I got glasz to volunteer filling it up with some of the artwork, which seems fitting, after he learns some Git :D

Okay, it is 2 am and I need to work from home starting 7 am. On a Sunday. Wee! I'll have to follow up more on this later ...

Double_A - you already have a fork of TeraMisc, want to try bundling up your stuff in a similar fashion to what's there already and prep a pull request?

@ everybody whose stuff I uploaded - hope you're okay with me using you as examples, I had to fill in some occasional blanks myself, let me know if anything needs tweaks :D

Edit: Also, I totally used rebase on this. Via command line. Like a baws.
 
Top