v3tiled, the Conversion Tool for Verge to Tiled Maps
Displaying 1-15 of 15 total.
Please enter a numerical value for the importance of this sticky.
Enter 0 to unsticky.

Hey folks, how's it going? I recently released a toolset that should give people an alternative to using maped3 for editing maps, by allowing people to open their maps under tiled (http://mapeditor.org), a cross-platform and open-source editor. The tool collection for allowing just that is called v3tiled, and you can read more about it here: http://wiki.github.com/Bananattack/v3tiled/. This release serves multiple purposes. First, by making these tools, it is now possible to convert a .map and .vsp file into a map format that can be opened with tiled. And as a result, we have a cross-platform editor that doesn't require .NET and potentially works on many different Windows-based machines available! You convert to tiled formats with my tools, do the editing in tiled, save, and convert back with my tools when you're ready to have a go in Verge. Secondly, is being able to convert maps into a format that can be read a lot more easily. Tiled uses an XML format, so plenty of tools can use that for maps and so on. So if you were wanting to use your old Verge maps in projects on another engine or development platform with XML capabilities, that is now possible too. However, there are currently a few downsides to the tools as they stand currently. The disadvantage of these tools as they are, is that they require Python 2.6 (http://www.python.org/) with PIL (http://www.pythonware.com/products/pil/) installed for it, and need to be run from a command line (with Python setup in the PATH or else you need to run out from the Python installation's folder). Not entirely friendly right now, if someone makes a GUI for it, that might be cool. You can check out the source on github here: http://github.com/Bananattack/v3tiled (see the Download Source button to get a zipped archive of all the files you need), or consult the reams of documentation on the tools here: (http://wiki.github.com/Bananattack/v3tiled/). I've even documented the file specification of various Verge formats (http://wiki.github.com/Bananattack/v3tiled/map-file & http://wiki.github.com/Bananattack/v3tiled/vsp-file) on there too! If you are interested in volunteering to making tools more public-friendly, that'd be helpful. I don't really have the time for that lately, but I thought I'd do part of the favor, and at least make tools for this sort of thing exist! So there you are. Hopefully someone finds this useful!

Posted on 2010-07-18 20:29:27 (last edited on 2010-11-18 01:27:15)


You have no idea how much I needed this o.o

I must be dense or missing something, though, because I can't actually find the download links for the programs themselves, only for the source.

Posted on 2010-08-03 10:16:47


No you haven't missed anything, just that I didn't make any single-click exe/app/whatever programs out of these scripts. However, you can run them with Python, and to do that you need the source code lumped together in one folder (and for best results, your map files should be in the same folder as the scripts). I don't imagine that'd be tremendously obvious to most people, as there are plenty of people who don't have Python. :(

Read the documentation on how to use the commands for more information. I hope that can explain it better.

Anyways, yeah, you install Python 2.6 or some greater Python 2.x (not Python 3) and PIL, and run these scripts with Python from the command-line. The big issue I see is setting up your command line so it finds Python (on Windows, you need to muck with System Properties >> Advanced >> Environment Variables >> System Variables >> PATH, and add the Python folder (with a semi-colon between it and the other path) -- there are probably better visual tutorials for modifying the PATH variable on Windows, but that's the gist of it). Once that's done, it shouldn't be too bad.

Sorry if they're not that user-friendly, as I said, I didn't really have time for that sort of thing. I just released them as-is, so that there was something, even incomplete, that lets people export their Verge 3 maps.

Posted on 2010-08-04 00:15:09


Ah.. nifty program, but I'm afraid it doesn't help me after all since it only supports 16x16. For some reason I was thinking it would auto slice them up but I can see how it would not.
I can still use my tiled maps, just have to export each layer as an image and then import each image as a layer in maped. Still easier than trying to build my maps in maped, sadly :p

Posted on 2010-08-04 21:57:20


Unfortunately, yeah, Verge only supports 16x16 tiles, so that basically was forced on my tool as well. It technically can "load" other sizes, but there are tons of parts of Verge that expect tiles to be 16x16 pixels to work properly :(.

If possible, and you need bigger tiles, I recommend using the stamp tool in tiled to make bigger chunks. I guess exporting each layer as an image could also work though, it all depends on what style of maps you're going for.

What sort of thing are you trying to do? PS1 style prerendered things or something?

Posted on 2010-08-04 22:56:03


I was thinking more loading them and auto slicing them.
Anyway, I've already made almost a dozen maps, some quite large, so I'm not exactly keen on remaking them.

Posted on 2010-08-08 10:11:10


Hi Overkill!
This is great, since maped always is the thing that keeps me away from verge (can't work on vista, on 64bits, import images as layer doesn't work either, etc) :)

I got it all set up but I had to modify the python scripts to get it working. I though I'd let you know the changes I made.

Here is my setup:
Vista 64bits
Python 2.6.6
PIL 1.1.6 (a custom non-official 64bit package I found on the internet)

Tried to import a vsp and got an error:

E:\Verge\Work-VM\Work>v3tiled.py town.vsp
File "E:\Verge\Work-VM\Work\v3formats.py", line 206, in toAnimDocument
tree = etree.ElementTree(root)
NameError: global name 'root' is not defined

I changed line 206 from:

tree = etree.ElementTree(root)


tree = etree.ElementTree(animations)

Then the error changed to:
File "E:\Verge\Work-VM\Work\v3tiled.py", line 43, in convertVSP
vsp.toAnimDocument().write(vsp.filename + '.anim', encoding = 'UTF-8', xml_d
eclaration = True)
TypeError: write() got an unexpected keyword argument 'xml_declaration'

So I changed line 43 from:

vsp.toAnimDocument().write(vsp.filename + '.anim', encoding = 'UTF-8', xml_declaration = True)


vsp.toAnimDocument().write(vsp.filename + '.anim', encoding = 'UTF-8')

I might have screwed something up with this one but it seemed fine since then.

I hope it makes sens. It's my first time playing with python hehe.
I'll be using this tool from now on!

Thanks man!

Posted on 2010-10-11 22:21:05


Hmm, sorry, I keep forgetting people don't all have Python 2.7. The API could have changed. But if that works after those modifications, then that's good.

Also see this thread, in regards to maped3 in 64-bit windows: http://verge-rpg.com/boards/display_thread.php?id=133089

I seriously need to get off my butt and make a new official release so these complaints about fullscreen not working, or maped3 not running can start to go away. The builds with the fixes are around, but they haven't been combined up yet in the files section.

Posted on 2010-10-12 01:02:42


That's a nice update, but I don't think Tiled is much better than Maped3 - maybe for non-Windows users, of course, but in terms of functionality, well, the only one that is missing in Maped is the "multiple tile select", but it's possible to place them in the map and them copy+paste.

I myself am working on a Java Swing/AWT IDE to made some pre-configured V3 Maps, and some of the features are:

1) Auto-obstruct tiles, i.e, you know that a rock is an obstructed tile, so you don't need to place the tile and them remember to place the obstruction.

2) Pre-arranged tile-configuration (I call them 'objects'): You know a house is represented by those 6 tiles, so the application check if the selected map area is free, place the tiles together, include the obstructions, and also a zone event.

3) Event 'types' and auto .vc generation. If you know that an event is a warp or a mapswitch, you can easily generate the correspondent function call in the .vc file. If some entity says some simple text string, than you can also easily generate the function calls. More complex events are planned (as prompts, shops, hospitals, additem(), etc) - but they are specific to my RPG-like games.

The main goal of this GUI application is to generate .map and .vc for my games in a more automatic fashion, so it's not going to be much flexible. But in the future it could be transformed in a more generic RPG editing IDE.

Posted on 2010-11-08 14:16:09


frankly I'd kill for a modern tile editor that had hotkeys to switch what tile is currently active (so you can lay down a massive amount of art without moving your hands from the keyboard and mouse)...

Posted on 2010-11-09 21:27:44


The code from those tools were very helpful to my own code, and I thank you for releasing it.

As I said before, I'm making a more automatic map maker, and I need it to save .map files.

I'm only struggling a little with the big-endian to little-endian conversions, as Java has only signed big-endian bytes/shorts/integers. The pack function in Python make these things easier.

Working with classes are such a relief. :-) I only hope the ZLIB supported by the API (java.util.zip) will work fine.

Posted on 2010-11-11 15:58:28


Java's built-in zlib algorithm works fine actually, I once wrote a Java-based game engine for a grade 12 high school project, that loaded some Verge formats because I was lazy and didn't want to write an editor. The little endian to big-endian stuff is a little annoying, but you can probably work around it easily. I remember that I found a class that took a DataInputStream and overrode all the reads to do little-endian order.

My Java project was called "An Epic of Gladiatorial Proportions" which was made in about 3 weeks with Java and LWJGL (+ minor amounts of Groovy for some event handling). Darien did the pixel art, and Troupe did the music. The sounds were ripped from Fukyuuten (an ika game).

Later I made some weird modifications to the original game. This was what resulted (though my netbook couldn't handle recording and playing at the same time): http://www.youtube.com/watch?v=iIgleAKu0C0

Some modifications are kind of broken, like sword that gives stat boosts, and the fact that I decided to make the player invincible while testing the enemy AI and never turned that off. The AI was this state-based thing that would try to run around and jump across platforms. And it would attack the player or other enemies when in range. If they got hit, they got vengeful and started running at you. It was kind of weird, but it was a tech demo made in high school, so what can you do.

Posted on 2010-11-13 09:26:43


Thanks, Overkill. I finished it yesterday. That was exactly what I did: I extended the DataInput/OutputStream to work with little endians and unsigned, and after a bit of trial and error, now my Java application is able to load and save .map files.

The zlib also worked fine.

I'm going to give some updates about it, as my project evolves. I hope I will acomplish a lot this time, because my last unfinished projects with Verge have more than 5 years.


Posted on 2010-11-13 11:00:16


Where's your project? How can I use it?

Posted on 2010-11-14 17:11:51


Dear McGrue,

The project is still in development, and as soon as it's usable I'm going to release it. I'm going to open a new thread in the General Discussion forum, as this is not the proper place to discuss it.

With kind regards,
Rafael, the Esper

Posted on 2010-11-19 19:41:49

Displaying 1-15 of 15 total.
Newest messages

Ben McGraw's lovingly crafted this website from scratch for years.
It's a lot prettier this go around because of Jon Wofford.
Verge-rpg.com is a member of the lunarnet irc network, and would like to take this opportunity to remind you that regardless how babies taste, it is wrong to eat them.