Jump to content
IGNORED

IntyColor error -more than 64 defined cards in color block x,y


Recommended Posts

Hi -

 

Anyone ever seen this error before?

 

I made a new background screen for yet another game I am working on (I now have 4 WIP games...lol) using the same template I have used before, but I am getting this error.

 

I get the same error 39 times, with various values for X and Y

 

more than 64 defined cards in color block 40,40

more than 64 defined cards in color block 48,40

more than 64 defined cards in color block 56,40

more than 64 defined cards in color block 144,40

 

then it goes to another set of like values..

more than 64 defined cards in color block 0,48

more than 64 defined cards in color block 8,48

etc.....

 

I can see the pattern here how it is referring to specific 8x8 grid  but don't know what this means. And I'm sure one fix will probably fix them all.

 

it's ironic given that I've made more detailed screens than this one just fine....lol

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Try tweaking your image a little bit so it uses fewer cards. Sometimes small changes make a lot of difference.

Maybe if you paste the picture here folks will give you some suggestions.

It can be trial and error at the beginning, but over time you will learn to anticipate issues like these.

Edited by cmadruga
Link to comment
Share on other sites

Yes, you definitely have exceeded 64 GRAM. The fact that you get the error 39 times might indicate that you have a lot of optimization/reduction work ahead of you, or you need to target the rare modded consoles with extra GRAM which we discussed a couple of weeks ago (not really a solution if you want anyone to be able to play the game).

 

The index numbers specify the X,Y coordinates for each BACKTAB position, here called a color block. You should probably be glad that you don't have more than 2 colours in either of those, as it would give you even more headache.

 

Perhaps you're having multiple cells that at first look alike, but shifted one pixel or something that is enough to require its own GRAM. Thus your comment about your previous screens were more detailed (different shapes). Trying to align lines etc to 8x8 patterns help a lot.

Link to comment
Share on other sites

The number of that particular error you get lets you know how many cards you're over by. If you're also creating a bin file for jzintv, then when it's only a few cards over the fastest way to figure out the issue is to just look at the image jzintv creates.

 

With the number of errors you have the entire image is probably out of alignment. I use a translucent layer of alternate colored 8 x 8 squares in photoshop to see in realtime what falls into each card space.

Link to comment
Share on other sites

3 hours ago, Black_Tiger said:

The number of that particular error you get lets you know how many cards you're over by. If you're also creating a bin file for jzintv, then when it's only a few cards over the fastest way to figure out the issue is to just look at the image jzintv creates.

 

With the number of errors you have the entire image is probably out of alignment. I use a translucent layer of alternate colored 8 x 8 squares in photoshop to see in realtime what falls into each card space.

Yes, I do the exact same thing.  There is an IntyColor demo and it contains a full template for a full sized screen 8x8 framed grid so you can see each card.

 

It's just odd because a lot of blocks are all 1 color filler. My title screen for my WIP game Marathon Quest seems like it is more complicated that this screen.

 

I guess what this is all means is that there is a limit to the DISTINCT number of 8x8 card color combinations the GRAM will support (must be 64), so you have to be careful and and recycle as often as possible.  I was very good about this until I got towards the center of the screen when I had to draw stuff freehand and didn't pay attention to where I was on any particular card.  I will go through it again and see if I can reduce the number of distinct cards (39...ugh).  I'll start with one and see if I'm on track.

 

if I still have trouble I will then post the image for you experts   :)

 

EDIT: Yeah, I made one small change and now the number is down 2 errors to 37

 

thanks all

 

PS:  As my avatar indicates, I am a HUGE fan of the game Nier.  I'm probably one of the few people that actually bought the game on day 1 back in 2010, kinda like God Hand...got that on release as well.   In any event, I just got the new secret ending 'E' in the Replicant remake and this one part of the game was worth the price of admission alone.  What a great game.  The sum of the part are certainly better than the whole. I totally get why a lot of people don't like the game but it just click with me....it came out a few months after my 1 and only daughter was born.

Edited by Mik's Arcade
Link to comment
Share on other sites

this wasn't so bad.

 

At the end of the day, I sacrificed some small details that nobody would notice or miss and got under the 64 card limit with over 10 to spare

 

thanks again everyone for checking in. The reason I keep plugging along is that I know there are so many people out here that can and will jump in on a seconds notice and give me advice.

  • Like 2
Link to comment
Share on other sites

7 hours ago, Mik's Arcade said:

I guess what this is all means is that there is a limit to the DISTINCT number of 8x8 card color combinations the GRAM will support (must be 64), so you have to be careful and and recycle as often as possible. 

That's the essence.

Don't forget bitmaps needed for sprites will "compete" for the same limit.

Another way to save is to use GROM.

Link to comment
Share on other sites

30 minutes ago, cmadruga said:

That's the essence.

Don't forget bitmaps needed for sprites will "compete" for the same limit.

Another way to save is to use GROM.

thanks.

 

This is good to know.  I think i'm around 56 out of 64 cards.  I might have to clean it up more because of course I'll be getting to sprites and this is the main gameplay screen. I just made an IntyColor version of an old 1980 arcade game. Right off the bat I know I can easily free up at least 3 more cards of GRAM.

 

I just compiled the screen and it looks good.....I've been working on multiple projects but this is the simplest in terms of gameplay so I am going to focus on getting this done from end to end.  My other games are right now too ambitious for my lack of experience so I am going small scale to start.  I am going to get all the screens and gameplay spites and objects done first and then get to gameplay. There is really only one other bonus screen for gameplay and it is way less detailed than this one. These rest are just screens for displaying game start and game ending text scenarios so those will be a piece of cake.

  • Like 2
Link to comment
Share on other sites

ok, here is another what I "think" is a softball question and related to IntyColor and PAINT.NET as opposed to IntyBasic:

 

I went into Paint.Net and created and 8x8 grid so I can make some simple BITMAPs with 2 colors each.

 

What setting do I need to use in order for it to treat the white blocks I am not using as no color as opposed to it treating it as a 3rd color of white?  I feel it has something to do with the layer properties, but I tried to create a layer and delete the background layer and get the same results.   The IntyColor demo is great but the example deal specifically with creating backgrounds as opposed to BITMAPS or SPRITES

 

The dumbest things hold me back....lol...thanks

 

 

 

Edited by Mik's Arcade
Link to comment
Share on other sites

On 6/2/2021 at 4:28 PM, Mik's Arcade said:

ok, here is another what I "think" is a softball question and related to IntyColor and PAINT.NET as opposed to IntyBasic:

 

I went into Paint.Net and created and 8x8 grid so I can make some simple BITMAPs with 2 colors each.

 

What setting do I need to use in order for it to treat the white blocks I am not using as no color as opposed to it treating it as a 3rd color of white?  I feel it has something to do with the layer properties, but I tried to create a layer and delete the background layer and get the same results.   The IntyColor demo is great but the example deal specifically with creating backgrounds as opposed to BITMAPS or SPRITES

 

The dumbest things hold me back....lol...thanks

 

 

 

Anyone use PAINT.NET?

 

I still can't figure this out.  It must be such a simple issue to fix.

Link to comment
Share on other sites

Sorry, I'm using Photoshop. When you mention the 8x8 grid, is that a guide inside the program so it isn't part of the actual image? In the end you'll export as 24-bit BMP but if you have multiple hues of white that are very close to eachother, possibly IntyColor identifies those as unique and balk out. You might want to reduce the image to 16 colours first and then resample as 24-bit RGB, or simply work in 16 colour mode all the way with a custom Intellivision like palette to make sure you only have unique colours.

Link to comment
Share on other sites

Hi -

 

What is funny is that PAINT.NET is very basic

 

There is a nice demo that shows how to make a full background picture. I used this template to make my Marathon Quest title screen that I added the music you were so kind to give me.  They even provide a template of all the Intellivision supported colors to use.

 

I've since made other screen backgrounds as well.

 

Now I am using it to make simple 8x8 objects and 8x16 sprites.

 

Before, I was making simple BITMAPS like

BITMAP  '...XX...'

BITMAP  '..XXXX..'

BITMAP  '..XXXX..'

BITMAP  '..XXXX..

BITMAP  '..XXXX..'

BITMAP  '..XXXX..'

BITMAP  '..XXXX..'

BITMAP  '...XX...'

 

As you know, this treats the '.' as transparent, or no color, and the 'X' as whatever color I set when I define it.  But, I want to have things use 2 colors. For example, I want to make the top and bottom of the BITMAP statement above 'blue' for all the X pixels and the middle 6 'red' for all the X pixels.

 

In PAINT.NET, I can create a simple 8x8 grid, use the color picker to select the blue and red colors, and then simply fill in pixels (1,4), (1,5) and (8,4), (8,5) as blue and then (2,3),(2,4),(2,5) (2,6) as red, and then repeat for rows 3-6.

 

Problem is, when I put this through IntyColor, I get the error that I am using more than 2 colors in an 8x8 grid.  It is treating (1,1) as the color white instead of transparent.  I don't know how to treat the '.' as transparent.  In PAINT.NET you can create layers, but it always needs a 'background' that seems to use white as the color for unfilled pixels. 

 

Seems like such as easy thing to resolve but I cannot for the life of me find a solution to this in PAINT.

 

 

 

 

 

Link to comment
Share on other sites

26 minutes ago, Mik's Arcade said:

image.thumb.png.f598be006fdc9ee42e2788992c44b40a.png 

 

 

for example, I want IntyColor to treat the unused pixels as transparent as opposed to white

There's only 2 colors in 8x8 square, the picture above have 3 colors.  So if you want 3 colors in a 8x8 square, pick red and white, and use MOB for the color black.

  • Like 1
Link to comment
Share on other sites

52 minutes ago, Kiwi said:

There's only 2 colors in 8x8 square, the picture above have 3 colors.  So if you want 3 colors in a 8x8 square, pick red and white, and use MOB for the color black.

 

this is where I get confused.

 

I only used black and red to make that character.  I don't want the 'white' blocks at all.  Is there any way to make white blocks transparent or otherwise make IntyColor ignore them?    I don't see any option to do so on the IntyColor side, so I was looking to see how I could address this in paint. I suppose I could just make 2 BITMAP statements in IntyBasic, define one for the black part and one for the red part and then marry them as a sprite, but figured IntyColor would be easier 

Edited by Mik's Arcade
Link to comment
Share on other sites

Each BACKTAB position consists of a background and a foreground colour. The dots in the BITMAP statement means that the background will shine through, while the X or any other symbol is used to for the foreground. It is not about two colours (plus background), it is one foreground plus background so Kiwi is right. You need to use white + red for the BACKTAB and possibly add a black MOB that is transparent except for the 8 pixels on top of it.

 

What you can do though is if you have a character that is two cards tall (i.e. 8x16 pixels), the upper 8 pixels can have one foreground/background and the bottom 8 pixels can have any other combo, with regards to whether you're using Color Stack or Foreground/Background mode.

Link to comment
Share on other sites

4 hours ago, Mik's Arcade said:

 

this is where I get confused.

 

I only used black and red to make that character.  I don't want the 'white' blocks at all.  Is there any way to make white blocks transparent or otherwise make IntyColor ignore them?    I don't see any option to do so on the IntyColor side, so I was looking to see how I could address this in paint. I suppose I could just make 2 BITMAP statements in IntyBasic, define one for the black part and one for the red part and then marry them as a sprite, but figured IntyColor would be easier 

Are you confusing MOBs (the 8 moveable sprites) with the background cards?

The paint.net tutorial is for creating backgrounds and each 8x8 square can only have 2 colors.

Mobs are single color and if using paint.net and intycolor use a black background and color the active pixels white. then you change the color with the sprite command.

if I'm interpreting your image properly you are trying to do a 2 color sprite which requires 2 separate overlaid sprites

Link to comment
Share on other sites

4 minutes ago, Tarzilla said:

Are you confusing MOBs (the 8 moveable sprites) with the background cards?

The paint.net tutorial is for creating backgrounds and each 8x8 square can only have 2 colors.

Mobs are single color and if using paint.net and intycolor use a black background and color the active pixels white. then you change the color with the sprite command.

if I'm interpreting your image properly you are trying to do a 2 color sprite which requires 2 separate overlaid sprites

Yes, I am doing it wrong...lol.

 

Thanks carlsson and Kiwi

 

This solves my problem but is more cumbersome than I thought!  I guess with practice this will become second nature.

 

Bottom line: creating BITMAPS and SPRITES is not the way to go in Paint. I'll stick to just making background screens with it.  I can at least draw them there so I can plan out the BITMAPS for the sprites.

 

but thanks all, because I learned something I was clearly confused about.  This also solves the problem I had in my other game as well.

 

It should be easy enough to turn that Red Ninja into 2 BITMAPS and test it out as a SPRITE, I'll report back later....lol

 

Edited by Mik's Arcade
  • Like 2
Link to comment
Share on other sites

3 hours ago, carlsson said:

Is the ninja supposed to move around freely anyway? Then you'll probably implement it as 2 MOBs on top of eachother, each having one foreground and transparent against the white background, or whichever character you have on the BACKTAB.

yes, you are correct.

 

I guess the bottom line here is that I have to learn a lot more about MOBs, so this will get it done. This is actually the first time I have tried to make a spirte (MOB) more than one color.  Everything I learn makes the next game easier....haha

Edited by Mik's Arcade
Link to comment
Share on other sites

As a rule of thumb, everything (*) on the Intellivision is single coloured. For stationary items on the BACKTAB, each 8x8 cell has a foreground and a background. For moving objects as MOB, each of those have a foreground and then anything on the BACKTAB will shine through in the background. Remember that MOBs can be 8x8 or 8x16 pixels, and expanded horizontally and vertically, but regardless of those settings it still is only one colour and you need to put multiple on top of eachother to get the effect of otherwise.

 

(*) With the possible exception of the colored squares mode that is a variant of the color stack mode, but the colored squares have a resolution of 2x2 per cell anyway.

Edited by carlsson
Link to comment
Share on other sites

In fact you can create sprites using Paint .Net in a strip of (let us say) 256x16 pixels.

 

And then convert this to BITMAP statements by means of IntyColor options -d -b -i2

 

These options instruct IntyColor to process the bitmap in chunks of 16 pixels high (the way the Intellivision handles 16-pixel high sprites).

 

I tend to draw the sprites in white and keep the background black.

 

For muticolor sprites you need to do it manually. Still you can use Paint.net but then separate the two color sprite in two separate sprites with a single color each.

 

Edited by nanochess
Link to comment
Share on other sites

2 hours ago, Mik's Arcade said:

yes, you are correct.

 

I guess the bottom line here is that I have to learn a lot more about MOBs, so this will get it done. This is actually the first time I have tried to make a spirte (MOB) more than one color.  Everything I learn makes the next game easier....haha

 

I use Paint Shop Pro for graphics. For a multicolor MOB, I draw what I want in a single image with a black background. Then for example if my object has brown and yellow and green (which is 3 MOBs), I use the color-replacer tool to first replace brown and green with black, save it, then undo/undo, and replace the other two colors, and then do it a 3rd time. Then in IntyBASIC code I work them together.

 

I also use Paint Shop Pro because it has the notion of overlaying a grid on top of any image, so I can set 8x8/16x16, whatever. This comes in pretty handy to make sure I am using as few shapes as possible. I'm working a bit on a "Super Pro Baccarat" game, and overflowed the 64 GRAM limit because I had moved some items one pixel off, so the Inty counted that as separate shapes.

 

image.thumb.png.4392fdfe4f5cb6c94049e68742649084.png

 

I took the image and then did this with IntyColor:

 

intycolor -s0404 -b bc.bmp bc.bas bacctest

Edited by First Spear
Link to comment
Share on other sites

5 minutes ago, First Spear said:

I also use Paint Shop Pro because it has the notion of overlaying a grid on top of any image, so I can set 8x8/16x16, whatever. This comes in pretty handy to make sure I am using as few shapes as possible. I'm working a bit on a "Super Pro Baccarat" game, and overflowed the 64 GRAM limit because I had moved some items one pixel off, so the Inty counted that as separate shapes.

In that image, Intycolor would have to add the Orange PLAYERS and the light blue 1234 to GRAM cards since GROM foreground colors can't use the pastal color set.

  • 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...