06-06-2020, 03:46 AM (This post was last modified: 02-24-2025, 09:20 PM by DerVVulfman.)
MAPMAKER for RPGMaker XP
This is a handy-dandy little tool that you need to have!
Does it Slice? Does it dice? Does it take your favorite drinks and chills it with its own flavored ice cubes? Does it bake your favorite treats and leave no trace in its non-stick surface? Nope. You wish....
This is a game-development tool made to create png files of the maps within your game. While it does not render sprites, it does render every tile in your map, generating a map which it saves within a Maps folder located within your project's root folder.
Very simple. After downloading the .Zip file, extract it into your game's root folder.
The file package contains:
MapMaker.exe
MapMaker.ini
MapMaker.rxdata
MessageIntercept.dll
RGSS104E.dll
Read Me.txt
INSTRUCTIONS:
Merely run the MapMaker.exe file and you will see a menu, the left side being the list of all the scripts in your project, and the right the render and decision windows.
All major control is in the left side. Clicking on a map within the map list window chooses whichever map you want to render. And after selecting the map, you may first 'Generate' the map which will eventually appear, and then 'Save' the map as a PNG file.
More in depth descriptions of the system, how it works, the INI file and more are in the Read Me.txt file
DURATION:
Okay, it may take some time to make a map. Small maps, virtually no time at all. Large maps of 200x200 quite a bit of time. And when it comes to actively creating and saving the PNG file, much more time is expended. So if you have a number of large maps to create, feel free to get a bit to eat while it is running.
REMOVAL:
Well, other than the newly created Maps folder, you merely need to remove the contents from the installation package (except perhaps the RGSS104E.DLL), and very likely the log file it creates: MapMaker.log.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
06-25-2020, 03:56 AM (This post was last modified: 06-25-2020, 03:57 AM by DerVVulfman.)
BUMP
I just updated the package, now removing the need for one of the dll files. I fixed an issue if you are running batch map conversions while not in focus, and a very detailed read me document.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
01-13-2023, 01:55 PM (This post was last modified: 01-13-2023, 02:09 PM by JayRay.)
As a reviewer of the Mapmaker tool, I find it completely valuable not just to export a map file, but also as a tool to allow a map PLANNING tool for use in other engines. Being able to map out levels and visualize what your map would be with the near infinite size of tiles is awesome.
With that being said, I have a simple suggestion, if it's even possible to do.
Can there be an end script when exporting that offers the ability to...
A. Seperate the maps by the tileset layers?
B. Pictures!
Here's my thinking behind this idea.
By seperating maps by their layering, one can already preplan parallaxes and overhangs for the maps, something that could be visually assessed. It wouldn't need to be something that just always happens, as some people would still want to cut things out, but one of the more annoying parts of creating parallax maps is the idea of cutting parts of their parallax maps back out and re-entering them as a new layer. With this addon, the work would somewhat be done FOR them.
Secondly, PICTURES! - while having characters able to be on the map, what might be a great boon, is the ability to have any pictures also appear, as unlike characters, picture layers are set, one over another, and can easily be manipulated in the editor to create composites as characters themselves can't always stand on the same tile, and when they do, having one take a z-priority over another is sometimes problematic.
Cirrently I have the ability to add the panorama and the fog or not, the characters/events or not, and even get away from the placed tiles entirely, but... beyond those settings in the INI file, I'm curious if seperating the tilemaps by their placed layer is possible, or even feasible.
Otherwise, it's a great too!!
BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin
Currently, I do not know the cause as to why the first attached download link is broken. Hopefully, this will be looked into. However, I have uploaded a new download link for MapMaker v5
There was a bit of confusion with version 5, and partly my fault. Within the .ini file for Mapmaker, you may turn on/off different features of a map with simple true/false settings. However, that is now how one turns the tiles (ergo the drawn map) on or off. Sadly, the tile setting was indeed set to true , and that was a goof on my part.
Actually, you use settings of 0 to 4 to handle the tiles. A setting of 0 turns the all the tiles off. A setting of 1 turns on the ground layer. A setting of 2 turns on the lower layer, a setting of 3 turns on the upper layer, and a setting of 4 turns on all three layers simultaneously.
And for those unaware, the instruction manual does note that you can hit [ESC] to bring up a built-in control panel to handle map options, including a "Generate All Maps" option so you don't have to do one map after the other.
The only reason for the file size difference between the defective link and current is likely my new inclusion within the ReadMe file about the tile layer handling.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
As someone who had to painstakingly screenshot and assemble those to have copies of my map, this is a really invaluable tool! However, I get this error whenever I try to export a map:
02-24-2025, 12:02 PM (This post was last modified: 02-24-2025, 12:23 PM by kyonides.
Edit Reason: Added Workaround
)
Easy fix. Just make sure the custom Spriteset_Map includes this line:
Code:
@preview = Bitmap.new(@width, @height)
So it might say the following:
Code:
#===============================================================================
# ** Spriteset_Map
#-------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc.
# It's used within the Scene_Map class.
#===============================================================================
Later on you will find a method called refresh_preview. Below you will find the second fix. Or is it a workaround?
Code:
def refresh_preview
@refresh = false
@preview.dispose unless @preview.nil?
Graphics.update
# Set initial attempted tilesize for resulting image
@tilesize = Settings['start_tilesize'].to_f
# Number of times to try at the larger size before giving up
tries = 2
try = 0
loop do
# Catch "failure to create bitmap" from large size
begin
zoom = @tilesize / 32
Debug.log 'Starting to refresh preview'
# Create bitmaps representing the tilemap and assorted layers
@preview = Bitmap.new(self.width * zoom, self.height * zoom)
Graphics.update # Creating a large bitmap could take a while
Debug.log 'Created bitmap'
# Draw panorama if enabled
Debug.log pan_on ? 'Drawing panorama...' : 'Skipping panorama'
if pan_on
@preview.plane_blt(@preview.rect, @panorama, @preview.rect)
Debug.log 'Drew panorama'
end
# Draw tiles and characters
tiles = []
tiles += @tiles0.values.flatten if til_on.to_i == 1
tiles += @tiles1.values.flatten if til_on.to_i == 2
tiles += @tiles2.values.flatten if til_on.to_i == 3
tiles += @tiles.values.flatten if til_on.to_i == 4
tiles += @char_tiles if cha_on
progress = Window_Progress.new("Drawing preview", tiles.size, "tiles")
i = 0
tiles.sort.each do |tile|
if (i += 1) % 1000 == 0
progress.update(1000)
Graphics.update
end
if @tilesize == 32
@preview.blt(tile.sx, tile.sy, tile.bitmap, tile.rect, tile.opacity)
else
drect = Rect.new(tile.sx * zoom, tile.sy * zoom,
tile.rect.width * zoom, tile.rect.height * zoom)
@preview.stretch_blt(drect, tile.bitmap, tile.rect, tile.opacity)
end
end
progress.dispose
Debug.log fog_on ? 'Drawing fog...' : 'Skipping fog'
if fog_on
@preview.plane_blt(@preview.rect, @fog, @preview.rect, @fog_opacity)
Debug.log 'Drew fog.'
end
Debug.log 'Finished refreshing preview.'
break
rescue Exception
progress.dispose unless progress.nil?
@preview.dispose unless @preview.nil?
if (try += 1) % tries == 0
if @tilesize == 2 # If we cannot reduce the size any more
Debug.log "Preview draw failed twice at smallest size; aborting."
p "Cannot create preview; system resources unavailable.",
"If you have generated other maps, try clearing the map cache."
@preview = nil
return false
end
Debug.log "Preview draw failed twice; reducing zoom to try again."
# Reduce the tilesize until it works
@tilesize /= 2
end
Debug.log "Error while drawing preview. Trying again."
ensure
zoom = @tilesize / 32
Debug.log 'Starting to refresh preview'
@preview = Bitmap.new(self.width * zoom, self.height * zoom)
end
Graphics.update
end
true
end
How To Implement These Fixes
There's a file called MapMaker.rxdata in the game's root directory. Copy it.
Create a new project.
Close it. Yes, close it!
Remove the Scripts.rxdata file in the new project's Data folder.
Rename MapMaker.rxdata as Scripts.rxdata.
Copy and paste the fixes following the examples above.
Save the project but DON'T playtest it.
Go back to the MapMaker's root directory and run the MapMaker.exe file.
Now you can open it.
The problem is that it will throw the error after trying to generate the map.
That is why I came up with the second fix aka the workaround a couple of minutes later.
Yet, there is a chance you will come across a Tile script that makes the executable crash at line 33 thanks to a TypeError bug...
I will ignore any further questions so make sure you're reading the instructions carefully over and over again until you get the idea.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
(02-24-2025, 12:02 PM)kyonides Wrote: I will ignore any further questions so make sure you're reading the instructions carefully over and over again until you get the idea.
Thanks, kyonides! I got it to work (the old error message no longer pops up!) But the map it generates is an empty PNG (black thumbnail, but empty once I open it).
This is the error I get when I try to generate a map preview.
I've also tried clearing the cache (through the ESC menu) but it results in the same error and blank generated map file.
(02-24-2025, 03:44 PM)Ace_V Wrote: This is the error I get when I try to generate a map preview.
I've also tried clearing the cache (through the ESC menu) but it results in the same error and blank generated map file.
Your issue is related to this:
(02-16-2025, 01:37 AM)DerVVulfman Wrote: There was a bit of confusion with version 5, and partly my fault. Within the .ini file for Mapmaker, you may turn on/off different features of a map with simple true/false settings. However, that is now how one turns the tiles (ergo the drawn map) on or off. Sadly, the tile setting was indeed set to true , and that was a goof on my part.
Actually, you use settings of 0 to 4 to handle the tiles. A setting of 0 turns the all the tiles off. A setting of 1 turns on the ground layer. A setting of 2 turns on the lower layer, a setting of 3 turns on the upper layer, and a setting of 4 turns on all three layers simultaneously.
I just checked the download. For some reason, the corrected Ini file and updated help file was not in the package. I don't know WHY the update did not take, but... I just re-uploaded the fixed version... fixed insofar as just fixing the INI file and update the text file.