English Amiga Board


Go Back   English Amiga Board > Creation > Graphics

 
 
Thread Tools
Old 14 December 2018, 02:08   #1
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
Amiga GFX noob questions

Alright,
sorry if this is in wrong forum, but unfortunately, we don't have graphics related subforum here.

I have a tons on questions on how do you prepare graphics for Amiga, game, but I'll start it simple.
Hopefully, this will help someone in the future, to have all stuff about (preparing) amiga graphics in one thread.

So I downloaded free 3D rigged and animated model from Mixamo site, lighted it in 3DS Max, fixed some problems, and rendered.



Now, this is a 30 frames walk loop, rendered in 512x512, png with alpha.

1) What program you recommend to convert it to IFF (8 or 16 color (for OCS)). I know there's a lots of apps, but what do you think it's best in terms to keep it as much original as possible?
2) 30 frames for a walk cycle is too much. What number of frames you recommend, for... let's say.. final fight type of game? Is 5 too much?
3) What resolution you recommend for a medium sized character sprite on some beat em up?

I know that lot's of answers of these questions would be "well, that depends on..." but I need just overall info for the start.

If I succeed, converting this character, I might start playing with it in RedPill

I will have some questions later about sprite sheets, and background.

Thanks you all in advance.
cheers!
d4rk3lf is offline  
Old 14 December 2018, 10:23   #2
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
1. DPaint 4
2. 5 is fine
3. 32 pixels torso but make limbs separately so you don't waste time blitting transparent pixels.
Samurai_Crow is offline  
Old 14 December 2018, 13:49   #3
daxb
Registered User
 
Join Date: Oct 2009
Location: Germany
Posts: 3,303
As far as I know DPaint 4 doesn't support PNG. So you need to convert to IFF first. PPaint supports PNG. I would try this.
daxb is offline  
Old 14 December 2018, 22:05   #4
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
Than you.
I've been trying for a few hours, and figured out some stuff, but still not there

So, firstly I converted all png's from 512x512 to 32x64 png.
Then I've tried to convert that png to iff both with PPaint and XnView (on PC).
I got some artifacts around shadow area, bellow character (in both apps)

---------------------------------------------


Then I've tried 512x512 version to convert to IFF too see what will happen (and idea is then to scale sprite down in PPaint or DPaint),


---------------------------

Now, that's much better, but both apps place some gray color instead of transparency. And that's Ok, because IFF use color for transparency. But how I can choose color for transparency (when converting)?
Or maybe, just from the start, I ignore PNG and alphas, and just render with some background color straight from the 3DS Max? Maybe even turn off antialias when rendering? Render in TGA or Tiff?
Do you think that shadow could cause problems? I don't need it that bad, so I can remove it, for the time being,

Just want to know some good workflow on how I can turn a sequence of renderable images (from PC) to a perfectly usable spritesheet for Amiga (OCS).
I don't care if I use PC or Amiga apps to do that (or combination).

Thank you all again, and looking forward to make this chick, at least, move to screen left or right.

Cheers!

P.S.

Quote:
Originally Posted by Samurai_Crow View Post
3. 32 pixels torso but make limbs separately so you don't waste time blitting transparent pixels.
That sounds like a great tip for optimisation, thanks.
Right now, it's maybe too advanced for me...
But just courious, do you have a sample of spritesheet that uses that method?
d4rk3lf is offline  
Old 14 December 2018, 22:15   #5
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Yeah, PPaint is excellent for conversions like this, and has some decent algorithms for remapping palettes, dithering and so on. It's worth experimenting with the options to see what gives you the best results.

As for the transparency, generally colour 0 is taken to be transparent, whatever value it actually is. For your sprite there, the simplest solution might simply to floodfill the unwanted grey areas with black. You want to be careful doing this however, as if you do any further remapping of colours, any other areas of the image that end up using the colour 0 pen will also be transparent. To avoid this, it's often a good idea to start by setting colour 0 to cyan (0, 255, 255) or magenta (255, 0, 255) - colours you wouldn't have in any of your frames. Remap the image to match that, which will ensure that none of the sprite is transparent, then floodfill the area you want to be transparent with colour 0.

Rendering with one of those colours as the background will remove that step - it will likely end up as colour 0 automatically during the conversion, but if not, just swap it with any other pen and remap and you'll be sorted.
Daedalus is offline  
Old 14 December 2018, 22:36   #6
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
@Daedalus
Thanks man,
with few sentences you answer me to a lot's of questions in my mind.
If I make transparent color black, wouldn't I loose the shadows, because they are also black (if you look at my Ppaint screen shot)? And how I do that (make gray to black)? just bucket tool?
Anyway I really like pure cyan and magenta approach.
How about this:
I pre-render the whole stuff with cyan background instead of transparent? Then I can try and see what happen when I am converting to 16 colors IFF.
Do you recommend me to turn off antialiasing inside 3DS Max (so maybe, converstion to 16 colors won't "confuse" apps with those "in-between" blend colors)?

Cheers!

EDIT:
I just saw you edited post, and basically answered to my questions.
Thanks again.
I'll definittelly try that.
d4rk3lf is offline  
Old 15 December 2018, 11:39   #7
AmigaHope
Registered User
 
Join Date: Sep 2006
Location: New Sandusky
Posts: 942
By far the best conversion/manipulation utility to convert stuff to Amiga formats is Art Department Professional (ADPro as we called it back in the day). You'd use it to get your data with optimal palette selection, scaling, etc., and then you could fine tune the results in DPaint or Brilliance.
AmigaHope is offline  
Old 15 December 2018, 12:42   #8
invent
pixels
 
invent's Avatar
 
Join Date: May 2014
Location: Australia
Age: 52
Posts: 476
Hi d4rkIf,

My process is:
- Render 3d sprites out at size you require eg 32x32 pixels (png 24bit)
- import them into photoshop, turn 32x32 grid on (snap to grid setting on), place sprites onto page in sequence (save PSD)
- Convert to 16 colours or whatever you need.
- You can create a custom indexed palette (eg 16 colours if its say a Hardware sprite)
- I generally create custom palettes to convert graphics from 26bit to eg 16 colours.
- export as Amiga IFF
- open in GraphicConverter (mac/pc) and save out as IFF (I have to do this sometimes because the Photoshop IFF export doesn't always work when trying to import into eg Dpaint or Brilliance (especially HAM images)

Software used:
- Photoshop
- GraphicConverter 9
- Brilliance 2
- Grafx2
invent is offline  
Old 17 December 2018, 04:45   #9
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
Thank you all so much.
(and they say... Amiga community is bad... I've been active around here almost a year, and all I see is people helping each other).

@AmigaHope
Thanks for the suggestion, I'll definitely try Art Department Professional.

@invent
Man, that's exactly what I needed!
I didn't know that I could finish pretty much all in PS.
With your help, I have succeed making my first character walk.
I did it with 32x32 res, 16 colors, and my character now isn't much recognizable, but it works. I've tried also 32x64 res, but RedPill crashed all the time.
Yes, the Deluxe Paint refuses IFF from PS, but it seems that PPaint and RedPill have no problems with it.

Ok, here is my first test on RedPill
[ Show youtube player ]

I hope I will be able to make that character more detailed. I am having some problems with transparent colors. Very often it leaves edges (like a stroke), and I am unsure what color to use.

Cheers!
d4rk3lf is offline  
Old 17 December 2018, 10:28   #10
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,856
Continue like this, it's
malko is offline  
Old 17 December 2018, 12:46   #11
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
Alpha blending doesn't work on Amiga chipsets. You'd need a truecolor chunky display for that to work. Doing it manually takes 2 multiplies per pixel minimum and chunky also. You'll have to match the ambient lighting of your levels and reconvert, I think.
Samurai_Crow is offline  
Old 17 December 2018, 12:47   #12
invent
pixels
 
invent's Avatar
 
Join Date: May 2014
Location: Australia
Age: 52
Posts: 476
Welcome d4rk3lf, if you need help seeing if we can improve definition sent the sprites to us, will be a nice challenge to see if we can improve them for you.

Great to see you using Redpill, can’t wait to see what you update us on next...eg background design, other enemies Best of luck and we are here to help.
invent is offline  
Old 17 December 2018, 21:22   #13
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
@malko
Thanks, trying my best with not so much free time.

@Samurai_Crow
Yes, I understood that Amiga can't use alpha, but I am still struggling to find a proper way to convert image so transparent color don't give any artifacts (like weird outlines). Apart from your first sentence, I am afraid I can't understand much, because I have very limited knowledge about all that stuff (chunky pixels.... multiplies per pixels...).
Thanks man, I'll try to do a little bit of research on how Amiga graphics are working.

@invent
Cheers man!
Obviously, I don't want to bother anyone to do the work for me, but I'll share my "master file", if anyone that is learning, wants to try.
The point of this thread is to help people in the future, that are beginners in all that stuff, to start learning, and have everything in one place.

So, I'll attach files, and if you have some free time, and will, just show us how to do the proper conversion, with proper transparency.
Btw, do you think RedPill can support sprites 32x64px?
------------------

Yes, I am planing doing BG graphics very soon.
I'll try to make it Mad Max desert post-apocalyptic feel, and one enemy character (but before enemy character, I want to finish main character completely with all moves).
Attached Files
File Type: rar Arisa_sprite.rar (173.6 KB, 142 views)
d4rk3lf is offline  
Old 18 December 2018, 02:18   #14
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
I just realized, that I don't need to worry so much of the height of the sprite (in pixels).
All I need to worry is that the width don't exceed 32px.

Here is new test:
[ Show youtube player ]

I am much happier now.
Sprite is bigger, and now we can recognize it's shape, instead of those messy pixels in the last update.

1) I re-rendered sprite (tried to make lightning more in favor of the silhouette and shape).
2) Made new sprite sheet, and scaled down character, but I only worried not to exceed 32px in width.
3) Tried playing with background color that is transparent (still need to learn tips on that)
d4rk3lf is offline  
Old 19 December 2018, 23:52   #15
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
Quote:
Originally Posted by d4rk3lf View Post
I just realized, that I don't need to worry so much of the height of the sprite (in pixels).
All I need to worry is that the width don't exceed 32px.

Here is new test:
[ Show youtube player ]

I am much happier now.
Sprite is bigger, and now we can recognize it's shape, instead of those messy pixels in the last update.

1) I re-rendered sprite (tried to make lightning more in favor of the silhouette and shape).
2) Made new sprite sheet, and scaled down character, but I only worried not to exceed 32px in width.
3) Tried playing with background color that is transparent (still need to learn tips on that)
Regarding transparency, when you scale down your sprite, is your bitmap a png with alpha/transparency wherever there is background or do you have a background color that is present when the software resamples?
(Also, Photoshop has a couple of different algorithms to choose from for scaling). But my point is that any color present would affect the edge pixels final color.
Since Amiga doesn't a nice alpha with any kind of bit dept-range (e.g. 4bit = 16 shades of grey meaning 16 levels of transparency) you are likely stuck with using a single reserved color in the palette for transparency and that will inevitably lead to the edges of your character working with certain colors better than others. (You might have seen this in videos where people add Text and no matter what color you choose it will always be bad in some situation, therefore they add a black outline to a white text, or something like that.)
So what you can do is to put your character in Photoshop (you can have anim frames there also and preview actual movement) and put 2 or 3 layers beneath it, say white, neutral grey, black and toggle these on and off and check if you need to tweak parts of your character so that it will look better against a wider range of backgrounds.

Anyway, keep up the good work. Nice to see people getting involved with practical stuff ;-)
eXeler0 is offline  
Old 20 December 2018, 00:07   #16
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
Quote:
Originally Posted by eXeler0 View Post
Regarding transparency, when you scale down your sprite, is your bitmap a png with alpha/transparency wherever there is background or do you have a background color that is present when the software resamples?
Thanks man.
My question is quite opposite.
I've tried many modes, with transparency (png), without... different res.. etc...

The question is:
I can prepare character in any format you want. Any!
What is this format that is best for conversion?
You tel me, and I export it in a minute.

Also... I am in the reading of something... Amiga is unable to flip (mirror) sprites?
d4rk3lf is offline  
Old 20 December 2018, 01:54   #17
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
Quote:
Originally Posted by d4rk3lf View Post
Thanks man.
My question is quite opposite.
I've tried many modes, with transparency (png), without... different res.. etc...

The question is:
I can prepare character in any format you want. Any!
What is this format that is best for conversion?
You tel me, and I export it in a minute.

Also... I am in the reading of something... Amiga is unable to flip (mirror) sprites?
Any color in the background would inevitably get blended with the other pixels in most downsampling algorithms in photoshop so id say, render it to png with trransparency.. Then I guess if you could do an "exact multiple of" scaling and use the worst algorithm "Nearest neigbor" (I think) and go from say 256 to 64 and that would be exactly 4 pixels become one, it would take the colors from neighboring pixels of the character but not any color bleeding from anything in the background.(this algorithm usually produces ugly/blocky results)
Now, that being said.. nothing beats doing the final single pixel touch up in Dapint or something similar, let your eye be the judge ;-) back in the day you wouldn't use dithering in Dpaint, you'd paint it exatly as you wanted the pixels to be with every color in the palette defined by you.
Fire up some old Bitmap Brother game (e.g. Gods) and look at their stuff for inspiration..
eXeler0 is offline  
Old 20 December 2018, 19:22   #18
Ricardo
Registered User
 
Ricardo's Avatar
 
Join Date: Jul 2009
Location: Nottingham / UK
Posts: 155
Back in the day, Kev Bulmer would have looked at the source graphic on one screen and simply draw the Amiga frame, pixel by pixel with manual anti-aliasing. Problem with conversion nowadays I imagine is all the alpha shading on transparency. Tad tricky with 16/32 colours.

Mortal Kombat stored its character graphics as 16 x 16 pixel tiles, effectively a character set. With map files that defined what tiles were used for each character frame. Each tile could be flipped horizontally and vertically and also shifted by 0 to 15 pixels. The tiles were also compressed. So the 68k would decompress a tile to chipram, then the blitter would move the tile to a character buffer, then once the full frame was built the blitter would then cookie cut the sprite to the screen (generating the shadow in the process which was then also blitted). All characters were stored facing one way, so tiles had to be reflected real time to face the other way too (by the 68k). A byte (256) refection table was used for 1MB machines, more then 1MB and there was a 16-bit reflection table (128K).

Sorry for going off topic :-)
Ricardo is offline  
Old 22 December 2018, 21:38   #19
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
@Ricardo
I just realized you're Richard Costello!
Man, you're my hero.
Mortal Kombat 2 was what's hooked me to Amiga at the first place (along with Ruff 'n Tumble), when I saw it on my friends A500 (with my C64 eyes ).
Too bad they didn't give you to made Final Fight conversion.

No of topic at all, because this is graphics related thread.
And even I don't fully understand the whole trick, I'd like too see one MK spritesheet (or similar example), because it's probably the best way to maximize A500 possibilities.

And yes, you're correct about alpha shading on transparency.
I realized that, few hours a go.
The problem starts with 3DS Max, and it's own antialising, when translating into transparency, the alpha blends and throws in a bunch of middle opacity values.
I tuned off anti-alias, and I've checked "interlaced" when saving on PNG, and now, it's all sharp.

Also.... for somebody else that try this... even scaling down in Photoshop, can lead from edges being full opaque, to somewhat mid transparent.
So, best to render from 3DS Max sprite in resolution that would be used, and don't scale in Photoshop.

@eXeler0
Thanks.
I don't mind hand touch in DPaint, as long as I know what I am doing.
I still have to make a bunch of tests, before final touches.

Cheers!
d4rk3lf is offline  
Old 23 December 2018, 18:24   #20
d4rk3lf
Registered User
 
d4rk3lf's Avatar
 
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,645
Ok.
Finally very happy with character (so far)
Here is how it looks at the moment:
[ Show youtube player ]


few questions:

1) I've took a look of sprite sheets of some famous arcades games (Final Fight, Cadillacs, C. Commando), and they all have 12 frames walk loop on main characters. I did 10 frames loop for last test. Do you think it's too much for Amiga sprite?

2) When I import some background tile, my character becomes a (color) mess. I realized that I need to have same color pallete for hte character and the background. My character is only 16 colors (15+opacity), and I am happy with it. But it (seems to me) that it's too little (16 colors) for both character and background.
Do you think that a good approach would be that I make one Big PSD image, place on that both characters sheets, and background tiles, make all 64 colors, and then, crop it to just character sheet, and convert this 64 color to 16 colors.
Would that approach work for OCS Amigas hardware?

Cheers to all
d4rk3lf is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Questions from yet another Gotek noob Amiga1992 support.Hardware 2 16 May 2017 06:27
Stupid noob TOSEC questions antonvaltaz project.TOSEC (amiga only) 6 15 August 2010 00:59
whdload noob questions beatnik project.WHDLoad 2 23 July 2010 21:53
WHDLoad noob questions beanz project.WHDLoad 9 17 May 2008 12:58
Noob Questions Crackersixx Coders. General 12 21 January 2006 23:53

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:08.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.14512 seconds with 16 queries