Normal Pac Man runs fine with the bootloader. (On the Fuzebox)
>J
New Game: Zombienator!
Re: New Game: Zombienator!
Lerc wrote:I intend to use my powerful skills of procrastination to ensure that when I get to making things, the chips will be available.
Re: New Game: Zombienator!
Right...sorry guys, just recall Paul made a lighter version I'm just trying to figure out if phog's problem is related to the bootloader...
-uze
-uze
Re: New Game: Zombienator!
paul:
I've actually considered fill instructions to save space. The only problem is that the graveyard would look too repetitive in that case, right now I use three different tiles for the grass just to make it easier on the eyes.
Perhaps I could make a fill instruction which uses a larger set of tiles for variation? Either by choosing them at random (disco grass! ) or by using a predefined map of some kind. (Or I could just put a little more time into making a better grass tile )
uze6666:
Arkanoid is the only mode 3 game which doesn't work on my fuzebox, everything else seems to work just fine (ie pacman and super mario demo). Btw I think the fact that I use a pal-tv might not be the cause of my problems, because mode 2 on the newer kernel doesn't just cause a flickering screen, the fuzebox also enters a reset loop. The tv couldn't cause that could it?
Oh and yeah, I've got ~6kb left of program space . I said the code needed "some" optimizing .
(The main program space hog is the graveyard_map and the flashy shiny übernice zombienator logo)
EDIT:
Does video mode 3 support scrolling nowadays? How many sprites does it support onscreen? Perhaps I'll just port everything to video mode 3 and circumvent all my problems.
I've actually considered fill instructions to save space. The only problem is that the graveyard would look too repetitive in that case, right now I use three different tiles for the grass just to make it easier on the eyes.
Perhaps I could make a fill instruction which uses a larger set of tiles for variation? Either by choosing them at random (disco grass! ) or by using a predefined map of some kind. (Or I could just put a little more time into making a better grass tile )
uze6666:
Arkanoid is the only mode 3 game which doesn't work on my fuzebox, everything else seems to work just fine (ie pacman and super mario demo). Btw I think the fact that I use a pal-tv might not be the cause of my problems, because mode 2 on the newer kernel doesn't just cause a flickering screen, the fuzebox also enters a reset loop. The tv couldn't cause that could it?
Oh and yeah, I've got ~6kb left of program space . I said the code needed "some" optimizing .
(The main program space hog is the graveyard_map and the flashy shiny übernice zombienator logo)
EDIT:
Does video mode 3 support scrolling nowadays? How many sprites does it support onscreen? Perhaps I'll just port everything to video mode 3 and circumvent all my problems.
Re: New Game: Zombienator!
Instead of the fill instructions why don't you make a map the size of one-forth of the full screen with just grass, and then manually place gravestone tiles. Repeat the grass map 4 times. Then for the road you could code something that draws it in steps. Tell it to start drawing road tiles at (x,y) and do a for loop while moving up. Then do a for loop to move left. Keep doing that until the whole road is drawn
>J
>J
Lerc wrote:I intend to use my powerful skills of procrastination to ensure that when I get to making things, the chips will be available.
Re: New Game: Zombienator!
Jhysaun:
I was thinking of doing something like that. But I would use a smaller texture (4-8 tiles or something like that) and redraw it completely so it repeats seamlessly. And then just use a fill instruction for the textures. I could actually base the entire map on textures like that, even the roads.
I think it's time for some serious pixel-pushing. Yaaaaay
I was thinking of doing something like that. But I would use a smaller texture (4-8 tiles or something like that) and redraw it completely so it repeats seamlessly. And then just use a fill instruction for the textures. I could actually base the entire map on textures like that, even the roads.
I think it's time for some serious pixel-pushing. Yaaaaay
Re: New Game: Zombienator!
If you need help, just ask. I've never been really good add it, but I could try. (making seamless textures)
>J
>J
Lerc wrote:I intend to use my powerful skills of procrastination to ensure that when I get to making things, the chips will be available.
Re: New Game: Zombienator!
Interesting. That's most probably the bootloader issue. I'll try to remove some fluff from Arkanoid to make it under 60K just to see...Arkanoid is the only mode 3 game which doesn't work on my fuzebox, everything else seems to work just fine (ie pacman and super mario demo). Btw I think the fact that I use a pal-tv might not be the cause of my problems, because mode 2 on the newer kernel doesn't just cause a flickering screen, the fuzebox also enters a reset loop. The tv couldn't cause that could it?
-uze
Re: New Game: Zombienator!
Well you could do patches or maybe just tile the grass randomly. Assuming your first 4 tiles (4 for the cheap mod) are grass tiles:I've actually considered fill instructions to save space. The only problem is that the graveyard would look too repetitive in that case, right now I use three different tiles for the grass just to make it easier on the eyes.
Perhaps I could make a fill instruction which uses a larger set of tiles for variation? Either by choosing them at random (disco grass! ) or by using a predefined map of some kind. (Or I could just put a little more time into making a better grass tile )
Code: Select all
unsigned char gy;
unsigned char x, y; // These would hold your next row/column to draw
...
gy = MAX(x+y, 1); // You can't seed the LFSR with zero
// X Scroll
for (i = 0; i < SCREEN_TILES_V; i++) {
gy = (gy>>1) | ((gy^(gy>>2)^(gy>>3)^(gy>>4))<<7);
SetTile(x,y + i,gy&3);
}
gy = MAX(x+y, 1);
// Y Scroll
for (i = 0; i < SCREEN_TILES_H; i++) {
gy = (gy>>1) | ((gy^(gy>>2)^(gy>>3)^(gy>>4))<<7);
SetTile(x + i,y,gy&3);
}
As long as it's seeded consistently (i.e. based on the screen's scroll position), your grass layout should not alter. Hopefully it looks acceptable when randomly selected. The only other thing I'd check is that any non-zero seed is valid for the 8-bit LFSR. It's possible you might have to constrain the initial seed, but as long as it's consistent for a particular scroll position, it should be fine.
Edit:
It seems an 8-bit lfsr with 8,6,5,4 taps has a period of 255, so any non-zero seed should be fine.
Last edited by paul on Tue Jun 23, 2009 2:22 am, edited 5 times in total.
Re: New Game: Zombienator!
Since positing it, I'm having trouble justifying that claim in my mind (due to both x and y scrolling). You could seed the LFSR statically and shift appropriately based on your position, but it's starting to lose its appeal.As long as it's seeded consistently (i.e. based on the screen's scroll position), your grass layout should not alter.
Re: New Game: Zombienator!
Not to hijack this thread with unrelated stuff, but it's funny you mention the LFSR idea. I was just discussing with Jhysaun on how slow the C rand() was. This should be made as a kernel function. In fact, I already have one for the noise sound channel. It's a 15 bits LFSR and it's already in assembler (~15-20 cycles). To have even more randomness, we could also have two of them running with different seeds and XORing them.
-uze
-uze