<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Little Fighter Empire - Forums - Tutorials & Resources]]></title>
		<link>https://lf-empire.de/forum/</link>
		<description><![CDATA[Little Fighter Empire - Forums - https://lf-empire.de/forum]]></description>
		<pubDate>Sat, 14 Nov 2026 04:34:41 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[LF2 Sprite Sheet Generator [based on Gad's method]]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=10882</link>
			<pubDate>Sun, 16 Sep 2018 20:39:18 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=4900">NightmareX1337</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=10882</guid>
			<description><![CDATA[I created a standalone program that accomplishes what <a href="https://www.lf-empire.de/forum/showthread.php?tid=8862" target="_blank" rel="noopener" class="mycode_url">Gad's Adobe Flash template</a> does.<br />
<br />
There is currently no predefined template which means you need to create or load one you made before. The core functionality is there, and it works BUT this is not magic and there are tons of features that need to be implemented. Bugs are to be expected.<br />
<br />
<span style="font-size: xx-large;" class="mycode_size"><span style="font-family: 'Showcard Gothic';" class="mycode_font"><div style="text-align: center;" class="mycode_align"><a href="https://github.com/ahmetsait/LF2-Sprite-Sheet-Generator/releases" target="_blank" rel="noopener" class="mycode_url">Downloads</a></div></span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">How to Use</span><br />
Load sprites you want to use by clicking [+] button, or by dragging files to the list box. These are basically reusable parts (objects) of your character. You can add objects by double clicking on them in the list box or [Add Object] button. Then edit objects with right mouse button after selecting them with left mouse. Use middle mouse button to scroll.<br />
<br />
Here are some general tips for usage:<ul class="mycode_list"><li>All object selection is done with left mouse button<br />
</li>
<li>All object editing/transforming is done with right mouse button<br />
</li>
<li>Use middle mouse button to scroll and zoom in/out<br />
</li>
<li>Move, Rotate and Scale tools have G, R, S shortcuts respectively<br />
</li>
<li>Use [Ctrl + Left mouse button] to select objects additively<br />
</li>
<li>Use [Shift + Left mouse button] to select objects in an area<br />
</li>
<li>Ctrl and Shift can be used together to select an area additively<br />
<br />
</li>
<li>It's highly recommended to use sprites with transparent background (alpha channel)<br />
</li>
<li>Program uses prefiltered bicubic image scaling algorithm so you can use stupidly high resolution sprites<br />
</li>
<li>In order to reload an existing template and render it, you need to also load sprites with the same name, otherwise they will be shown as a (broken image) sprite.<br />
</li>
</ul>
<br />
<div class="tborder spoiler"><div class="spoiler_header">Screenshot <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i51.photobucket.com/albums/f358/NightmareX1337/2018-09-16%2020_39_08-LF2%20Sprite%20Sheet%20Generator_zpsonran3ym.png" loading="lazy"  alt="[Image: 2018-09-16%2020_39_08-LF2%20Sprite%20She...ran3ym.png]" class="mycode_img" /></div></div>
<br />
<span style="font-weight: bold;" class="mycode_b">Planned Features</span><ul class="mycode_list"><li>File watcher - automatic reimporting of image files when changed<br />
</li>
<li>Grid clipping - grid cells should not interfere with each other<br />
</li>
<li>Easier editing - current editing seems unintuitive<br />
</li>
<li>Shortcuts - to make life easier for us all<br />
</li>
<li>Undo &amp; Redo - maybe if I'm motivated enough, convince me<br />
</li>
<li>Prompt while exiting - currently it doesn't ask if you want to save<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[I created a standalone program that accomplishes what <a href="https://www.lf-empire.de/forum/showthread.php?tid=8862" target="_blank" rel="noopener" class="mycode_url">Gad's Adobe Flash template</a> does.<br />
<br />
There is currently no predefined template which means you need to create or load one you made before. The core functionality is there, and it works BUT this is not magic and there are tons of features that need to be implemented. Bugs are to be expected.<br />
<br />
<span style="font-size: xx-large;" class="mycode_size"><span style="font-family: 'Showcard Gothic';" class="mycode_font"><div style="text-align: center;" class="mycode_align"><a href="https://github.com/ahmetsait/LF2-Sprite-Sheet-Generator/releases" target="_blank" rel="noopener" class="mycode_url">Downloads</a></div></span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">How to Use</span><br />
Load sprites you want to use by clicking [+] button, or by dragging files to the list box. These are basically reusable parts (objects) of your character. You can add objects by double clicking on them in the list box or [Add Object] button. Then edit objects with right mouse button after selecting them with left mouse. Use middle mouse button to scroll.<br />
<br />
Here are some general tips for usage:<ul class="mycode_list"><li>All object selection is done with left mouse button<br />
</li>
<li>All object editing/transforming is done with right mouse button<br />
</li>
<li>Use middle mouse button to scroll and zoom in/out<br />
</li>
<li>Move, Rotate and Scale tools have G, R, S shortcuts respectively<br />
</li>
<li>Use [Ctrl + Left mouse button] to select objects additively<br />
</li>
<li>Use [Shift + Left mouse button] to select objects in an area<br />
</li>
<li>Ctrl and Shift can be used together to select an area additively<br />
<br />
</li>
<li>It's highly recommended to use sprites with transparent background (alpha channel)<br />
</li>
<li>Program uses prefiltered bicubic image scaling algorithm so you can use stupidly high resolution sprites<br />
</li>
<li>In order to reload an existing template and render it, you need to also load sprites with the same name, otherwise they will be shown as a (broken image) sprite.<br />
</li>
</ul>
<br />
<div class="tborder spoiler"><div class="spoiler_header">Screenshot <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i51.photobucket.com/albums/f358/NightmareX1337/2018-09-16%2020_39_08-LF2%20Sprite%20Sheet%20Generator_zpsonran3ym.png" loading="lazy"  alt="[Image: 2018-09-16%2020_39_08-LF2%20Sprite%20She...ran3ym.png]" class="mycode_img" /></div></div>
<br />
<span style="font-weight: bold;" class="mycode_b">Planned Features</span><ul class="mycode_list"><li>File watcher - automatic reimporting of image files when changed<br />
</li>
<li>Grid clipping - grid cells should not interfere with each other<br />
</li>
<li>Easier editing - current editing seems unintuitive<br />
</li>
<li>Shortcuts - to make life easier for us all<br />
</li>
<li>Undo &amp; Redo - maybe if I'm motivated enough, convince me<br />
</li>
<li>Prompt while exiting - currently it doesn't ask if you want to save<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sprite Sheet Generator]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=10783</link>
			<pubDate>Sun, 10 Dec 2017 11:04:12 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=6107">RusFeniks</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=10783</guid>
			<description><![CDATA[I wrote myself a program for c #, its purpose is quite simple: take a lot of cut sprites and merge into a grid.<br />
<br />
Many store their sprites in the form of frames cut in separate images. The same result is obtained if we take some animation in the gif format and using Photoshop to save each layer as a separate frame.<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Spoiler <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="https://i.imgur.com/6HNfCue.png" loading="lazy"  alt="[Image: 6HNfCue.png]" class="mycode_img" /></div></div>
It is possible to arrange such beauty manually, of course, but it is difficult. Because laziness is my middle name, I chose a different path.<br />
<br />
<img src="https://i.imgur.com/1JgXJJu.png" loading="lazy"  alt="[Image: 1JgXJJu.png]" class="mycode_img" /><br />
<br />
I run the program, I click "Select Images", selecting all the files that I need to connect, I specify the number of lines to divide the sprite sheet (rows, not columns!)<br />
<br />
<img src="https://i.imgur.com/LgTVr5I.png" loading="lazy"  alt="[Image: LgTVr5I.png]" class="mycode_img" /><br />
<br />
I click on "Create Sprite Sheet", choosing where and in what format to save the finished sheet. The program works with png, bmp and gif formats.<br />
<br />
<img src="https://i.imgur.com/qWfo8z0.png" loading="lazy"  alt="[Image: qWfo8z0.png]" class="mycode_img" /><br />
<br />
Voila, the sprite sheet is ready!<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Spoiler <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="https://i.imgur.com/JJqzIsj.png" loading="lazy"  alt="[Image: JJqzIsj.png]" class="mycode_img" /></div></div>
Simple enough ...<br />
Next, in Photoshop, adjust the dimensions, repaint it, etc.<br />
The sheet is created according to the principle of Sheet_Creator. Those. when you specify it in the bmp block of the character, the dimensions of each cell do 1px less than the original. So if each my cell has the sizes 1000х1000, I write 999х999.<br />
<br />
Download: <!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://lf-empire.de/forum/images/attachtypes/rar.gif" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=3586" target="_blank" title="">SpriteSheetGenerator.rar</a> (Size: 24.05 KB / Downloads: 407)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="color: #999;" class="mycode_color">I'm not sure if the section on the forum is correct. In advance I apologize, in case of an error.</span>]]></description>
			<content:encoded><![CDATA[I wrote myself a program for c #, its purpose is quite simple: take a lot of cut sprites and merge into a grid.<br />
<br />
Many store their sprites in the form of frames cut in separate images. The same result is obtained if we take some animation in the gif format and using Photoshop to save each layer as a separate frame.<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Spoiler <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="https://i.imgur.com/6HNfCue.png" loading="lazy"  alt="[Image: 6HNfCue.png]" class="mycode_img" /></div></div>
It is possible to arrange such beauty manually, of course, but it is difficult. Because laziness is my middle name, I chose a different path.<br />
<br />
<img src="https://i.imgur.com/1JgXJJu.png" loading="lazy"  alt="[Image: 1JgXJJu.png]" class="mycode_img" /><br />
<br />
I run the program, I click "Select Images", selecting all the files that I need to connect, I specify the number of lines to divide the sprite sheet (rows, not columns!)<br />
<br />
<img src="https://i.imgur.com/LgTVr5I.png" loading="lazy"  alt="[Image: LgTVr5I.png]" class="mycode_img" /><br />
<br />
I click on "Create Sprite Sheet", choosing where and in what format to save the finished sheet. The program works with png, bmp and gif formats.<br />
<br />
<img src="https://i.imgur.com/qWfo8z0.png" loading="lazy"  alt="[Image: qWfo8z0.png]" class="mycode_img" /><br />
<br />
Voila, the sprite sheet is ready!<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Spoiler <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="https://i.imgur.com/JJqzIsj.png" loading="lazy"  alt="[Image: JJqzIsj.png]" class="mycode_img" /></div></div>
Simple enough ...<br />
Next, in Photoshop, adjust the dimensions, repaint it, etc.<br />
The sheet is created according to the principle of Sheet_Creator. Those. when you specify it in the bmp block of the character, the dimensions of each cell do 1px less than the original. So if each my cell has the sizes 1000х1000, I write 999х999.<br />
<br />
Download: <!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://lf-empire.de/forum/images/attachtypes/rar.gif" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=3586" target="_blank" title="">SpriteSheetGenerator.rar</a> (Size: 24.05 KB / Downloads: 407)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="color: #999;" class="mycode_color">I'm not sure if the section on the forum is correct. In advance I apologize, in case of an error.</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[tutorial]3D-Looking Sprites with Normal Maps]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=10316</link>
			<pubDate>Fri, 29 Apr 2016 20:16:08 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=3949">A-Man</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=10316</guid>
			<description><![CDATA[First of all, I'm not claiming I'm any good at this (to say that the viceversa applies would be more appropriate), but I still thought some of you might have not heard of it, or perhaps did but for another application that doesn't include sprites.<br />
<br />
Before I start, let me introduce you to someone some of you may find familiar:<br />
<img src="http://i.imgur.com/z8wkBY4.png" loading="lazy"  alt="[Image: z8wkBY4.png]" class="mycode_img" /><br />
It's none other than my snowman monster sprite for LFE's latest spriting contest. That received only a couple of votes. The shading is bad, and the sprite is generally bad, I get it. But the shading is bad. Shading requires practice to develop that sense of intuition to get it right, and I still haven't done enough to be able to do that. A couple of days ago though, I was working on some other project that has to do with something called <a href="https://en.wikipedia.org/wiki/Normal_mapping" target="_blank" rel="noopener" class="mycode_url">Normal Mapping</a>. The idea of normal mapping is to give detail to low-polygon 3D models by providing the computer with fake information of bumps on a surface of a model which don't really exist. By doing this, we fool the computer and alter lighting calculation to actually make it seem like there are extra details. That surface then gets lit as if there really are more bumps on it:<br />
<img src="http://www.independentdeveloper.com/images/normalmapper.jpg" loading="lazy"  alt="[Image: normalmapper.jpg]" class="mycode_img" /><br />
<br />
So it occurred to me that maybe this can be done for sprites. I googled "sprite normal maps", and it turned out that I'm not the first to come up with the idea (and it was really foolish of me to think I was the first). But anyway, I went on and tried making a normal map for the snowman monster (on the left), and an unshaded version of the snowman (called the "diffuse texture", on the right).<br />
<img src="http://www.a-superlab.com/wp-content/uploads/2016/04/snowman_normal.png" loading="lazy"  alt="[Image: snowman_normal.png]" class="mycode_img" /><img src="http://www.a-superlab.com/wp-content/uploads/2016/04/snowman.png" loading="lazy"  alt="[Image: snowman.png]" class="mycode_img" /><br />
<br />
And here is the sprite-normalmap mix working under different lighting conditions:<br />
<img src="http://i.imgur.com/2CGRkbC.png" loading="lazy"  alt="[Image: 2CGRkbC.png]" class="mycode_img" /><img src="http://i.imgur.com/aqv3mId.png" loading="lazy"  alt="[Image: aqv3mId.png]" class="mycode_img" /><img src="http://i.imgur.com/Ie4AMo2.png" loading="lazy"  alt="[Image: Ie4AMo2.png]" class="mycode_img" /><img src="http://i.imgur.com/i4B0466.png" loading="lazy"  alt="[Image: i4B0466.png]" class="mycode_img" /><br />
<br />
<a href="http://www.a-superlab.com/a_normal_map_web_viewer/" target="_blank" rel="noopener" class="mycode_url"><span style="text-decoration: underline;" class="mycode_u">Click here to try it out interactively</span></a><br />
<br />
So yes. I'm going to skip the "how it works" (to give an idea, every pixel's RGB correspond to an XYZ vector describing the direction of the normal of the surface at that spot) and jump straight to explain how you make a normal map for a sprite. I don't think there's one particular way of making those, but I'm going to explain the method I used to made the snowman's. So for those who don't know what normals are, you hopefully know what tangents are; lines which lie flat on a surface:<br />
<img src="http://i.imgur.com/Xj7TN9p.png" loading="lazy"  alt="[Image: Xj7TN9p.png]" class="mycode_img" /><br />
There are other imaginary lines which stand straight (perpendicular) on them, those are the normals we're talking about (the blue lines):<br />
<img src="http://i.imgur.com/O2NaLUU.png" loading="lazy"  alt="[Image: O2NaLUU.png]" class="mycode_img" /><br />
<br />
As you can see, normals are a good way to describe surfaces. Take for example this set of normals:<br />
<img src="http://i.imgur.com/sFhvXEK.png" loading="lazy"  alt="[Image: sFhvXEK.png]" class="mycode_img" /><br />
One can immediately tell that it's describing a bump on a flat surface:<br />
<img src="http://i.imgur.com/62wXdIs.png" loading="lazy"  alt="[Image: 62wXdIs.png]" class="mycode_img" /><br />
<br />
That's exactly what normal maps are, except, instead of an array and a direction, we have a color which corresponds to a direction. Calculating the color for every pixel on a sprite would be tedious, so what I did was get a reference; a normal map of a sphere:<br />
<img src="https://www.filterforge.com/filters/6487-normal.jpg" loading="lazy"  alt="[Image: 6487-normal.jpg]" class="mycode_img" /><br />
Now the advantage of using a sphere over any other shape is that the surface of a sphere has normals going in every direction and distributed in a familiar way (in a sinusoidal way, for the pedantic). <br />
<br />
What you do then is do your best to visualise the ups and downs of the sprites in your head, and think of what region on the sphere have a normal that's identical to the region you're working on. Then you get your color picker or stamp copying tool or whatever and get to coloring! <br />
<img src="http://i.imgur.com/dRmjHcA.png" loading="lazy"  alt="[Image: dRmjHcA.png]" class="mycode_img" /><br />
One thing you can do to make things a bit easier is to resize the sphere (for when you're working on a spherical-like/curved part, and want to use the copying tool). But DON"T scale it out of ratio, or the values become wrong.<br />
<br />
It took me around 1.5x the time I used for shading the sprite last time, and I'm liking it. Of course, this isn't the only way to do it. I heard there are ways using a tool called "z-brush" available on Photoshop, which supposedly makes things easier. Some even use 3D modeling software which allow one to make them in a very friendly way.<br />
<br />
I forgot to mention that this might not be useful for use with LF2, as the game can't do any lighting or anything to sprites. However, one can take snapshots of the sprites like I did above and use them directly. Also, in case you're working on some other project, almost every popular game engine out there support normal maps (A-Engine does too, btw :P). So it might come handy sometime in the future. <br />
<br />
If you have any questions, comments, tips or corrections, please don't hesitate to post. I'd also love to see any attempts you guys make!]]></description>
			<content:encoded><![CDATA[First of all, I'm not claiming I'm any good at this (to say that the viceversa applies would be more appropriate), but I still thought some of you might have not heard of it, or perhaps did but for another application that doesn't include sprites.<br />
<br />
Before I start, let me introduce you to someone some of you may find familiar:<br />
<img src="http://i.imgur.com/z8wkBY4.png" loading="lazy"  alt="[Image: z8wkBY4.png]" class="mycode_img" /><br />
It's none other than my snowman monster sprite for LFE's latest spriting contest. That received only a couple of votes. The shading is bad, and the sprite is generally bad, I get it. But the shading is bad. Shading requires practice to develop that sense of intuition to get it right, and I still haven't done enough to be able to do that. A couple of days ago though, I was working on some other project that has to do with something called <a href="https://en.wikipedia.org/wiki/Normal_mapping" target="_blank" rel="noopener" class="mycode_url">Normal Mapping</a>. The idea of normal mapping is to give detail to low-polygon 3D models by providing the computer with fake information of bumps on a surface of a model which don't really exist. By doing this, we fool the computer and alter lighting calculation to actually make it seem like there are extra details. That surface then gets lit as if there really are more bumps on it:<br />
<img src="http://www.independentdeveloper.com/images/normalmapper.jpg" loading="lazy"  alt="[Image: normalmapper.jpg]" class="mycode_img" /><br />
<br />
So it occurred to me that maybe this can be done for sprites. I googled "sprite normal maps", and it turned out that I'm not the first to come up with the idea (and it was really foolish of me to think I was the first). But anyway, I went on and tried making a normal map for the snowman monster (on the left), and an unshaded version of the snowman (called the "diffuse texture", on the right).<br />
<img src="http://www.a-superlab.com/wp-content/uploads/2016/04/snowman_normal.png" loading="lazy"  alt="[Image: snowman_normal.png]" class="mycode_img" /><img src="http://www.a-superlab.com/wp-content/uploads/2016/04/snowman.png" loading="lazy"  alt="[Image: snowman.png]" class="mycode_img" /><br />
<br />
And here is the sprite-normalmap mix working under different lighting conditions:<br />
<img src="http://i.imgur.com/2CGRkbC.png" loading="lazy"  alt="[Image: 2CGRkbC.png]" class="mycode_img" /><img src="http://i.imgur.com/aqv3mId.png" loading="lazy"  alt="[Image: aqv3mId.png]" class="mycode_img" /><img src="http://i.imgur.com/Ie4AMo2.png" loading="lazy"  alt="[Image: Ie4AMo2.png]" class="mycode_img" /><img src="http://i.imgur.com/i4B0466.png" loading="lazy"  alt="[Image: i4B0466.png]" class="mycode_img" /><br />
<br />
<a href="http://www.a-superlab.com/a_normal_map_web_viewer/" target="_blank" rel="noopener" class="mycode_url"><span style="text-decoration: underline;" class="mycode_u">Click here to try it out interactively</span></a><br />
<br />
So yes. I'm going to skip the "how it works" (to give an idea, every pixel's RGB correspond to an XYZ vector describing the direction of the normal of the surface at that spot) and jump straight to explain how you make a normal map for a sprite. I don't think there's one particular way of making those, but I'm going to explain the method I used to made the snowman's. So for those who don't know what normals are, you hopefully know what tangents are; lines which lie flat on a surface:<br />
<img src="http://i.imgur.com/Xj7TN9p.png" loading="lazy"  alt="[Image: Xj7TN9p.png]" class="mycode_img" /><br />
There are other imaginary lines which stand straight (perpendicular) on them, those are the normals we're talking about (the blue lines):<br />
<img src="http://i.imgur.com/O2NaLUU.png" loading="lazy"  alt="[Image: O2NaLUU.png]" class="mycode_img" /><br />
<br />
As you can see, normals are a good way to describe surfaces. Take for example this set of normals:<br />
<img src="http://i.imgur.com/sFhvXEK.png" loading="lazy"  alt="[Image: sFhvXEK.png]" class="mycode_img" /><br />
One can immediately tell that it's describing a bump on a flat surface:<br />
<img src="http://i.imgur.com/62wXdIs.png" loading="lazy"  alt="[Image: 62wXdIs.png]" class="mycode_img" /><br />
<br />
That's exactly what normal maps are, except, instead of an array and a direction, we have a color which corresponds to a direction. Calculating the color for every pixel on a sprite would be tedious, so what I did was get a reference; a normal map of a sphere:<br />
<img src="https://www.filterforge.com/filters/6487-normal.jpg" loading="lazy"  alt="[Image: 6487-normal.jpg]" class="mycode_img" /><br />
Now the advantage of using a sphere over any other shape is that the surface of a sphere has normals going in every direction and distributed in a familiar way (in a sinusoidal way, for the pedantic). <br />
<br />
What you do then is do your best to visualise the ups and downs of the sprites in your head, and think of what region on the sphere have a normal that's identical to the region you're working on. Then you get your color picker or stamp copying tool or whatever and get to coloring! <br />
<img src="http://i.imgur.com/dRmjHcA.png" loading="lazy"  alt="[Image: dRmjHcA.png]" class="mycode_img" /><br />
One thing you can do to make things a bit easier is to resize the sphere (for when you're working on a spherical-like/curved part, and want to use the copying tool). But DON"T scale it out of ratio, or the values become wrong.<br />
<br />
It took me around 1.5x the time I used for shading the sprite last time, and I'm liking it. Of course, this isn't the only way to do it. I heard there are ways using a tool called "z-brush" available on Photoshop, which supposedly makes things easier. Some even use 3D modeling software which allow one to make them in a very friendly way.<br />
<br />
I forgot to mention that this might not be useful for use with LF2, as the game can't do any lighting or anything to sprites. However, one can take snapshots of the sprites like I did above and use them directly. Also, in case you're working on some other project, almost every popular game engine out there support normal maps (A-Engine does too, btw :P). So it might come handy sometime in the future. <br />
<br />
If you have any questions, comments, tips or corrections, please don't hesitate to post. I'd also love to see any attempts you guys make!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How I choose colors (SPRITES)]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=10115</link>
			<pubDate>Sun, 01 Nov 2015 00:02:39 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=4583">Monolanier</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=10115</guid>
			<description><![CDATA[Marko asked "Did you take those colors from some reference or you choosed them yourself? If you did choosed them yourself, do you have some tips?"<br />
<a href="http://www.lf-empire.de/forum/showthread.php?tid=8907&amp;pid=198372#pid198372" target="_blank" rel="noopener" class="mycode_url">http://www.lf-empire.de/forum/showthread...#pid198372</a><br />
<br />
Here is the answer.<br />
<br />
Sometimes I create my own or sometimes I borrow some.<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">CHOOSING MY OWN COLORS</span></span><br />
Every artist got it's own style and with style comes everything else, line width, color saturation and their combinations, object they prefer to show on the sheet of paper. And now we are talking about colors.<br />
Talking about sprites, I actualy prefer to make them look alive. By alive I mean make them warm and not cold, because if cold means dead/blue/pale(?) and warm means alive/red...check someone's body. But that does not mean that dark side will be blue and bright side will be red. It means that we will be going towards one or another but not going away from our base color. I am not the only one who does something like that too.</div>
<div style="text-align: center;" class="mycode_align">Alright.<br />
This is on what I will be working. <br />
<img src="http://i.imgur.com/kUfFiPv.png" loading="lazy"  alt="[Image: kUfFiPv.png]" class="mycode_img" /><br />
It's colored. Light and dark colors but wait. Is that me or something about this one looks dull?<br />
Indeed. It bit lacks of warm and cold colors variation. Take a note. If you are facing the sun. Some of your body areas gets brighter and warmer because of the "sun beams" but the part of your body which sun is cooler. So in this case it's the same.</div>
<br />
<div style="text-align: center;" class="mycode_align">Now let's look at "color-fixed" sprite I made.<br />
<img src="http://i.imgur.com/xKxDDii.png" loading="lazy"  alt="[Image: xKxDDii.png]" class="mycode_img" /><br />
Now, what I did here. I added some color variety. Instead of red dark, base, light colors I added red=dark, orange=base, yellow=light but ofcourse I went from orange to a bit of red and from orange to a bit of yellow to create such effect.</div>
<br />
Here is the example of it.<br />
Base color.<br />
<img src="http://i.imgur.com/FdjVrKW.png" loading="lazy"  alt="[Image: FdjVrKW.png]" class="mycode_img" /><br />
As you can see it only matters that if it would now be plain black or white and if you want to add some shades.<br />
<br />
Light color. Yellowish<br />
<img src="http://i.imgur.com/vim2fiZ.png" loading="lazy"  alt="[Image: vim2fiZ.png]" class="mycode_img" /><br />
As you seen in previous image. Base color on the hue scale is 20. And light color is 30 on the hue scale, which is yellowish. This adds some warm feeling, am I right? And also some extra contrast. For saturation all I did was decreasing it by 20 (depends on you). By decreasing saturation you make it loose it's full color by making it go pale. I like doing that because for light colors decreasing saturation makes them look brighter. Don't decrease saturation too much or don't decrease it when your base color is dark or not light because that will make your color go grey instead of bright. As for value, I also increased it because I want my color to stay yellow while making it less saturated.<br />
<br />
Dark color. Redish<br />
<img src="http://i.imgur.com/UHJVwI7.png" loading="lazy"  alt="[Image: UHJVwI7.png]" class="mycode_img" /><br />
Light colors is 30 on hue scale and base color is 20. Since it goes darker, we should go for a cold color or atsleast towards cold colors but not too much. So 10 will do the trick. It's red but not too red, more like orange red. Also increased saturation makes the color look sharper and darker. Like when you go in the darkness, you try being sharp. Value was decreased a bit because saturation did the trick and also red is darker than yellow.<br />
In this way I finished the rest of the sprite. Metalic shading is similar but sometimes can go more towards warm or cold color but that depends on you.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://i.imgur.com/fxcmsfV.png" loading="lazy"  alt="[Image: fxcmsfV.png]" class="mycode_img" /></div>
<br />
So that's it. Any questions? <img src="https://lf-empire.de/forum/images/smilies/smile.gif" alt=":)" title=":)" class="smilie smilie_19" /><br />
If I remember something, I will update this tutorial.<br />
<br />
//Also, increasing and decreasing saturation might help. In real life you could say that shadows adds some grey to the color but while making sprites, I want my sprites to be beautiful, colorful and be nice to your eyes. No neon high saturated colors unless design requires it.]]></description>
			<content:encoded><![CDATA[Marko asked "Did you take those colors from some reference or you choosed them yourself? If you did choosed them yourself, do you have some tips?"<br />
<a href="http://www.lf-empire.de/forum/showthread.php?tid=8907&amp;pid=198372#pid198372" target="_blank" rel="noopener" class="mycode_url">http://www.lf-empire.de/forum/showthread...#pid198372</a><br />
<br />
Here is the answer.<br />
<br />
Sometimes I create my own or sometimes I borrow some.<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">CHOOSING MY OWN COLORS</span></span><br />
Every artist got it's own style and with style comes everything else, line width, color saturation and their combinations, object they prefer to show on the sheet of paper. And now we are talking about colors.<br />
Talking about sprites, I actualy prefer to make them look alive. By alive I mean make them warm and not cold, because if cold means dead/blue/pale(?) and warm means alive/red...check someone's body. But that does not mean that dark side will be blue and bright side will be red. It means that we will be going towards one or another but not going away from our base color. I am not the only one who does something like that too.</div>
<div style="text-align: center;" class="mycode_align">Alright.<br />
This is on what I will be working. <br />
<img src="http://i.imgur.com/kUfFiPv.png" loading="lazy"  alt="[Image: kUfFiPv.png]" class="mycode_img" /><br />
It's colored. Light and dark colors but wait. Is that me or something about this one looks dull?<br />
Indeed. It bit lacks of warm and cold colors variation. Take a note. If you are facing the sun. Some of your body areas gets brighter and warmer because of the "sun beams" but the part of your body which sun is cooler. So in this case it's the same.</div>
<br />
<div style="text-align: center;" class="mycode_align">Now let's look at "color-fixed" sprite I made.<br />
<img src="http://i.imgur.com/xKxDDii.png" loading="lazy"  alt="[Image: xKxDDii.png]" class="mycode_img" /><br />
Now, what I did here. I added some color variety. Instead of red dark, base, light colors I added red=dark, orange=base, yellow=light but ofcourse I went from orange to a bit of red and from orange to a bit of yellow to create such effect.</div>
<br />
Here is the example of it.<br />
Base color.<br />
<img src="http://i.imgur.com/FdjVrKW.png" loading="lazy"  alt="[Image: FdjVrKW.png]" class="mycode_img" /><br />
As you can see it only matters that if it would now be plain black or white and if you want to add some shades.<br />
<br />
Light color. Yellowish<br />
<img src="http://i.imgur.com/vim2fiZ.png" loading="lazy"  alt="[Image: vim2fiZ.png]" class="mycode_img" /><br />
As you seen in previous image. Base color on the hue scale is 20. And light color is 30 on the hue scale, which is yellowish. This adds some warm feeling, am I right? And also some extra contrast. For saturation all I did was decreasing it by 20 (depends on you). By decreasing saturation you make it loose it's full color by making it go pale. I like doing that because for light colors decreasing saturation makes them look brighter. Don't decrease saturation too much or don't decrease it when your base color is dark or not light because that will make your color go grey instead of bright. As for value, I also increased it because I want my color to stay yellow while making it less saturated.<br />
<br />
Dark color. Redish<br />
<img src="http://i.imgur.com/UHJVwI7.png" loading="lazy"  alt="[Image: UHJVwI7.png]" class="mycode_img" /><br />
Light colors is 30 on hue scale and base color is 20. Since it goes darker, we should go for a cold color or atsleast towards cold colors but not too much. So 10 will do the trick. It's red but not too red, more like orange red. Also increased saturation makes the color look sharper and darker. Like when you go in the darkness, you try being sharp. Value was decreased a bit because saturation did the trick and also red is darker than yellow.<br />
In this way I finished the rest of the sprite. Metalic shading is similar but sometimes can go more towards warm or cold color but that depends on you.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://i.imgur.com/fxcmsfV.png" loading="lazy"  alt="[Image: fxcmsfV.png]" class="mycode_img" /></div>
<br />
So that's it. Any questions? <img src="https://lf-empire.de/forum/images/smilies/smile.gif" alt=":)" title=":)" class="smilie smilie_19" /><br />
If I remember something, I will update this tutorial.<br />
<br />
//Also, increasing and decreasing saturation might help. In real life you could say that shadows adds some grey to the color but while making sprites, I want my sprites to be beautiful, colorful and be nice to your eyes. No neon high saturated colors unless design requires it.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[tutorial] Hair spriting - photoshop]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=10049</link>
			<pubDate>Wed, 19 Aug 2015 23:13:13 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=5612">Hate</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=10049</guid>
			<description><![CDATA[This is the most easy and simple way to sprite hair ... Just follow my lead :<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #33cc33;" class="mycode_color">1-</span></span> Chose the brush tool and make sure that <span style="color: #33cc33;" class="mycode_color">brush:1 ; mode:normal ; opacity:100% </span><br />
<img src="http://i.imgsafe.org/eff3e1e.png" loading="lazy"  alt="[Image: eff3e1e.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #cc6633;" class="mycode_color">2-</span></span> Draw the hair outline you want.<br />
<img src="http://i.imgsafe.org/df79324.png" loading="lazy"  alt="[Image: df79324.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #6633ff;" class="mycode_color">3-</span></span> Fill that empty space (maybe using bigger brush would help more)<br />
<img src="http://i.imgsafe.org/1d2b842.png" loading="lazy"  alt="[Image: 1d2b842.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #3333cc;" class="mycode_color">4-</span></span> Then chose the dodge tool and make sure that <span style="color: #33cc33;" class="mycode_color">brush:1</span> ; <span style="color: #33cc33;" class="mycode_color">range:midtones ; exposue:50%</span><br />
and do this :<br />
<img src="http://i.imgsafe.org/ab93ad3.png" loading="lazy"  alt="[Image: ab93ad3.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[This is the most easy and simple way to sprite hair ... Just follow my lead :<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #33cc33;" class="mycode_color">1-</span></span> Chose the brush tool and make sure that <span style="color: #33cc33;" class="mycode_color">brush:1 ; mode:normal ; opacity:100% </span><br />
<img src="http://i.imgsafe.org/eff3e1e.png" loading="lazy"  alt="[Image: eff3e1e.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #cc6633;" class="mycode_color">2-</span></span> Draw the hair outline you want.<br />
<img src="http://i.imgsafe.org/df79324.png" loading="lazy"  alt="[Image: df79324.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #6633ff;" class="mycode_color">3-</span></span> Fill that empty space (maybe using bigger brush would help more)<br />
<img src="http://i.imgsafe.org/1d2b842.png" loading="lazy"  alt="[Image: 1d2b842.png]" class="mycode_img" /><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #3333cc;" class="mycode_color">4-</span></span> Then chose the dodge tool and make sure that <span style="color: #33cc33;" class="mycode_color">brush:1</span> ; <span style="color: #33cc33;" class="mycode_color">range:midtones ; exposue:50%</span><br />
and do this :<br />
<img src="http://i.imgsafe.org/ab93ad3.png" loading="lazy"  alt="[Image: ab93ad3.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Hair!]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9905</link>
			<pubDate>Thu, 21 May 2015 09:36:30 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=5320">Happy Clown</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9905</guid>
			<description><![CDATA[<img src="http://oi58.tinypic.com/538r35.jpg" loading="lazy"  alt="[Image: 538r35.jpg]" class="mycode_img" /> simple and good. Found on Deviantart.]]></description>
			<content:encoded><![CDATA[<img src="http://oi58.tinypic.com/538r35.jpg" loading="lazy"  alt="[Image: 538r35.jpg]" class="mycode_img" /> simple and good. Found on Deviantart.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Flash Workflow]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9758</link>
			<pubDate>Sun, 29 Mar 2015 18:20:23 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=2745">Jahvansi</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9758</guid>
			<description><![CDATA[<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">LF2 Flash Workflow</span></span><br />
<br />
I made this video for Ariyan.<br />
He asked me how to use Flash and Gad's Template for creating sprite-sheets.<br />
It shows different methods on how to draw and export the created sprites.<br />
Please dont hate on me that it's not detailed or anything. It's just ment to showcase the workflow of creating sprites in Flash.<br />
I'm just making this public as I think it might help some newcomers who have no clue on where to start.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What you need?</span><br />
<br />
- Flash<br />
- Gads template: <a href="http://workupload.com/file/9wjdN7JK" target="_blank" rel="noopener" class="mycode_url">http://workupload.com/file/9wjdN7JK</a><br />
- another graphic programm<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/DyBslIaki3w" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
If u repeat this workflow with every part u'll have a full sheet of the basic actions for ur character.<br />
<br />
<br />
I peronally use PS to draw all the parts and I export using the PNG-Sequence option.]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">LF2 Flash Workflow</span></span><br />
<br />
I made this video for Ariyan.<br />
He asked me how to use Flash and Gad's Template for creating sprite-sheets.<br />
It shows different methods on how to draw and export the created sprites.<br />
Please dont hate on me that it's not detailed or anything. It's just ment to showcase the workflow of creating sprites in Flash.<br />
I'm just making this public as I think it might help some newcomers who have no clue on where to start.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What you need?</span><br />
<br />
- Flash<br />
- Gads template: <a href="http://workupload.com/file/9wjdN7JK" target="_blank" rel="noopener" class="mycode_url">http://workupload.com/file/9wjdN7JK</a><br />
- another graphic programm<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/DyBslIaki3w" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
If u repeat this workflow with every part u'll have a full sheet of the basic actions for ur character.<br />
<br />
<br />
I peronally use PS to draw all the parts and I export using the PNG-Sequence option.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Face pic painting processes]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9570</link>
			<pubDate>Sat, 24 Jan 2015 11:02:16 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=2549">Ariel</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9570</guid>
			<description><![CDATA[here is my sped up processes on making face pic for chars.<br />
outcome: <br />
<img src="http://i.imgur.com/gjDaN3j.png" loading="lazy"  alt="[Image: gjDaN3j.png]" class="mycode_img" />Bla Bla's char, <a href="http://www.lf-empire.de/forum/showthread.php?tid=9273" target="_blank" rel="noopener" class="mycode_url">Newish</a>.<br />
if u want u can use it, i dont realy mind. <br />
i did this one for fun and for the video recording experience.<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/r4Okjq1jYE4" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
now i can say, that i might do some speed painting in the near future. ^_^]]></description>
			<content:encoded><![CDATA[here is my sped up processes on making face pic for chars.<br />
outcome: <br />
<img src="http://i.imgur.com/gjDaN3j.png" loading="lazy"  alt="[Image: gjDaN3j.png]" class="mycode_img" />Bla Bla's char, <a href="http://www.lf-empire.de/forum/showthread.php?tid=9273" target="_blank" rel="noopener" class="mycode_url">Newish</a>.<br />
if u want u can use it, i dont realy mind. <br />
i did this one for fun and for the video recording experience.<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/r4Okjq1jYE4" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
now i can say, that i might do some speed painting in the near future. ^_^]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Resource pages for LF2 spriting]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9371</link>
			<pubDate>Mon, 25 Aug 2014 17:02:36 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=752">Memento</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9371</guid>
			<description><![CDATA[I couldn't find a topic with internet links as a resource, so here it is. I believe posting links is allowed, if it's not, I'll just delete the topic.<br />
You can use this topic to share pages on the internet where you can find things that are helpful for LF2 spriting.<br />
<br />
This page is great, it seems like even the original LF2 sprites are based of some of these, and there's many energy effect sprites you can use for your own mod: <a href="http://www.deviantart.com/morelikethis/collections/212141197?view_mode=2" target="_blank" rel="noopener" class="mycode_url">http://www.deviantart.com/morelikethis/c...iew_mode=2</a>]]></description>
			<content:encoded><![CDATA[I couldn't find a topic with internet links as a resource, so here it is. I believe posting links is allowed, if it's not, I'll just delete the topic.<br />
You can use this topic to share pages on the internet where you can find things that are helpful for LF2 spriting.<br />
<br />
This page is great, it seems like even the original LF2 sprites are based of some of these, and there's many energy effect sprites you can use for your own mod: <a href="http://www.deviantart.com/morelikethis/collections/212141197?view_mode=2" target="_blank" rel="noopener" class="mycode_url">http://www.deviantart.com/morelikethis/c...iew_mode=2</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sprite centerx adjustment via GIMP]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9272</link>
			<pubDate>Wed, 18 Jun 2014 15:50:40 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=4018">mfc</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9272</guid>
			<description><![CDATA[This is how I adjust the sprite frames to be in center.<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/cHbsz25y6uk" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
I forgot to make inner grids layer invisible before exporting but it's not a problem.<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">A-MAN's method: <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">Alright XD<br />
<br />
<br />
So we're going to pick the grid we need to put sprites on. I am going to use bandit_0 to show  how I am going to align the sprites. Put in mind that each square in bandit's grid is 80x80. We won't have to draw any squares nor the 1 pixel difference thingy in the .dat file<br />
<br />
1-We make sure the grid format is RGB:<br />
<img src="http://i.imgur.com/3eKOUVy.png" loading="lazy"  alt="[Image: 3eKOUVy.png]" class="mycode_img" /><br />
<br />
2-We create a layer at the back, and we fill it with black:<br />
<img src="http://i.imgur.com/zT2kWUi.png" loading="lazy"  alt="[Image: zT2kWUi.png]" class="mycode_img" /><br />
<br />
3-We get to the grid layer back, and "Color to Alpha":<br />
<img src="http://i.imgur.com/QkTMrc3.png" loading="lazy"  alt="[Image: QkTMrc3.png]" class="mycode_img" /><br />
<br />
4-We pick the bg color (in this case its black; 0x000000) and Ok everything:<br />
<img src="http://i.imgur.com/gFUVzxh.png" loading="lazy"  alt="[Image: gFUVzxh.png]" class="mycode_img" /><br />
<br />
5-Now we're going to start placing the sprites. We're going to realign the 1st 3 punch sprites in the 2nd row to the 3 free spaces at the bottom of the grid.<br />
The first sprite can be put anywhere in the square, as the rest will follow its center values:<br />
<img src="http://i.imgur.com/nR3CqIv.png" loading="lazy"  alt="[Image: nR3CqIv.png]" class="mycode_img" /><br />
<br />
6-The second sprite in the sequence is then moved to a position right on the previous one of the sequence; in such a way that it would animate perfect if one of them would appear sequentially at a time:<br />
<img src="http://i.imgur.com/SRi0MWS.png" loading="lazy"  alt="[Image: SRi0MWS.png]" class="mycode_img" /><br />
<br />
7-From that position, we will start dragging the sprite to the next square while we watch the "Move: x, y" stuff at the task bar. Our goal is to move it until it is in the other's same spot in the square, but in its own square. Since a square is 80px wide, and we are moving it right, we move it until it says (80,0); now both are perfectly aligned with the exact center values:<br />
<img src="http://i.imgur.com/VI3yBUP.png" loading="lazy"  alt="[Image: VI3yBUP.png]" class="mycode_img" /><br />
<br />
<img src="http://i.imgur.com/x384UDP.png" loading="lazy"  alt="[Image: x384UDP.png]" class="mycode_img" /><br />
<br />
<br />
Now suppose you would like to add have the 4th sprite aligned with the 3 we've got down, but placed in a square which is on an upper row:<br />
<img src="http://i.imgur.com/5TGTQcA.png" loading="lazy"  alt="[Image: 5TGTQcA.png]" class="mycode_img" /><br />
<br />
<br />
And that's pretty much it XD. Save and exit.</div></div>
]]></description>
			<content:encoded><![CDATA[This is how I adjust the sprite frames to be in center.<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/cHbsz25y6uk" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
I forgot to make inner grids layer invisible before exporting but it's not a problem.<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">A-MAN's method: <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">Alright XD<br />
<br />
<br />
So we're going to pick the grid we need to put sprites on. I am going to use bandit_0 to show  how I am going to align the sprites. Put in mind that each square in bandit's grid is 80x80. We won't have to draw any squares nor the 1 pixel difference thingy in the .dat file<br />
<br />
1-We make sure the grid format is RGB:<br />
<img src="http://i.imgur.com/3eKOUVy.png" loading="lazy"  alt="[Image: 3eKOUVy.png]" class="mycode_img" /><br />
<br />
2-We create a layer at the back, and we fill it with black:<br />
<img src="http://i.imgur.com/zT2kWUi.png" loading="lazy"  alt="[Image: zT2kWUi.png]" class="mycode_img" /><br />
<br />
3-We get to the grid layer back, and "Color to Alpha":<br />
<img src="http://i.imgur.com/QkTMrc3.png" loading="lazy"  alt="[Image: QkTMrc3.png]" class="mycode_img" /><br />
<br />
4-We pick the bg color (in this case its black; 0x000000) and Ok everything:<br />
<img src="http://i.imgur.com/gFUVzxh.png" loading="lazy"  alt="[Image: gFUVzxh.png]" class="mycode_img" /><br />
<br />
5-Now we're going to start placing the sprites. We're going to realign the 1st 3 punch sprites in the 2nd row to the 3 free spaces at the bottom of the grid.<br />
The first sprite can be put anywhere in the square, as the rest will follow its center values:<br />
<img src="http://i.imgur.com/nR3CqIv.png" loading="lazy"  alt="[Image: nR3CqIv.png]" class="mycode_img" /><br />
<br />
6-The second sprite in the sequence is then moved to a position right on the previous one of the sequence; in such a way that it would animate perfect if one of them would appear sequentially at a time:<br />
<img src="http://i.imgur.com/SRi0MWS.png" loading="lazy"  alt="[Image: SRi0MWS.png]" class="mycode_img" /><br />
<br />
7-From that position, we will start dragging the sprite to the next square while we watch the "Move: x, y" stuff at the task bar. Our goal is to move it until it is in the other's same spot in the square, but in its own square. Since a square is 80px wide, and we are moving it right, we move it until it says (80,0); now both are perfectly aligned with the exact center values:<br />
<img src="http://i.imgur.com/VI3yBUP.png" loading="lazy"  alt="[Image: VI3yBUP.png]" class="mycode_img" /><br />
<br />
<img src="http://i.imgur.com/x384UDP.png" loading="lazy"  alt="[Image: x384UDP.png]" class="mycode_img" /><br />
<br />
<br />
Now suppose you would like to add have the 4th sprite aligned with the 3 we've got down, but placed in a square which is on an upper row:<br />
<img src="http://i.imgur.com/5TGTQcA.png" loading="lazy"  alt="[Image: 5TGTQcA.png]" class="mycode_img" /><br />
<br />
<br />
And that's pretty much it XD. Save and exit.</div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sprite Grids via GIMP - Beginner's Guide]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9270</link>
			<pubDate>Tue, 17 Jun 2014 21:22:21 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=4018">mfc</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9270</guid>
			<description><![CDATA[Here I will explain how i create grids for sprites using <a href="http://www.gimp.org/downloads/" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">&gt;&gt;GIMP&lt;&lt;</span></a><br />
<br />
We will use the louisEX_3.bmp for demonstration.<br />
Open bmp with gimp. To do this, simply carry the bmp file to gimp Toolbox.<br />
And we will have Layers panel open. <br />
To open it, press ctrl+L or Windows--&gt;Dockable Dialogs--&gt;Layers.<br />
<img src="http://i.imgur.com/Z9VQyCn.png" loading="lazy"  alt="[Image: Z9VQyCn.png]" class="mycode_img" /><br />
And then we create a new layer:<br />
<img src="http://i.imgur.com/r99xjH1.png" loading="lazy"  alt="[Image: r99xjH1.png]" class="mycode_img" /><br />
Now when we are in our new transparent layer, we go to <br />
Filters--&gt;Render--&gt;Pattern--&gt;Grid<br />
<img src="http://i.imgur.com/cpZ7Knk.png" loading="lazy"  alt="[Image: cpZ7Knk.png]" class="mycode_img" /><br />
Now, our LouisEX data file important part is here:<br />

		<table width='100%' border='0' style='table-layout:fixed;'><tr><td>
		<div class="geshicode_h" style='padding: 5px; background-color: #888888; border: 1px solid #AAAAAA; color: #000000;'>&nbsp;&nbsp;&nbsp;&nbsp;DC-Code:
			<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB; overflow: auto; height: auto; max-height: 300px'><pre class="dc" style="font-family&#58;monospace;"><span style="color&#58; #800000; font-weight&#58; bold;">file</span><span class="br0">&#40;</span><span style="color&#58; #000000; font-weight&#58; bold;">210</span>-<span style="color&#58; #000000; font-weight&#58; bold;">251</span><span class="br0">&#41;</span>&#58; sprite\sys\louisEX&#95;3&#46;bmp  <span style="color&#58; #800000; font-weight&#58; bold;">w&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">118</span>  <span style="color&#58; #800000; font-weight&#58; bold;">h&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">79</span>  <span style="color&#58; #800000; font-weight&#58; bold;">row&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">6</span>  <span style="color&#58; #800000; font-weight&#58; bold;">col&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">7</span></pre></div></div>
		</td></tr></table><br />
w: 118 and h: 79<br />
we add 1 to both<br />
119 x 80<br />
set the other thingies as it's shown in pic:<br />
<img src="http://i.imgur.com/d4FNynu.png" loading="lazy"  alt="[Image: d4FNynu.png]" class="mycode_img" /><br />
And press OK.<br />
Awesome, isn't it. But it's not over.<br />
we must turn<br />
<div class="tborder spoiler"><div class="spoiler_header">this <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i.imgur.com/EKqRNKy.png" loading="lazy"  alt="[Image: EKqRNKy.png]" class="mycode_img" /></div></div><div class="tborder spoiler"><div class="spoiler_header">to this <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i.imgur.com/omUeBNU.png" loading="lazy"  alt="[Image: omUeBNU.png]" class="mycode_img" /></div></div>We must carry this grid layer to 1 px up and 1 px left.<br />
To do this, while we are in our grid layer, we press one by one:<br />
ctrl+A<br />
ctrl+X<br />
ctrl+V<br />
^ (up key)<br />
&lt; (left key)<br />
And, click some gray or black area to finish carrying work.<br />
Now it's over and looks like this:<br />
<img src="http://i.imgur.com/6y3M2Gi.png" loading="lazy"  alt="[Image: 6y3M2Gi.png]" class="mycode_img" /><br />
Done!!<br />
Now you can export it through File--&gt;Export or ctrl+shift+E<br />
and export your file as asdfasda.bmp and it's over :)<br />
Hmm, you might have to zoom out to see pictures easily, i screenshotted them a little big.<hr class="mycode_hr" />
Hmm, i dont know if there are any other easier methods or shortcuts, i learnt using gimp by myself and i may have done some things in longer ways. If you have anything to make it shorter, please reply.:)]]></description>
			<content:encoded><![CDATA[Here I will explain how i create grids for sprites using <a href="http://www.gimp.org/downloads/" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">&gt;&gt;GIMP&lt;&lt;</span></a><br />
<br />
We will use the louisEX_3.bmp for demonstration.<br />
Open bmp with gimp. To do this, simply carry the bmp file to gimp Toolbox.<br />
And we will have Layers panel open. <br />
To open it, press ctrl+L or Windows--&gt;Dockable Dialogs--&gt;Layers.<br />
<img src="http://i.imgur.com/Z9VQyCn.png" loading="lazy"  alt="[Image: Z9VQyCn.png]" class="mycode_img" /><br />
And then we create a new layer:<br />
<img src="http://i.imgur.com/r99xjH1.png" loading="lazy"  alt="[Image: r99xjH1.png]" class="mycode_img" /><br />
Now when we are in our new transparent layer, we go to <br />
Filters--&gt;Render--&gt;Pattern--&gt;Grid<br />
<img src="http://i.imgur.com/cpZ7Knk.png" loading="lazy"  alt="[Image: cpZ7Knk.png]" class="mycode_img" /><br />
Now, our LouisEX data file important part is here:<br />

		<table width='100%' border='0' style='table-layout:fixed;'><tr><td>
		<div class="geshicode_h" style='padding: 5px; background-color: #888888; border: 1px solid #AAAAAA; color: #000000;'>&nbsp;&nbsp;&nbsp;&nbsp;DC-Code:
			<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB; overflow: auto; height: auto; max-height: 300px'><pre class="dc" style="font-family&#58;monospace;"><span style="color&#58; #800000; font-weight&#58; bold;">file</span><span class="br0">&#40;</span><span style="color&#58; #000000; font-weight&#58; bold;">210</span>-<span style="color&#58; #000000; font-weight&#58; bold;">251</span><span class="br0">&#41;</span>&#58; sprite\sys\louisEX&#95;3&#46;bmp  <span style="color&#58; #800000; font-weight&#58; bold;">w&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">118</span>  <span style="color&#58; #800000; font-weight&#58; bold;">h&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">79</span>  <span style="color&#58; #800000; font-weight&#58; bold;">row&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">6</span>  <span style="color&#58; #800000; font-weight&#58; bold;">col&#58;</span> <span style="color&#58; #000000; font-weight&#58; bold;">7</span></pre></div></div>
		</td></tr></table><br />
w: 118 and h: 79<br />
we add 1 to both<br />
119 x 80<br />
set the other thingies as it's shown in pic:<br />
<img src="http://i.imgur.com/d4FNynu.png" loading="lazy"  alt="[Image: d4FNynu.png]" class="mycode_img" /><br />
And press OK.<br />
Awesome, isn't it. But it's not over.<br />
we must turn<br />
<div class="tborder spoiler"><div class="spoiler_header">this <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i.imgur.com/EKqRNKy.png" loading="lazy"  alt="[Image: EKqRNKy.png]" class="mycode_img" /></div></div><div class="tborder spoiler"><div class="spoiler_header">to this <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><img src="http://i.imgur.com/omUeBNU.png" loading="lazy"  alt="[Image: omUeBNU.png]" class="mycode_img" /></div></div>We must carry this grid layer to 1 px up and 1 px left.<br />
To do this, while we are in our grid layer, we press one by one:<br />
ctrl+A<br />
ctrl+X<br />
ctrl+V<br />
^ (up key)<br />
&lt; (left key)<br />
And, click some gray or black area to finish carrying work.<br />
Now it's over and looks like this:<br />
<img src="http://i.imgur.com/6y3M2Gi.png" loading="lazy"  alt="[Image: 6y3M2Gi.png]" class="mycode_img" /><br />
Done!!<br />
Now you can export it through File--&gt;Export or ctrl+shift+E<br />
and export your file as asdfasda.bmp and it's over :)<br />
Hmm, you might have to zoom out to see pictures easily, i screenshotted them a little big.<hr class="mycode_hr" />
Hmm, i dont know if there are any other easier methods or shortcuts, i learnt using gimp by myself and i may have done some things in longer ways. If you have anything to make it shorter, please reply.:)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[DH LF2 Color Theory ]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9078</link>
			<pubDate>Sun, 12 Jan 2014 19:48:42 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=2549">Ariel</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9078</guid>
			<description><![CDATA[<span style="font-size: x-large;" class="mycode_size">DesignHeaven LF2 Color Theory </span><br />
<br />
First of all ill say that this theory is just what I think work best for lf2 char designs <br />
you don't have to agree with me or use it for every char u make <br />
but this is just what I think can work really good at some of the basics when u design char <br />
<br />
So, let's go straight to the topic <br />
I found out on some of the chars in the game that each of them main a color for their outfit and their skills <br />
the thing is most of the chars use the same concept of colors<br />
the main color goes to the shirt and sometime eyes, <br />
and than they have a pants at a really desaturated opposite color <br />
<br />
for example<br />
Bat,<br />
<img src="http://i.imgur.com/V54FMMf.png" loading="lazy"  alt="[Image: V54FMMf.png]" class="mycode_img" /><br />
<br />
his main color is obviously <span style="color: #FF0000;" class="mycode_color">red </span><br />
than his eyes and shirt are both <span style="color: #FF0000;" class="mycode_color">red</span> <br />
and his pants got a desaturated <span style="color: #708090;" class="mycode_color">cyan</span> <br />
<br />
u can find this concept on many other chars like Davis, Woody, Deep, Henry, Monk etc..<br />
<br />
hope this help some of u, its just a minimal post and when ill have more time ill write about more things i thought about<br />
]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-large;" class="mycode_size">DesignHeaven LF2 Color Theory </span><br />
<br />
First of all ill say that this theory is just what I think work best for lf2 char designs <br />
you don't have to agree with me or use it for every char u make <br />
but this is just what I think can work really good at some of the basics when u design char <br />
<br />
So, let's go straight to the topic <br />
I found out on some of the chars in the game that each of them main a color for their outfit and their skills <br />
the thing is most of the chars use the same concept of colors<br />
the main color goes to the shirt and sometime eyes, <br />
and than they have a pants at a really desaturated opposite color <br />
<br />
for example<br />
Bat,<br />
<img src="http://i.imgur.com/V54FMMf.png" loading="lazy"  alt="[Image: V54FMMf.png]" class="mycode_img" /><br />
<br />
his main color is obviously <span style="color: #FF0000;" class="mycode_color">red </span><br />
than his eyes and shirt are both <span style="color: #FF0000;" class="mycode_color">red</span> <br />
and his pants got a desaturated <span style="color: #708090;" class="mycode_color">cyan</span> <br />
<br />
u can find this concept on many other chars like Davis, Woody, Deep, Henry, Monk etc..<br />
<br />
hope this help some of u, its just a minimal post and when ill have more time ill write about more things i thought about<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to "compress" images using Paint.NET]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=9006</link>
			<pubDate>Sun, 27 Oct 2013 20:18:49 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=1228">Dragon5</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=9006</guid>
			<description><![CDATA[I accidentally opened sprites with Paint.NET to convert them from PNG to BMP, but I found a trick that made sprites take up less space with NO LOSS OF QUALITY!  Please keep in mind that this is mainly intended for LF2 sprites.  Without further adieu:<br />
<br />
<br />
1. Open the sprite sheet you want to compress on Paint.NET.<br />
<br />
2. Click Save (or Save As if you aren't using a bmp file). You should see some options pop up for you.<br />
<img src="http://img801.imageshack.us/img801/8236/naf.png" loading="lazy"  alt="[Image: naf.png]" class="mycode_img" /><br />
<br />
3. Choose 8-bit. The dithering is set at 7 by default, but messing with it produces no visible results.  I raised it just because I could.<br />
<img src="http://img849.imageshack.us/img849/3302/12b2.png" loading="lazy"  alt="[Image: 12b2.png]" class="mycode_img" /><br />
<br />
4. Click "OK" and you're good to go!<br />
<br />
<br />
I don't know if this is a similar method to what Marti had done to make each BMP file smaller, but I see it working fine without any problem at all.  If you have problems with this, please let me know.]]></description>
			<content:encoded><![CDATA[I accidentally opened sprites with Paint.NET to convert them from PNG to BMP, but I found a trick that made sprites take up less space with NO LOSS OF QUALITY!  Please keep in mind that this is mainly intended for LF2 sprites.  Without further adieu:<br />
<br />
<br />
1. Open the sprite sheet you want to compress on Paint.NET.<br />
<br />
2. Click Save (or Save As if you aren't using a bmp file). You should see some options pop up for you.<br />
<img src="http://img801.imageshack.us/img801/8236/naf.png" loading="lazy"  alt="[Image: naf.png]" class="mycode_img" /><br />
<br />
3. Choose 8-bit. The dithering is set at 7 by default, but messing with it produces no visible results.  I raised it just because I could.<br />
<img src="http://img849.imageshack.us/img849/3302/12b2.png" loading="lazy"  alt="[Image: 12b2.png]" class="mycode_img" /><br />
<br />
4. Click "OK" and you're good to go!<br />
<br />
<br />
I don't know if this is a similar method to what Marti had done to make each BMP file smaller, but I see it working fine without any problem at all.  If you have problems with this, please let me know.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Public tutorial "The way I animate sprites"]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=8948</link>
			<pubDate>Sun, 15 Sep 2013 17:10:20 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=4583">Monolanier</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=8948</guid>
			<description><![CDATA[Yes, how do you animate your sprites, make them move?<br />
Lets share our ways of animating, maybe it would help younger spriters<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Mono <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><blockquote class="mycode_quote"><cite><span> (09-15-2013, 06:16 PM)</span>EXG9 Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178401#pid178401" class="quick_jump">&nbsp;</a></cite>My way of doing sprites (atleast how I prefer to do it.)<br />
<br />
<br />
<br />
Each Frame from a scratch.<br />
<br />
<img src="http://i.imgur.com/cDnnVjC.png" loading="lazy"  alt="[Image: cDnnVjC.png]" class="mycode_img" /><br />
1. Draw one frame outline.<br />
2. Drawing 2nd frame outline from a scratch and continue same with the rest of the frames.<br />
3. Checking the outcome, to see if its smooth enough.<br />
<img src="http://i.imgur.com/BjSFn8O.gif" loading="lazy"  alt="[Image: BjSFn8O.gif]" class="mycode_img" /><br />
4. Coloring the frames.<br />
5. Checking again the animation, to see if its smooth enough.<br />
<img src="http://i.imgur.com/AQjXEzB.gif" loading="lazy"  alt="[Image: AQjXEzB.gif]" class="mycode_img" /><br />
6. Shade frame.<br />
7. Also you can check all frames after shading one part.<br />
8. The outcome. <img src="http://i.imgur.com/oTmI4pN.gif" loading="lazy"  alt="[Image: oTmI4pN.gif]" class="mycode_img" /><br />
<img src="http://i.imgur.com/TQFt0SB.png" loading="lazy"  alt="[Image: TQFt0SB.png]" class="mycode_img" /><br />
<br />
+ <br />
...You get more experience in animating by drawing each frames from 0 (some may take need just edit)<br />
<br />
-<br />
...Takes some time to finish but outcome looks good.<br />
<br />
<br />
<br />
Other ways which I prefer not to use.<br />
Copy paste is not realy good way because you can easily overuse most of the details and it may look halfass.<br />
Copy paste mostly does not looks natural. Some parts looks strange unless you edit them.</blockquote></div></div>
<div class="tborder spoiler"><div class="spoiler_header">BashCrazy <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 04:02 PM)</span>bashscrazy Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178389#pid178389" class="quick_jump">&nbsp;</a></cite>Anyways for me, mostly I just grab a sprite and draw over it. Or I create different parts that are moving like an arm. then replace the arm, etc.<br />
<div class="tborder spoiler"><div class="spoiler_header">some of my giant canvases of animating moves for vegeta in teh past (back in 2011) <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<img src="http://i.imgur.com/kYOtoXG.png" loading="lazy"  alt="[Image: kYOtoXG.png]" class="mycode_img" /><br />
<img src="http://i.imgur.com/WFHq82B.png" loading="lazy"  alt="[Image: WFHq82B.png]" class="mycode_img" /></div></div>
<div class="tborder spoiler"><div class="spoiler_header">super giant canvas <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
[img]<img src="http://i.imgur.com/cUMwLyR.png" loading="lazy"  alt="[Image: cUMwLyR.png]" class="mycode_img" />[/img]</div></div></blockquote></div></div>
<div class="tborder spoiler"><div class="spoiler_header">BluePhoenix <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<br />
<br />
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 04:07 PM)</span>Blue Phoenix Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178391#pid178391" class="quick_jump">&nbsp;</a></cite>Back to topic, in the (albeit rare) case of animating, I usually do it in Photoshop (or ImageReady, if you got CS2 or lower). I usually do a "1 layer per frame"-approach: place every sprite on a separate layer. Hide all but one (ie. click on the eye-symbol next to the layer-icon). In the animations-palette, you can then add a new frame. In the new frame, you hide the only visible layer and show a different instead. Repeat that procedure until done. To save it as a gif: "Save for Web and Devices" (or Ctrl+Alt+Shift+S), select GIF, hit "Save".<br />
<br />
It does require to take apart the whole sheet and can get extremely tedious when you do lots of edits right after doing the animation, though <img src="https://lf-empire.de/forum/images/smilies/tongue.gif" alt=":p" title=":p" class="smilie smilie_22" /><br />
Flash is probably a little better in that matter.</blockquote></div></div><div class="tborder spoiler"><div class="spoiler_header">gad <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<br />
<br />
<br />
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 05:19 PM)</span>Gad Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178398#pid178398" class="quick_jump">&nbsp;</a></cite>i animate frame by frame if that helps</blockquote></div></div><div class="tborder spoiler"><div class="spoiler_header">Men'n'Mine <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
I would say consistency of shapes and flow are to be noted while animating but mainly flow at first place .  i draw layer by layer and do what blue said .the thing is you need to have a clear idea of what the character does. The rest comes with experience.i am still a poor animator and also I cant draw and post samples as i am using a mobile. Bye again .   </div></div><div class="tborder spoiler"><div class="spoiler_header">Luti <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
black and white sketches for each frame (usually i don't tend to keep them this clean unless ofc i do decide to post them publicly)<br />
<img src="https://trello-attachments.s3.amazonaws.com/516db6ac1bb4f71744000b80/516db7121db4ab6244000bb2/f330c934626e9e9c600e66d4f1a40c5d/mario_run2cb.gif" loading="lazy"  alt="[Image: mario_run2cb.gif]" class="mycode_img" /><br />
then i color over each frame, walaa!<br />
<img src="https://trello-attachments.s3.amazonaws.com/516db6ac1bb4f71744000b80/516db7121db4ab6244000bb2/06a36ee8998cbe0cd7d57e3a3acb1d43/mario_run2cb_colored.gif" loading="lazy"  alt="[Image: mario_run2cb_colored.gif]" class="mycode_img" /></div></div>
]]></description>
			<content:encoded><![CDATA[Yes, how do you animate your sprites, make them move?<br />
Lets share our ways of animating, maybe it would help younger spriters<br />
<br />
<div class="tborder spoiler"><div class="spoiler_header">Mono <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;"><blockquote class="mycode_quote"><cite><span> (09-15-2013, 06:16 PM)</span>EXG9 Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178401#pid178401" class="quick_jump">&nbsp;</a></cite>My way of doing sprites (atleast how I prefer to do it.)<br />
<br />
<br />
<br />
Each Frame from a scratch.<br />
<br />
<img src="http://i.imgur.com/cDnnVjC.png" loading="lazy"  alt="[Image: cDnnVjC.png]" class="mycode_img" /><br />
1. Draw one frame outline.<br />
2. Drawing 2nd frame outline from a scratch and continue same with the rest of the frames.<br />
3. Checking the outcome, to see if its smooth enough.<br />
<img src="http://i.imgur.com/BjSFn8O.gif" loading="lazy"  alt="[Image: BjSFn8O.gif]" class="mycode_img" /><br />
4. Coloring the frames.<br />
5. Checking again the animation, to see if its smooth enough.<br />
<img src="http://i.imgur.com/AQjXEzB.gif" loading="lazy"  alt="[Image: AQjXEzB.gif]" class="mycode_img" /><br />
6. Shade frame.<br />
7. Also you can check all frames after shading one part.<br />
8. The outcome. <img src="http://i.imgur.com/oTmI4pN.gif" loading="lazy"  alt="[Image: oTmI4pN.gif]" class="mycode_img" /><br />
<img src="http://i.imgur.com/TQFt0SB.png" loading="lazy"  alt="[Image: TQFt0SB.png]" class="mycode_img" /><br />
<br />
+ <br />
...You get more experience in animating by drawing each frames from 0 (some may take need just edit)<br />
<br />
-<br />
...Takes some time to finish but outcome looks good.<br />
<br />
<br />
<br />
Other ways which I prefer not to use.<br />
Copy paste is not realy good way because you can easily overuse most of the details and it may look halfass.<br />
Copy paste mostly does not looks natural. Some parts looks strange unless you edit them.</blockquote></div></div>
<div class="tborder spoiler"><div class="spoiler_header">BashCrazy <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 04:02 PM)</span>bashscrazy Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178389#pid178389" class="quick_jump">&nbsp;</a></cite>Anyways for me, mostly I just grab a sprite and draw over it. Or I create different parts that are moving like an arm. then replace the arm, etc.<br />
<div class="tborder spoiler"><div class="spoiler_header">some of my giant canvases of animating moves for vegeta in teh past (back in 2011) <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<img src="http://i.imgur.com/kYOtoXG.png" loading="lazy"  alt="[Image: kYOtoXG.png]" class="mycode_img" /><br />
<img src="http://i.imgur.com/WFHq82B.png" loading="lazy"  alt="[Image: WFHq82B.png]" class="mycode_img" /></div></div>
<div class="tborder spoiler"><div class="spoiler_header">super giant canvas <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
[img]<img src="http://i.imgur.com/cUMwLyR.png" loading="lazy"  alt="[Image: cUMwLyR.png]" class="mycode_img" />[/img]</div></div></blockquote></div></div>
<div class="tborder spoiler"><div class="spoiler_header">BluePhoenix <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<br />
<br />
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 04:07 PM)</span>Blue Phoenix Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178391#pid178391" class="quick_jump">&nbsp;</a></cite>Back to topic, in the (albeit rare) case of animating, I usually do it in Photoshop (or ImageReady, if you got CS2 or lower). I usually do a "1 layer per frame"-approach: place every sprite on a separate layer. Hide all but one (ie. click on the eye-symbol next to the layer-icon). In the animations-palette, you can then add a new frame. In the new frame, you hide the only visible layer and show a different instead. Repeat that procedure until done. To save it as a gif: "Save for Web and Devices" (or Ctrl+Alt+Shift+S), select GIF, hit "Save".<br />
<br />
It does require to take apart the whole sheet and can get extremely tedious when you do lots of edits right after doing the animation, though <img src="https://lf-empire.de/forum/images/smilies/tongue.gif" alt=":p" title=":p" class="smilie smilie_22" /><br />
Flash is probably a little better in that matter.</blockquote></div></div><div class="tborder spoiler"><div class="spoiler_header">gad <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
<br />
<br />
<br />
<blockquote class="mycode_quote"><cite><span> (09-15-2013, 05:19 PM)</span>Gad Wrote: <a href="https://lf-empire.de/forum/showthread.php?pid=178398#pid178398" class="quick_jump">&nbsp;</a></cite>i animate frame by frame if that helps</blockquote></div></div><div class="tborder spoiler"><div class="spoiler_header">Men'n'Mine <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
I would say consistency of shapes and flow are to be noted while animating but mainly flow at first place .  i draw layer by layer and do what blue said .the thing is you need to have a clear idea of what the character does. The rest comes with experience.i am still a poor animator and also I cant draw and post samples as i am using a mobile. Bye again .   </div></div><div class="tborder spoiler"><div class="spoiler_header">Luti <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='(Click to View)';this.parentNode.className = 'spoiler_header';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='(Click to Hide)';;this.parentNode.className += ' spoiler_header_cornered';}">(Click to View)</a></div><div class="spoiler_body" style="display: none;">
black and white sketches for each frame (usually i don't tend to keep them this clean unless ofc i do decide to post them publicly)<br />
<img src="https://trello-attachments.s3.amazonaws.com/516db6ac1bb4f71744000b80/516db7121db4ab6244000bb2/f330c934626e9e9c600e66d4f1a40c5d/mario_run2cb.gif" loading="lazy"  alt="[Image: mario_run2cb.gif]" class="mycode_img" /><br />
then i color over each frame, walaa!<br />
<img src="https://trello-attachments.s3.amazonaws.com/516db6ac1bb4f71744000b80/516db7121db4ab6244000bb2/06a36ee8998cbe0cd7d57e3a3acb1d43/mario_run2cb_colored.gif" loading="lazy"  alt="[Image: mario_run2cb_colored.gif]" class="mycode_img" /></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ALMOST LIKE CHARACTER GENERATOR]]></title>
			<link>https://lf-empire.de/forum/showthread.php?tid=8862</link>
			<pubDate>Sun, 04 Aug 2013 22:58:23 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://lf-empire.de/forum/member.php?action=profile&uid=1084">Gad</a>]]></dc:creator>
			<guid isPermaLink="false">https://lf-empire.de/forum/showthread.php?tid=8862</guid>
			<description><![CDATA[-- content removed --]]></description>
			<content:encoded><![CDATA[-- content removed --]]></content:encoded>
		</item>
	</channel>
</rss>