Jump to content
IGNORED

Little Computer People (largely passive/screensaver)


rsiddall

Recommended Posts

I wouldn't use this as a real screensaver but it think it's fine in short viewings (use at your own risk).

My take on the C64 program written in the standard kernel with 4K.

 

Rooms will randomly appear as you character wanders throughout the house. He'll go up stairs and through doors to reach the different stories.

I've included a couple of surprises, so you'll have to watch as your little guy discovers the secrets.

 

Pressing the fire button will allow you to "tap" the glass and say hello to your new friend.

 

Colors are done in the emulator, so they won't look really good on real hardware.

 

Enjoy!

Little_ATARI_People.bin

  • Like 9
Link to comment
Share on other sites

@Gemintronic Thanks! 

 

I'd love to have you believe he's actually going towards a specific room, but it's more simple than that...

I've got a variable set for movement along the x-axis only and another random variable for changing direction.

If he "wanders" into a specific location, i.e. the stairs, he'll only go up and to the next floor.

 

I don't know if this causes some anxiety, because a lot of times he'll be right up on one of the rooms and then turn and walk away. So, anyone wanting to see everything will probably have to invest at least 4 minutes of their time. ?

 

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

3 hours ago, Gemintronic said:

One idea is to use a supercounter to keep track of a day/night cycle.
 

main

 counter = counter + 1 : if counter = 255 then supercounter = supercounter + 1

 

Say, if the supercounter reaches 127 then it's nighttime.  It doesn't have to be accurate in real time to be functional.

Cool! I was considering doing something like that but it will push me into a larger rom (8k). I think your idea along with the background kernel option would make this possible. Was also looking at being able to choose your skin color - maybe 'Select' switch or "up/down" on the joystick.

  • Like 1
Link to comment
Share on other sites

9 hours ago, Gemintronic said:

One idea is to use a supercounter to keep track of a day/night cycle.
 

main

 counter = counter + 1 : if counter = 255 then supercounter = supercounter + 1

 

Say, if the supercounter reaches 127 then it's nighttime.  It doesn't have to be accurate in real time to be functional.

@Gemintronic

 

Well, the day/night suggestion does work but I have to lose my green yard (I'm using the "SC_Back" mini-kernel to turn the score line into an extra playfield line). The two do not get along well...as in, the background color will not change if the SC_Back is in my code.

 

I've basically divided each of the floors into 3 playfield heights - which is why the top doesn't have a complete roof. The green yard is me fudging an extra line. ?

 

I have, however, turned the rom into 8K and added a few different skin tones. 

You will need to use the "Select" switch to cycle through the colors.

 

Little_ATARI_People2.bin

Edited by rsiddall
  • Like 4
Link to comment
Share on other sites

In R.T.s batari command reference he has a snippet of code that puts a background color on the score area.  Maybe instead of black you could change that to green.  That would give you a "lawn": below the house.

https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#kernop_background

 

Black in this case is that #$00  Change that to, say #$C8

 

This code need to be at the end of all your other code.  In effect it's a mini kernel inside your code instead of in a file in your project folder.

 

   ;***************************************************************
   ;
   ;  Puts the color black behind the score.
   ;
   asm
minikernel
   sta WSYNC
   lda #$00
   sta COLUBK
   rts
end

 

  • Like 1
Link to comment
Share on other sites

On 4/28/2022 at 4:50 PM, Gemintronic said:

In R.T.s batari command reference he has a snippet of code that puts a background color on the score area.  Maybe instead of black you could change that to green.  That would give you a "lawn": below the house.

https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#kernop_background

 

Black in this case is that #$00  Change that to, say #$C8

 

This code need to be at the end of all your other code.  In effect it's a mini kernel inside your code instead of in a file in your project folder.

 


   ;***************************************************************
   ;
   ;  Puts the color black behind the score.
   ;
   asm
minikernel
   sta WSYNC
   lda #$00
   sta COLUBK
   rts
end

 

That's what I'm using. ?

Unfortunately, it's what stops the colors from cycling using your counter code.

 

If I remove the minikernel, night and day happen minus the pretty green lawn.

 

@Gemintronic

 

Edited by rsiddall
  • Sad 1
Link to comment
Share on other sites

You could display the furniture for only the current room the computer person is in.

 

Also, in some rooms you could split furnishings up so that one room has floor level and another has above the player regions.  That way you could have two rooms that never cause eachother to flicker because their sprites are never on the same horizontal plane.

 

Think of virtual sprites like a totem pole.  It's all one real sprite but drawn in separate horizontal bands.  The reason there's flicker is that when two virtual sprites are on the same horizontal band they must timeshare:  show one then the other next frame.

  • Like 1
Link to comment
Share on other sites

It doesn't flicker too terribly on the real hardware...just have to deal with my poor color choices.

 

On some of the emulators, the phosphor option (2600.emu) really handles the flicker well with no motion trail on the moving sprites. Anyhoo...I appreciate the suggestions. Will continue to tweak things. ?

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

On 5/8/2022 at 8:44 PM, rsiddall said:

Added a few more things...

Looking good, love the addition of the dog! You could almost turn this into a Tamagotchi type game where you have to keep your character alive & happy with them eating, sleeping, cleaning etc..  and it could even go meta where your character has to keep the DOG alive and happy with food and walks!

 

20 hours ago, Gemintronic said:

You could display the furniture for only the current room the computer person is in.

That would be good to reduce the flickering and it would also make logical sense too. That way it's like the computer person is going into the room and turning the light on to see what's in there every time they go in.

 

- James

  • Like 2
Link to comment
Share on other sites

10 hours ago, ZeroPage Homebrew said:

Looking good, love the addition of the dog! You could almost turn this into a Tamagotchi type game where you have to keep your character alive & happy with them eating, sleeping, cleaning etc..  and it could even go meta where your character has to keep the DOG alive and happy with food and walks!

 

That would be good to reduce the flickering and it would also make logical sense too. That way it's like the computer person is going into the room and turning the light on to see what's in there every time they go in.

 

- James

Thanks James!

 

Kind of headed in that direction (at least with the dog eating). ?

I'm a little bummed since the whole point of moving over to DPC was to have everything visible.

 

Here's a small update. Dog has a bowl and will eat if he's nearby.

You can select from a small set of skin colors and interact with your new friend by hitting fire button to say "Hi".

 

Furniture has been updated, too.

 

LC_DPC-2.bin

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

5 hours ago, ZeroPage Homebrew said:

It looks like if you move the clock up a touch and the shelf down you can fit it all in without flicker. Check out the photoshopped screenshot below.

 

 

I tried your suggestion but it didn't seem to make a difference? Flicker continued even when the clock and shelf were moved to keep from "overlapping". I'll continue to tweak as I populate the rest of the rooms.

 

Here's another small update. Dog has been adjusted to eat more when closer to bowl.

 

I did notice that the flicker is less pronounced on my 60Hz monitor. And again, not noticeable on real hardware (or very slight). So I may continue in the hope of this just running on an Atari vs. emulation. I'd still have to tweak colors to look their best.

 

Few other things have been added...enjoy!

LC_DPC-3.bin

LC_DPC-3_1.png

Edited by rsiddall
Link to comment
Share on other sites

Another update.

 

All rooms are populated.

Clock is gone (I'm bummed) to keep flicker down.

I have tried to keep no more than 2 background on each floor (not including your avatar and dog).

 

Will now start working on animating the backgrounds.

 

I've dropped my LG monitor resolution from 75Hz to 60Hz to minimize the flicker (feels more like it's vibrating).

I tried 50Hz to see if that helped, but it's actually worse than the 75Hz.

 

Again, looks good on real hardware and my Samsung LED tv.

 

LC_DPC-4.thumb.png.9a1cdb5dc0fcbda085436d63d17ad32d.png

LC_DPC-4.bin

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