Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - SMS development tools

Reply to topic
Author Message
  • Joined: 10 Dec 2009
  • Posts: 115
Reply with quote
SMS development tools
Post Posted: Thu Jul 13, 2023 7:32 am
Hi everyone,
as written in topic subject I would like to know which tools could be used to create a new game for sms. I means tile/sprite design and import from PNG, map/tile design, etc.

Any help is appreciated.

Kind regards,
S.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3828
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Jul 13, 2023 9:19 am
BMP2Tile is the tool for your image conversion needs. For map design you could use Tiled and custom exporters / converters.
  View user's profile Send private message Visit poster's website
  • Joined: 10 Dec 2009
  • Posts: 115
Reply with quote
Post Posted: Thu Jul 13, 2023 9:58 am
sverx wrote
BMP2Tile is the tool for your image conversion needs. For map design you could use Tiled and custom exporters / converters.


Thank you. What do you mean with custom exporter? You did it by yourself? There's plugin around?
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3828
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Jul 13, 2023 10:08 am
siriokds wrote
Thank you. What do you mean with custom exporter? You did it by yourself? There's plugin around?


You can write plugins for Tiled, either in JavaScript or in Python, check this.

So your level map can be processed and generate some output format that's tailored exactly to your game engine needs.
  View user's profile Send private message Visit poster's website
  • Joined: 09 Aug 2021
  • Posts: 131
Reply with quote
Post Posted: Thu Jul 13, 2023 4:10 pm
siriokds wrote
as written in topic subject I would like to know which tools could be used to create a new game for sms. I means tile/sprite design and import from PNG, map/tile design, etc.

You can try PNG2Asset from the GBDK-2020 as well. It has support for the SMS/GG.
  View user's profile Send private message
  • Joined: 27 Feb 2023
  • Posts: 136
  • Location: France
Reply with quote
Post Posted: Thu Jul 13, 2023 6:07 pm
I use Tiled, Notepad++ and Excel to manage the maps. BMP2TileGUI to generate the 8x8 tiles.

My chipset is loaded in Maxim's excellent BMP2TileGUI. There I get the 8x8 tiles that are the actual pixels (32 bytes each, 4 bits per pixel) that will be pushed in VRAM. With some manipulation with excel, I build my 16x16 metatiles dictionary with it from the tilemap screen.

My maps are 16x16 and use my metatiles. I also export it as csv. I keep the number of different 16x16 tiles under 256 so that my maps are built as arrays of chars (and not ints). This helps saving memory.

So basically :
- the map uses metatile numbers (length x height x char)
- metatiles each use 4 tiles (4 int each)
- tiles are 32 bytes and define the pixels (32 char each)

Hope this helps !
8x8_pixels_tiles.PNG (34.04 KB)
tiles
8x8_pixels_tiles.PNG
metatile_dictionary.PNG (33.78 KB)
metatiles
metatile_dictionary.PNG
worldmap_definition.PNG (44.66 KB)
game_map
worldmap_definition.PNG

  View user's profile Send private message
  • Joined: 10 Dec 2009
  • Posts: 115
Reply with quote
Post Posted: Fri Jul 14, 2023 6:36 am
cireza wrote
I use Tiled, Notepad++ and Excel to manage the maps. BMP2TileGUI to generate the 8x8 tiles.

My chipset is loaded in Maxim's excellent BMP2TileGUI. There I get the 8x8 tiles that are the actual pixels (32 bytes each, 4 bits per pixel) that will be pushed in VRAM. With some manipulation with excel, I build my 16x16 metatiles dictionary with it from the tilemap screen.

My maps are 16x16 and use my metatiles. I also export it as csv. I keep the number of different 16x16 tiles under 256 so that my maps are built as arrays of chars (and not ints). This helps saving memory.

So basically :
- the map uses metatile numbers (length x height x char)
- metatiles each use 4 tiles (4 int each)
- tiles are 32 bytes and define the pixels (32 char each)

Hope this helps !



It helps a lot. Thanks.

I can try to export in CSV or Json and translate it.
Actually I need only a fixed screen editor through tiles.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Fri Jul 14, 2023 6:44 am
For fixed screens I find it easy to either just work with images in the first place - if it’s a unique tile set for the screen - or otherwise you are in the realm of game specific data and you probably need to make some simple tools to convert or edit data as needed.

One approach I’ve been playing with recently is using a feature I added to WLA DX to support translation via .tbl files to use square Unicode symbolic characters - ✅🅿️⬆️⬅️↙️↘️⏺️⏹️👁️‍🗨️®️🟢🟡🟠🔺🔴🟣🟤🟥🟧🟨🟪🟦🟩♥️🕘 etc - to define data. It’s a bit random sometimes how it displays on certain platforms and tools, but so long as every character is square in your editor, it makes it possible to “draw” data in 2D in the text editor. Here’s an example: https://github.com/maxim-zhao/psrp/blob/master/psrp/asm/credits.asm
  View user's profile Send private message Visit poster's website
  • Joined: 10 Dec 2009
  • Posts: 115
Reply with quote
Post Posted: Fri Jul 14, 2023 7:14 am
Maxim wrote
For fixed screens I find it easy to either just work with images in the first place - if it’s a unique tile set for the screen - or otherwise you are in the realm of game specific data and you probably need to make some simple tools to convert or edit data as needed.

One approach I’ve been playing with recently is using a feature I added to WLA DX to support translation via .tbl files to use square Unicode symbolic characters - ✅🅿️⬆️⬅️↙️↘️⏺️⏹️👁️‍🗨️®️🟢🟡🟠🔺🔴🟣🟤🟥🟧🟨🟪🟦🟩♥️🕘 etc - to define data. It’s a bit random sometimes how it displays on certain platforms and tools, but so long as every character is square in your editor, it makes it possible to “draw” data in 2D in the text editor. Here’s an example: https://github.com/maxim-zhao/psrp/blob/master/psrp/asm/credits.asm


Smart!

Actually I'm using sjasm as assembler and I'm trying to convert a game I did for another platform.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3828
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Fri Jul 14, 2023 9:41 am
Maxim wrote
One approach I’ve been playing with recently is using a feature I added to WLA DX to support translation via .tbl files to use square Unicode symbolic characters - ✅🅿️⬆️⬅️↙️↘️⏺️⏹️👁️‍🗨️®️🟢🟡🟠🔺🔴🟣🟤🟥🟧🟨🟪🟦🟩♥️🕘 etc - to define data. It’s a bit random sometimes how it displays on certain platforms and tools, but so long as every character is square in your editor, it makes it possible to “draw” data in 2D in the text editor.


This reminds me I had used text files to draw maps. As long as you keep all the text lines at the same length you can just include them as binary data. Otherwise you can parse the lines and create the map in RAM. In either case, it's a very simple and low-tech approach, but it might be enough in many cases. For advanced stuff I still suggest Tiled, it's pretty easy to code an export plug-in after all, given you know either JavaScript or Python.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!