@TrentOster: I find it slightly, errm...unusual that you are posting requests here, It's your game! It's like being on a plane and someone sits down next to you mid-flight and tells you they're the pilot!
In all seriousness however I appreciate that you're posting your ideas here for us to comment on them.
And back on topic, I have no idea what an alpha transparent sprite is. I get the feeling that this is something you need to see to appreciate, in which case I'll throw my lot in with you and support it. Hopefully Trent listens and implements it.
@Aliteri@HeroicSpur So right now the graphics use the colour Red 0, Green 255, Blue 0 to represent transparent areas. Think of it like a green screen. Every other colour(in the palette) is drawn and the super-duper-chroma green bits are ignored. You can't have something only slightly see-through, the transparency is either off or on. What Trent wants is the ability to control the level of transparency.
@Coriander: that sounds like it's a win-win, I don't know why anyone would have any objection to it. I also don't know why people have 'disagreed' with my post, maybe they didn't like the joke, but I still agreed with the request.
@Tanthalas: Lol, turned out I was the fool who couldn't keep his mouth shut.
And as for Trent, he really is a hero for me in the current world of games. I honestly never believed we would be seeing anything like BG again, and to hear about BGEE and BG2EE and BG3 is just incredible. And whatsmore to be given the opportunity to post suggestions to enhance one of our favourite and best games ever...
I should not have been so flippant. I apologise to all concerned.
Anyway back on to alpha transparent sprites, I look forward to seeing some screenshots in the (near) future.
Right! Animating flipbook alpha-transparent sprites! Of course! I was just thinking that... *ahem* so... that has something to do with shadows maybe? Or ghosts? Cloak animations? water?
Oh, and though I had no clue what animating flipbook alpha-transparent sprites was about, I for one seemed to be able to read HeroicSpur's post without sensing the slightest disrespect to the Trentmeister. :-P
Wait- no. Are you guys cleaning up the silly-looking Fireball (and other spell) animations? No... just the bonfire in the xvart village. Nexlit the Xvart has too much influence...
@Tanthalas It really depends on what the artist does when they make the effect. Overall it would make effects blend with the background, instead of being pasted on top. Water is probably a better example, because it doesn't emit light. You could have a puddle and see the ground through it instead of it being a silvery-blue blob.
Hi, We are really interested in the ability to manage the alphablending in the Infinity Engine .
Indeed as part of the updating of the Paul Siramy graphical editor : MergeDccV2 (originally for diablo 2, but should manage : .Bam format), We seek to convert animations that have several layers of transparency .
Also except that the alphablending would certainly magnify the graphics of Baldur's Gate it would also allow modders to benefit even more options and creativity.
Also, I share with you this discussion about it, that I adapted from a message originally in French .
" Salomon Kane :
What we need to add / change in IE, so that BG can integrate without pixelisations : Animations that benefit alphablending and to improve rendering ... ? What relevant information could be transmitted to BG.EE developers (or modders) for its effective integration ... ? What might need MergeDccV2 as a source or information to succeed in this future work destined for integration and especially the .Bams conversions... ?
" Paul Siramy :
For me, the first thing would be the alpha channel support.
Several solutions :
Ideally : a new format of BAM (probably compressed), generated from a 32bpp image (256 * 256 * 256 color = 16 million colors + alpha channel with a 256 level of transparancy),
Advantages: beautiful sprites in 16 million colors + medium level of transparancy
Disadvantage: BAM file size, not to mention the size once unzipped in memory (4 times more than current BAM 256 colors).
Developers are free to decline this format in several quality level (quality / size memory).
Another more practical solution without doubt an extension of the current size BAM, where each frame has an associated second frame reserved for the alpha channel. It would multiply "only" the size of BAM x2, but would provide support for Diablo II following modes: 25% 50% 75% transparency (in fact, with this format is of course manages 256 levels of transparency, and it pixel by pixel) .
But that solves only the problems of transparency, it does not allow any effect, such as alpha-blending, brightness, etc.
Ideally, it should reproduce: the system of Diablo II: Managing the layers! And of course each layer to the selected property as to draw it (at least as Diablo II).
If the BAM contains three times more frames (as manager three layers), or 3 BAMS, each with a single layer, no matter the result is the same.
But having a system layer is a necessity for me. Just take "the arcane portal" from Diablo 2 (AA code) (*) to find : three layers, one normal, one transparent and one in alpha blending, not easy to manage in a single layer (otherwise it would mean * to * each pixel of a BAM, we have one more byte to decode, to know how to draw the pixel, complicated and probably not efficient).
EDIT: not to mention new features graphics, there is certainly something that all modders would appreciate: a BAM unlimited size to 256x256. Even if that is what the game engine which internally re-decomposed a BAM 400 * 400, into 4 part max of 256x256 pixels each.
There is something we could really easy. We may certainly do more, but this is easy enough to just go ahead and do.
The BAM Palette currently stores BGRA, and A is 00. We could just start using the alpha values in the palette, and if it's 00 then flip it to 0xff. We already have 00ff00 for transparent, so you would still use that as pure transparent.
BG2 would ignore the alpha values as it always has, and BGEE would start using them as long as they are not set to 0. We wouldn't need to change the file format at all, and it would give people the ability to make a bit nicer images.
We're looking into this. The existing bam format actually has room for alpha values, the engine just ignores them. We'll likely have to build a new .BAM tool, unless someone has one they really like and want to share source ;-)
Using that unused byte in the BAM palette seems indeed a very good idea to me. And you even tought of a simple trick to handle both the existing BAM and the new ones that would use that new feature. I also like it because it can handle in a straightforward way most of the Diablo II spells that are using the game's implementation of alpha-blending... well, at least it'll work for animations that are composed of only 1 layer (flames, fireball, water, various auras ...).
That is what is nice about his solution. There would be no new .Bam format, if you added alpha values to the palette, normal BG would ignore them and BG:EE would use them. I'm not sure what tool (other than a hex editor) would work well for doing the alpha settings on the palette and managing the images, but it would just work.
That is what is nice about his solution. There would be no new .Bam format, if you added alpha values to the palette, normal BG would ignore them and BG:EE would use them. I'm not sure what tool (other than a hex editor) would work well for doing the alpha settings on the palette and managing the images, but it would just work.
-Trent
I take it this can apply for creature animations as well (water weird for example). But (fallen) planetars would neet to be handled differently, because the top layer of their avatars are meant to use the brightest blend mode.
It would be nice to allow all of this stuff to be customizable.
Long-term, the right approach seems to be a format like WebP (http://en.wikipedia.org/wiki/WebP) or just pull in a series on 32-bit.png images into a tool and create a .BAM V2.0.
I think the current planned extension will be a good place to start. Good thing is now we're getting some exposure to the code, so we can do more work in this area in the future. Thanks to @erephine and @salomonkane for a point in the right direction. -Trent
@TrentOster : I know the Diablo II modding scene better than the BG one, so sorry if my question is silly, or the answer obvious, but : how difficult would it be to implement layers ?
Apparently all animations in IE are done in only 1 layer. Big animations (like the big red dragon) are split into several BAM parts, but it's complex, and all part are draw near each others, not one on top of the others. This looks like a limitation in the IE engine.
Beeing able to create animations in layers will open a marvelous door to animations variants (like the player weapon/armor system in Diablo II), and better animations quality (since each layer would have its own graphical effect). So, how diffult would it be to code something to bypass this limitation ?
@PaulSiramy there are already layers used for PC avatars and a few NPC too. The engine has 4 layers: creature+armor, offhand, weapon, helmet. Not all animations use this, but the concept is there.
As i read this i was thinking would it not possible, to hide the old sprites with new ones? Like a new layer in Photoshop. Now you started with fire, water and ponds. This effect would work with eyes too (for avatars). Then slowly make a new overlay layer on the old sprites. Is it harder to make new layers as to create new 3d models and rendering sprites?
Comments
In all seriousness however I appreciate that you're posting your ideas here for us to comment on them.
And back on topic, I have no idea what an alpha transparent sprite is. I get the feeling that this is something you need to see to appreciate, in which case I'll throw my lot in with you and support it. Hopefully Trent listens and implements it.
/cry
@HeroicSpur I don't think it actually sounded like a joke, more like a reprehension. Hence the flaming.
(I'm glad I never posted the joke. It had crossed my mind too).
And as for Trent, he really is a hero for me in the current world of games. I honestly never believed we would be seeing anything like BG again, and to hear about BGEE and BG2EE and BG3 is just incredible. And whatsmore to be given the opportunity to post suggestions to enhance one of our favourite and best games ever...
I should not have been so flippant. I apologise to all concerned.
Anyway back on to alpha transparent sprites, I look forward to seeing some screenshots in the (near) future.
Its the internet, all you needed were some emoticons to make it sound like a joke or at least lighthearted
Oh, and though I had no clue what animating flipbook alpha-transparent sprites was about, I for one seemed to be able to read HeroicSpur's post without sensing the slightest disrespect to the Trentmeister. :-P
So with the changes that Trent wants to implement to transparency, would this make fire look better against, lets see, a blue background?
Enhanced Infinity Engine
Hi,
We are really interested in the ability to manage the alphablending in the Infinity Engine .
Indeed as part of the updating of the Paul Siramy graphical editor :
MergeDccV2 (originally for diablo 2, but should manage : .Bam format),
We seek to convert animations that have several layers of transparency .
Also except that the alphablending would certainly magnify the graphics of Baldur's Gate it would also allow modders to benefit even more options and creativity.
Also,
I share with you this discussion about it, that I adapted from a message originally in French .
"
Salomon Kane :
What we need to add / change in IE, so that BG can integrate without pixelisations :
Animations that benefit alphablending and to improve rendering ... ?
What relevant information could be transmitted to BG.EE developers (or modders) for its effective integration ... ?
What might need MergeDccV2 as a source or information to succeed in this future work destined for integration and especially the .Bams conversions... ?
"
Paul Siramy :
For me, the first thing would be the alpha channel support.
Several solutions :
Ideally : a new format of BAM (probably compressed),
generated from a 32bpp image (256 * 256 * 256 color = 16 million colors + alpha channel with a 256 level of transparancy),
Advantages: beautiful sprites in 16 million colors + medium level of transparancy
Disadvantage: BAM file size, not to mention the size once unzipped in memory (4 times more than current BAM 256 colors).
Developers are free to decline this format in several quality level (quality / size memory).
Another more practical solution without doubt an extension of the current size BAM, where each frame has an associated second frame reserved for the alpha channel. It would multiply "only" the size of BAM x2,
but would provide support for Diablo II following modes: 25% 50% 75% transparency (in fact, with this format is of course manages 256 levels of transparency, and it pixel by pixel) .
But that solves only the problems of transparency, it does not allow any effect, such as alpha-blending, brightness, etc.
Ideally, it should reproduce: the system of Diablo II: Managing the layers!
And of course each layer to the selected property as to draw it (at least as Diablo II).
If the BAM contains three times more frames (as manager three layers), or 3 BAMS, each with a single layer, no matter the result is the same.
But having a system layer is a necessity for me.
Just take "the arcane portal" from Diablo 2 (AA code) (*) to find : three layers, one normal, one transparent and one in alpha blending, not easy to manage in a single layer (otherwise it would mean * to * each pixel of a BAM, we have one more byte to decode, to know how to draw the pixel, complicated and probably not efficient).
EDIT: not to mention new features graphics, there is certainly something that all modders would appreciate: a BAM unlimited size to 256x256. Even if that is what the game engine which internally re-decomposed a BAM 400 * 400, into 4 part max of 256x256 pixels each.
"
Regards, S.K. .
Source :
AA/Gif : (*)
Links :
http://www.baldursgateworld.fr/lacouronne/menace-sur-le-royaume-de-diamant-eternel/24576-conversion-des-animations-de-diablo-2-a-8.html#post292832
http://www.baldursgateworld.fr/lacouronne/menace-sur-le-royaume-de-diamant-eternel/24576-conversion-des-animations-de-diablo-2-a-7.html#post292735
http://www.baldursgateworld.fr/lacouronne/menace-sur-le-royaume-de-diamant-eternel/24576-conversion-des-animations-de-diablo-2-a-7.html#post291316
http://forum.baldursgate.com/discussion/485/to-the-modders/p2
The BAM Palette currently stores BGRA, and A is 00.
We could just start using the alpha values in the palette, and if it's 00 then flip it to 0xff. We already have 00ff00 for transparent, so you would still use that as pure transparent.
BG2 would ignore the alpha values as it always has, and BGEE would start using them as long as they are not set to 0. We wouldn't need to change the file format at all, and it would give people the ability to make a bit nicer images.
Thoughts?
-Trent
-Trent
It would be nice to allow all of this stuff to be customizable.
-Galactygon
or just pull in a series on 32-bit.png images into a tool and create a .BAM V2.0.
I think the current planned extension will be a good place to start. Good thing is now we're getting some exposure to the code, so we can do more work in this area in the future. Thanks to @erephine and @salomonkane for a point in the right direction.
-Trent
@TrentOster, @ScottBrooks, thank you to you for your listening to the community,
@PaulSiramy thank you for your expertise, -Yes, please, it would be great if you could make available an BAM Editor, (we never have enough of this kind of artifact ^^) . -This seems very interesting and promising ...
Apparently all animations in IE are done in only 1 layer. Big animations (like the big red dragon) are split into several BAM parts, but it's complex, and all part are draw near each others, not one on top of the others. This looks like a limitation in the IE engine.
Beeing able to create animations in layers will open a marvelous door to animations variants (like the player weapon/armor system in Diablo II), and better animations quality (since each layer would have its own graphical effect). So, how diffult would it be to code something to bypass this limitation ?