Jump to content
IGNORED

Work in Progress: Sky Scraper 2115


Synthpopalooza

Recommended Posts

Not very useful on their own.

 

320C requires that the first two columns of the 8x8 character use the first two colors of a palette, and the next two columns use the last two colors of a palette.

 

320D is interesting. It uses the same memory as 320A. Even columns get one color, odd columns get another. So by combining a character flip with a palette swap, in theory one can get a 4 color 8x8 320 pixel mode without the memory costs of using 320B.

Link to comment
Share on other sites

Latest update!

 

post-23798-0-17323600-1504761718_thumb.png

 

New in this version:

 

* Sound effects for player death, coin pickup, and block change. The block change sound differs on each level, and is based on the palette colors.

 

* Scoring and coin display is active for player 1. The coin display is also reflected in player 2. This is temporary. It also shows 3 lives left, but losing lives hasn't been added to the functionality yet.

 

I had to do some tweaking to the interrupt at the top. It seems we're limited to two palettes at a time at the risk of running out of DMA. :( I may be able to tweak this a little bit.

 

The score font and lettering fonts now look absolutely beautiful. I only have the letters for "PLAYER" designed, but I will add the rest later. I want to use this text font for the title screen, it is absolutely gorgeous.

 

I also noticed a glitch: Level 1 starts off with a player death for some reason. :(

 

Trebor: Screenshot on real hardware, please! Thank you ...

 

 

ramcharmap5b.bas

ramcharmap5b.bas.a78

ramcharmap5b.bas.bin

Link to comment
Share on other sites

Noticed something odd ... level 5, the Vault:

 

post-23798-0-82654000-1504761971.png

 

Something is wrong with the interrupt at the top ... :( the blocks aren't changing when they should. DMA cycles, or I am trying to change too many color registers.

 

Of course, stupid ProSystem emulator didn't catch this, but MAME did. I can only assume this happens in real hardware too.

 

EDIT: Quick fix ... had the interrupt end three lines earlier. Not a perfect fix, the top line of the blocks on level 5 are still colored blue. Hopefully a fix can be found.

 

Also, the silver blue motif is back for Player 1, and Gold for player two.

ramcharmap5b.bas

ramcharmap5b.bas.a78

ramcharmap5b.bas.bin

Edited by Synthpopalooza
  • Like 1
Link to comment
Share on other sites

Another small update:

 

post-23798-0-22149800-1505096033_thumb.png

 

This binary renders the rocketman and missle in the first palette set, which I have rendered as gold. This will be the color scheme used for the second player, when we have 2-player mode. This color scheme will also be used for a different type of missile in the game too.

ramcharmap5b-gold.bas

ramcharmap5b-gold.bas.a78

ramcharmap5b-gold.bas.bin

Edited by Synthpopalooza
  • Like 2
Link to comment
Share on other sites

OK, I tried to do a title screen:

 

Frame 1:

 

post-23798-0-14630800-1505447205.png

 

Frame 2:

 

post-23798-0-85605300-1505447233.png

 

It looks ok ... but when you press the fire button to go to the game, the man continues falling forever. :( bummer. Any suggestions on how I can fix this would be appreciated.

 

About the title screen: It's in 160B mode, but flickered. You get 91 colors per character cell. This is full frame flicker though. The flicker can be reduced through checkerboard dithering, which might require something a bit beyond my means ... but we will see.

 

Here was the original graphic ... which I converted using a free web logo designer.

 

post-23798-0-54250500-1505447065.png

 

 

ramcharmap5b.bas

ramcharmap3.bas.a78

ramcharmap3.bas.bin

  • Like 2
Link to comment
Share on other sites

OK,I still haven't fixed the title screen issues so I have taken it out for the time being. Latest version is here.

 

post-23798-0-90684200-1505705451_thumb.png

 

Bug fixes:

 

* Bug of player exploding on level entry has been fixed ... seems it had to do with the game triggering an explosion if the missile is not moving, which it would only do if it is in the same place as the player.

 

* Adrenaline pill has been implemented. It lasts about 5 seconds, during which time you can kill the missile and traps. Traps may be walked over and destroyed. Traps and the missile score 1000 points when destroyed. You can also fall on a trap and take off immediately as it is disabled. The missile will not respawn until your invincibility runs out. The player changes colors while invincibility is working. The player will also flicker in the last couple of seconds of invincibility, as a warning. I added the Adrenaline pill to level one for testing, but I will be taking it out in the final version of the game.

 

* Coin pickups now work properly and register on the scoring display.

 

The next step is implementing the "?" blocks and the teleports.

 

One bug still persists: The missile will glitch when it is beneath the structure if you are flying. Still haven't figured this one out yet.

 

Also a warning: The scoring display will not show properly under ProSystem. I recommend MAME or real hardware.

 

 

 

 

 

 

 

 

ramcharmap6.bas.bin

ramcharmap6.bas.a78

ramcharmap6.bas

  • Like 1
Link to comment
Share on other sites

Some progress tonight!

 

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.

ramcharmap6.bas.a78

ramcharmap6.bas.bin

ramcharmap6.bas

Edited by Synthpopalooza
  • Like 1
Link to comment
Share on other sites

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:

 

post-23798-0-60652600-1506486102.png

 

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:

 

post-23798-0-14546500-1506486320.png

 

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:

 

post-23798-0-98313200-1506486511.png

 

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:

 

Black/BG: 0

Dark Red: 1 - 4
Dark yellow: 2 - 8
Dark Blue: 3 - C
Red: 5
Orange: 6 - 9
Purple: 7 - D
Yellow: A
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:

 

post-23798-0-76940300-1506486898.png

 

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:

 

post-23798-0-99467000-1506487143.png

 

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:

 

post-23798-0-28080700-1506487445_thumb.png

 

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:

 

post-23798-0-32687500-1506488383_thumb.png

 

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:

 

post-23798-0-57268500-1506488596.png post-23798-0-42420900-1506488608.png

 

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:

 

post-23798-0-24377300-1506488805_thumb.png

 

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:

titleloop
  savescreen
  cflip=1-cflip
  if cflip=1 then characterset scraper_title_1c
  if cflip=0 then characterset scraper_title_1d
  drawscreen
  if joy0fire0 then clearscreen:goto startgame
  goto titleloop

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.

 

  • Like 1
Link to comment
Share on other sites

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.

 

There may be interest in this thread:

 

"The end result is 13 shades of 13 colours or a total of 169 colours in MARIA 160B mode."

 

From the discussion in the above linked thread, the noted result appears ideal under a PAL console/display, but still respectable under NTSC as well. There is a demo provided in the thread which is a part of Trebors 7800 ROM PROPack, if interested [See: Demo X (v1_01F) (20100423).a78].

  • Like 1
Link to comment
Share on other sites

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.

Edited by Synthpopalooza
  • Like 1
Link to comment
Share on other sites

OK, I have come across a conundrum ... I did a partial render of the title screen, based on what I have drawn. Two screenshots:

 

Prosystem:

 

post-23798-0-55396800-1506653990.png

 

MAME:

 

post-23798-0-23926800-1506654025.png

 

We seem to have a problem. Color patterns of Red+Red and Red+Black are not showing up. The bottoms of the letters should be showing red, but instead they are black. It seems to work with Prosystem but not MAME. Red is color pattern 01 (palette 1) in this case. Is there some quirk with 320B where color 1 and the BG cannot coexist in the same bitpair? If so, is there any workaround for this?

 

Again, the screenshots will not show the blending. A capture by Trebor on real hardware is necessary again. :)

ramcharmap6d.bas.a78

ramcharmap6d.bas.bin

Edited by Synthpopalooza
Link to comment
Share on other sites

I tweaked the color settings, by swapping colors 1 and 4 (red and yellow), and got this:

 

post-23798-0-40432300-1506655101.png

 

A bit of lookup in the hardware docs seems to say that colors 0 and 1 reference differing palettes somehow, and therefore cannot be in the same bitpair. How this works, I am unsure, but it seems solid yellow for the letter bottoms is going to be out, unless we can cheat a little bit. I think using red and yellow in the same bitpair might yield a solution, and TV artifacting might fudge the effect some. So the verdict is, 8 colors unlimited anywhere on the screen, but 00 + 01 or 01 + 01 ain't gonna happen unless stuck in bitpairs with one of the other colors.

 

 

ramcharmap6e.bas.a78

ramcharmap6e.bas.bin

Link to comment
Share on other sites

Success ... :)

 

Seems we have to enable something called Kangaroo Mode, whatever the heck that is ... all I know is it makes sprites blocky by turning off transparency ... but you also get to unlock those extra colors as well. Coolness.

 

So now, all 10 colors in this blended mode are freely usable. :) Trebor, please screenshot this for me and tell me how it looks.

 

CPUWIZ: Thanks ... still going to need to grab a power pack for my 7800 (my other one lost it's adapter head) and an RCA to Coax converter before I can fully develop ... so no real hurry on that yet. :) I may need new controllers too.

 

New screenshot and binaries:

 

post-23798-0-42187800-1506658158_thumb.png

ramcharmap6d.bas.bin

ramcharmap6d.bas.a78

Link to comment
Share on other sites

Excellent. But I think it can be improved. Going to try with 10 colors ... but consider this: The colors are striped horizontally ... so it may be that we can divide the top and bottom into two palettes, each with 10 colors, and have a 19 color logo on the title screen. It bears some consideration.

 

I am also going to have a font for text on the title screen as well. I am thinking either an interlaced 320B @10 colors, or the interlaced 320D ... There is a method I have in mind that involves color register swaps to get 8 palettes at 4 colors per character. We will see.

Edited by Synthpopalooza
Link to comment
Share on other sites

The title screen is now fully done:

 

post-23798-0-25467500-1507253623.png

 

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.

 

 

 

 

ramcharmap6d.bas.a78

ramcharmap6d.bas.bin

  • Like 1
Link to comment
Share on other sites

A preview:

 

post-23798-0-96832500-1507254921.png

 

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.

Edited by Synthpopalooza
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...