e.e
Divine Intellect
- Joined
- Sep 16, 2016
- Messages
- 476
- Solutions
- 1
- Reaction score
- 226
Hey again everyone.
Backstory:
So @Peonso has already got the first Open Source Sprites project going called "OpenTibia Sprite Pack".
This is a decent project with a lot of high quality sprites which are not to be underestimated in that regard.
However, the way he's set it all up is pretty impractical and troublesome as he requires you to use his map converter which literally permanently deletes all items on your map that he is missing in his sprites pack to replace original sprite files/objects, and there are tons of sprites missing (not to mention many other minor issues and inconveniences with the whole setup he requires you to use).
In fact his sprite files for version 10.41 contains 7691 sprites, while the original sprite file for the same version contains 153192 sprites. That's about 5% of the original sprites meaning that 95% of the original sprites are missing from his pack.
If we look further into and analyze the source code of his tool there are exactly 16997 out of 20229 (84% of) item objects that are setup to be permanently deleted when you use his converter tool.
In other words his converter and thus his sprites does not seem to have a lot of serious utility/purpose at the moment or in general, especially as these items deletions are irreversible, but even if they weren't there are still serious issues with his setup and with some of the stated goals of his project which I will describe below, issues in particular if we want to keep our current OTS maps and servers and still want to use Open Source sprites that is. If you're ready to forget about every single OTS map ever made, including real maps, and only make maps using brand new custom sprites, then the OpenTibia Sprites Pack is perfect for you.
Now lets get to the issue of Peonso's stated goal of his project and why it will likely not have any utility for a long time.
Peonso told me publicly just a few days ago that he's not interested in directly replacing the original sprites or collecting replacements for all the original sprites at all for two reasons that he gives: a) somehow "he does not see the point of it", and b) he believes it's not possible (with his project) because, he says, "people only share what they want".
In reality it's not only possible but should not even be that hard to collect all the sprites at the very least for version 7.x and below, and it's also most certainly useful and much more sane to just replace the sprites directly or on the client side rather than on the server side.
Some of the most obvious advantages of replacing the sprites directly and of my project's method/aims/philosophy by comparison:
Now a little about my this new project right here:
Lets start with the standards I will set for all incoming sprites to this project:
In return I will:
All generated and uploaded client.spr files will be fully usable from the very start in the sense that your client will never crash from the lack of sprites, however all missing sprites will be replaced with black spots or some other default sprite in the future, so you won't be able to see much (or anything) when using these sprites in the very beginning. Nothing more can be done than this until all the sprites has been replaced.
A git will be made soon (within hours/days whenever I feel like it) along with the first generated client.spr.
There are a few more details that needs to be hashed out and which will be useful to talk about later on, but first I'd like your feedback about the idea of this project, if anyone will be interested to contribute, etc.
Final thoughts:
Before anyone decides to start accusing me of bashing on Peonso's project or something, let me say I'm not.
I like the sprites he's collected, I think it's cool that he got this far, and I think the sprites are useful for custom projects.
However as Peonso has said he's not interested in replacing any original sprites. This means we will never be able to use his sprites pack to play on or host any full/lossless OTS map made in the past or in the future that was or will be made using standard sprites as his sprites pack is not really compatible with old sprites at all.
For this reason I started this project, and I feel like I had to explain these things out in detail for y'all to understand what the point of this project is and some of the more serious issues/disadvantages of Peonso's project which will never change according to his own statements.
Feel free to post feedback/discuss, etc.
Backstory:
So @Peonso has already got the first Open Source Sprites project going called "OpenTibia Sprite Pack".
This is a decent project with a lot of high quality sprites which are not to be underestimated in that regard.
However, the way he's set it all up is pretty impractical and troublesome as he requires you to use his map converter which literally permanently deletes all items on your map that he is missing in his sprites pack to replace original sprite files/objects, and there are tons of sprites missing (not to mention many other minor issues and inconveniences with the whole setup he requires you to use).
In fact his sprite files for version 10.41 contains 7691 sprites, while the original sprite file for the same version contains 153192 sprites. That's about 5% of the original sprites meaning that 95% of the original sprites are missing from his pack.
If we look further into and analyze the source code of his tool there are exactly 16997 out of 20229 (84% of) item objects that are setup to be permanently deleted when you use his converter tool.
In other words his converter and thus his sprites does not seem to have a lot of serious utility/purpose at the moment or in general, especially as these items deletions are irreversible, but even if they weren't there are still serious issues with his setup and with some of the stated goals of his project which I will describe below, issues in particular if we want to keep our current OTS maps and servers and still want to use Open Source sprites that is. If you're ready to forget about every single OTS map ever made, including real maps, and only make maps using brand new custom sprites, then the OpenTibia Sprites Pack is perfect for you.
Now lets get to the issue of Peonso's stated goal of his project and why it will likely not have any utility for a long time.
Peonso told me publicly just a few days ago that he's not interested in directly replacing the original sprites or collecting replacements for all the original sprites at all for two reasons that he gives: a) somehow "he does not see the point of it", and b) he believes it's not possible (with his project) because, he says, "people only share what they want".
In reality it's not only possible but should not even be that hard to collect all the sprites at the very least for version 7.x and below, and it's also most certainly useful and much more sane to just replace the sprites directly or on the client side rather than on the server side.
Some of the most obvious advantages of replacing the sprites directly and of my project's method/aims/philosophy by comparison:
- No complex, lossy and irreversible conversion processes needed (Peonso's map conversions results in maps with permanently deleted map items, completely new item and spriteids with little if any backwards compatibility for item server files, etc)
- My project actually aims to replace the old sprites rather than to just collect a bunch of random new sprites forever. This means you can keep all the old items.xml and items.otb files (items server properties), you can easily make the spr files yourself if I were to ever stop making them, we don't have to modify item ids or lose any map data, in fact there's no need for map involvement whatsoever. With Peonso's process you must convert absolutely everything including items server properties and you will lose up to 84% or more of your map items.
- It will in fact be harder to replace all the old sprites than it is to accept all kinds of random incoming sprites.
- For the reason above we're likely going to have to compromise a lot when it comes to the quality of the sprites to be able to replace everything. After all there are tens of thousands of sprites just by version 7.x, and about 150k in version 10.41. Personally I only really care about the versions 6 through 8, but I'll also accept replacements for newer versions for those interested in that.
Now a little about my this new project right here:
Lets start with the standards I will set for all incoming sprites to this project:
- Must be open source. Preferably low to medium quality self-drawn sprites and Open Source sprites found elsewhere with a URL to the source of the sprites where the sprites' Open Source/Free status is clearly declared.
Feel free to get creative, silly, and have fun, as long as the sprites fits the rest of the criteria in this list. - Sprites' backgrounds must be of pink color #FF00FF and the image must be in RGB mode, preferably 32x32 canvas and PNG format too, which I believe is the spriting standard.
- Sprites should resemble original sprites well enough that you can kind of recognize what it is (the more recognizable the better).
- All sprites must be named "%d.png" where %d is the numeric itemid of the sprite it's trying to replace, e.g. "100.png".
- Zip and Tar formats preferred for file archives if you're going to send or upload the files. For git pulls make the directory name your OTLand username and use that as the directory root for your sprites.
- Preferred but not required: If you think your sprites resembles a or various particular client versions' of sprites, please organize the sprites by client version (e.g. directories named "760", "770", "860", etc, "default" for general/ambiguous version, and "custom" for new sprites not trying to replace any particular old ones).
In return I will:
- Generate and upload client.spr files frequently based on all the uploaded sprites.
- Maintain a public list of sprite ids not yet replaced.
- Try to maintain a GIT to hold the sprites for everyone to make get and pull requests (I'm still completely new to git). You can also send me sprites over Discord if you prefer ¯\(ツ)/¯.
- Maintain a public list of sprites by authors both for the sake of credit and reversibility in case any of the accepted sprites turns out not to actually be open source in the future.
All generated and uploaded client.spr files will be fully usable from the very start in the sense that your client will never crash from the lack of sprites, however all missing sprites will be replaced with black spots or some other default sprite in the future, so you won't be able to see much (or anything) when using these sprites in the very beginning. Nothing more can be done than this until all the sprites has been replaced.
A git will be made soon (within hours/days whenever I feel like it) along with the first generated client.spr.
There are a few more details that needs to be hashed out and which will be useful to talk about later on, but first I'd like your feedback about the idea of this project, if anyone will be interested to contribute, etc.
Final thoughts:
Before anyone decides to start accusing me of bashing on Peonso's project or something, let me say I'm not.
I like the sprites he's collected, I think it's cool that he got this far, and I think the sprites are useful for custom projects.
However as Peonso has said he's not interested in replacing any original sprites. This means we will never be able to use his sprites pack to play on or host any full/lossless OTS map made in the past or in the future that was or will be made using standard sprites as his sprites pack is not really compatible with old sprites at all.
For this reason I started this project, and I feel like I had to explain these things out in detail for y'all to understand what the point of this project is and some of the more serious issues/disadvantages of Peonso's project which will never change according to his own statements.
Feel free to post feedback/discuss, etc.
Last edited: