For me AIC is simply a technique that allows you to display colourful background images over which you can render masked sprites with much less attribute clash. The technique is based on alternating different colours for each line and make use of fill patterns and scans set as inverse. From that on, it is up to the designer. If you want to change the colours used from one area to another, it is ok. If you want to have an area using just one color, it is also ok. If you want to put attributes all over the place it is ok if your sprite does not reach that area.
The only thing I know is that, up to the moment Twilighte showed us how to do that, I always thought games should stick to monochrome (almost) displays or horrible colour clashes or horrible graphics with glitches.
I tried to use AIC in Blakes'7 to the best extent possible (in Skooldaze it was quite simple), but I could never imagined such beautiful results could be obtained. I need to find out some time to download one of those images and load it in my room editor, just to inspect how those results are achieved and learn from them
Some restrictions still apply to AIC anyway:
- There is some colour clash. With all the inverted scans. If you want to draw a sprite over them, you either keep the inverted bit or remove it (and change ink to paper and viceversa on that scan for the background). That might create an ugly effect, or maybe be quite unnoticeable, but the clash still exists. I had to remove some large white backgrounds due to that, so you have to be careful with that.
- Drawing colourful sprites is difficult. You have to design them carefully, mostly if they contain scans with the inverted bit set, so they work in a possible animation and over any kind of background. I trend to draw sprites using black ink for the outline, so the alternate ink colour is filling their figure. This may look strange if the alternating ink colour combination changes, and works best when backgrounds are filled with dotted patterns. No colours on them, as you see. Mainly because that is much easier to manage, but it should be possible.
- Say bye bye to any kind of sub-scan lateral scroll, as long as the inverse bit is there. Not a big restriction, as it is difficult to achieve this at a decent speed for a usable size area, but also implies that it is difficult to use this to give colour in a game such as 1337. Yeah, the crosshair (as it is always in the centre of the screen) and that is all. If using filled polygons, you can maybe use fill patterns to create some colours, but the varying shapes that need filling make it almost impossible to use the inverse trick. Also some fill patterns may look great on small areas, or make details disappear.
BTW: the intro screen in Impossible Mission uses attributes all over the place, along with alternating colours and inverted scans, so Twilighte extended the idea to create an incredible image, which is impossible to use as a background, but anyway looks terrific!
Pictoric (was: New conversion algorithm)
- ibisum
- Wing Commander
- Posts: 1651
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Pictoric (was: New conversion algorithm)
Ah cool, thanks Sam .. didn't see that in the repo before. This definitely helps me understand some of the complexities of Oric color usage a bit better.
Re: Pictoric (was: New conversion algorithm)
This is because 1) it is fairly new 2) it is on another branch 3) it takes a very long time to generate.
Re: Pictoric (was: New conversion algorithm)
I really like these "AOC 3.6" sprites!
How do I get them? I downloaded the latest version but only have command line and I don't see how I can get them?
It's not a aic setting I think?
Also, how do I get it to choose aic automatically (as mention for UI?),
Also, I'm tweaking width/height to generate LORES graphics,
but then I have another constraint, with 3x2 cell instead of hires 1x6 cell.
Any thoughts how to do this? I want to generate simple TELETEXT style graphics for a screen editor I'm coding.
Here is what I got so far, and closest:
-- OPTIMAL TELETEXT MODE?
-- width: must be multiple of 24
- height, doesn't matter (?)
local width,height = 72,75-- text mode OK
local width,height = 48,48-- text mode OK -- char blcoks
--- MODIFY HEADER:
local nn = width*height/2 + 118
local hi = math.floor(nn / 256)
local lo = nn % 256
out:write(string.char(
-- header
0x42,0x4d,lo,hi,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x28,0x00,
0x00,0x00,width,0x00,0x00,0x00,height,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x00,
any ideas?
also, a question regarding speed, how fast is this in luajit compared to V8 javascript or in a c-variant?
How do I get them? I downloaded the latest version but only have command line and I don't see how I can get them?
It's not a aic setting I think?
Also, how do I get it to choose aic automatically (as mention for UI?),
Also, I'm tweaking width/height to generate LORES graphics,
but then I have another constraint, with 3x2 cell instead of hires 1x6 cell.
Any thoughts how to do this? I want to generate simple TELETEXT style graphics for a screen editor I'm coding.
Here is what I got so far, and closest:
-- OPTIMAL TELETEXT MODE?
-- width: must be multiple of 24
- height, doesn't matter (?)
local width,height = 72,75-- text mode OK
local width,height = 48,48-- text mode OK -- char blcoks
--- MODIFY HEADER:
local nn = width*height/2 + 118
local hi = math.floor(nn / 256)
local lo = nn % 256
out:write(string.char(
-- header
0x42,0x4d,lo,hi,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x00,0x00,0x00,0x28,0x00,
0x00,0x00,width,0x00,0x00,0x00,height,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x00,
any ideas?
also, a question regarding speed, how fast is this in luajit compared to V8 javascript or in a c-variant?
sam wrote: ↑Wed May 20, 2020 11:49 am \samples (below) I just built using the next version of PictOric using my 3x3 oric-special ordered-dither matrix. Imagine a "Breakout clone" with these images (possibly dimmed) as background with lots of colorful "AIC 3,6" sprites representing the ball, the bricks and the paddle moving around.
quote]
Re: Pictoric (was: New conversion algorithm)
This is because you certainly get v1.2.. AIC settings comes with the future >>v1.3<< version (beware this is is W.I.P). The README.md states:
Code: Select all
If you press the "x" key while pushing the "Run" button a Window will pop up allowing you to
enable the AIC Mode or the Ordered dithering mode as well as changing various configuration
parameters (...)
Still in the README.md:Also, how do I get it to choose aic automatically (as mention for UI?),
Code: Select all
These parameters will be reused the next time you run the tool (even on the command line).
I did some time ago a tool to convert pictures in TELETEXT for someone running a french minitel server. It is available in this (french) forum: https://forum.system-cfg.com/viewtopic. ... 83#p100683I want to generate simple TELETEXT style graphics for a screen editor I'm coding.
I have no idea about that, but since the image are pre-processed, rendering time does not count, does it?also, a question regarding speed, how fast is this in luajit compared to V8 javascript or in a c-variant?