Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsShowcase → I am writing a program that scales sprites.
I am writing a program that scales sprites.
2011-04-11, 6:54 PM #1
Or more accurately, it redraws them in a higher resolution with added detail. See:

[http://www.donrobbart.com/stuff/sprite_resizer.jpg]

It doesn't do any color averaging, instead it treats the pixels as a set of vector points and figures out how to draw the image from them.

There are still some things it has trouble with, you can see the jagginess on the demons arm and sonic. For the most part it works well though!

Any thoughts?
Jedi Knight Enhanced
Freelance Illustrator
2011-04-11, 7:01 PM #2
I love what you've done with it so far.
Keep it up; there are a lot of image editors out there who would sell their souls for something that can do this well.
2011-04-11, 7:11 PM #3
How does it compare to existing algorithms (EPX, 2xSaI, HQ4x, Eagle?)
2011-04-11, 8:24 PM #4
I'm only really familiar with eagle from an emulator, and when I first started this it looked exactly like eagle. I would say that it is much better than that now though. But it also wouldnt work in a real time situation, it takes a couple seconds to generate the image.
Jedi Knight Enhanced
Freelance Illustrator
2011-04-12, 4:02 AM #5
I could really use something like that! Can I have it? Pretty please? :)
2011-04-12, 12:19 PM #6
That's really neat!
幻術
2011-04-12, 12:33 PM #7
Originally posted by Estelore:
I love what you've done with it so far.
Keep it up; there are a lot of image editors out there who would sell their souls for something that can do this well.


That will be one soul Zak :)

But seriously, I won't be giving this away for free. On the other hand, I will need beta testers eventually!

[http://www.donrobbart.com/stuff/sprite_resizer2.jpg]

Check it out, I fixed the issues on sonic and the demon. And there is a cacodemon for good measure. It's neat to look at all the doom sprites with this thing.
Jedi Knight Enhanced
Freelance Illustrator
2011-04-12, 2:29 PM #8
Originally posted by Koobie:
That's really neat!


Shred18, I would like to expand on that.

First of all, I can't believe you didn't block-quote-quote me and not have replied directly to my genuine praise of approval -- and both exactly at the same time!

Hmm. Sorry, point is -- I know zero to nothing about programming. Yet I assure you, my praise does not come from the power of my ignorance of the subject.

But... It's damn neat how somebody can look through a lens at binary code and re-size ****ing pixels. Awesome.

And, as I lied, and my praise does in part come from the power of my lack of programming skills -- I liked your JK2 texture / model mod, that was...

Really neat! kind of cool as well
幻術
2011-04-12, 3:10 PM #9
Won't be giving it away for free? No offense, Shred, but this is image processing 101 territory.

I really don't want to crap up your showcase, so I'll just direct the people who want a (free) version to the HQx project: http://code.google.com/p/hqx/
2011-04-13, 9:21 AM #10
Thanks Koobie! I think..

I've seen a ton of people ask for such a program, and I've never seen a link to one, so kudos Jon.

Mine has a gui tho.

[http://www.donrobbart.com/stuff/sprite_resizer_gui.jpg]
Jedi Knight Enhanced
Freelance Illustrator
2011-04-13, 6:13 PM #11
Meh.
TAKES HINTS JUST FINE, STILL DOESN'T CARE
2011-04-16, 8:01 PM #12
I'm kinda curious what it does to small-ish photographs.
"it is time to get a credit card to complete my financial independance" — Tibby, Aug. 2009
2011-04-17, 4:37 AM #13
The program you're looking for a is an automated process for Photoshop called AlienSkin BlowUp.
TAKES HINTS JUST FINE, STILL DOESN'T CARE
2011-04-17, 11:26 AM #14
Originally posted by Freelancer:
I'm kinda curious what it does to small-ish photographs.


To answer your original question, HQx is intended to be a real-time filter. It executes in microseconds compared to Shred's seconds. Adding a larger kernel should be a good exercise.
2011-04-17, 11:38 AM #15
That said, I really hope Shred isn't using a 2[sup]25[/sup] state table.
2011-04-23, 4:31 PM #16
What happened to this thread?
TAKES HINTS JUST FINE, STILL DOESN'T CARE
2011-04-25, 1:12 PM #17
Jon`C was being a brat.
2011-04-25, 1:17 PM #18
It was a rhetorical question.
TAKES HINTS JUST FINE, STILL DOESN'T CARE
2011-04-25, 1:28 PM #19
Murc XIII, my last posts were in response to a question Freelancer asked (prior to editing his posts.) If you're really concerned, you can ask a moderator to corroborate this.

I know a fair bit about image processing, and sprite scaling (edit: vectorization) algorithms in particular. I'm legitimately curious how his strategy differs from established algorithms. The only brats here are the people bumping a stale thread to instigate a flamewar with me - i.e. you and Freelancer.
2011-04-26, 6:06 PM #20
Freelancer to answer your question, it will resize a photo about as well as photoshop. It is able to read sprites much better because of the low color count.

My strategy is to have it redraw the image the same way I would as an artist (more or less). That means it recognizes shapes, curved lines, and some other things. It doesn't anti alias the image.

Even at this stage I'm getting, in my opinion, better results.

[http://www.donrobbart.com/stuff/3sonics.jpg]
Jedi Knight Enhanced
Freelance Illustrator
2011-04-26, 6:23 PM #21
Yes, that is a lot better.

I think I know how you're doing it. Good idea, although since it's not realtime you could probably improve the result with user hinting. e.g. on the right foot, you have the red border overlapping the white part of the shoe. When it works it works extremely well though - on the back of Sonic's head it looks like the dark blue part is actually continuous underneath the lighter blue area.
2011-04-26, 6:45 PM #22
You drawing a little gradient where highlights get detected?
2011-04-26, 8:27 PM #23
What's the functional use of this, though? Considering how little information there is in the original, and how the original information was representational, I can't imagine this ever being accurate to the point of being useful, but obviously there's a reason if it's already been made and you're making it to sell. Is this just a starting place for an artist to rapidly update older graphics?
ᵗʰᵉᵇˢᵍ๒ᵍᵐᵃᶥᶫ∙ᶜᵒᵐ
ᴸᶥᵛᵉ ᴼᵑ ᴬᵈᵃᵐ
2011-04-27, 9:45 PM #24
Oh shred and his cacodemons.

Impressive, though.
error; function{getsig} returns 'null'
2011-05-02, 6:51 AM #25
Originally posted by JediKirby:
What's the functional use of this, though? Considering how little information there is in the original, and how the original information was representational, I can't imagine this ever being accurate to the point of being useful, but obviously there's a reason if it's already been made and you're making it to sell. Is this just a starting place for an artist to rapidly update older graphics?


The only application I have used where this comes in handy is on a nintendo emulator
"Nulla tenaci invia est via"
2011-05-08, 2:49 PM #26
Originally posted by JediKirby:
What's the functional use of this, though? Considering how little information there is in the original, and how the original information was representational, I can't imagine this ever being accurate to the point of being useful, but obviously there's a reason if it's already been made and you're making it to sell. Is this just a starting place for an artist to rapidly update older graphics?


There are some scenarios where it would be useful. Say you have made a cell phone game and you want to port it to another platform that has 4x the resolution. If you want to take advantage of the new res, you will have to redraw all of your sprites.

Ditto if you decide to change the resolution of your project midway through production for whatever reason.

Heck, sometimes you may just want to have a larger sprite for some sort of effect.

Anyway, the program is done, so here is a demo SpriteBomb Demo
Jedi Knight Enhanced
Freelance Illustrator
2011-05-08, 3:25 PM #27
So you're banking on poor project planning?
2011-05-08, 5:00 PM #28
Absolutely.
Jedi Knight Enhanced
Freelance Illustrator
2011-05-08, 5:33 PM #29
Originally posted by JM:
So you're banking on poor project planning?


Banking on others' failures isn't a new idea, assuming your product can provide some sort of solution it can be very successful. That being said, I don't really know how much of a market there would be for something like this - but it's very cool nonetheless. :awesomelon:
Author of the JK levels:
Sand Trap & Sand Trap (Night)

2011-05-11, 9:20 AM #30
You could make a few dollars selling this to stupid indie game developers but not much more.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2011-05-24, 4:25 AM #31
http://www.scribd.com/doc/56137278/Depixelizing-Pixel-Art
Detty. Professional Expert.
Flickr Twitter
2011-05-24, 6:46 AM #32
DAMNIT DETTY I WAS GOING TO POST THAT.
[01:52] <~Nikumubeki> Because it's MBEGGAR BEGS LIKE A BEGONI.
2011-05-24, 6:52 AM #33
HAR
Detty. Professional Expert.
Flickr Twitter
2011-05-24, 10:26 PM #34
NEW LINK http://www.extremetech.com/article2/0,2845,2385811,00.asp
Holy soap opera Batman. - FGR
DARWIN WILL PREVENT THE DOWNFALL OF OUR RACE. - Rob
Free Jin!

↑ Up to the top!