Enable distributed content development

Bug #386797 reported by Kẏra
28
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Won't Fix
Undecided
Ubuntu Gaming Team

Bug Description

Content is the primary thing holding back the development of FOSS games and a distributed content development platform is in dire need.
http://pinstack.blogspot.com/2009/04/foss-gaming-needs-distributed-content.html

FOSS game developers need a website like launchpad (or, better yet, launchpad itself, as this bug was filed for) to allow them to share resources like sounds, textures, models, etc.

It's a HUGE task, but so is the payoff. Here's to FOSS gaming!

Revision history for this message
kripken (kripkenstein) wrote :

I'm very interested in this issue. In fact I am working on an implementation of something related for my own FOSS gaming project (hosted on Launchpad, btw: http://launchpad.net/intensityengine/ ), it would be great if resources could be pooled in some way.

I'd be very happy to discuss this in depth, preferably on IRC (I am at #intensityengine on FreeNode, as well as #ubuntu-gaming and several others).

P.S. As mentioned above, using Launchpad itself might be a good way to go. Maybe once the source is available this can be better considered (last I heard, it should be opened by July 21?).

Revision history for this message
Kẏra (thekyriarchy) wrote :

July 21? That's my birthday!

Anyways, please feel free to bring up your project on the -gaming mailing list

Revision history for this message
Diogo Matsubara (matsubara) wrote :

I don't understand this bug report. Launchpad and bazaar support binary files and you can set up a project in Launchpad to coordinate your game development. So what's exactly are you asking for?

Changed in launchpad:
status: New → Incomplete
Revision history for this message
Kẏra (thekyriarchy) wrote :

To quote: "To me the nr 1. challenge/problem is that “we” the open source people more or less cracked the problem of distributed code development. It's all text based and a lot of focus and effort has been put into that “way” of working. But it's different for content, as you cannot “diff” a picture or a blender file. Distributed content development is a pain in the ass. Spring has loads of content but it's very difficult to get a distributed team to work on integrating all this into one style that can compete with commercial games.

There is progress, the creative commons licenses makes it easier to do things as the GPL and other traditional licenses are to much focused on code. Broadband internet makes it easier to send around large binary source files. The 3D drivers for Linux are improving.. Gimp actually starts to get useful so artists are more open to the idea to look beyond Photoshop for a second. Wings3D is stable enough and useful enough to get people modelling. And Ton is finally committing himself to a gui rewrite for Blender. All these things used to be big blockers but it's still not practical to start a distributed content development project.

The only real successful open source content projects are “Elephants Dream”, “Big Bug Bunny” and “Yo Franky!”. But that involved getting 10+ people together for 6 months to work on a project. And even then they had problems managing the content files. They were using svn but had to use a small webapp to keep track who was editing what files.
A service like launchpad would need “a lot” of work to make it practical to develop content in the same way as it's possible to develop code. Your constantly running into/pushing the envelope. Dpkg repository's are not designed to cope with "source" files of many gigabytes. "

Revision history for this message
Karl Fogel (kfogel) wrote :

Thanks for the explanation. What you say makes sense... but it's an extremely large change.

We have other bugs with equally wide scope (e.g., bug #1), of course. But for any actual progress to be made toward achieving what you describe, there will need to be a lot of feature discussion, design work, etc. It may be that this is not the direction for Launchpad to go; I'm not sure yet, I'm just saying that "the world needs X" can be true while "Launchpad needs to become X" might still be false :-). A lot of what you're describing requires new client-side tools (better image and video diffing, etc), and isn't something Launchpad could solve on its own anyway.

Raising these questions in the open development community after Launchpad is open-sourced would be a good way to start. That will be fairly soon -- "July/August 2009" is the date on http://dev.launchpad.net/OpenSourcing now (a long time ago we said a specific date, but as we started vetting and preparing the code, we decided to give ourselves a range).

Best,
-Karl

Revision history for this message
Christian Reis (kiko) wrote :

Danny, I just wanted to follow up and say that what you are requesting is actually pretty unclear in practical terms. Could you list some potential changes that we could make to Launchpad to make it better for us to work with the sort of content you are producing?

I can think of at least one: displaying images that are attached to bugs or submitted as part of a branch inline, similarly to what webmail does for emails.

What other specific changes could we make?

Revision history for this message
Kẏra (thekyriarchy) wrote :

Thanks for your comments! We'll be discussing this at the first Gaming Team meeting, and i'll post back here afterwords

https://wiki.ubuntu.com/GamingTeam/Meetings/Minutes/2009-07-26

affects: launchpad → launchpad-foundations
Revision history for this message
Kẏra (thekyriarchy) wrote :
Download full text (3.7 KiB)

Perhaps we should make a blueprint and/or wiki page? Here's to quote an email from Tim Blkdijk:

"Specific to launchpad.. I don't know. Let me describe the development processes then we can extract the things relevant for launchpad.

If you look at http://www.imperialwinter.com/?sec=progress for example, I found this an interesting page. They decided to build and maintain that page to manage the development of their game. This page is about "units" (buildings, tanks..) but they will also need "maps" (the worlds to fight in) and possibly "missions" on those maps for a single player experience. Tracking progress like this in Launchpad would make things more practical.
But before you can get to this stage a team or 'lead artist' would have to define the style and theme of the game. This process is also difficult as this involves concept art and things like that. In this case they decided to copy Star Wars. That's far more easy as site's like http://starwars.wikia.com/wiki/Main_Page have all the specifications to the smallest detail. But this also means the project is doomed, Lucas Arts will kill the project at some point. They know this but still make the choice to base there game on Star Wars as developing a new concept is a to big barrier to take with a distributed development team.
After the stage where they have build the units they get in a phase where they have to balance the units so they are not over- or underpowered. Each unit must have its role and use in the game. Each unit must have its strengths and weaknesses. This needs a lot of play testing and discussion.

For an animation project like http://durian.blender.org/ the process is somewhat comparable. There is a scenario, script and a storyboard. Character development (modelling, texturing, rigging), scene development, block animations, voice acting, final animation (block animation is made smooth, lip sync).

Improvements to Launchpad would have to be based more or less on those work flows. But the work flows them self need to be better defined as I'm not an artist (I'm a manager in healthcare with a IT background). I will ask Tobi (lead developer of the Spring project) if he has some idea's a bout this, or knows someone interested in this.

More practical improvements to Launchpad without knowing how it would fit into a more general plan:
* Interpretation and visual representation of binary data as
    - gimp files (understanding layers, resizing, maybe a sort of "diffing" where you can see where changes are made.
    - png and jpg files (understanding that they can be (resized) derivatives of gimp, photoshop or painter binary source files.)
    - sound files (display a wave table, “diffing” by showing changes in this wave table with revisions, understanding volume changes.)
    - blender files (difficult.. but maybe something is possible in cooperation with Ton.)
* Merging binary data files.
    - ?
* Allow "pooling" of content not directly related.
    - 3D artist love to have lost of titled textures (pictures where the left side matches the right side and top matches bottom)
    - Same with 3D models that are textured, rigged and animated.
* Game content needs to run in a game...

Read more...

Revision history for this message
Ryan Swart (serjndestroy) wrote : Re: [Ubuntu-gaming] [Bug 386797] Re: Enable distributed content development
Download full text (5.2 KiB)

Personally, I'd like to see more contribution integration into content
production apps like Blender and the gimp. Verse was looking promising, but
it kinda fell flat, and now they want to redo it in C# :/

On Sun, Jul 19, 2009 at 9:41 PM, Danny Piccirillo <
<email address hidden>> wrote:

> Perhaps we should make a blueprint and/or wiki page? Here's to quote an
> email from Tim Blkdijk:
>
> "Specific to launchpad.. I don't know. Let me describe the development
> processes then we can extract the things relevant for launchpad.
>
> If you look at http://www.imperialwinter.com/?sec=progress for example, I
> found this an interesting page. They decided to build and maintain that page
> to manage the development of their game. This page is about "units"
> (buildings, tanks..) but they will also need "maps" (the worlds to fight in)
> and possibly "missions" on those maps for a single player experience.
> Tracking progress like this in Launchpad would make things more practical.
> But before you can get to this stage a team or 'lead artist' would have to
> define the style and theme of the game. This process is also difficult as
> this involves concept art and things like that. In this case they decided to
> copy Star Wars. That's far more easy as site's like
> http://starwars.wikia.com/wiki/Main_Page have all the specifications to
> the smallest detail. But this also means the project is doomed, Lucas Arts
> will kill the project at some point. They know this but still make the
> choice to base there game on Star Wars as developing a new concept is a to
> big barrier to take with a distributed development team.
> After the stage where they have build the units they get in a phase where
> they have to balance the units so they are not over- or underpowered. Each
> unit must have its role and use in the game. Each unit must have its
> strengths and weaknesses. This needs a lot of play testing and discussion.
>
> For an animation project like http://durian.blender.org/ the process is
> somewhat comparable. There is a scenario, script and a storyboard.
> Character development (modelling, texturing, rigging), scene
> development, block animations, voice acting, final animation (block
> animation is made smooth, lip sync).
>
> Improvements to Launchpad would have to be based more or less on those
> work flows. But the work flows them self need to be better defined as
> I'm not an artist (I'm a manager in healthcare with a IT background). I
> will ask Tobi (lead developer of the Spring project) if he has some
> idea's a bout this, or knows someone interested in this.
>
> More practical improvements to Launchpad without knowing how it would fit
> into a more general plan:
> * Interpretation and visual representation of binary data as
> - gimp files (understanding layers, resizing, maybe a sort of "diffing"
> where you can see where changes are made.
> - png and jpg files (understanding that they can be (resized)
> derivatives of gimp, photoshop or painter binary source files.)
> - sound files (display a wave table, “diffing” by showing changes in
> this wave table with revisions, understanding volume changes.)
> - blender files (diffic...

Read more...

Revision history for this message
Kẏra (thekyriarchy) wrote :

I'd never heard of verse. It looks cool. Link for reference: http://verse.blender.org/

Revision history for this message
Karl Fogel (kfogel) wrote :

Based on this, I think Launchpad is sufficiently far from serving these needs that there is no point keeping this bug open.

That's not to say there's anything wrong with these needs. They make sense, and a platform specialized to game development would focus on them. But Launchpad serves a much broader audience.

However, as individual features come up that would help, please file individual bugs on those, and we'll take them one at a time. The key thing is to get a well-bounded description of the proposed feature: something where when we've implemented it, we will know we've implemented it.

Changed in launchpad-foundations:
status: Incomplete → Invalid
Revision history for this message
Shirish Agarwal (shirishag75) wrote :

If somebody makes individual bugs of the ones Danny Piccirillo describes please link those with this bug so interested people can track what's happening where.

Revision history for this message
Tim Blokdijk (tim-blokdijk) wrote :

I guess it's a good idea to be a bit more active and reply to this bug myself.

Karl, I agree that there is no reel need to keep this bug open. This is not the best place for the stuff we need to figure out but where should people go to for the more fundamental discussion? Brainstorm or maybe blueprints? As I don't really know.
Christian Reis, maybe I should ask you this, where do you have discussions about the more fundamental launchpad stuff? As this is essentially about the scope of the launchpad project as a whole. With that I mean whether launchpad is focused on the distributed development of code projects or if it's worthwhile to expand the scope with content development projects.
Building a specialized platform for game (content) development as Karl Forgel suggests might be a better option.. as it allows to keep a more clear focus. But forking launchpad has drawbacks to, mainly two codebases, a new server cloud for hosting.. it's a lot of duplicate effort and with that a high chance of failure. Even if enough content development projects would actively support such a effort.

The "business case" could be interesting for Canonical, commercial content development (games and (animation-)movies) is a very large market. Canonical is currently providing commercial subscriptions, expanding this to the content market might be commercially interesting as there is no competition.

Maybe this discussion should be separated from the more practical discussion about the work flows that are used with team based content development? And the specific features that would have to be implemented in a development platform as launchpad to accommodate those work flows.

Anyway, how and where should this be discussed.

Revision history for this message
Kẏra (thekyriarchy) wrote : Re: [Bug 386797] Re: Enable distributed content development

On Thu, Jul 23, 2009 at 18:10, Tim Blokdijk <email address hidden>wrote:
>
> The "business case" could be interesting for Canonical, commercial
> content development (games and (animation-)movies) is a very large
> market. Canonical is currently providing commercial subscriptions,
> expanding this to the content market might be commercially interesting
> as there is no competition.
>
>
The Blender foundation would also be interested in this type of platform as
their Open Movie Projects could benefit highly from it and help create such
a platform. Perhaps they could work together

> --
> Enable distributed content development
> https://bugs.launchpad.net/bugs/386797
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
http://www.google.com/profiles/danny.piccirillo

Kẏra (thekyriarchy)
Changed in launchpad-foundations:
assignee: nobody → Ubuntu Gaming Team (ubuntu-gaming)
Revision history for this message
Kẏra (thekyriarchy) wrote :

On Thu, Jul 23, 2009 at 18:10, Tim Blokdijk <email address hidden>wrote:
>
> where should people go to for the more fundamental discussion? Brainstorm
> or maybe blueprints? As I don't really know.
> Christian Reis, maybe I should ask you this, where do you have discussions
> about the more fundamental launchpad stuff? As this is essentially about the
> scope of the launchpad project as a whole. With that I mean whether
> launchpad is focused on the distributed development of code projects or if
> it's worthwhile to expand the scope with content development projects.
>
...

> Maybe this discussion should be separated from the more practical
> discussion about the work flows that are used with team based content
> development? And the specific features that would have to be implemented
> in a development platform as launchpad to accommodate those work flows.
>
> Anyway, how and where should this be discussed.

I'm re-opening this bug unless there is a more appropriate place for
discussion. I've listed some specific features launchpad could add here:
https://wiki.ubuntu.com/GamingTeam/Projects/DistributedContentDevelopment

--
☮♥Ⓐ - http://www.google.com/profiles/danny.piccirillo

Changed in launchpad-foundations:
status: Invalid → Incomplete
Revision history for this message
Mike Chelen (mchelen) wrote :

one possible way to adapt code revision and content is with procedural generation such as with textures http://en.wikipedia.org/wiki/Procedural_texture

Revision history for this message
Ryan Swart (serjndestroy) wrote : Re: [Ubuntu-gaming] [Bug 386797] Re: Enable distributed content development

Hey guys, check out this p2p game content sharing platform that is in
development. It should be like an open-source game content library that
allows content to be shared between games, and developed collabaritively.

Blog Description:
http://this-statement-is-false.blogspot.com/2009/09/xus-simple-peer-to-peer-platform.html
 <http://zot.github.com/Xus>
Source/Site: http://github.com/zot/Xus

On Mon, Sep 14, 2009 at 11:39 PM, Mike Chelen <email address hidden>wrote:

> one possible way to adapt code revision and content is with procedural
> generation such as with textures
> http://en.wikipedia.org/wiki/Procedural_texture
>
> --
> Enable distributed content development
> https://bugs.launchpad.net/bugs/386797
> You received this bug notification because you are a member of Ubuntu
> Gaming Team, which is a direct subscriber.
>
> Status in Launchpad Foundations: Incomplete
>
> Bug description:
> Content is the primary thing holding back the development of FOSS games and
> a distributed content development platform is in dire need.
>
> http://pinstack.blogspot.com/2009/04/foss-gaming-needs-distributed-content.html
>
> FOSS game developers need a website like launchpad (or, better yet,
> launchpad itself, as this bug was filed for) to allow them to share
> resources like sounds, textures, models, etc.
>
> It's a HUGE task, but so is the payoff. Here's to FOSS gaming!
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ubuntu-gaming
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~ubuntu-gaming
> More help : https://help.launchpad.net/ListHelp
>

Curtis Hovey (sinzui)
Changed in launchpad-foundations:
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.