+Atarius Maximus Posted July 15, 2014 Share Posted July 15, 2014 I thought I'd review the steps on how to create a tiled background image for use with 7800basic, specifically for a map that will work with the 160A display mode along with 'set doublewide on' in your code. It works great and is a big time saver. Before you start you'll of course need all of your graphics images completed. If you make any changes to your tileset graphics in the future, the changes will automatically be reflected in the map. Tiled does not create an image file, it creates an XML file that maps out and links to the different graphics images that you have. If you dramatically change your graphics images you will have to update your map file (or files). Please Note (from post #5, RevEng): The tutorial here assumes 160A mode (as stated) as well as the "set doublewide on" setting. Normally the width of one character in 160A mode is 4 pixels wide, but adding "doublewide" changes that to 8 pixels wide. This is why I used "8" for the "tile width" in Tiled.If you wanted to adjust this tutorial for another mode, you can just lookup the width of one character in that mode in the table I linked to, and adjust for "set doublewide on" if you use it. That will be your value for "tile width". The "tile height" will be your zone height, and you can adjust the map size as you prefer. ----------------------------------------------- First, download the Tiled app. Once you've installed it, select File | New Map. Make sure you select the correct options for your new map. Select an orthogonal orientation, XML format, 20x12 map size, and 8x16 tile size. Now your ready to load up your tileset graphics. You can load multiple sets. Click on browse to select your tileset. Make sure you set your options as seen in the screenshot. Your first tileset is now loaded. I generally increase the size to 400% to make it easier to see. You can now left click on a tile to use on the map, or hold down the CTRL button and select multiple tiles at a time. You can now draw on the map screen. If you hold the left button mouse down you can drag the background tile to fill the map screen. You can load multiple tilesets, each one will get their own tab. I generally increase the map size to 200% to make it easier to see. Once you're happy with your map design you can save it as a tmx file and use it in your 7800basic program. 5 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted July 15, 2014 Share Posted July 15, 2014 Is it OK if I put an adapted version of this info on my web site? The 7800basic Pages section needs more pages. 1 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 15, 2014 Author Share Posted July 15, 2014 Is it OK if I put an adapted version of this info on my web site? The 7800basic Pages section needs more pages. Sure, that's fine. You can also add the graphics tutorial if you like. 3 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted July 15, 2014 Share Posted July 15, 2014 Sure, that's fine. You can also add the graphics tutorial if you like. Thanks. Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 15, 2014 Share Posted July 15, 2014 Excellent info here! I just have a small point to add. The tutorial here assumes 160A mode (as stated) as well as the "set doublewide on" setting. Normally the width of one character in 160A mode is 4 pixels wide, but adding "doublewide" changes that to 8 pixels wide. This is why Atarius Maximus used "8" for the "tile width" in Tiled. If you wanted to adjust this tutorial for another mode, you can just lookup the width of one character in that mode in the table I linked to, and adjust for "set doublewide on" if you use it. That will be your value for "tile width". The "tile height" will be your zone height, and you can adjust the map size as you prefer. 2 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted July 15, 2014 Author Share Posted July 15, 2014 Excellent info here! I just have a small point to add. The tutorial here assumes 160A mode (as stated) as well as the "set doublewide on" setting. Normally the width of one character in 160A mode is 4 pixels wide, but adding "doublewide" changes that to 8 pixels wide. This is why Atarius Maximus used "8" for the "tile width" in Tiled. If you wanted to adjust this tutorial for another mode, you can just lookup the width of one character in that mode in the table I linked to, and adjust for "set doublewide on" if you use it. That will be your value for "tile width". The "tile height" will be your zone height, and you can adjust the map size as you prefer. Thanks for the clarification, RevEng. I updated the first post with this info. 2 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted July 17, 2014 Share Posted July 17, 2014 Sure, that's fine. You can also add the graphics tutorial if you like. The first draft of both pages are done: randomterrain.com/7800basic-creating-maps.html randomterrain.com/7800basic-graphics.html Links to those pages have been added here: randomterrain.com/atari-2600-memories.html#7800basic 3 Quote Link to comment Share on other sites More sharing options...
Lavalamp Posted September 11, 2018 Share Posted September 11, 2018 (edited) I haven't come across how to detect collisions between sprites and tiles is this not possible? [EDIT: I did find this] Edited September 11, 2018 by Lavalamp Quote Link to comment Share on other sites More sharing options...
RevEng Posted September 11, 2018 Share Posted September 11, 2018 Yeah, the article you linked to specifies the way to do it. You can check any point, or set of points, on the sprite to see if they're over a particular tile-type. Quote Link to comment Share on other sites More sharing options...
Lavalamp Posted September 11, 2018 Share Posted September 11, 2018 Yeah, the article you linked to specifies the way to do it. You can check any point, or set of points, on the sprite to see if they're over a particular tile-type. Cool thanks. Another question does 7800Basic allow for nested GOSUBs? ie: main_loop gosub drawplayer goto main_loop drawplayer if playerdead then gosub deadplayer return deadplayer lives=lives-1 return Quote Link to comment Share on other sites More sharing options...
RevEng Posted September 11, 2018 Share Posted September 11, 2018 Yep, nested gosubs work. In a non-banked program, you have about 10 levels of nesting. In a banked program, somewhat less. Quote Link to comment Share on other sites More sharing options...
ZippyRedPlumber Posted February 28, 2021 Share Posted February 28, 2021 @Atarius Maximus Amazed by your work on Dungeon Stalker, will this work with 320 mode? Quote Link to comment Share on other sites More sharing options...
Mord Posted March 1, 2021 Share Posted March 1, 2021 Yes, the general procedure will be the same but you may need to make a few modifications based on if you use 320A or 320B as RevEng mentions above. The original example assumes 160A with double-wide turned on to get 8 pixels per tile. 320A would have 8 pixel tiles without double-wide, or 16 pixel tiles with it. 320B would have 4 pixel tiles without double-wide, or 8 pixel tiles with it. I think 320C would be the same as A, and 320D the same as B but I haven't looked at either very closely. 2 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.