Fragmare Posted March 1, 2019 Share Posted March 1, 2019 Hey, guys... I'm looking to make a 7800 "accurate" Mega Man fangame or clone-game I create pixel art, POKEY and TIA chip music, and even do some level design. I'm not even going to bother trying to beg here on Atari Age for a programmer interested in helping port this to actual 7800 code. I already know the chances for that are zero. And even if i get an offer, they'll probably code about half a level then bail on the project anyway. :/ I'm just going to create this in Game Maker for Windows, then release all assets (sprites, bg tiles, stage maps, telemetry data, etc.) here on AA after it's finished. Then, if somebody wants to make it a real 7800 game... go ahead and knock yourself out, little buckeroo. lol This game would mostly be using 160a mode for its entirety, with a few objects possibly being 160b here and there, sparingly. In other words, nothing terribly fancy. I'd like to get your guys' opinion on a couple of graphics I've drawn up, as to if they would be compliant with (and thus doable on) 7800 hardware... Here is one of the stage maps I've made. I'm presuming, here, that bg color #0 can be changed per-scanline to create things like sky gradients and other similar effects (see the line gradient in the night sky). I'm also presuming that palettes can be color cycled and/or swapped for more effects, as well (waterfalls, fire, flickering screens, etc.). If you spot any problems that would be a dealbreaker for having this on real 7800, let me know. It appears to use about 480 unique 8x8 tiles, according to Mappy. I'm guessing this means some tiles would need to be loaded dynamically from ROM into RAM, during gameplay, while unused tiles get discarded. I could always reduce the number of unique tiles, as well. Please note, i am *not* taking ROM size/space into account as a real limitation for this... only the limitations of the console itself. Anyway, here is the Missile Man full stage map. Thoughts? 3 Quote Link to comment Share on other sites More sharing options...
swapd0 Posted March 1, 2019 Share Posted March 1, 2019 Awesome. I like the idea of releasing all the assets to help the port to other platforms... Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted March 1, 2019 Share Posted March 1, 2019 Looks good. If this were on the 7800 you'd probably use a 16 pixel high zone so your actual number of tiles would be based on unique 4*16 tiles (4 wide pixels that is). Ideally you want rows of blocks using the same pallette as on the 7800 each time the pallette changes it requires another object to be drawn so the checkered red and blue under the platforms would eat into the number of objects that can be drawn on screen 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 2, 2019 Share Posted March 2, 2019 The map is based on 256 different tiles? Quote Link to comment Share on other sites More sharing options...
Fragmare Posted March 2, 2019 Author Share Posted March 2, 2019 (edited) Looks good. If this were on the 7800 you'd probably use a 16 pixel high zone so your actual number of tiles would be based on unique 4*16 tiles (4 wide pixels that is). Ideally you want rows of blocks using the same pallette as on the 7800 each time the pallette changes it requires another object to be drawn so the checkered red and blue under the platforms would eat into the number of objects that can be drawn on screen Interesting. So, the 7800 would typically use 4x16 for its "tiles"? As opposed to 8x8? And the checkered part can always be modified or recolored. That's just a minor graphical aesthetic, really. The map is based on 256 different tiles? The entire map uses 480 unique 8x8 2bpp tiles, right now... so 7.5K in all? I haven't run it through Mappy with 4x16 yet, so I'm not sure how many unique tiles that would generate. Either way, I'm guessing you would only want to keep about 2K worth (half) of bg graphics in RAM or so at any given time, so the rest can used for sprites, game code, and sound/music data, variables, etc. Then load new tiles into RAM as needed, while old tiles are discarded. The 480 unique tiles could also probably be whittled down considerably, as well. Edited March 2, 2019 by Fragmare Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 2, 2019 Share Posted March 2, 2019 Not familiar with mega man if it scrolls or is a flip screen kind of game Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted March 2, 2019 Share Posted March 2, 2019 Not familiar with mega man if it scrolls or is a flip screen kind of game It's kind of both. Levels scroll smoothly horizontally but when you move through the map vertically it flips the screen like Super Mario Bros 2 does. It works very well in practice and is an ideal way of doing things on the 7800 as you can get around having to do smooth vertical scrolling. Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted March 2, 2019 Share Posted March 2, 2019 So, the 7800 would typically use 4x16 for its "tiles"? As opposed to 8x8? With the way the 7800 works each 'tile' is 1 byte by 1 zone. Zones can be pretty much any height, but to make use of 'holey DMA' zones are typically 8 or 16 pixels high. As there would be more zones in total with 8 pixels it requires more processing to manage so most games stick to 16. When the graphics are processed they're done so a byte at a time and in 160A mode each pixel is 2 bits to allow 4 colours which means each byte only defines 4 pixels which are drawn twice as wide to fill the screen. 1 Quote Link to comment Share on other sites More sharing options...
Fragmare Posted March 3, 2019 Author Share Posted March 3, 2019 (edited) With the way the 7800 works each 'tile' is 1 byte by 1 zone. Zones can be pretty much any height, but to make use of 'holey DMA' zones are typically 8 or 16 pixels high. As there would be more zones in total with 8 pixels it requires more processing to manage so most games stick to 16. When the graphics are processed they're done so a byte at a time and in 160A mode each pixel is 2 bits to allow 4 colours which means each byte only defines 4 pixels which are drawn twice as wide to fill the screen. Interesting! I can certainly optimize for 4x16. Both this map and future stage maps. That's useful info! Edited March 3, 2019 by Fragmare 1 Quote Link to comment Share on other sites More sharing options...
+sgrddy Posted March 5, 2019 Share Posted March 5, 2019 That map looks really cool Quote Link to comment Share on other sites More sharing options...
Fragmare Posted March 6, 2019 Author Share Posted March 6, 2019 That map looks really cool Hey, thanks! More to come! Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 7, 2019 Share Posted March 7, 2019 Btw zones can not have any height but 0-15 3 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted March 7, 2019 Share Posted March 7, 2019 Btw zones can not have any height but 0-15 You're right. I apologise for the misinformation, I should have read the programmer's guide closer. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.