Recommended way to make screen2 gfx?

Par Uninteresting

Champion (352)

Portrait de Uninteresting

17-12-2021, 22:46

Do you experts think scanning hand-drawn art and digitally painting it would be a better idea than drawing lines in GIMP by mouse (I have no drawing tablet)? I recall there was a thread on these forums about an online(?) graphics ditherer for some display mode some years ago, which made me consider this option.

Background for my case:
I'll have to start working on the location graphics for my next adventure game at some point, and I'm finally free of gfx memory usage constraints in game chapters. Well, I can use as many unique tiles for all locations as I like now, so I don't have to plan and manually edit the pictures to preserve space (if ROM size is unlimited).

I have a flatbed scanner and I consider myself amateur-level with hand-drawn art, although I haven't done it in years. My current pipeline has been drawing the location graphics in GIMP, exporting them to PNG and converting these by a Python script.

The location graphics are 14*14 characters, so 112*112 pixels. My main concerns are that this is not a very big picture to use dithering on, colour bleeding will kick in more notably plus the rest of the UI will still be "cartoony" like before. The tool I faintly recall may also have been not for screen 2 (I'm sticking by that constraint).

Of course, I will still need to draw a title picture, where the image is 256x192, which is a second case. And possibly static cutscenes of cartoon panels if I ever get around to adding them... tbh, not very likely right now. (Think of the ones in Phantasy Star 4 on Megadrive or The Caped Crusader gameplay.)

!login ou Inscrivez-vous pour poster

Par Grauw

Ascended (10707)

Portrait de Grauw

17-12-2021, 22:51

I’m certainly not good with hand drawn art so I can’t replicate your technique, but I would scan it and then touch it up in Aseprite (or GIMP in your case). I think for best results you would always want to do some amount of manual pixeling, using 8x8 grid lines and keeping the screen 2 restrictions in mind.

Par ARTRAG

Enlighted (6932)

Portrait de ARTRAG

18-12-2021, 10:03

Have you ever tried this:
https://github.com/artrag/Screen-2-converter-with-sprite-ove...

It is an image converter able to place automatically sprites to mask colour bleeding.
The idea is roughly this:
1) convert the original to screen 2 tiles
2) compute the error image
3) for each sprite search the best placing, colour and shape able to mask the largest error area

Step 3 is performed keeping into account the 4 sprites per line limit. This means that the algorithm counts on each line how many sprites are already present and optimise the placement.

The encoder is a Matlab script, but if you need, I can generate an EXE for your tests

Do not expect miracles: if the colour bleeding is concentrated the same lines you will get masking for only 4 areas

Par Uninteresting

Champion (352)

Portrait de Uninteresting

18-12-2021, 10:57

No, I had never even heard of that.

It's been over ten years since I last fumbled with Matlab, so in theory I can refresh my memories of the language and convert this to Octave (something I have never used) or Python.

In my case, though, I'll have room for three sprites (one is reserved for the cursor in list), but again, the image is so much smaller that three sprites would probably do a lot. (I'd have to get back to editing the engine ASM code, though...)

Par ARTRAG

Enlighted (6932)

Portrait de ARTRAG

18-12-2021, 15:02

The exe was already in the release package
https://github.com/artrag/Screen-2-converter-with-sprite-ove...

I think that in smaller images the converter gives its best
Let me know if you need a custom version, e.g, that leaves a number of sprites reserved

Par Uninteresting

Champion (352)

Portrait de Uninteresting

18-12-2021, 18:36

Well, the Octave path was a failure -- it lacks routines like imapprox and rgb2ind has a different signature. If and when I have art I actually want to convert here, I'll let you know how it turned out.

Par ARTRAG

Enlighted (6932)

Portrait de ARTRAG

18-12-2021, 19:09

Didn't you try the exe version?

Par Uninteresting

Champion (352)

Portrait de Uninteresting

18-12-2021, 19:50

Not at first. I did get the executable and then installed the Matlab runtimes, and then converted a sample photo. I didn't try loading the results on MSX, but the output was there.

Now the algorithm nutcase inside of me wants to try making a dithering algorithm for screen 2 and see what is the best I can get out of it... just for the challenge.

But, I'll try your tool again when I have actually drawn something for the game. I usually do only the lineart on paper and then colour it with flat shades on PC.

Par ARTRAG

Enlighted (6932)

Portrait de ARTRAG

18-12-2021, 20:24

Par ARTRAG

Enlighted (6932)

Portrait de ARTRAG

18-12-2021, 21:25