Well Venture is now one of the listed Atari 7800 games to be ported over. I can make the sprites multi-colored and sprites not be limited to the player/missile sizes. I made up a small image of what the sprites may look like on the 7800. I can make it more arcade like.
We will be producing these games for the stock 7800 and will not be taking advantage of any special upgrades or modules, like that XM module.
You could do this game in 320 mode. 320B for your player and 320A (mono colored sprites) for the enemies and the character map. I think it would look great.
OK, here's some interesting thoughts to consider ...
First, what happens if we changed the color selection from the usual luma on one line and chroma on the other. I did this sample color palette up in my ICE font editor:
This is using Super IRG 2 mode, which basically blends two fonts full frame with color palette changes full screen to get an Antic 4/5 mode at 23 colors. Changing the colors every scanline is pretty much the same concept, but without the full frame flickering.
With the color palette I used above, you can unlock additional colors which are outside of the normal 256 color palette on the Atari. You can also get greys and off greys from blending colors on the opposite side of the color wheel. The above color palette looks very useful. I chose a variety of colors and luminances which allow for a wide selection of blending possibilities. This actually looks fairly close to the C-64 palette.
The other interesting thought: Could ICE be used to design fonts to be used in the PAL blending mode? The concept is the same, an Antic 5 font would have the same aspect ratio. We'd just have to rearrange the data. For example, here is the ICE format for Super IRG 2:
Byte 1: graphics mode identifier (2 for Super IRG 2)
9 bytes follow, arranged as such: BAK, PF0a, PF0b, PF1a, PF1b, PF2a, PF2b, PF3a, PF3b (the colors on alternate frames with a steady background)
1024 bytes of font a
1024 bytes of font b
We'd need to rearrange the font data to end up with two 1K fonts, of 128 characters each, each character being essentially 4x4 blended pixels.
I am attaching the .ATR for the font editor here, along with the sample font if anyone wants to have a play with it or see about displaying it in the PAL blending mode. From the ICE screen type "L" and load up the SCRPFNT2.ICE file that is in the zip file.
I would suggest looking at RevEng's 7800basic tool. It really is intuitive.
In theory you can have 8 sprites per zone but there are also other considerations such as DMA. If you keep the sprites in 160A mode you get more overhead on DMA. 160B mode allows 12 colors per sprite but eats up a lot of DMA so that they might not all get displayed.
I used the alternate palette and placed all the colors into a sort of blue-based monochrome setting. When used like this, you get basically a 9-step luminosity on your letters. I thought this one gave it a more cold futuristic steel look to everything.
Now for a challenge to any NES programmers: I triple-dog dare the NES to come up with a title screen display at even half this resolution with this many colors in it.
The first three letters of the title screen font. Each letter can have 9 colors + BG so I thought I would do a diagonal gradient. Keep in mind these letters will ultimately be 1/2 width in 320 pixel font, so they should look quite 16-bit! I may also draw these letters using the second palette in 320B, so that we get 9 totally different colors from the ones in the title graphic.
I had to redo it from scratch because I had the png scaled down to 320 pixels, when it really needed to be 256. Next step is to add in a 320B font of letters and numbers, at 10 colors per character. This should be fun.
Screenshot again please, Trebor.
Left Fire button will scoot past the title screen.
Very similar to the APAC mode on the 8-bit. 169 colors, with the drawback of halved vertical resolution, and the technique is more ideally suited to PAL. However, there are two ways to improve on this:
1. Using the character swap technique, combined with swapping the interrupts so that the chroma and luma lines are different each frame. This will cover the full vertical resolution.
2. Character swap without changing interrupts. This leads to near-true color resolution ... 91 colors x 25 lunas or 2275 colors at half vertical resolution. You use checker board dithering as above and only blend luminance within a step of each other.
Both of these techniques would only be useful in static displays like titlescreens, not for in-game graphics.
Still needs a lot of work. Tonight I am trying an experiment: Title screen in 320B mode. I think I may have a reliable means of doing this.
Firstly, like the above example, I want to make the title fit into 128 characters. This means that we can use 64 characters across in two lines, and because we are using single wide mode, each character is going to have 4 hi-res pixels wide. So we are looking at a charmap of 256x16 pixels to begin with.
Secondly, 320B means we can have 4 unique colors per character cell at 320 pixel resolution. But I am going to be using the same flicker technique used in the game on the title screen as well. This basically gets you 10 colors at 320 pixel resolution. So here are the ingredients:
1. The original graphic, which I created using an online text graphic utility:
2. Altirra Atari 8-bit emulator, using the Interlaced Character Editor, ICE IRG version. This is an Atari 8-bit utility for designing flicker characters using a 10 color 160 pixel mode, but the process is the same as in the 7800's 320B mode. What you want to first do, is select the Super IRG mode, then play with the colors in the Color Tuner, until you get a set of colors which closely match what is in the original graphic. Here is what I came up with:
Color pattern 00 is the background/transparent
Color pattern 01 is Red
Color pattern 10 is Yellow
Color pattern 11 is Blue
When you then mix the possible color combinations, you get a total of 10 unique colors. Take a look at the color palette bar in the screenshot below:
You will see the 16 possible color combinations, numbered in hexadecimal from 0 to F. Some colors are duplicated, this happens when you blend the same two colors on different frames. Here are the colors in the above palette:
Dark Red: 1 - 4
Dark yellow: 2 - 8
Dark Blue: 3 - C
Orange: 6 - 9
Purple: 7 - D
Grey: B - E
light Blue: F
Black, Red, Yellow, and Light Blue are solid colors which will not flicker. These are your primary colors from which the others are produced.
The interesting color here is Grey (B and E). This is not a true Grey, but a mixture of Blue and Yellow. Mixing colors on opposite sides of the color wheel will produce a grey.
For the others, when you design characters in these colors you must use a method called checkerboard dithering. For example: A solid color field of dark red will look like this:
1 4 1 4
4 1 4 1
1 4 1 4
4 1 4 1
1 4 1 4
4 1 4 1
1 4 1 4
4 1 4 1
This allows for an interlacing effect, which blends the colors better than full frame flicker.
3. Gimp editor
This is a crucial step. Once you have the color palette you want, save an ICE file from your emulator (I chose SCRAPER.ICE) to keep your color palette settings. Then screenshot the ICE editor in the Color Tuner, and cut out the top color palette bar, until you get this:
You will want to import this into Gimp, and export a 10 color palette from this image using Windows-Dockable Dialogs-Palettes.
Next, import the original title logo graphic into Gimp. I've found that when reducing this into 10 colors, the best method is the following:
Convert to Indexed using the preset "Web" palette
Resize the graphic to 256x16, using linear interpolation
Convert to Indexed using your 10 color Super IRG palette you made above.
This is the result:
Pretty close. The only color missing is Color F, light blue ... but that can be added in later in the process.
After saving this image, you want to set a grid on this. Grid the picture into character blocks of 4x8 pixels. You should get something like this:
The picture is now divided into 128 characters at 4x8 pixels, exactly the resolution we need. Now the real donkey work begins. Load ICE editor and configure your palette by reloading the SCRAPER.ICE font file you saved.
Now comes the hard work. You will have to copy over by hand, all 128 characters, using the GIMP image as a reference:
You will also notice I have a dithering pattern for all 6 blended colors, as a reference. Follow this pattern precisely in all characters, to ensure better blending of the colors and less full frame flickering. I am currently on this step. The next step, once you have all the characters drawn, is to turn off Frame Blending in Altirra, and to take two screenshots of the editor, one for each frame:
The area you are interested in now on each shot is the character set display, which you want to cut out precisely, until you get this:
The image must be precisely 32x4 characters high, down to the pixel. You then want to cut and paste until all 128 characters are in a single horizontal line, spaced precisely apart. Resize this down to a 512 x 8 pixel PNG, making sure no color loss has happened, then export your PNG. Repeat this process for frame 2. Make sure both have been indexed in GIMP down to 4 colors. You now have your source PNG files which can be imported into 7800Basic using your incgraphic command.
When flipping two character sets, each one must be placed in seperate blocks, seperated by a newblock command. Then during your title screen, you want code like this:
if cflip=1 then characterset scraper_title_1c
if cflip=0 then characterset scraper_title_1d
if joy0fire0 then clearscreen:goto startgame
This will cycle the character sets at 60 frames per second (50 for PAL) and blend the colors.
I am still in the middle of transcribing the graphic above. I am hoping for good results!
This method will work for designing characters using either 320B, or 160A mode, both of which permit 4 colors per character/10 blended colors. No means exist yet for designing in 160B, which allows 13 colors per cell, 91 colors in blended mode. The nearest thing would be using the ICE GTIA editor in Super 10 mode, but you would only be able to use 9 of the 13 colors to draw your graphic. Ideally, a color palette tool written for the 7800, coupled with the ability to make frameblended shots from MAME, would fit the bill perfectly.
Title screen works ... it still doesn't look legible yet but the colors are looking some better. There seem to be some errors in converting the colors from the original into 13 color 160B mode using GIMP, some of the 13 colors are being lost. It's going to need more work. The flicker mode used here, allows for 91 colors in the title display. It's full frame flicker right now, but I plan on doing some checkerboard dithering once I have it how I want it to look.
I may also throw in a 320B font for any text below the title screen. It will also be in flicker mode, so we should be able to get 10 colors per character cell at 320 pixel resolution, just like during the game. This will, I hope, give a 16-bit look to the title screen.
I might even go in and make the title screen 320 x 10 colors, just to see how it will look.
Trebor: Screenshot this on real hardware please.
Press fire to start the game after the title screen.