Character conversion: rm2k to other engines

brocoio123

Villager
Member
Joined
Mar 11, 2019
Messages
16
Reaction score
8
First Language
English
Primarily Uses
RMMV
Hello everyone,
I used to play around with the old rm2k3 back in the day and i wanted to create something with the same graphics using a modern maker, however the process is quite long and tedious to adapt all characters and tilesets to lets say rpg maker mv.

It convert rm2k/2k3 charsets to vx, mv and other engines, 70% of it is basically just a glorified resizer, but maybe it could save some time to some people wanting to import those old nostalgic graphics to a modern engine.

I have a lot of irl stuff to do so i could only work on it for a week.

https://github.com/Brocoio123/2k-char-processor

This project is still pretty barebones, had only about a week to work on it, if i actually continue i'll add more features, i'll update this thread.





MV:

VX ACE:
By the way, it says on the header "put your character sprites on the root folder", but actually its the 'Characters' folder.

Thats the idea, should i continue working on it?
Is this something that would be useful for other people today?
 
Last edited:

Sharm

Pixel Tile Artist
Veteran
Joined
Nov 15, 2012
Messages
12,760
Reaction score
10,881
First Language
English
Primarily Uses
N/A
It's interesting to me, but my case is a little unusual. It's a secret project, so I'm not going to go into details, but something like this could same me some work later. I'm not sure how useful it would be to most people, and I can do this by hand easily enough. I would like you to continue, but I don't think you should base your decision on me in any way.
 

Versus

Villager
Member
Joined
Apr 21, 2017
Messages
20
Reaction score
3
First Language
Polish
Primarily Uses
N/A
I love the 2k3 resources I've got and I'd like to switch to MV soon. Don't want to spend time on converting stuff by hand. I hope you will keep working on that :kaoblush:
 

brocoio123

Villager
Member
Joined
Mar 11, 2019
Messages
16
Reaction score
8
First Language
English
Primarily Uses
RMMV
Sharm said:
I'm not sure how useful it would be to most people, and I can do this by hand easily enough.
Yeah i managed to do it easily on gimp when i wanted to get the resources to unity, but doing it every time i wanted to port resources is kind of a pain.
The idea is to do create something that could convert a whole batch of resources at once to any engine you would want, there are literaly thousands of free rm2k3 resources available out there, it would be a shame to think that they will just sit there being unused awaiting their deletion from their hosts.

I think it's a good idea! But your github page is not working :(
Fixed it!
 
Last edited by a moderator:

Sharm

Pixel Tile Artist
Veteran
Joined
Nov 15, 2012
Messages
12,760
Reaction score
10,881
First Language
English
Primarily Uses
N/A
Oh! It converts for multiple engines? That's way more interesting than I was expecting! I am now very interested in this. I don't fully understand the layout for 2k3 yet, but if I could do it once and have it work on many, then I'd put more effort into learning the resource standards.
 

brocoio123

Villager
Member
Joined
Mar 11, 2019
Messages
16
Reaction score
8
First Language
English
Primarily Uses
RMMV
So, after six months with the project just sitting on my pc i finally got time to work on it, it is functional now, but quite barebones as i just had a couple of days to work on it.
There it is:
-It convert rm2k/2k3 charsets to vx, mv and other engines, 70% of it is basically just a glorified resizer, but maybe it could save some time to some people wanting to import those old nostalgic graphics to a modern engine.

Just clone or download the repo and click on Start.bat, information on the README.
https://github.com/Brocoio123/2k-char-processor

If anyone has the time to use it, please report bugs and make suggestions, i'll include those on the next version.

I'll update the thread or create another later
 

Attachments

Last edited:

bonusminutes

Warper
Member
Joined
Aug 12, 2019
Messages
2
Reaction score
0
First Language
English
Primarily Uses
Other
If I click start.bat it just briefly flashes the command prompt at me. So I went and edited start.bat and added a "pause" line at the end so I could see what it was doing. Got this.


Downloaded python, still the same. Any idea whats wrong?
 
Last edited:

Restart

Veteran
Veteran
Joined
Mar 15, 2019
Messages
523
Reaction score
414
First Language
English
Primarily Uses
RMMV
If you're taking suggestions, having the program batch them through rotsprite to resize would be pretty useful. It's not as good as a real pixel artist for upscaling stuff, but it's pretty good and respects color counts.

for example, it upsizes


to this
 

brocoio123

Villager
Member
Joined
Mar 11, 2019
Messages
16
Reaction score
8
First Language
English
Primarily Uses
RMMV
If I click start.bat it just briefly flashes the command prompt at me. So I went and edited start.bat and added a "pause" line at the end so I could see what it was doing. Got this.


Downloaded python, still the same. Any idea whats wrong?
You get this even after downloading Python? Thats strange, i'm on vacation right now, when i get home i'll try to make an executable version.
Can you try to run the command python -V on cmd and see if it works?
Also, can you try to install both python 2 and 3?
If you're taking suggestions, having the program batch them through rotsprite to resize would be pretty useful. It's not as good as a real pixel artist for upscaling stuff, but it's pretty good and respects color counts.

for example, it upsizes


to this
Pillow already has nearest neighbour, bilinear, bicubic and anti-aliasing resising, it would be interesting to add another option, do you know a library that works with this algorithm?
Also, your resized image has some artifacts such as thicker contours and the eyes of the characters seem to be severely deformed, is this normal with this method?
 
Last edited:

Restart

Veteran
Veteran
Joined
Mar 15, 2019
Messages
523
Reaction score
414
First Language
English
Primarily Uses
RMMV
You end up with some weirdness when resizing to a fractional multiplier - that's sort of inevitable no matter what algorithm you use, since obviously going from 2-pixels of eyes to 3 pixels of eyes is either gonna be wider somewhere, or end up smearing the colors. I personally think it's easier to touch-up a sprite with a few misplaced pixels of the right color than try to touch up something that's blurred the pixels together, but obviously people have different workflows and art preferences

Look like there's already free-use python code for an implementation of the algorithm without the cleanup.

https://github.com/pinobatch/hello-world/blob/master/rotpixels.py

Which is based on this forum post from Xenowhirl describing the algorithm

the algorithm is dead simple, so I'll just describe it and you can decide: First it scales the image to 8x size, using a "pixel guessing" algorithm to add detail. Then it scales the image to 1/8 size and also rotates it using standard aliased rotation and scaling. That's basically it. To get a big speed increase for a small penalty in quality, you could use 4x instead of 8x and skip some other optional steps I did, but I wanted high quality above all else.

Here's the more detailed version: First it scales the image to double size using something similar to Scale2x, but checking if pixels are more similar to each other instead of if they're equal, which makes the result less blocky and ultimately leads to smoother output. The important thing is that the scaling algorithm works by choosing a pixel instead of by blending pixels. It does that 3 times to achieve an 8x scale, determined empirically to be a good place to stop. Then (optional step) it tries to find the best rotation offsets by looping through a small grid of offsets between 0 and 7 pixels in x and y, and for each one looping through the 8x image at the rotation angle with step size 8 pixels, and adding the squared distance of the difference in color components between each point and its immediate (1 pixel) neighbors in the 8x image, which will be 0 except on the boundaries between 8x pixels. Then it simply performs standard nearest-neighbor scaling+rotation, starting at the offsets that gave minimal sum of squared differences, and using 1/8 scale to return the image to normal size while rotating it. Finally (optional step), it tries to fix any overlooked single-pixel details by checking for any pixels in the output image that have 3 or 4 identical neighbors equal to them and unequal to the color at the corresponding place in the source image, and replacing those pixels with the one from the source image.

You might say I'm cheating by not vectorizing the graphics into lines and curves and rotating those, but I say this method is an approximation of that and works better in practice. When the original image has little detail at the angle it's being sampled, aliased rotation makes too many arbitrary decisions, but the smoothing of a pixel-choosing enlargement algorithm is sufficient to resolve most of the ambiguity.
 

bonusminutes

Warper
Member
Joined
Aug 12, 2019
Messages
2
Reaction score
0
First Language
English
Primarily Uses
Other
You get this even after downloading Python? Thats strange, i'm on vacation right now, when i get home i'll try to make an executable version.
Can you try to run the command python -V on cmd and see if it works?
Also, can you try to install both python 2 and 3?
Yeah, still nothing. An executable would be much appreciated if its not a lot of trouble.
 

brocoio123

Villager
Member
Joined
Mar 11, 2019
Messages
16
Reaction score
8
First Language
English
Primarily Uses
RMMV
Its been almost a year and i just realized how un-user friendly this is, will release an update soon.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

A new VA has joined the "Beyond the Mirror" team... I can't wait to start working on battle voices in the engine now.
Well bad reviews r making me rather annoyed today.
Ami
--- F.Mage Cooking Part 2 ---

F.Knight: Chef isn't here at this moment,he goes back into his Hometown to celebrating the Halloween with them.
F.Fighter: That too bad. I can't taste his dish until 3-5 days.
F.Mage: Then Leave it to me,i can make a Special Dishes for our Team in Halloween! (Rushes Into The Kitchen)
F.Knight & F.Fighter: (Screaming) YAMEROOO!!!
Stream will be live shortly with a session of the Interactive Text Adventure! Feel free to drop by!
aero the acrobat 2 on sega had some absolute bangers on the ost... why Meeting Dr. Dis was just for a cutscene and not a boss makes me sad lol

Forum statistics

Threads
104,629
Messages
1,007,696
Members
136,112
Latest member
mirae8
Top