Jump to content
IGNORED

Any way a single playfield line can be multi colors without flicker?


Words Fail

Recommended Posts

I would like a square border around the screen.. and in the middle I am drawing playfield elements. The border should be blue. The middle elements I am drawing should be light blue to start off. Is this possible or am I stuck to only one color per line?

 

Currently my options are 8kSC

pfres=24

pfcolors no_blank_lines background

 

My options so far:
 

1 - No borders at all.. I still might go this route. But I'd kind of like so you know you're confined to a certain area.

 

2 - Top and bottom border only.. this is kind of cool and I can do it in two different colors.

 

3 - Borders on all sides, but then middle playfield cannot be a second color.

Link to comment
Share on other sites

It might be helpful if I could see a visual of what you are trying to do. The short answer is that using bB you can only have one playfield color per line, unless you set CTRLPF to split color mode (half of the playfield is colored with COLUP0, and the other half with COLUP1), which doesn't sound like it would be helpful to you.

 

I notice though that you aren't using the pfcolors option, but background. Depending on what else you are doing, you can make the border out of playfield, and, have the middle "playfield" be whatever you set your background row colors to.

 

Edit: Since you set pfres to a value greater than 12, can I assume that you are also using superchip RAM?

Link to comment
Share on other sites

Without giving my game idea away I'll make you an example, but your reply says it's not possible to do what I want. I was just thinking with some kernel options of some sort I could. See image here:

See border (playfield) is blue, background is black, and playfield is light blue.

 

 

atari.png

 

I need that playfield to be a different color than the border.. so my option is either remove the side borders, or remove the border completely.

Edited by Words Fail
Link to comment
Share on other sites

If you switch to assembly you'll have more flexibility and can do things to get extra playfield colors on each scanline. As an example in Medieval Mayhem the kings in the corners and the castle walls are all drawn using the playfield. On the scanlines with the kings the playfield is drawn using 3 different colors.

 

If you're interested I wrote a tutorial that walks you through writing a complete game in assembly.

 

image.thumb.png.d6a42cbb66b6a3533922311349a35f46.png

 

image.thumb.png.d19350e17c864607846f51a4dd5e9d78.png

 

 

 

  • Like 1
Link to comment
Share on other sites

12 minutes ago, SpiceWare said:

If you switch to assembly you'll have more flexibility and can do things to get extra playfield colors on each scanline. As an example in Medieval Mayhem the kings in the corners and the castle walls are all drawn using the playfield. On the scanlines with the kings the playfield is drawn using 3 different colors.

 

If you're interested I wrote a tutorial that walks you through writing a complete game in assembly.

 

image.thumb.png.d6a42cbb66b6a3533922311349a35f46.png

 

image.thumb.png.d19350e17c864607846f51a4dd5e9d78.png

 

 

 

Thanks, but no thanks. The reason I (and other people) are here are because we may not have what it takes to learn ASM. I've tried in the past, and I get lost. I hate reading alone and don't have patience for some of it.

 

For example, when I look at a bB code I see "oh there's a title screen" and "oh there's a player character". When I look at ASM I don't recognize anything familiar like if I wanted to hack a player sprite into something else by coding (not hex editing).

Link to comment
Share on other sites

4 hours ago, Words Fail said:

Without giving my game idea away I'll make you an example, but your reply says it's not possible to do what I want. I was just thinking with some kernel options of some sort I could. See image here:

See border (playfield) is blue, background is black, and playfield is light blue.

Okay, so you can't do what you are wanting directly. Depending on the width you need for your border, you may be able to fake it. Set the top and bottom playfield lines to the desired color as you had mentioned, then set the color of your one remaining missile to the same color via COLUP1. Set NUSIZ1 = $24 to have 4-pixel wide missiles, two copies, wide spacing, and set missile1height to 88 or whatever you need. Experiment with placement relative to your playfield lines to form a box, then figure out if that will be big enough for what you need. Let me know if you would like a quick code sample.

Link to comment
Share on other sites

34 minutes ago, Karl G said:

Okay, so you can't do what you are wanting directly. Depending on the width you need for your border, you may be able to fake it. Set the top and bottom playfield lines to the desired color as you had mentioned, then set the color of your one remaining missile to the same color via COLUP1. Set NUSIZ1 = $24 to have 4-pixel wide missiles, two copies, wide spacing, and set missile1height to 88 or whatever you need. Experiment with placement relative to your playfield lines to form a box, then figure out if that will be big enough for what you need. Let me know if you would like a quick code sample.

 

Thanks! I hadn't thought of that. I understand, and don't need the code for it. The problem is I'm gong to need that missile. In fact.. I have to take out no_blank_lines because I need both missiles.

  • Like 1
Link to comment
Share on other sites

If you check out that link in the other post I provided for my game Lawn Boy I made a border. I can’t look exactly how I made it but if I remember correctly I use the PF0 borders, change the background color of the score, and the color of the top row to the same color. I cannot remember the exact kernel settings I used. I could check in the morning.

Link to comment
Share on other sites

Also, if you want to have 2 missiles but can’t seem to make other options work for you, you could flicker the missile you do have. 
 

In my current project I was messing with I use Super Chip and I think same pfres as you. To flicker the missile I basically use some Superchip variables to store the values of the coordinates and then have the missilex or missiley equal that variable, make my movement, and then write to those variables when done. Then on the next frame I pull up coordinates using a different set of variables. 
 

The example you showed had black background so with a flicker it may not look that bad. 
 

Link to comment
Share on other sites

On 12/3/2022 at 2:06 PM, Words Fail said:

Without giving my game idea away I'll make you an example, but your reply says it's not possible to do what I want.

 

Somewhat off topic, but is that a realistic risk in the retrogames homebrew community?  I mean no disrespect and am relatively new to the scene so I'm genuinely asking if that has happened here before.

Link to comment
Share on other sites

1 hour ago, LatchKeyKid said:

 

Somewhat off topic, but is that a realistic risk in the retrogames homebrew community?  I mean no disrespect and am relatively new to the scene so I'm genuinely asking if that has happened here before.

All the time. Programming for old systems usually involves having to make compromises or find alternate solutions to to what you want due to limitations of the system or programming environment. Thinking of clever ways to do things differently and work around these limitations is part of the fun of the process.

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Karl G said:

All the time. Programming for old systems usually involves having to make compromises or find alternate solutions to to what you want due to limitations of the system or programming environment. Thinking of clever ways to do things differently and work around these limitations is part of the fun of the process.

I think he meant, that game idea was "stolen" here.

 

  • Like 1
Link to comment
Share on other sites

30 minutes ago, Al_Nafuur said:

I think he meant, that game idea was "stolen" here.

 

Correct.  Admittedly the OP at most implied it rather than flat out stated it but I was curious if there was a history of that in the homebrew scene though admittedly I could just be inferring too much and he meant ruining a "surprise" instead. 

Link to comment
Share on other sites

I'm confused by the responses. I'm not saying I have a million dollar idea, but let's say I did. Would I go around telling the whole world about it before I patent it or something and then someone steals my idea? 

 

Anyway, my game is similar to another game that's already out there, but different. My game might not be as good as the one out there.. but it adds some more features such as a boss and tons more levels.

Link to comment
Share on other sites

17 minutes ago, Words Fail said:

I'm confused by the responses. I'm not saying I have a million dollar idea, but let's say I did. Would I go around telling the whole world about it before I patent it or something and then someone steals my idea? 

I don't think that anyone is intending to criticize you for not sharing details of your idea or anything like that. I just think it happened to inspire an interesting side discussion.

Link to comment
Share on other sites

I find the debate of whether or not to share interesting and one I had thought about. Part of me thinks it is important to keep some sort of proprietorship over an idea but at the same time the Atari community seems to be heavily built on the open cooperation of others, with each game or advancement built on the last. 
 

I started making bB games but that wouldn’t have been possible without someone making bB. Or Visual bB. Or the various kernels. Or explaining how things work. The balance I found was that I try to figure out certain things on my own but when I get stumped I would post my code on the forums for help. Sometimes they may reveal gameplay elements or a certain direction I was going. Other times it may have just been some thoughts I was working out or some experimentation. 
 

I had found it particularly interesting when I may see someone who may take a different direction then me (or vice versa) or if I have a different approach to a problem. 
 

In some of my other game design groups I had seen some idea poaching, but then I had found that those groups tended to have different motives than Atari, which has a more community hobbyist feel. So either direction people take, I look forward to the finished result. 

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