Rybags #26 Posted November 11, 2010 (edited) <dbl posted> Edited November 11, 2010 by Rybags Quote Share this post Link to post Share on other sites
Rybags #27 Posted November 11, 2010 (edited) For a H-scroller using softsprites, some shortcuts with the softsprite rendering could be used to save RAM and CPU time. If you use 2 pixel resolution movement instead of 4, there's a 50% saving on pre-shifted definitions and masks. Since the screen is moving towards the ship, an enemy can sit on a character boundary and would be moving 1 pixel at a time. Moving towards the player at half-character interval would amount to 3 pixels at a time (that's fairly fast). Moving away from the player, 2 pixels equates to leaving at 1 pixel at a time due to the scroll. Moving 1 character at at time away from the player equates to leaving the screen at 3 pixels per move (again, kinda fast). Where diagonal movement is required, it could be limited to only occur on character boundaries (again, remembering that something "static" against the playfield background is still "moving") I'd say it's quite possible Xeo3 could use some shortcuts like that. Doing something like that can detract from the overall smoothness of a game, but could also greatly increase the number of objects you can have going around at once. Edited November 11, 2010 by Rybags Quote Share this post Link to post Share on other sites
Heaven/TQA #28 Posted November 11, 2010 Jose... there is no linear bitmap mode like on A8... both machines use bitmap similar mode done with charsets... Quote Share this post Link to post Share on other sites
Rybags #29 Posted November 12, 2010 I had a quick look/play with Xeo3 last night. Character mode of course, Plus4 can only put bitmap screens on an 8K boundary. Checked in the Monitor a few times - character usage seems to be all over the place. It could be that high values are used for softsprites and lower ones for the terrain. Fairly sure the games author did a Blog relating to the game's development, so an explanation is probably in there. The problem with this game is - I'm fairly sure development stalled a couple of years ago, the author put it away and moved onto other things. Probably not worth it to pick up another system's project that's not yet finished, in any case we'd need the source and author's permission. Quote Share this post Link to post Share on other sites
andym00 #30 Posted November 12, 2010 Checked in the Monitor a few times - character usage seems to be all over the place. It could be that high values are used for softsprites and lower ones for the terrain. Fairly sure the games author did a Blog relating to the game's development, so an explanation is probably in there. Check the Blog out, I believe it uses a fairly complicated font cache system of generating preshifted characters, hence the 'all over the place' character useage.. Also on CSDB I recall that he discussed the actual sprite rendering method in some detail.. Quote Share this post Link to post Share on other sites
Heaven/TQA #31 Posted November 12, 2010 the blog and website is very interesting as it describes not only the sprite rendering in princple but the enemy and formation scripting engine, too... Quote Share this post Link to post Share on other sites
José Pereira #32 Posted November 13, 2010 With soft sprites the issue is CPU speed and not free chars. If you do soft sprites with masking you need indirect LDA, AND, ORA, STA sequence for every byte of the sprite so it is 21 cycles for every byte. So if you have sprite 12x24 pixels so you have 4x4 chars, vertically you can start at the needed position so 4x24 bytes x21 cycles = 2016 cycles only for copy data of one sprite, add some overhead like increment the index register.. 2200++ cycles. So in theory in one antic 4 screen you have time for drawing around 10 these sprites. But just drawing.. you need to erase them too, in game scenario some music, sound, game logic etc. etc. so IMHO you end up with 4-5 sprites of this size max.? Adding my test of soft sprites in gr. 7, they are 12x16 pixels only and all it does is draw spritesm no sound no logic nothing. I don't say it is the fastest how it could be but IMHO not much faster if at all without unrolling code and hard coded data etc. The color bars shows how much time it needs to draw one sprite, the white below picture is start of erase. Yeah, untill someone takes some try at an Armalyte, this is just what I want to know/learn by now. Thanks... I move to another try (I must have many things at a time to be happy ). I just get a fantastic looking Game and it will be simple, I guess, a scrolling one, but not shooting. And the good looking as it will be best if I go into ANTIC5 (double high pixels). In double high and for a 48wide (Scrolling, if it is 40 ANTIC considers 48, soo, better just having 48 and good looking fine Horizontal Scrolling and no problem to mask the in-coming Sprites at the Borders what would I win in cycle to have some more Soft Sprites: -> Instead of C64 12X21/24 Sprite, this is from Nintendo. As it is working different with each Sprite is 8x8 cell (I will expand 1Hi-Resolution pixel to 2pixels in 2:1 and it will be 2x1Chars(ANTIC5)), how many 2x2Chars Sprites can I move in 2 a two pixels high Screen (Status Area are only two Lines in ANTIC4)? (I'll take from these the Chars needed for Shifting, just how many 2x2Chars, O.k.?) Thanks. José Pereira. Quote Share this post Link to post Share on other sites
José Pereira #33 Posted November 13, 2010 O.k., I say what I am doing this time: Gameboy's DOUBLE DRAGON port into A8 I started last night and are doing things the same way as I did in UWOL. Let's see if I have luck in hetting a coder as I did with UWOL... I have by now all the Chars for all the 8Levels, Sp+rites and think I can get Chars and SpoftSprites in a little number of Charsets. Also how to get 4PMs and PRIOR to our Guy(s ). Gor now just trying to get DLIs. in Lines that can be the same Lines when Scroll this 1st Level. You'll probably can answer better with a Picture: I always wanted an Arcade Beat'em'Up on A8... Will this be the Time to have it? José Pereira. Quote Share this post Link to post Share on other sites
José Pereira #34 Posted November 13, 2010 O.k., I say what I am doing this time: Gameboy's DOUBLE DRAGON port into A8 I started last night and are doing things the same way as I did in UWOL. Let's see if I have luck in hetting a coder as I did with UWOL... I have by now all the Chars for all the 8Levels, Sp+rites and think I can get Chars and SpoftSprites in a little number of Charsets. Also how to get 4PMs and PRIOR to our Guy(s ). Gor now just trying to get DLIs. in Lines that can be the same Lines when Scroll this 1st Level. You'll probably can answer better with a Picture: I always wanted an Arcade Beat'em'Up on A8... Will this be the Time to have it? José Pereira. Just add some PMs. to see how it will/would, can/could look the Guys and the Status Area: José Pereira. Quote Share this post Link to post Share on other sites
Creature XL #35 Posted November 13, 2010 After seeing and playing the Dr Mario game, I thought that it would be good for the A8 to port some Gameboy games. As it has a "fitting" resolution and only 4 colors. And look, here goes Jose doing exactly that I hope you find someone for that. BTW, i read your PM... "He" says it does not look too good. As it is too difficult (impossible?) to get the sprites look good sorry that it took him so long to tell me that Quote Share this post Link to post Share on other sites
snicklin #36 Posted November 14, 2010 I thought that it would be good for the A8 to port some Gameboy games. As it has a "fitting" resolution and only 4 colors. For those reasons, I've always wondered why more people didn't port Gameboy games. Then I just realised that it uses the Z80. Quote Share this post Link to post Share on other sites
popmilo #37 Posted November 14, 2010 ...Check the Blog out, I believe it uses a fairly complicated font cache system of generating preshifted characters, hence the 'all over the place' character useage.. Also on CSDB I recall that he discussed the actual sprite rendering method in some detail.. Mike Dailly's blog about Xeo3: http://dailly.blogspot.com/search/label/Xeo3 He used clever way to cache shifted positions of the sprites shapes with most probability to be on the screen. But it also uses 9 chars for a 8x16 sprite and gets around 10 of them on screen at once... Plus turrets and bullets ... A8s 128 chars are a serious limit ... And CSDB software sprite discussion: http://noname.c64.org/csdb/forums/?roomid=11&topicid=25151&showallposts=1 (Lots of familiar names there, can not believe its been 3-4 years ago ... And my sprite routine is still not used in anything worth mentioning ) One more on Lemon (@Heaven: Do you remember that - and discussion on your Beyond Evil thread ? ) http://www.lemon64.com/forum/viewtopic.php?t=26470&postdays=0&postorder=asc&start=25 Beyond evil thread: http://www.atariage.com/forums/topic/109206-beyond-evil-now-playable/page__st__325 Quote Share this post Link to post Share on other sites
popmilo #38 Posted November 14, 2010 After seeing and playing the Dr Mario game, I thought that it would be good for the A8 to port some Gameboy games. As it has a "fitting" resolution and only 4 colors. And look, here goes Jose doing exactly that I hope you find someone for that. As you said: resolution and number of colors fits, I had my eye on one of them for some time BTW, i read your PM... "He" says it does not look too good. As it is too difficult (impossible?) to get the sprites look good sorry that it took him so long to tell me that It doesn't look that bad ? Double width players as underlay for software sprites could work well... Quote Share this post Link to post Share on other sites
José Pereira #39 Posted November 14, 2010 BTW, i read your PM... "He" says it does not look too good. As it is too difficult (impossible?) to get the sprites look good sorry that it took him so long to tell me that It doesn't look that bad ? Double width players as underlay for software sprites could work well... Pop this is about some me, Creature and other tlked about another Game Greets. José Pereira. Quote Share this post Link to post Share on other sites
José Pereira #40 Posted November 14, 2010 I thought that it would be good for the A8 to port some Gameboy games. As it has a "fitting" resolution and only 4 colors. For those reasons, I've always wondered why more people didn't port Gameboy games. Then I just realised that it uses the Z80. Hi, I also never thought in Gameboy. never untill me and Popmilo were seeing a C64 Game. Then he show me that Game Gameboy version and inform about it only uses 4colours. It was 5or6Months ago. This discouver for me is from Popmilo. Thanks to him !... But there isn't straight porting. The Screen uses 160x128 This case, Playing Area are in 160x120. I had to cut 8pixels on Top (most of the Games you can, on top or bottom) and now have it in 160x112. Now just expand 200% in vertical. A8 looking is now 160x224 The 160x16 at the bottom are just like in Gameboy and are le last two ANTIC4 CharLines of the A8 display. This is if you want to get double high pixels. If it can be good IMHO at the 160x128 with some add to the Status Area to fill more the Sreen, you could just get them directly without any vetical size changes I also tried GRADIUS, SALAMANDER and other shoot'em'ups some time ago and I get 1pixel High and just expand vertical 150% the Playing Area, it looks very good. Nut lots of SoftSprites and cycles kills it (by now, not in the future, who knows). As an example of this 150%: GRADIUS LEVEL1 Gameboy in normal size: Now expand the Map in PAINT to 150% vertical: And simply, just put a Screen of it on G2F, this one with the status Area included, just needed to be centered high on the Screen, just only 4colours, direct import, exactly like on the Gameboy: Amazing... and now put there the A8 Pallete better José Pereira. Quote Share this post Link to post Share on other sites
Rybags #41 Posted November 14, 2010 (edited) That looks good but you don't need to tolerate a grey/white background like an old LCD system. I think black background would be better, then you could reassign the black that's already in use to be something else. Edited November 14, 2010 by Rybags Quote Share this post Link to post Share on other sites
José Pereira #42 Posted November 14, 2010 That looks good but you don't need to tolerate a grey/white background like an old LCD system. I think black background would be better, then you could reassign the black that's already in use to be something else. Just direct and the Green on the the Basement... But you have an idea that it could oo very good. Bt cycles and SoftSprites, probably kills all this... probably... José Pereira. Quote Share this post Link to post Share on other sites
Heaven/TQA #43 Posted November 14, 2010 i know the GB version of Gradius... how many tiles per level and how many sprites? Quote Share this post Link to post Share on other sites
José Pereira #44 Posted November 14, 2010 i know the GB version of Gradius... how many tiles per level and how many sprites? Cannot tell you now, I was just showing how porting a Gameboy Game screen into A8. But it's just Lad the ROm into TileLayerPro. For example, Double Dragon uses 2Levels=1Charset (256Chars), but it's also have there the 2Status Area. Just Playing Area and some Chars I could take off are something like 96/100Chars for each Level. As there are Top with window and Buildings and bottom is different, 3or so Charsets with space for the SoftSprites is possible. On GRADIUS, each Enemy is 16pixels tall with 1 more for shifting, using that 0,1,2,0,1,2,... Charsets stuff would easilly get all in 128Charsx3Charsets more 1Charset for the Bottom Status Area. Just made this: Cut some pixels high, double pixels vertical. Use ANTIC5. colour DLIs. for the Ground. Backgr. colour on the Sky (just EOR SoftSprites, less cycles) PF2 on some Ships and PF3 on others. Different PF3 colour on the Ground Enemys and Guns. Just 5colours and DLIs. Our Ship is 16pixels wide, I just erase this shape and create 2Multicolour Players. Our Ship will be just a 3colour Players like on Zybex, only SoftSprites for the Enemys. This way, how many of that size Enemys would you get moving on the Screen? José Pereira. Quote Share this post Link to post Share on other sites
José Pereira #45 Posted November 14, 2010 (edited) Better colours looking. Instead of Dark, put a Middle DarkGray-(0,6). And Edit: Also LightGray-(0,12) instead of a MiddleGray (0, José Pereira. Edited November 14, 2010 by José Pereira Quote Share this post Link to post Share on other sites
José Pereira #46 Posted November 14, 2010 (edited) Yeah, someone will need to get some better looking Enemys and our Ship, but the idea is here. Our Ship just 2Players Multicolour and Missiles (that Box in front of it): (shooting also as White) And it can be just like ZYBEX! O.k. but we have to get this in CharMode and probably some cycles more... José Pereira. P.s.- G2F File: 20909-gradius-game-boy_200%high_with Ship PMs.zip Edited November 14, 2010 by José Pereira Quote Share this post Link to post Share on other sites
The Usotsuki #47 Posted November 14, 2010 If it helps C64 is 160x200 and 6502-class cpu Quote Share this post Link to post Share on other sites