   Map layers and sprites
  Hey;I'm new here and I'm well aware that there are a lot of topic about this, but none of them were usefull to me, not the ones i found anyways, because they were more about games instead of game engines.Before telling my problem;I'm an experience programmer in Ruby but not so much in C++ or VB. I know more VB then C++ and I can write simple stuff in VB and C++ no prob. All programing languages are similar. I recently had ideas for a 2D Game Engine and so i said "why not make one!". Its been only the planning stage right now and I'm getting ready to start. I used to use a differnt game engine called Rpg maker XP but meh.. it was too limeted. So I have an idea of what I want to do and how to handle the data. For the engine it self, I'm going to use VB. For the game(run time) itself, it will use Ruby scripting language, its esier to use. I'm using  Visual BAsic 2005 Express Editon.Now for the problem;The real problem is making the Tile/Map editor. I want it to have different layers;- Tile Layer = The user can put tiles on the map. 5 layers max.- Object Layer = This is for the event processing. 1 layer.- Draw Layer = The user can draw if needed. 1 for each Tile layer.- Override Passibility Layer = The user can over ride the tile's passibilty on the map. 1 for each tile layer.- Montster Area Layer = The user can color define tiles and attach colors to monsters. By defining this the user can choose which monsters appear on which tile by just clicking on it. 1 layer.Thats actually the easy part to me. Thats all Data Handling and reading.What I really need help with is this;- Letting the user upload its own tileset.- Dividing the tileset in to pieces.- Letting the user pick tiles and place them on a map/grid.Heres a picture of what I'm trying to imitate(its Rpg maker Xp, I'm just trying to imitate the tileset editor, not the layers);http://www.enterbrain.co.jp/tkool/RPG_XP/eng/capt01.gifSo what do you suggest i should do? Any tips/suggestions/help would be appericiated. I'm open to disucssion about this.Thanks for reading this long post.[Edited by - mr_mo on June 7, 2006 11:35:26 PM]
  This is really dependant on the map editor you'll be using.  There are a number of third party editors like Tile Studio and Mappy.  I really recommend you use a third party editor as it will allow you to spend more time on your actual game rather then the editors and the backend system.I've had experience with implementing Tile Studio map support into my current project, BooGame, and it's been actually very nice.  Tile Studio provides a nice tutorial and API to export code for the map data.  With BooGame, you export the map data from Tile STudio to a Boo script, which is then read in during application runtime when you need to load the map.As for the layers you mentioned, Tile Studio supports three base layers (back, middle and top) along with a map code hexidecimal number to which you can use for all of your objects/events.  The idea is that you provide the base structure of your map (boundries, static graphics, animated tiles, etc) and then place on the hexidecimal map code for desired tiles to tell your game/engine where the player's start location is, where all the coins are, where all the enemies start, etc.   ;  Thanks for the reply and help :). Tile studio is very nice but it isn't what I had in mind. To tell you the truth I'm not planning to make any games, I would rather program, its way esier.  I don't see why I would need a 3rd party tile editor. I was thinking of making a program like similar to paint, to start with and then editing it to make it a tile editor. I wanted to use a tileset instead of just tiles but I guess I would have to use tiles since they are esier and I can't think of a way to divide up the tileset into pieces. So, the only part thats left is creating a gird on the map and placing tiles on it. In ruby I would have just make a new table(Table.new). When the user selects a tile it would be copied(not to the clipboard, to a variable) and pasted on the grid. Come to think of it, its all just a big grid with copy and paste... How could I have been so blind. Layers are pretty easy. Each layer would be a new class. At the end they would have to be saved seperatly and then put back togather again in run time. This would set the Z for the layers. The table would then be read by ruby in Runtime and the table would hold all the information(passibility, terrain, priortiy, tile_id).Any ideas or suggestion would be help full.   