• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

128x128 AI enhanced sprites

Codinablack

Dreamer
Content Editor
Joined
Dec 26, 2013
Messages
1,849
Solutions
12
Reaction score
1,139
I have taken the sprites from a client versioned 13.34, and ran them through an ai to produce a 4x up-scaled result that can be seen on this thread. If you wish to download the full pack, you can do so here : 1.19 GB file on MEGA (https://mega.nz/file/cjlVBZhT#PvRV0TMSeQ5Rz_kUTjhe0Etd4wjjS8hD9SptIKA_B-o)

Important things to know:

File Size : 1.19 gigabytes
File Format : 7zip ext .7z
Base Sprite Dimension : 128x128
Actual Sprite Sheet Dimension : 1536x1536
Post automatically merged:

Check comments below to learn which ai and which model are needed for you to be able to reproduce these results!
 

Attachments

  • Sprites 3935-3970-3.png
    Sprites 3935-3970-3.png
    1.5 MB · Views: 753 · VirusTotal
  • Sprites 4043-4078-3.png
    Sprites 4043-4078-3.png
    1.1 MB · Views: 682 · VirusTotal
  • Sprites 245076-245111-3.png
    Sprites 245076-245111-3.png
    1.1 MB · Views: 521 · VirusTotal
  • Sprites 95483-95518-3.png
    Sprites 95483-95518-3.png
    816.2 KB · Views: 465 · VirusTotal
  • Sprites 231360-231395-3.png
    Sprites 231360-231395-3.png
    930.3 KB · Views: 441 · VirusTotal
  • Sprites 226968-227003-3.png
    Sprites 226968-227003-3.png
    641.4 KB · Views: 473 · VirusTotal
  • Sprites 242700-242735-3.png
    Sprites 242700-242735-3.png
    964.6 KB · Views: 414 · VirusTotal
  • Sprites 242664-242699-3.png
    Sprites 242664-242699-3.png
    683.7 KB · Views: 428 · VirusTotal
  • Sprites 237444-237479-3.png
    Sprites 237444-237479-3.png
    624 KB · Views: 682 · VirusTotal
Last edited:
Amazing job. Can you do the same thing for Tibia 7.4 and 8.0?

Which AI did you use?

No I don't plan on doing any other client versions. Sorry.

Chainner was the app (yes the open source one on github)
NCNN was the NN I used (for amd), although if you have nvidia just stick with pytorch for loading your model.
PixelPerfect was the model used.
 
I have taken the sprites from a client versioned 13.34, and ran them through an ai to produce a 4x up-scaled result that can be seen on this thread. If you wish to download the full pack, you can do so here : 1.19 GB file on MEGA (https://mega.nz/file/cjlVBZhT#PvRV0TMSeQ5Rz_kUTjhe0Etd4wjjS8hD9SptIKA_B-o)

Important things to know:

File Size : 1.19 gigabytes
File Format : 7zip ext .7z
Base Sprite Dimension : 128x128
Actual Sprite Sheet Dimension : 1536x1536
Post automatically merged:

Here is a little more to preview
can you tell what ai and settings did you use, just in case in the future me or someone would want to add some sprites to it so it looks the same
 
Looks pretty okay, only thing I always have with AI is that everything is smudgey, like that standard Photoshop filter.
 
can you tell what ai and settings did you use, just in case in the future me or someone would want to add some sprites to it so it looks the same
Read the comments
No I don't plan on doing any other client versions. Sorry.

Chainner was the app (yes the open source one on github)
NCNN was the NN I used (for amd), although if you have nvidia just stick with pytorch for loading your model.
PixelPerfect was the model used.
 
I have taken the sprites from a client versioned 13.34, and ran them through an ai to produce a 4x up-scaled result that can be seen on this thread. If you wish to download the full pack, you can do so here : 1.19 GB file on MEGA (https://mega.nz/file/cjlVBZhT#PvRV0TMSeQ5Rz_kUTjhe0Etd4wjjS8hD9SptIKA_B-o)

Important things to know:

File Size : 1.19 gigabytes
File Format : 7zip ext .7z
Base Sprite Dimension : 128x128
Actual Sprite Sheet Dimension : 1536x1536
Post automatically merged:

Check comments below to learn which ai and which model are needed for you to be able to reproduce these results!
Could you teach how to do it in SPR?
 
Thank you a lot love for this example. Here I did a sample as well converting OTSP sprites for my only fortress :) It looks good and I will work on polishing this!
 

Attachments

Could you teach how to do it in SPR?
You can't. SPR is a compressed file format, or in other words its multiple files in one, and is a very custom format made especially for tibia (afaik) therefore you must extract from the spr the files you wish to upscale and then you would have to put it all back together. That is outside the scope of this topic, and what I am doing. If you want to do such a thing you will have to do it yourself!


Thank you a lot love for this example. Here I did a sample as well converting OTSP sprites for my only fortress :) It looks good and I will work on polishing this!
Not bad! I did learn that screenshots or images like the one you shared, with many sprites and no empty space between them, it doesn't do as well on enhancing. I am glad you are finding the program and model helpful, I have seen quite a few good results from others already and it makes me happy to know others are benefiting from my discovery!
 
this is incredible!
Is there any way to use it in the outdated client or only in OTC?

OTC can work with with older client versions I believe?

You wouldn't be able to repackage a .spr and make it work with any tibia client (afaik).

Making it work with OTC isn't so simple either. There will be lots of work to convert any client versions sprites to a something like what I have shared, and then see it in game. I am not covering the second half at this point in time, it is possible in the future I may work on implementing in the game, but at this point I am still very much experimenting with sprites and ai in general.
Post automatically merged:

I just realized that there is usually a limit with the file size on downloads from file sharing sites. Can someone let me know if it does allow to download free, or if it requires a subscription for files over 1gb. If that's the case, I will just split it into two files, and re-post the links.
 
OTC can work with with older client versions I believe?

You wouldn't be able to repackage a .spr and make it work with any tibia client (afaik).

Making it work with OTC isn't so simple either. There will be lots of work to convert any client versions sprites to a something like what I have shared, and then see it in game. I am not covering the second half at this point in time, it is possible in the future I may work on implementing in the game, but at this point I am still very much experimenting with sprites and ai in general.
Post automatically merged:

I just realized that there is usually a limit with the file size on downloads from file sharing sites. Can someone let me know if it does allow to download free, or if it requires a subscription for files over 1gb. If that's the case, I will just split it into two files, and re-post the links.
You could upload the images to a git repository of your choice!
 
You can't. SPR is a compressed file format, or in other words its multiple files in one, and is a very custom format made especially for tibia (afaik) therefore you must extract from the spr the files you wish to upscale and then you would have to put it all back together. That is outside the scope of this topic, and what I am doing. If you want to do such a thing you will have to do it yourself!



Not bad! I did learn that screenshots or images like the one you shared, with many sprites and no empty space between them, it doesn't do as well on enhancing. I am glad you are finding the program and model helpful, I have seen quite a few good results from others already and it makes me happy to know others are benefiting from my discovery!
This is actually not a one image upscaled. This is an actual in-game photo from otclient :) However I upscaled only from 32x32 to 64x64. Later will check results for 96x96. And what I learned is that the best results are to upscale the whole image sheets. Because if you have an outfit which consists of 4 32x32 sprites then when all sprites are upscaled independently there is some pixel imperfections when client is combining all those images.
 
This is actually not a one image upscaled. This is an actual in-game photo from otclient :) However I upscaled only from 32x32 to 64x64. Later will check results for 96x96. And what I learned is that the best results are to upscale the whole image sheets. Because if you have an outfit which consists of 4 32x32 sprites then when all sprites are upscaled independently there is some pixel imperfections when client is combining all those images.
Very nice! I have to agree, it does much better with sheets than independent sprites, usually :D
 
Could you please post it on MediaFire or Google Drive? Because with Mega, there's only a 740MB limit for downloading, and if it's 741MB, it gets cut off and asks for payment. Or I have to wait until the next day to try downloading again. Either way, I can't seem to download anything. If you upload it to MediaFire or Drive, I would greatly appreciate it!
 
Last edited:
Could you please post it on MediaFire or Google Drive? Because with Mega, there's only a 740MB limit for downloading, and if it's 741MB, it gets cut off and asks for payment. Or I have to wait until the next day to try downloading again. Either way, I can't seem to download anything. If you upload it to MediaFire or Drive, I would greatly appreciate it!
Thank you for trying and letting me know about the limit. I have split the archive into two files with the limit set at 700 mb and started uploading to mega. Mega has very nice download speed even for free files, I just wasn't sure of the file size cutoff for free downloads, now that I know I can adjust accordingly. I will update this thread once the new links are created.
1708954000143.png
Post automatically merged:

It won't let me update thread, if I could please get some assistance from a moderator.

Here are the two links needed to download the pack.

700 MB file on MEGA (https://mega.nz/file/pjkTzY5L#dqjmwcuFK5zWlZNp_5A7prQCpoaQEgvgUkPCQavnUgU) -- This is hdcompressed.7z.001
520.78 MB file on MEGA (https://mega.nz/file/Zn1xxIJZ#3VPv2nGsER1rBg82IIzrOwRzwN73cztemWfFF29_5Sw) -- This is hdcompressed.7z.002

Both 001 and 002 files are needed and so is the program 7zip unless someone knows of another archive manager that works with these files.
Just try to extract part 001 and it will find the other file as long as they are both in same folder.
 
Last edited:
Upscaling higher than 128x128 probably is the limit. Cause even after upscaling to 64x64 there is no real visible details comparing to 128x128 vs 96x96.

This image is 96x96
1709236655232.png

While this image is 128x128
1709236685701.png

But I am still upscaling image by image. Not sprite sheets, so few images looks now even more poorly pixel aligned.

And finally this is for contrast 64x64
1709237761058.png
Post automatically merged:

or this is up 128x128 bottom 32x32 but for mobile. Again very little noticeable difference but my sprites file was 10mb vs 143mb. So the images started to weight alot too.1709239000273.png
 
Last edited:
I see you point, and I agree, there is definitely a limit on how high up we should and viably could go.

Those definitely look beautiful in game though! I love it!
 
I see you point, and I agree, there is definitely a limit on how high up we should and viably could go.
After several months of testing 6 years ago ( [DISCUSSION] 128x128 pixels Tibia sprites with AI (neural network) (https://otland.net/threads/discussion-128x128-pixels-tibia-sprites-with-ai-neural-network.256509/) ) all I can say is that you can't get something from nothing.
If you don't provide a great data set, it won't learn anything. And you can't provide a great data set, because no one will provide millions of 128x128 (or 64x64) items generated by pixel-artists processed by artists into 32x32.

"AI" - statistical analysis, that's what it is - which will be able to understand pixel-art, armors, swords, walls and grounds is probably several TB of memory (1000x GB) and will have to understand "the world", not just some simple .spr item images. ChatGPT 3.0 (memory) is less than that!

I spent about 3 months "learning" with 4-8 GB NN on my GeForce 1080Ti and got no results. After 1 hour with 0.5 GB NN, the results were similar to several days of learning with 4-8 GB.

The best results were close to anti-aliasing, while other results (e.g. weapons) were hallucinatory (they look cool, but are very unstable on all .spr weapons).
Final results of my "AI" are here:
File names:
aa - anti-aliasing (no AI)
ai - AI results cropped into same size as aa pixels
b - AI real results
red - difference between ai and b pixels (what to crop to get ai picture)
 
I love the work you did, and appreciative of your results and data shared, but I still don't think that it is necessary to have "millions" of pictures as a data set for it to learn and become something usable. I will definitely agree that the assets available for learning from is currently pretty limited, however there are many sites that exist sharing rom files of old games, just waiting to have the sprites extracted from. The amount if spritesheets I obtained from the newest tibia was like 42 thousand, and they haven't been sliced yet, so could easily break a quarter of a million on just current tibia sprites. If we consider that older clients have different sprites and we extracted and sorted those, as well as all the sprites shared in discord, asset markets like itch, unity, also take in the opentibia sprite pack, and the old sprites from old games shared on the internet, then I would say there has to be enough to produce something decent.

Opinions may differ, but I thought that the results that nightwolf had gotten when training with stylegan (years ago) showed quite a bit of promise, and since then the technologies and types of Gans and AI's have grown exponentially and will only continue to do so. Eventually someone will succeed in making something really good, whether it's a gan model, a Lora, or just a straight up from scratch diffusion model, it will eventually happen, and I would like to be one of the pioneers.

The entire point in me experimenting with these upscale/enhance/super-resolutioner ais is to prepare a dataset that is actually worth a damn, because like you said, right now, the dataset just doesn't exist. That will likely be the biggest part of the work for me, preparing viable datasets, but I'm already determined.

Additionally, new papers are being released each day with new ideas and theories on how to learn faster, better, with more accuracy, more detail, ect. Pytorch has made it really easy for anyone who has an idea to apply it to ai, and I think if we combined the strategies from three key types of Gans, we could make a new type that would be perfectly suited for exactly this goal.
 
Back
Top