Pictoric (was: New conversion algorithm)

The Oric video chip is not an easy beast to master, so any trick or method that allows to achieve nice visual results is welcome. Don't hesitate to comment (nicely) other people tricks and pictures :)
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Pictoric (was: New conversion algorithm)

Post by Chema »

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!
sam
Officer Cadet
Posts: 57
Joined: Sun Jul 09, 2017 3:28 pm
Location: Brest (France)
Contact:

Re: Pictoric (was: New conversion algorithm)

Post by sam »

ibisum wrote: Fri May 22, 2020 11:45 am I'd love to have the .TAP files for all of these images, so I can dig into the bytes in a debugger and see for myself how the bits are set, one by on.
You can get them by clicking on the pictures there.
User avatar
ibisum
Wing Commander
Posts: 1646
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Pictoric (was: New conversion algorithm)

Post by ibisum »

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.
sam
Officer Cadet
Posts: 57
Joined: Sun Jul 09, 2017 3:28 pm
Location: Brest (France)
Contact:

Re: Pictoric (was: New conversion algorithm)

Post by sam »

This is because 1) it is fairly new 2) it is on another branch 3) it takes a very long time to generate.
jsk
Private
Posts: 1
Joined: Mon Jun 29, 2020 10:11 pm

Re: Pictoric (was: New conversion algorithm)

Post by jsk »

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?
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. :shock: 8)
quote]
sam
Officer Cadet
Posts: 57
Joined: Sun Jul 09, 2017 3:28 pm
Location: Brest (France)
Contact:

Re: Pictoric (was: New conversion algorithm)

Post by sam »

jsk wrote: Thu Jul 16, 2020 6:12 pm 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?
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 (...) 
Also, how do I get it to choose aic automatically (as mention for UI?),
Still in the README.md:

Code: Select all

These parameters will be reused the next time you run the tool (even on the command line).
I want to generate simple TELETEXT style graphics for a screen editor I'm coding.
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#p100683
Image
also, a question regarding speed, how fast is this in luajit compared to V8 javascript or in a c-variant?
I have no idea about that, but since the image are pre-processed, rendering time does not count, does it?
Post Reply