r_chase Posted September 17, 2023 Share Posted September 17, 2023 According to @haroldoop in another thread before this one, maybe. I've been thinking of this ever since that Bitsy Converter was a thing: Pocket Platformer on the Sega Master System. On the possibility of the conversion, here's what he said: Quote As for the possibility of using it for generating SMS games: - Its tiles are 8x8, which is the same tile size SMS uses; - Technically, it has no limits on how many tiles may be used, but as long as not a lot of them are used, conversion is possible; - It uses more colors than the Sega Master System can cope with, but it is possible to reduce this automatically, with the usual caveats; - It won't be possible to automatically convert the music, but it may be possible to give the user the possibility of informing their own SMS-compatible VGM files; - Rotation won't be possible at all; - Squish animations won't be possible to do in realtime on the SMS, but may instead be precomputed during the conversion. Because of these considerations, it is possible. For more information about Pocket Platformer, click here. Uh...I think I'll let Haroldo take it from here, since idk how to describe in more specific terms. Here you go, Haroldo, a separate thread to prevent clog. lmao 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 17, 2023 Share Posted September 17, 2023 5 hours ago, r_chase said: Great job doing your research. Glad we got ourselves a good basis for something. I do have a thought of SMS being superior in color compared to the later GameBoy Color...is that true? In terms of color, the GBC has advantages in certain aspects, while the SMS has advantages in others; summarizing, from the top of the head: On a Gameboy Color, each tile can only use four colors, while in the Sega Master System, each can use 16 colors; The Game Boy Color has two 32 colors palettes, one for the background and one for the sprites, each further split into 8 four-color palettes; each individual background tile on the map can choose between any of the 8 background palettes, while each sprite can choose between one of the 8 sprite palettes; The Sega Master System, on the other hand, has two 16 color palettes, one for the sprites and one for the background; the sprites can only use the sprite palette, while each individual tile on the map can choose between the background palette and the sprite palette; Futhermore, on the GBC, each individual palette color can choose between 32768 colors, while in the SMS, they can only be chosen among 64. So, essentially, the GBC can display more colors, but with greater limitations on how they can be used. There are even GBC games that change color every scanline to achieve more than 2 thousand colors per screen; it requires lots of ROM space and CPU time, but it works: On the other hand, there is a SMS tech demo that manages to change about 11 colors for every two scanlines: As for the Pocket Platformer conversion, one possible downside is that games made in it could end up somewhat samey, just like hacks made using KiddEd still feel somewhat like AKiMW, even though they can still be pretty varied: 3 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 17, 2023 Author Share Posted September 17, 2023 1 hour ago, haroldoop said: As for the Pocket Platformer conversion, one possible downside is that games made in it could end up somewhat samey, just like hacks made using KiddEd still feel somewhat like AKiMW, even though they can still be pretty varied: To be fair, I've heard Alex Kidd in Miracle World is still a great game, miracle ball memes aside. 1 Quote Link to comment Share on other sites More sharing options...
M-S Posted September 17, 2023 Share Posted September 17, 2023 It seems like it's possible, how do you plan to do it? The GBC is based on an Intel 8088, so it seems like it would be possible to convert some of the code into Z80. Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 17, 2023 Author Share Posted September 17, 2023 8 minutes ago, M-S said: It seems like it's possible, how do you plan to do it? The GBC is based on an Intel 8088, so it seems like it would be possible to convert some of the code into Z80. We're still in a planning phase, but one way to do it seems to be somehow converting Pocket Platformer's exported HTML file into code for an Sega Master System SDK. However, since this is JavaScript we're talking about, it might be a challenge. 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 18, 2023 Share Posted September 18, 2023 20 hours ago, M-S said: It seems like it's possible, how do you plan to do it? The GBC is based on an Intel 8088, so it seems like it would be possible to convert some of the code into Z80. We are analyzing the viability of converting games made in "pocket platformer" (https://the-l0bster.itch.io/pocket-platformer) into Sega Master System ROMs. In theory, "pocket platformer" is currently limited enough that converting to tile based hardware like SMS, GBC, Genesis and SNES should be feasible. It would require extracting level and graphics data from the games, converting it to hardware-specific formats, and code the entire engine from scratch (without editor, of course) in C. Quote Link to comment Share on other sites More sharing options...
M-S Posted September 18, 2023 Share Posted September 18, 2023 I thought it was a PC editor with a GBC port, if it's not, then why the comparison? Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 18, 2023 Author Share Posted September 18, 2023 (edited) 1 hour ago, M-S said: I thought it was a PC editor with a GBC port, if it's not, then why the comparison? Well, the comparison was between Sega Master System and the GameBoy Color. I asked @haroldoop about it because I wasn't too sure if any port to the Sega Master System would be viable. It's probably more viable for the GameBoy Color, considering that you were probably thinking GB Studio instead of Pocket Platformer, which are two different engines. GB Studio is made with GameBoy in mind and has many genre templates (including platformers) while Pocket Platformer is mainly for small platform games on the web. However, I want to see if we can make convert Pocket Platformer games into other platforms, mainly starting with the Sega Master System (though the GBDK software that GB Studio is based on can in theory already make Sega Master System and even GameGear games) because I've seen it done with Bitsy games before. With my lack of experience, I might need help with that front. So far, as haroldo said before, we could start by convert graphics and code from JavaScript into C, which probably has worked for some other people who really don't want to use Electron. Then again, converting Lua might be easier as demonstrated by the GBA port of Celeste Classic. Edited September 18, 2023 by r_chase 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 19, 2023 Share Posted September 19, 2023 (edited) Starting to experiment with data extraction: https://github.com/haroldo-ok/pocket-platformer-exporter The script above extracts the level/sprite data from the exported HTML into a JSON file (see attachment for example JSON). generated.json Edited September 19, 2023 by haroldoop 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 20, 2023 Author Share Posted September 20, 2023 5 hours ago, haroldoop said: Starting to experiment with data extraction: https://github.com/haroldo-ok/pocket-platformer-exporter The script above extracts the level/sprite data from the exported HTML into a JSON file (see attachment for example JSON). generated.json 118.42 kB · 1 download A JSON file is a start at least. 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 20, 2023 Share Posted September 20, 2023 16 hours ago, r_chase said: A JSON file is a start at least. Okay, now the script can extract the tileset into a PNG spritesheet. 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 22, 2023 Share Posted September 22, 2023 (edited) Now, the script can also generate a Tiled-compatible TSX file, including custom properties and animations. tileset.tsx Edited September 22, 2023 by haroldoop 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 23, 2023 Share Posted September 23, 2023 The script now exports the levels into Tiled-compatible TMX files (only map layer for now; objects will be next). Example map:level3.tmx Original level: Converted level, inside Tiled: 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 26, 2023 Author Share Posted September 26, 2023 Just a reminder that I'm very glad that this is making great progress. I won't set any deadlines, but hopefully we'll get to the point where we could convert Pocket Platformer games to SMS games via SDCC compiler. Also, one thing I should note is that I once wondered how JavaScript would work on a retro computer as well, such as the ZX Spectrum; obviously converting code is close enough though. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted September 26, 2023 Share Posted September 26, 2023 1 hour ago, r_chase said: Just a reminder that I'm very glad that this is making great progress. I won't set any deadlines, but hopefully we'll get to the point where we could convert Pocket Platformer games to SMS games via SDCC compiler. Also, one thing I should note is that I once wondered how JavaScript would work on a retro computer as well, such as the ZX Spectrum; obviously converting code is close enough though. Instead of SDCC maybe someone could be convinced to keep working on ZX BASIC for the SMS. That way we would get both another wonderful, easy BASIC compiler for consoles AND a platform game maker. https://www.smspower.org/forums/12902-ZXBasicForSegaMasterSystem ..just sayiing 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 26, 2023 Share Posted September 26, 2023 (edited) Unfortunately, it won't be possible to automatically convert JS to run on an 8-bit CPU at a decent speed. Fortunately, "pocket-platformer" uses a fixed JS code for the engine; only the level data and the graphics change. So, as long as the graphics/level data is extracted properly, it will be possible to reuse that for running it in a new engine. Of course, this means that in order to make it run on a SMS via SDCC, it will be necessary to replicate all of the functionalities of the original engine from scratch in C. Once that is done, it will be possible to combine the fixed C code with the converted level data. In other words, "pocket-platformer" has a immutable JS part, that cannot be converted automatically, but it does not need to be converted. The only part that actually changes is the graphics data and level data, but those can be extracted and converted automatically. In order to make those graphics and level data be useful, it will be necessary to use C (or other suitable language) to write a reimplementation of the engine, a new immutable part, that can use the graphic and level data. In other news, the engine can now convert the level objects, too: level3.tmx Edited September 26, 2023 by haroldoop 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 27, 2023 Author Share Posted September 27, 2023 21 hours ago, Gemintronic said: Instead of SDCC maybe someone could be convinced to keep working on ZX BASIC for the SMS. That way we would get both another wonderful, easy BASIC compiler for consoles AND a platform game maker. https://www.smspower.org/forums/12902-ZXBasicForSegaMasterSystem ..just sayiing ngl, ZX BASIC would be nice, but I should note that there aren't that many external compilers for even Sinclair BASIC. Though, now I'm curious about that as well. Like...besides the SMS version, what is ZX BASIC anyway? Another thing is that more and more people are trying to switch to either Linux or Mac for their daily drivers...and yes, Chrome devices count as Linux, whether we like it or not. Besides that, ZX BASIC would be neat for SMS. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted September 27, 2023 Share Posted September 27, 2023 7 minutes ago, r_chase said: ngl, ZX BASIC would be nice, but I should note that there aren't that many external compilers for even Sinclair BASIC. Though, now I'm curious about that as well. Like...besides the SMS version, what is ZX BASIC anyway? Another thing is that more and more people are trying to switch to either Linux or Mac for their daily drivers...and yes, Chrome devices count as Linux, whether we like it or not. Besides that, ZX BASIC would be neat for SMS. In a way I was teasing haroldoop because he (or someone with a similar nickname) cobbled together a ZX BASIC port good enough for his SMS game projects. Thought I might get him to continue working on it https://www.smspower.org/forums/12902-ZXBasicForSegaMasterSystem 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 27, 2023 Author Share Posted September 27, 2023 3 minutes ago, Gemintronic said: In a way I was teasing haroldoop because he cobbled together a ZX BASIC port good enough for his SMS game projects. Thought I might get him to continue working on it That seems about right. I feel like he could continue ZX BASIC while still working on the VCS Game Maker thing and this very project, but I feel like he has enough projects as-is. Quote Link to comment Share on other sites More sharing options...
haroldoop Posted September 27, 2023 Share Posted September 27, 2023 1 hour ago, Gemintronic said: In a way I was teasing haroldoop because he (or someone with a similar nickname) cobbled together a ZX BASIC port good enough for his SMS game projects. Thought I might get him to continue working on it https://www.smspower.org/forums/12902-ZXBasicForSegaMasterSystem I made that initial version, though it was a little hack. Paulo Silva also made a few (much cleaner) ZX-Basic experiments on the SG-1000 and SMS: https://web.archive.org/web/20180323232432/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SG1000 https://web.archive.org/web/20180323232428/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SMS 1 1 Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 27, 2023 Author Share Posted September 27, 2023 20 minutes ago, haroldoop said: I made that initial version, though it was a little hack. Paulo Silva also made a few (much cleaner) ZX-Basic experiments on the SG-1000 and SMS: https://web.archive.org/web/20180323232432/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SG1000 https://web.archive.org/web/20180323232428/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SMS Maybe you could polish your own as well...? idk. I did post in the SMS Power forums for the first time though, saying that I hope it continues eventually. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted September 27, 2023 Share Posted September 27, 2023 It looks like the unmaintained source for Yuguzu is available in this thread: https://www.smspower.org/forums/17569-SMSGameMakerMakeGamesWithoutCode?start=100 Yuguzu was shaping up to be a platform game maker for SMS. Maybe y'all could tie the exported platform level data to a new build of Yuguzu and win. Quote Link to comment Share on other sites More sharing options...
r_chase Posted September 27, 2023 Author Share Posted September 27, 2023 13 minutes ago, Gemintronic said: It looks like the unmaintained source for Yuguzu is available in this thread: https://www.smspower.org/forums/17569-SMSGameMakerMakeGamesWithoutCode?start=100 Yuguzu was shaping up to be a platform game maker for SMS. Maybe y'all could tie the exported platform level data to a new build of Yuguzu and win. That's crazy enough to might work. 1 Quote Link to comment Share on other sites More sharing options...
haroldoop Posted October 4, 2023 Share Posted October 4, 2023 OK, now the script has been refactored into a command line tool/library: https://www.npmjs.com/package/pocket-platformer-exporter The probable next step would be to implement a web interface to use this tool withou installing anything; afterwards, maybe the prototyping of the SMS converter could start. 1 Quote Link to comment Share on other sites More sharing options...
Video Posted October 11, 2023 Share Posted October 11, 2023 Don't knew w why not. Sonic the hedgehog is on mastersystem. 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.