What are 'Lazily-made' graphics? (How to use Masks correctly)

Description: All information about graphics and advices to create graphics.
Moderator: Moderators

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 25
Reputation: 319
Posts: 1293
Joined: 15 Feb 2014
Location: Moscow, Russia
Website Skype YouTube

Post #1by Wohlstand » 21 Jun 2014, 15:26

Lazily-made / Noob-made / noob drawing / result of lazy effort - These are pairs of a image and mask, created via simple copies of the original image, with a white color.

What is a mask?
A mask is an Alpha-channel coding image. Each Pixel of the mask defining the level of opacity of the same pixel on the source image:
Each Pixel of a mask - is a value of opacity for each pixel of the source image:
Image

And the result of using a wrong mask is a glitch.

Here are some examples:

Examples of VALID sprite pairs:
Image+Image=>Image

Image+Image=>Image


Examples of INVALID (Lazily-made) sprite pairs, this will create appearances of render errors:
Image+Image=>Image

Image+Image=>Image

Image+Image=>Image

Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Avatar
Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Age: 37
Reputation: 16
Posts: 88
Joined: 24 Jun 2014

Post #2by Mikepjr » 24 Jun 2014, 18:53

The fact that this even uses masks drives me up the wall.
It becomes rather frustrating after awhile.
Especially since every graphic get's done separately rather than part of a tile set of sorts or something.

Kevsoft M
Angry developer
Angry developer
Avatar
Kevsoft M
Angry developer
Angry developer
Age: 19
Reputation: 77
Posts: 376
Joined: 26 Apr 2014
Location: Austria

Post #3by Kevsoft » 24 Jun 2014, 19:54

I know that this is dumb. SMBX was made with VB6 (already like 16 years old) and I doubt that there was transparenty support, so the developers had to use masks.
▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬ Signature.start() ▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬
Image
Wohlstand in interview:
Spoiler
Image

▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬ Signature.end() ▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬

Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Avatar
Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Age: 37
Reputation: 16
Posts: 88
Joined: 24 Jun 2014

Post #4by Mikepjr » 24 Jun 2014, 21:55

True, but that is SMBX though, and i would hope this software would improve on such things.
I mean, i know how to use masks, it's just a pain..
But that's why i suggested a tile set in another thread for some things.
It would make it at least some what easier to manage.

Kevsoft M
Angry developer
Angry developer
Avatar
Kevsoft M
Angry developer
Angry developer
Age: 19
Reputation: 77
Posts: 376
Joined: 26 Apr 2014
Location: Austria

Post #5by Kevsoft » 24 Jun 2014, 23:18

Yes, in the new engine there will be better support, like PNG with alpha-channel.

But, as this engine is also SMBX compatible, I wanna provide a tool which automatically makes a mask out of a graphics sprite. So it then can be used for SMBX.
▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬ Signature.start() ▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬
Image
Wohlstand in interview:
Spoiler
Image

▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬ Signature.end() ▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 25
Reputation: 319
Posts: 1293
Joined: 15 Feb 2014
Location: Moscow, Russia
Website Skype YouTube

Post #6by Wohlstand » 24 Jun 2014, 23:51

Oh, I forgot say about planned npc-*.txt params:
imgfile=xxx.png - for set image file
usemask=0 - disable using of masks, will be used internal PNG's transparency, or if value usemask=1, will be opened file "xxxm.png" and applyed to source image as alpha-channel mask.
same flag "usemask" will me implemented in global INI file, for use them globally (planned for "SMBX Extended", what will be use PNG graphics instead masked GIFs).
This parameters only planned and will be implemented only with engine part.

Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Avatar
Mikepjr
Grumpy GFX Designer
Grumpy GFX Designer
Age: 37
Reputation: 16
Posts: 88
Joined: 24 Jun 2014

Post #7by Mikepjr » 25 Jun 2014, 18:14

Awesome news then.
But eventually you have to say goodbye to worrying about compatibility to SMBX and just make something better all on it's own.

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 25
Reputation: 319
Posts: 1293
Joined: 15 Feb 2014
Location: Moscow, Russia
Website Skype YouTube

Post #8by Wohlstand » 25 Jun 2014, 18:29

Mikepjr wrote:Awesome news then.
But eventually you have to say goodbye to worrying about compatibility to SMBX and just make something better all on it's own.
Yep, as you're already aware, compatibility is necessary for transferring the old episodes into the new format and for playing old archived episodes. But new features are going to be supported in the full mode without limits :wink:

I've already created a tool for creating transparent PNGs from masked GIFs:
https://github.com/Wohlhabend-Networks/PlatGEnWohl/tree/master/GIFs2PNG
This will be a helpful tool for speedily converting all custom graphics in the PNG format. I plan to add improvements to them, such as 'walk in subdirectories' for converting all graphics of a episode. And for lazily-made graphics, I have an idea for Pixel-By-Pixel converting into the correct mask with a comparison to the source image. And if this experiment is successful, I plan to create a tool for fixing all lazily-made graphics without GIMP or Paint.NET :cool:

Over here I've placed SMBX's converted packs:
http://wohlsoft.ru/docs/_Important/


Return to “Graphics”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest