Lesson
AkuSprite1 - Getting Started With Akusprite
Editor
Akusprite Editor was written by the author of these tutorials to
aid in the converting of ChibiAkumas from the Amstrad CPC to the
MSX and Spectrum
While originally designed for this purpose, it was extended to
provide basic export functionality for ALL systems covered in
these tutorials... it is the ONLY tool used by the author for
creating graphics files for retro systems (Though Krita is used
for drawing - AkuSprite Editor is used to convert these to native
formats)
included
in Z80 sources.7z
AkuSprite
Editor is under continued development - it will never be
'finished' provided these tutorials continue.
Some of the functions are very specialist, and not for general
use - but we'll cover the basics here.
Overview of the UI
The Help Button: (Bottom Right)
Click this Help Button- then click on a menu option or other
function - if available, a relevant tutorial on how to use the
function will be loaded in your web browser... Menu items with
help are marked with [?]
Refresh/Undo/Redo: (Lower Left) Refresh will repaint the screen (in case of graphical
glitches) Undo will undo your last draw (or few draws) Redo will redo your last draw (or few draws)
Drawing Tools: (Left)
These buttons select a drawing tool... a related tool menu will also appear top
right.
Editor Window: (Middle)
The editor is the main pixel drawing area... there is a preview
middle right, and zoom tool top right Left Click: Draws in Foreground color Right Click: Draws in Background color MouseWheel: Zooms in/out Ctrl + Mousewheel: Cycle through sprites Alt + Mousewheel: Cycle through banks (frames of
animation) MiddleMouse/Mouse 4: Pick Foreground color from
picture Mouse 5: Pick Foreground color from picture
Sprite Selector: (Bottom Right)
Akusprite editor uses up to 8 banks of 64 sprites
Sprites should be your 'enemies' or whatever graphics you're
drawing
Banks should be the separate frames of animation for those sprites
(if required) - this was designed for 'reducing' functionality on
low spec systems... Eg... the 64k version could use 2 banks, the
128k version could use 4... a 16 bit version could use all 8!
Palette: The first 16 colors are shown at the
Top... the full 256 color palette is shown in a tab bottom
right...
The palette can be redefined by clicking on SetPal and clicking on
a color...
There are two ways to set a color... using the color picker, or a
1 nibble per channel -GRB color definition (The format used in my
tutorials)... toggle between these options by repeatedly clicking
on SetPal
Alternate Palette: (Top Right)
This is used by systems with 'color attributes' - such as the ZX
Spectrum or MSX1
Please note that this is an experimental function - many of the
formats do not export color attributes.
AkuSprite editor was upgraded from 16 colors to 256
colors... it does not support >256 colors at this time
Lesson
AkuSprite2 - Drawing Tools
Akusprite editor has a variety of pixel editing tools... in this
episode we'll look at each, and learn how to use them
included
in Z80 sources.7z
The tools - summary
AkuSprite Editor offers 5 pixel drawing tools...
Pixel Paint... Draw pixels dot by Dot
ZX paint... set color attributes of pixels / blocks
Color swap... swap colors useful for converting 16
color images to 4 color
Tile Copy... Crude Tilemap functions
Flood Fill... Fill areas.
Pixel Paint
Pixel paint allows the drawing of individual dots - it's
designed for drawing simple sprites, or touching them up.
The Sprite editor draws with two colors
- a Foreground Color (left) and a Background color (Right): Left Click: Draws in Foreground color Right Click: Draws in Background color
You can pick a color from the sprite: MiddleMouse/Mouse 4: Pick Foreground color from
picture Mouse 5: Pick Foreground color from picture
On the right hand side of the screen is the tool settings...
Check mode allows 'checkerboard' patterns
to apply to the drawn pixels
The checkerboard option will automatically swap between the
foreground and background colors to effect a 'dithered' pattern.
Check Mode
patterns are intended to simulate extra colors on low color
systems - they can used with 'Color Swap' to convert a 16 color
picture to 4 or 2 colors.
There are also color reduction options on the display panel -
newer export routines export this dithering straight to the
file!
Flood Fill
Flood Fill will fill a closed area with a solid color
Flood fill can use the foreground or background color via left or
right mouse button.
The flood fill also allows for 'Checkerboard' fills...
Please note, due to technical reasons, when a area is checker
filled - it is first internally solid filled with color 255 - then
checker filled with the correct color - this will only cause
problems if you sprite uses color 255
Color Swap
Color swap replaces a color in the sprite.
Clicking on a pixel will replace that color with either the
foreground or background color.
Color Swap is intended for converting 16 color images to 4 or 2
color, but can also be used for 'filling' small areas
There are 4 color conversion modes:
'Block' will swap an 8x8 area - it's designed for
recoloring spectrum bitmap graphics
'Sprite' will swap the color on the entire sprite
'AllSprites' will swap the color on all sprites in the
current bank
'8x1' will swap the color on an 8 pixel wide strip - it's
designed for recoloring MSX1 screens
Color swap also supports Check modes as
the other functions
ZX Paint
ZX Paint is for applying
color attributes to an image - these are a separate 'overlay' of
colors to the bitmap data.
To use this you should enable an 'Alternate
palette' with the button at the far right.
Note - although it's called 'ZX Paint' this tool also applies MSX
and other color attributes.
You should also check the correct 'Display
Mode' is selected in the 'Settings Tab'
This enables the visual overlay with the color attributes.
We should select a foreground and background color - Spectrum
colors also support brightness.
Flashing spectrum colors are not supported :-(
We've selected Bright Red pixles - on a Blue background
There are 3 modes... Normal Colors and
PixelPaint
We'll be working on a crude smiley pic
Normal Mode will draw pixels and set color at the same
time - this is the same as PixelPaint mode
Colors Mode will set color attributes without drawing
pixels - this should be used for re-coloring an image
PixelMap Mode will draw pixels but not set color
attributes
TileCopy
Tile Copy allows for creating small tilemaps...
It was designed for converting the 'Chibialiens' titlescreen into
a 256 tile image for systems like the MSX 1
We've drawn a simple image in pixel paint mode... we're going to
make a 24x24 image with 'Tile Copy'
Sprite 0 should not be used for creating a tile map - use sprite
1+
This is because Sprite 0 used for the tile patterns generated from
your tile map
The TileCopy Panel is shown here..
On the left is the captured tile ... This
is read from the sprite with right click, and pasted to the sprite
with Left Click.
Clear+Add will reset the tile patterns in
sprite 0, and build a tilemap in the clipboard from the current
sprite. Add will add more tiles into the patterns in
sprite 0 if required,
The settings of the generated tile are
show... FirstTile is the first tile to scan when building the
tilemap, NextTile is the next unused tile.
Format is the Tilemap format... 256+ will use
1 byte per tile - if the tile number goes over 255 a second byte
will be used.
Nibble supports just 16 tiles, and uses 1 nibble per tile
We're going to copy the components - selecting a tile with Right
Click - and pasting it with left click
We've created a 3x3 tilemap!
Now let's convert our tilemap to patterns!... clock on Clear+Add
The unique tiles will be identified, and stored in Sprite 0 as a
patterns.
The clipboard will be filled with ASM code to draw the original
image.
Akusprite Editor
is really for graphics - the tilemap function isn't adequate for
building a scrolling platformer.
It's possible an alternate tool for level building will be
written in the future, but there are no promises - the author of
these tutorials doesn't have any spare time left!
Lesson
AkuSprite3 - Functions!
There are a variety of functions on the menus which may help you
with special kinds of manipulation (and save you using an extra
tool like krita)... lets learn more.
included
in Z80 sources.7z
File menu
The File Menu saves and loads the current set of sprites.
Resave / Save will save the sprites in the 'normal'
akusprite format (.txt - essentially a giant CSV!)
Save Palette will just save the palette of
the sprites
Import palette will import the palette only
from another sprite file Import pixels will import just the pixel
data from another sprite file (not palette or colors) Import Color Attribs will import the
Spectrum color attributes from another file.
Load Recent will show a list of previously
worked on files.
Import Image will load a file - if the file is 256 colors or
less, the palette can also be imported.
File Processor allows conversion
(compression) of binary files on disk to RLE
Save/Load BMP will create a single giant
image containing all the sprites and the palette
The 'MAP' has a colored square defining the area covering each
sprite, the sprites themselves are in other files.
This can be edited in another program, and re-imported - provided
the MAP is not corrupted, the sprites will be correctly imported -
by altering the MAP, the sprite sizes can even be changed!
Many of
these tools are specialist, and were designed for ChibiAkumas
ZX and MSX
In most cases you will be better using Copy & Paste and
making changes in Krita or similar application.
Transform menu
The 'Transform' options will allow
flipping and moving the sprite data
FlipX and FlipY will
flip the current sprite in the selected Axis
Pixel Shift Up,Down,Left,Right allow for
shifting a sprite...
You will be prompted for a shift amount, and the sprite will be
moved accordingly
TileShiftX is for 256 pixel wide sprites only... it was for
creating scrolling backgrounds in ChibiAkumas on the Spectrum or
MSX
Edit Menu Options
Copy and Paste options
will transfer the current sprite to or from the Clipboard.
Copy Preview copies the 'edit window'
including color attributes and the grid.
Canvas Size allows the 'cropping of the
sprite...
in this case we've cropped the image to 32,32.
Duplicate From will copy another sprite
to the current sprite.
Duplicate Offset From will also copy
another sprite, however an X,Y 'offset' can be specified, which
will be the destination of the sprite
In this example sprite 0 has been duplicated to offset 32,32
MakeTiles will repeat the sprite to fill
an specified size
The image will be tiled.
Tools Menu Options
Interlace-Y doubles the height of the
image - adding a zero color line between each real line.
In ChibiAkumas on the CPC Sprites could be scaled to double height
in this way, drawing alternate lines This was to 'simulate' the
effect on the MSX
Interlace-OddFields and Interlace-EvenFields
will take every odd or even row and remove the other lines...
It's intended for creating a pair of images for MSX-interlaced
graphics modes.
Here is the result
BlackBorder and BlackBorderTight
were used for ChibiAkumas MSX
On that system Color 0 was transparent - a color 1 'black border'
was required to mimic the CPC graphics - these functions were used
to automate this task
Here is the result
Palette tint can be used to blend the
color palette
It will take a RGB color - and a percentage (0-1)... the
color palette will be tinted accordingly
Here the palette has been tinted 50% red....
This was used for the ChibiAkumas cave level on the MSX/CPC+ to
tint the palette depending on lighting effect
Palettes allows the use of default
palettes for the sprites (for example if you're using MSX2 256
color mode)
It also allows the importing of 256 color palettes from irfanview.