Actually one other thing I could use your help with: how did the full wolf sheets get generated? I assume they are based on Basto's work here, https://opengameart.org/content/lpc-modular-bodies-and-heads , but that submission only shows a pre-built walk/slash animations for the wolf. I can't tell whether the scripts generate the full sprite sheet. Also, who did the recolors?
Yes, that's exactly the idea. Since the rows in the CSV file are named exactly according to the filenames, it should be straightforward to add some Javascript to fetch the row(s) of the CSV file that correspond to the "data-file" attributes of the active item(s). Then the user could download either that subsetted CSV file, or a text description, or the full CSV file. As I mentioned, it would also be nice if the author(s)/links could be shown in a tooltip/popover eventually. I can also work on this.
Yes, we can incorporate the DRM waiver information somehow. I can add a column for that.
For arms/female/1.png etc., are those *all* recolors of wulax's armor? That is what I figured, but I'm planning to double-check. Do you have a list of which files that you got from bigbeargames? That would be very helpful as well.
In general, for all assets, I have tried to credit every author who contributed to that asset (and link to every relevant submission). That means most of the authors are "author1, author2, makrohn, wulax, and RedShrike" :p So yes, these recolors should definitely be attributed to wulax at least.
For recolors I have made some attempt to track the provenance but have not worried too much if I couldn't find it. Strictly speaking, a recolor is definitely creating a derivative work and requires attribution, but I don't feel too bad if we miss a few. So again, if you have a list of which assets bigbeargames recolored, I will add them to the credits for those files.
Finally, yes---I did not in any way mean to suggest that you did not think credits/attribution was important or necessary. As I said, I agree with many of your points and am open to thinking creatively about how to solve the problems you raised. Nor do I blame you or anyone else individually for the fact things have ended up this way---clearly this project is the way that it is because many people have worked on it for many years and not always with the exact same ideas/goals. That's fine---we are constantly learning and improving!
Alright, after another 5-6 hours tonight, ~900 assets have attributions, and ~330 assets are left (previously I was double-counting folders; this is considering only .png files). Of the remaining assets, the greatest number are the children and werewolf assets, which I haven't started sorting through at all. The rest are mostly recolors with uninformative names like arms/female/1.png. I'll have to look at them manually and compare them to their likely origins (probably wulax's submission, in most cases). That will be the most annoying part.
I also wrote some Python code to pull in author and license information from the submissions. For most files, it was sufficient to note the URL of the submission and copy the authors from there. For others (for instance, the LPC base assets) there are many authors of different parts, and it's not really accurate/informative to list them all, so I manually listed authors for those.
I'm hoping to upload my list and submit a pull request against castelonia's repository in the next 1--2 days with most of the credits. I should *probably* sort out those mystery files too, now that I've become so familiar with all the source material. But my motivation is flagging :p I'll make sure to share my work so far on this before my enthusiasm runs out for the time being.
By way of an update, 575 assets now have some kind of attribution. I've spent ~10 hours on this project so far. Still a lot left, but I think it will be mostly downhill from here.
I'm done going through AUTHORS.txt and am now reviewing submissions in elmenreges LPC collection. After that will be the painful process of reviewing the git commit histories and tracking down any remaining uncredited files/mysteries.
I have finished most of the older assets, so what's left are mostly newer assets, including those from ElizaWy and myself, Nila122's child assets, etc. which should be easier to source. Since I've done all the older assets, I have a clearer sense of what things are likely derivatives of what else so I can pretty easily spot attribution errors there.
Thanks MedicineStorm. I agree on all counts. And yes, that is exactly the plan. Although my current ambitions are only to do this for the character spritesheets, not all tilesets at the moment.
I don't think castelonia was suggesting that it's too hard for developers to add credits, more that it is too hard for them to track down credits for >1000 images about which they have very little information. I agree with this. I also think he is saying it is hard/unlikely for users to read the credits if they are long and unwieldy; I actually agree with this too, but I don't think it's an insurmountable problem. I think we can make the credits lean enough to be useful while still containing all the relevant information. I also feel strongly that complete and correct attribution is necessary, even *if* the resulting file ends up being unwieldy.
As far as distributing the work, I think what WOULD be very helpful would be to have some auditing/review of the credits---ideally by someone like makrohn or JaidynReiman who was around when many were being created. I'll have to think about how that would work. I also anticipate I'll need help tracking down some assets/solving some mysteries, which might mean contacting a few people directly.
Finally, I would never say "no" to money! Though feels a little weird taking money for crediting/researching other people's work... Also not sure if $/row is the right metric, since lots of the rows are just copy/paste of the same thing, while other single rows have been very hard to track down.
Thanks for your comments castelonia. I agree with many of your points, and I think my goal is actually similar to what you describe at the end:
we could come up with a general LPC license file that any LPC consumer needs to incorporate and present in some way to their product consumers.
the CREDITS.CSV file is exactly this. It's a "universal" credits file for the character spritesheets. A developer could clone the sprite sheet repository and drop it into their game, along with CREDITS.CSV, and just link to (or show) CREDITS.CSV on their in-game credits screen. Further, CREDITS.CSV could be processed to make a simpler credits screen like you have, where all artists profiles are linked (I eventually have ambitions to do something similar with the LPC tilesets, such that there is a curated and well-organized collection of tile sets that a developer can clone, with the credits all listed in a ready-to-use format).
the LPC community and in the end it's creators would benefit more from another form of acknowledgement. A place on the web where all their names and work are visible and all the submissions are gathered.
Also agreed, and I think the generator tool could be exactly that. It's already a showcase of what is possible with all the spritesheets. Along with CREDITS.CSV, it could be a place where all the names and work is visible as well. If integrated with CREDITS.CSV, I could update the generator so that users could see attribution information interactively as they are building their sheet, or even filter/search assets by artist. In addition to generating a machine-readable JSON or CSV file like yours does, it could generate a short, human-readable description to be included in the credits if a small number of sprites are used:
Sprite by Stephen Challener (Redshrike), Johannes Sjölund (wulax), and Matthew Krohn (makrohn). Licensed under a CC-BY-SA 3.0 license. Original artwork:
(this also helps educate users about proper attribution).
Say, someone uses the LPC assets, and generates 10 characters using the generator. He/ she would then need to combine the processed license files into one file, which is quite time consuming.
I think we could develop simple tools to help with this. Again, if the attribution information is in a machine-readable format like CSV or JSON, it would be very straightforward.
looking at the LPC, any game that uses will probably end up with an attribution of at least 100 pages. And once that happens, I am convinced nobody will actually be able to read or process it anymore, which will mean that the original authors still remain rather anonymous.
The first and last part are true---there are many assets and with that many assets, the authors will remain more or less anonymous. This is true of games in general---look at the credits for an AAA game like The Witcher 3, which has far less detail in its attributions. However, it's not true that a long credits means nobody will be able to read or process it. I have often gone spelunking in those CREDITS files for FOSS games, looking for a specific piece of art and tracking down its author. For instance, this example from TheManaWorld/EvolOnline that I linked earlier is quite well-organized, compact, and easy to search. I think we can readily achieve something similar for the LPC spritesheets. The problem with the auto-generated OGA credits files (e.g. for elmenreges collection) is they are long (lots of newlines), redundant (every submission includes a link to all the license texts), but also incomplete (because there is no good way to indicate that submission A is derived from submission B). The filenames referenced also don't match up with those in the generator anymore, because the files in the generator have been renamed, moved, combined, etc. So a user that's looking to figure out where spritesheets/head/horned/34.png comes from would be hard-pressed to figure out its from https://opengameart.org/content/lpc-full-plate-golden-armor and https://opengameart.org/content/lpc-full-plate-golden-armor-0 , even if both submissions are in the auto-generated OGA credits file.
And that leads me to a question. What do we want to achieve with this proper attribution in the end?
A developer, artist, or end-user can, with minimal effort, find out who made each piece of art, where it is available online, and how it is licensed. Pretty straightforward :)
Thanks again for your comments, as well as your work on the generator. Again I want to reiterate, I think the generator project (and others like it) are net positive for our community.
Very neat stuff, and impressive effort with minimal modifications.
I agree with BenCreating that the south-facing "chop" animation probably will not really look right unless re-drawn. That may or may not be a problem for the gameplay you have in mind. For instance, I think the south-facing axe and pickaxe animations look fine and could still be used to crop trees/smash rocks, even though in the east/west-facing directions the character is starting with the tool/weapon higher over their head and swinging down. If I were making this game, I would favor using the existing base sprite animation and settling for a slightly different south-facing animation (as pvigier has done), since re-drawing the "chop" animation would require that any clothing or other sprites also be re-drawn. Even at 2 frames each, that's a lot of work :p
I think the issue is that the east/west-facing animations really need some motion blur and some 3D perspective. For example, if the character is chopping a tree, the axe should start in the same plane as the character, but by the middle of the animation, with the arm outstretched, the axe head should be parallel to the ground. This can't really be achieved just by rotating the sprite in 2D. Of course, if they are splitting logs, the animation should be more like what you have, but motion blur would still help. I think the only real solution is to re-draw the animation, which will produce a much nicer result.
Same applies to the north-facing animations. There seems to be a small error where the second-highest frame is drawn layered on top of the character's head, but that doesn't really make sense with the way the item is being swung.
For the walk-cycles, you can definitely get away with just rotating the sprite and some cropping. But I would suggest using the walk cycles from my extended weapon animations or BenCreating's medieval weapons as a base to determine the right angle of rotation. The walking animations in DarkwallLKE's original sprites don't really look right to me at all :p
I think it's still useful! Perhaps more useful actually, especially if you can pre-generate the color variations. That way people can either use the assets directly in a standardized palette, or can easily make new recolors, programmatically or manually. This is what an older version of the character creator/universal spritesheet did for hair and facial hair: https://github.com/jrconway3/Universal-LPC-spritesheet (check out the _build/ subdirectory). They had all the hair objects in 4 directions, drawn using a standard pink palette, then included a set of Ruby/ImageMagick scripts to recolor them against a set of palettes and also generate the full spritesheet with all the different animations.
I also adapted those scripts to work for shields and headgear, so it generates the full sheet from a few images and can do automatic recolors (I think either BenCreating or maybe Basto has done something similar too, maybe for headgear?). I never shared those scripts but probably should if it would be helpful.
Hey, congratulations! This is very exciting, and I can't wait to check it out.
Thank you for sharing the modified assets and scripts. There are a large number of minor issues with especially the character sprites, which everyone who uses eventually has to re-fix. I think castelonia's LPC Spritesheet generator is the closest to a definitive collection we have for the body parts at the moment. Hopefully any tweaks you make could be merged "upstream" into their repository.
Actually one other thing I could use your help with: how did the full wolf sheets get generated? I assume they are based on Basto's work here, https://opengameart.org/content/lpc-modular-bodies-and-heads , but that submission only shows a pre-built walk/slash animations for the wolf. I can't tell whether the scripts generate the full sprite sheet. Also, who did the recolors?
Thanks castelonia.
Yes, that's exactly the idea. Since the rows in the CSV file are named exactly according to the filenames, it should be straightforward to add some Javascript to fetch the row(s) of the CSV file that correspond to the "data-file" attributes of the active item(s). Then the user could download either that subsetted CSV file, or a text description, or the full CSV file. As I mentioned, it would also be nice if the author(s)/links could be shown in a tooltip/popover eventually. I can also work on this.
Yes, we can incorporate the DRM waiver information somehow. I can add a column for that.
For arms/female/1.png etc., are those *all* recolors of wulax's armor? That is what I figured, but I'm planning to double-check. Do you have a list of which files that you got from bigbeargames? That would be very helpful as well.
In general, for all assets, I have tried to credit every author who contributed to that asset (and link to every relevant submission). That means most of the authors are "author1, author2, makrohn, wulax, and RedShrike" :p So yes, these recolors should definitely be attributed to wulax at least.
For recolors I have made some attempt to track the provenance but have not worried too much if I couldn't find it. Strictly speaking, a recolor is definitely creating a derivative work and requires attribution, but I don't feel too bad if we miss a few. So again, if you have a list of which assets bigbeargames recolored, I will add them to the credits for those files.
Finally, yes---I did not in any way mean to suggest that you did not think credits/attribution was important or necessary. As I said, I agree with many of your points and am open to thinking creatively about how to solve the problems you raised. Nor do I blame you or anyone else individually for the fact things have ended up this way---clearly this project is the way that it is because many people have worked on it for many years and not always with the exact same ideas/goals. That's fine---we are constantly learning and improving!
Alright, after another 5-6 hours tonight, ~900 assets have attributions, and ~330 assets are left (previously I was double-counting folders; this is considering only .png files). Of the remaining assets, the greatest number are the children and werewolf assets, which I haven't started sorting through at all. The rest are mostly recolors with uninformative names like arms/female/1.png. I'll have to look at them manually and compare them to their likely origins (probably wulax's submission, in most cases). That will be the most annoying part.
I also wrote some Python code to pull in author and license information from the submissions. For most files, it was sufficient to note the URL of the submission and copy the authors from there. For others (for instance, the LPC base assets) there are many authors of different parts, and it's not really accurate/informative to list them all, so I manually listed authors for those.
I'm hoping to upload my list and submit a pull request against castelonia's repository in the next 1--2 days with most of the credits. I should *probably* sort out those mystery files too, now that I've become so familiar with all the source material. But my motivation is flagging :p I'll make sure to share my work so far on this before my enthusiasm runs out for the time being.
By way of an update, 575 assets now have some kind of attribution. I've spent ~10 hours on this project so far. Still a lot left, but I think it will be mostly downhill from here.
I'm done going through AUTHORS.txt and am now reviewing submissions in elmenreges LPC collection. After that will be the painful process of reviewing the git commit histories and tracking down any remaining uncredited files/mysteries.
I have finished most of the older assets, so what's left are mostly newer assets, including those from ElizaWy and myself, Nila122's child assets, etc. which should be easier to source. Since I've done all the older assets, I have a clearer sense of what things are likely derivatives of what else so I can pretty easily spot attribution errors there.
Thanks MedicineStorm. I agree on all counts. And yes, that is exactly the plan. Although my current ambitions are only to do this for the character spritesheets, not all tilesets at the moment.
I don't think castelonia was suggesting that it's too hard for developers to add credits, more that it is too hard for them to track down credits for >1000 images about which they have very little information. I agree with this. I also think he is saying it is hard/unlikely for users to read the credits if they are long and unwieldy; I actually agree with this too, but I don't think it's an insurmountable problem. I think we can make the credits lean enough to be useful while still containing all the relevant information. I also feel strongly that complete and correct attribution is necessary, even *if* the resulting file ends up being unwieldy.
As far as distributing the work, I think what WOULD be very helpful would be to have some auditing/review of the credits---ideally by someone like makrohn or JaidynReiman who was around when many were being created. I'll have to think about how that would work. I also anticipate I'll need help tracking down some assets/solving some mysteries, which might mean contacting a few people directly.
Finally, I would never say "no" to money! Though feels a little weird taking money for crediting/researching other people's work... Also not sure if $/row is the right metric, since lots of the rows are just copy/paste of the same thing, while other single rows have been very hard to track down.
Thanks for your comments castelonia. I agree with many of your points, and I think my goal is actually similar to what you describe at the end:
the CREDITS.CSV file is exactly this. It's a "universal" credits file for the character spritesheets. A developer could clone the sprite sheet repository and drop it into their game, along with CREDITS.CSV, and just link to (or show) CREDITS.CSV on their in-game credits screen. Further, CREDITS.CSV could be processed to make a simpler credits screen like you have, where all artists profiles are linked (I eventually have ambitions to do something similar with the LPC tilesets, such that there is a curated and well-organized collection of tile sets that a developer can clone, with the credits all listed in a ready-to-use format).
Also agreed, and I think the generator tool could be exactly that. It's already a showcase of what is possible with all the spritesheets. Along with CREDITS.CSV, it could be a place where all the names and work is visible as well. If integrated with CREDITS.CSV, I could update the generator so that users could see attribution information interactively as they are building their sheet, or even filter/search assets by artist. In addition to generating a machine-readable JSON or CSV file like yours does, it could generate a short, human-readable description to be included in the credits if a small number of sprites are used:
(this also helps educate users about proper attribution).
I think we could develop simple tools to help with this. Again, if the attribution information is in a machine-readable format like CSV or JSON, it would be very straightforward.
The first and last part are true---there are many assets and with that many assets, the authors will remain more or less anonymous. This is true of games in general---look at the credits for an AAA game like The Witcher 3, which has far less detail in its attributions. However, it's not true that a long credits means nobody will be able to read or process it. I have often gone spelunking in those CREDITS files for FOSS games, looking for a specific piece of art and tracking down its author. For instance, this example from TheManaWorld/EvolOnline that I linked earlier is quite well-organized, compact, and easy to search. I think we can readily achieve something similar for the LPC spritesheets. The problem with the auto-generated OGA credits files (e.g. for elmenreges collection) is they are long (lots of newlines), redundant (every submission includes a link to all the license texts), but also incomplete (because there is no good way to indicate that submission A is derived from submission B). The filenames referenced also don't match up with those in the generator anymore, because the files in the generator have been renamed, moved, combined, etc. So a user that's looking to figure out where spritesheets/head/horned/34.png comes from would be hard-pressed to figure out its from https://opengameart.org/content/lpc-full-plate-golden-armor and https://opengameart.org/content/lpc-full-plate-golden-armor-0 , even if both submissions are in the auto-generated OGA credits file.
A developer, artist, or end-user can, with minimal effort, find out who made each piece of art, where it is available online, and how it is licensed. Pretty straightforward :)
Thanks again for your comments, as well as your work on the generator. Again I want to reiterate, I think the generator project (and others like it) are net positive for our community.
Very neat stuff, and impressive effort with minimal modifications.
I agree with BenCreating that the south-facing "chop" animation probably will not really look right unless re-drawn. That may or may not be a problem for the gameplay you have in mind. For instance, I think the south-facing axe and pickaxe animations look fine and could still be used to crop trees/smash rocks, even though in the east/west-facing directions the character is starting with the tool/weapon higher over their head and swinging down. If I were making this game, I would favor using the existing base sprite animation and settling for a slightly different south-facing animation (as pvigier has done), since re-drawing the "chop" animation would require that any clothing or other sprites also be re-drawn. Even at 2 frames each, that's a lot of work :p
I think the issue is that the east/west-facing animations really need some motion blur and some 3D perspective. For example, if the character is chopping a tree, the axe should start in the same plane as the character, but by the middle of the animation, with the arm outstretched, the axe head should be parallel to the ground. This can't really be achieved just by rotating the sprite in 2D. Of course, if they are splitting logs, the animation should be more like what you have, but motion blur would still help. I think the only real solution is to re-draw the animation, which will produce a much nicer result.
Same applies to the north-facing animations. There seems to be a small error where the second-highest frame is drawn layered on top of the character's head, but that doesn't really make sense with the way the item is being swung.
For the walk-cycles, you can definitely get away with just rotating the sprite and some cropping. But I would suggest using the walk cycles from my extended weapon animations or BenCreating's medieval weapons as a base to determine the right angle of rotation. The walking animations in DarkwallLKE's original sprites don't really look right to me at all :p
I think it's still useful! Perhaps more useful actually, especially if you can pre-generate the color variations. That way people can either use the assets directly in a standardized palette, or can easily make new recolors, programmatically or manually. This is what an older version of the character creator/universal spritesheet did for hair and facial hair: https://github.com/jrconway3/Universal-LPC-spritesheet (check out the _build/ subdirectory). They had all the hair objects in 4 directions, drawn using a standard pink palette, then included a set of Ruby/ImageMagick scripts to recolor them against a set of palettes and also generate the full spritesheet with all the different animations.
I also adapted those scripts to work for shields and headgear, so it generates the full sheet from a few images and can do automatic recolors (I think either BenCreating or maybe Basto has done something similar too, maybe for headgear?). I never shared those scripts but probably should if it would be helpful.
Hey, congratulations! This is very exciting, and I can't wait to check it out.
Thank you for sharing the modified assets and scripts. There are a large number of minor issues with especially the character sprites, which everyone who uses eventually has to re-fix. I think castelonia's LPC Spritesheet generator is the closest to a definitive collection we have for the body parts at the moment. Hopefully any tweaks you make could be merged "upstream" into their repository.
Where is the grass and dirt from? Looks very close to Secret of Mana
Pages