Jump to content
IGNORED

the official Channel F thread!


Recommended Posts

14 hours ago, lazzeri said:

Channel F homebrew scene is on warp speed!

 

It’s getting hard to keep up! ?

To be fair, historically you could probably check every leap year and not find anything new :P But really good to see other developers on it. I hope to join them one day...

  • Like 1
Link to comment
Share on other sites

Spent a whole lot of time cleaning things up and making them look better. I added the food falling down, but no collision detection yet. I decided this time instead of a well, Zyx could be on an island in the middle of the Green Sea. You've never heard of the Green Sea? It's right next to the Red one.

zyx3.png

zyx3.bin

  • Like 2
Link to comment
Share on other sites

Anyone come across a bug in the blit function when the background colour is set as clear ($FF) and the first pixel is clear?

 

It seems that by skipping actually outputting the pixel, but having output the row and column to the ports, I occasionally get a phantom pixel appearing near the left edge of the screen when the first solid pixel is drawn. 

 

It also seems to be related to recent joystick activity - I draw my sprite regardless of whether it's moved, but the corruption only happens if I press a joystick direction, even if the sprite isn't moving and has already been successfully drawn the previous time around the game loop. 

EDIT: Simple fix! Save the column value after the outs 4 to R0, then instead of doing ins 4 just load back in from R0. I assume this hasn't come up before because port 4 is joystick 2 and that's what I've got my controls set up on....

 

Edited by Arlasoft
Link to comment
Share on other sites

It's technically a game now. There is a score, and a way to die, so it's technically a game. But I need some ideas on how to make the game play better. I tried.

  • speed of food falling down randomly varies.
  • cauliflower moves left to right (or right to left). The key is not to get hit by it. When it lands, it still moves horizontally until it moves off the island.
  • missing a blueberry or getting hit by a cauliflower costs you a life.

zyx6.bin

Link to comment
Share on other sites

31 minutes ago, Arlasoft said:

Anyone come across a bug in the blit function when the background colour is set as clear ($FF) and the first pixel is clear?

 

It seems that by skipping actually outputting the pixel, but having output the row and column to the ports, I occasionally get a phantom pixel appearing near the left edge of the screen when the first solid pixel is drawn. 

 

It also seems to be related to recent joystick activity - I draw my sprite regardless of whether it's moved, but the corruption only happens if I press a joystick direction, even if the sprite isn't moving and has already been successfully drawn the previous time around the game loop. 

EDIT: Simple fix! Save the column value after the outs 4 to R0, then instead of doing ins 4 just load back in from R0. I assume this hasn't come up before because port 4 is joystick 2 and that's what I've got my controls set up on....

 

I have had that problem, rearranging the graphics or plotting a pixel has been a way to get around it, Chris had some of it in Golf, pixels showed up at the far left - mostly outside the visible area (unless the TV shows that far). 

Have never looked for why as it rarely has happened. Is the outs/ins fix related to the blit function?

 

 

Link to comment
Share on other sites

28 minutes ago, e5frog said:

 Is the outs/ins fix related to the blit function?

 

 

Yeah, when it moves onto the next column it just reads the previous value back in from port 4 and then moves the accumulator along one. So it looks like if you don't actually end up plotting that pixel it is then reading a joystick value back from port 4 instead. So what happens is the entire first row isn't drawn in the right place - I assume most of the time the pixels are not visible but if my sprite is near the corners of the screen some of them are.

I saw this before on the very first blit operation after my game started if I used a 'clear' background, and that must have been because I had just pressed fire to begin.

 

Edited by Arlasoft
Link to comment
Share on other sites

I've been working on a port of Centipede for the last week or so, in between changing newborn nappies. It's ready for testing, the only things left to add/fix are:

  • Flea should be two hits to kill and double its speed on first hit
  • Delete fleas and scorpions from playfield when you die or complete a wave
  • Sometimes centipede bodies are orphaned from a head
  • A little tune when gaining an extra life
  • Prevent score digits occasionally going above 9

 

Other than that the gameplay should be pretty close to the rules here: https://www.ign.com/articles/2003/10/17/arcade-smash-hits-general-faq-455360

 

Intentional differences due to laziness:

  • Poisoned mushrooms give 10 points per hit instead of 5
  • When a centipede reaches the bottom of the screen, instead of heading back up the screen he will re-enter the screen at row 13.
  • At this point there is also a chance a new head will spawn at the top of the screen, rather than a 100% chance of one spawning at the bottom

 

Let me know if you come across anything else!

centipede.bin

  • Like 2
Link to comment
Share on other sites

29 minutes ago, Arlasoft said:

I've been working on a port of Centipede for the last week or so, in between changing newborn nappies. It's ready for testing, the only things left to add/fix are:

  • Flea should be two hits to kill and double its speed on first hit
  • Delete fleas and scorpions from playfield when you die or complete a wave
  • Sometimes centipede bodies are orphaned from a head
  • A little tune when gaining an extra life
  • Prevent score digits occasionally going above 9

 

Other than that the gameplay should be pretty close to the rules here: https://www.ign.com/articles/2003/10/17/arcade-smash-hits-general-faq-455360

 

Intentional differences due to laziness:

  • Poisoned mushrooms give 10 points per hit instead of 5
  • When a centipede reaches the bottom of the screen, instead of heading back up the screen he will re-enter the screen at row 13.
  • At this point there is also a chance a new head will spawn at the top of the screen, rather than a 100% chance of one spawning at the bottom

 

Let me know if you come across anything else!

centipede.bin 7.5 kB · 1 download

Wow, this is very playable. I'm still using Mess0210b - the only issue I noticed is that a new level seems to always start with a one tile centipede in addition to the full one. I'll test it again later to be sure in case its just "leftover" from the past level, but think its generating it as extra.

 

Also tested Trees and Tents past lv 20, on lv 26 at the moment.

 

Would any of the Channel F crew be willing to do a tutorial on how to get something functional one day? I feel like I'm nearly there but could really do with some help to get enough to make a "game" running.

 

Private tuition maybe? XD

Link to comment
Share on other sites

9 minutes ago, Mikebloke said:

Wow, this is very playable. I'm still using Mess0210b - the only issue I noticed is that a new level seems to always start with a one tile centipede in addition to the full one. I'll test it again later to be sure in case its just "leftover" from the past level, but think its generating it as extra.

 

Also tested Trees and Tents past lv 20, on lv 26 at the moment.

 

Would any of the Channel F crew be willing to do a tutorial on how to get something functional one day? I feel like I'm nearly there but could really do with some help to get enough to make a "game" running.

 

Private tuition maybe? XD

Thanks! That is intentional and follows the arcade version, in wave one you should get a 12-pod centipede. Then 11-pod and 1 lone head, 10-pod and 2 lone heads and so on, until just 12 heads. Then it goes the other way until you're back to a 12-pod centipede again.

As for tutorials, I've been thinking of writing a book for a while, and one about the history and how to program the Channel F would appear to be as pointless and niche an endeavour as any!

Edited by Arlasoft
  • Thanks 1
Link to comment
Share on other sites

1 minute ago, Arlasoft said:

Thanks! That is intentional and follows the arcade version, in wave one you should get a 12-pod centipede. Then 11-pod and 1 lone head, 10-pod and 2 lone heads and so on, until just 12 heads. Then it goes the other way until you're back to a 12-pod centipede again.

As for tutorials, I've been thinking of writing a book for a while, and one about the history and how to program the Channel F would appear to be as pointless and niche an endeavour as any!

Ahhh, intentional! ok never mind then, I did wonder when I got to level 3 and thought there was 2 'lone heads' Clearly I haven't played the arcade version!

 

It runs very nicely, and Centipede was one of those 2600 games I could play for silly amount of hours...

Link to comment
Share on other sites

1 hour ago, Mikebloke said:

Would any of the Channel F crew be willing to do a tutorial on how to get something functional one day? I feel like I'm nearly there but could really do with some help to get enough to make a "game" running.

You just need an assembler. I use DASM.

Link to comment
Share on other sites

OK, I misunderstood what you said. I thought you hadn't tried to assemble your code.

 

I worked on Zyx some more. Now you need to press fire to open the zyx's mouth. If you try to eat a blueberry without doing this, it will fall down his back and cost you a life. I also made a few graphics changes.

zyx8.bin

Link to comment
Share on other sites

13 hours ago, Arlasoft said:

I've been working on a port of Centipede for the last week or so, in between changing newborn nappies. It's ready for testing, the only things left to add/fix are:

  • Flea should be two hits to kill and double its speed on first hit
  • Delete fleas and scorpions from playfield when you die or complete a wave
  • Sometimes centipede bodies are orphaned from a head
  • A little tune when gaining an extra life
  • Prevent score digits occasionally going above 9

 

Wow, this is super-impressive! Wow. 

High score? If you're using the Chess RAM anyway... 
Super impressive! You should take donations and requests - and write all future Channel F games!

I'm not worthy... I'm not worthy... 

 

Link to comment
Share on other sites

Centipede body part appeared suddenly, lower than the moving centipede, if shooting it the shot just passes and clears the area. 
Dying leaves blue pixels. 
The red/blue spidery thing stopped when I shot a red/green block while it was moving around, frozen on screen, maybe it's supposed to?  When shooting the frozen "spider" it just clears the area as the shot passes. 
When at the far left a red/green block appeared out of thin air twice, about at the top edge of the (for the shooter's) reachable area,
Shots on the still green/red blocks sometimes turn into a centipede body part when you hit the last time.
Shots near a block sometimes clear the side of a block and leaves it that way until hitting it head on. 
Score is too far right to be completely visible on a standard adjusted CRT TV (could be vertical?). 
I'm missing a high score, I got 26000+ and I happened to hold the button and missed screen grabbing so I could brag about it - please wait for a button release before waiting for a button push. 

... and your mama is ugly.  
(Kidding! - I see it was a lot, just trying to help)


(I made a faster version of Pac-Man that has the score vertically, I was also working in the eyes they're supposed to have as well as improving the tunneling - then I dropped the ball. Still have a faster version though with vertical score and a little better tunneling. There was much room for speed improvement so at this time it would probably be an idea to add the speed differences from the original.

When I wrote Cannibal Slug Battle I had problems with collision detection, some RAM write/read problem now and then, didn't figure it out. It could collide "randomly" without an obstacle or not collide with the dot it was supposed to collide with. I wanted a large play surface and tried to use all memory - so I ended up with nibbles for one dot, got tricky to handle. Now that I know better though I can just add more memory - maybe sometime I'll revisit it. Biggest problem is that MESS's locked in RAM at $2800 - and you can't set more RAM. I'll ask the developers...).  

 


As this is a shooting game, pushing controller down gets cumbersome after a while and I think it's harder to steer when pushed down. Adding twists and pull as fire as well would allow for faster shooting (maybe you already have, I just hooked up a TAC-2 for now (no twists nor pull available).
Twisting needs a lot less force than push/pull, but there's perhaps no reason to _not_ allow for those for movements to register as fire.

Again - fantastic achievement!

Link to comment
Share on other sites

1 hour ago, e5frog said:

Wow, this is super-impressive! Wow. 

High score? If you're using the Chess RAM anyway... 
Super impressive! You should take donations and requests - and write all future Channel F games!

I'm not worthy... I'm not worthy... 

 

Thanks very much, means a lot coming from one of the authorities on the Channel F!

I'll put in a high score and take a look at those bugs, looks like they're mostly visual, unless there's an immediately obvious fix (I know some things are not clearing up after themselves) I can live with those.

I've never even held a Channel F controller so I'll look into adding the extra controls so the user can choose what suits them, the idea of a 'twist' or 'pull' is pretty alien. The controller reminds me a bit of the game 'bop it'. :)

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

This was going to be my last Channel F game but if I find myself with a day with nothing better to do, I want to do a pixel-perfect port of Snake II on the Nokia 3310. However I'm really struggling to understand how the layout works. The screen resolution is 84 x 48 (so perfect for the Channel F) and in a supposed screenshot the actual playfield is 82 x 38. So you can fit 27 3x3 squares across, or 20 4x4 squares. But when you play the game and count the snake has 23 horizontal positions. So the only thing I can think of is that it usually moves 3 pixels but sometimes will move 4, and the graphic drawn changes depending on your X position. So perhaps not as straightforward a port as I initially thought....

Screenshot 2021-06-04 at 09.13.32.png

Link to comment
Share on other sites

1 hour ago, Arlasoft said:

As for the score not being visible, is the picture on the TV centred? There should be 3-4 pixels either side that aren't displaying anything important so that gives a width of 94-96 pixels, do I have to make it 92 to be safe?

You can't count on it. Ask Chris (Atari2600land) and the first version of Kevin vs Tomatoes on his TV. 
Your least significant number is five pixels from the edge?
It _shouldn't_ be a problem, but it is...  Didn't I nag about this before - perhaps it was the the Russian fellow that ports that Dino-game (which can be played in Chrome if the network is down).
Retro-dino is great so far BTW, I recommend trying it out, single button "no brainer" game - we need Flappy Bird as well, but how to move enough pixels? Tubes need to be just outlines I guess. 

Here's the perfekt image:
perfect_test.jpg.3920c50740c475184e37dfb025215512.jpg

Don't count on a TV showing any or all of the checkered frame, I could snap some photos if you want to have a look. 

Ahh. Found something:
https://en.wikipedia.org/wiki/Safe_area_(television)

If you keep to the safe area, should be no problem - or the TV is really messed up if that's a problem. 
Tim Ryan's Pac-Man (Which I co-authored - and would never have pulled off without him) does not comply with it - and there are problems for some people not seeing the dot rows on top and/or bottom - and I have TV:s that doesn't show all of the score on the right. One TV shows almost all pixels on the left.
MESS skips 4 pixel rows on top and 4 pixel columns on the left so you skip 0,1,2,3 and work from pixels 4 to 106 width and 4 to 62 on the height - which is good to know if you want to work with the real coordinates and save some CPU time instead of the "adjusted" alternative blit code that adds 4 so that (0,0) is in the top left corner of the MESS screen. 

- or go with it, a lot of people only play it in emulation.

I think the visual bugs is a pretty big deal, there's a lot of them, a head stopped at the right end and stayed there when I played, so objects you can shoot suddenly stops and are no longer "shootable". The pop-up single centipede parts is "just visual" and does nothing really but I also got a pop-up red/green block that appeared with no centipede in sight (it was at top of screen, block appeared straight above, as close as it gets), when trying to shoot it hit that fantom block instead of the item I was shooting at.

As I like to nit-pick.   :D  :D :D
What about the player ships, when you die and it shows one ship you're dead, instead of getting to play that last ship and die when there are no left.
Have never played the game before so perhaps that's how they did it? 

 

Link to comment
Share on other sites

1 hour ago, Arlasoft said:

This was going to be my last Channel F game but if I find myself with a day with nothing better to do, I want to do a pixel-perfect port of Snake II on the Nokia 3310. However I'm really struggling to understand how the layout works. The screen resolution is 84 x 48 (so perfect for the Channel F) and in a supposed screenshot the actual playfield is 82 x 38. So you can fit 27 3x3 squares across, or 20 4x4 squares. But when you play the game and count the snake has 23 horizontal positions. So the only thing I can think of is that it usually moves 3 pixels but sometimes will move 4, and the graphic drawn changes depending on your X position. So perhaps not as straightforward a port as I initially thought....


Consider also that the Channel F pixels are rectangular, standing on the short end, smooth movement would require longer intervals for up/down than right/left to get the same kind of speed. Unless playing on a 16:9 screen - then they're pretty square. 
 

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