ASCII Mapper
Ever needed a map editor for a tile-based game, but found most of them too complicated and/or specific? ASCII Mapper allows you to paint the same using the characters on your keyboard instead of graphics. That's it: just a grid of symbols you can load easily in code and interpret however you want.
Other ASCII art editors exist. This one differs from them in two big ways:
- It uses square tiles, so you can estimate distances well.
- It doesn't deal in color, to keep it abstract and distraction-free.
ASCII Mapper started out as a quick-and-dirty online prototype. As of 17 August 2019, there's also a desktop version offering more features.
But how will I know what all the symbols mean?
Why, they mean whatever you want them to. It's your game, and your maps.
That said, games in the roguelike genre have established certain conventions you might want to follow, to avoid having to make up your own:
. is the default, empty floor , is a marked floor that stands out in some way : is impassable terrain ; is another type of impassable terrain # is a wall ~ is water | is a column, pole or tree trunk ^ is a mountain or pine tree " is a bush or foliage of some sort + is a closed door / is an open door = is a wooden plank, table or crate < is a staircase going up > is a staircase going down
You can also use any other character on the keyboard; just press any key you want to set the brush. For instance, I've used "*" to mean a fountain or basin, and "&" to mean a statue.
Limitations
ASCII Mapper handles maps of up to 100x100. You can't fit much more in a reasonably-sized browser window anyway, even at minimum zoom. The desktop version puts the map in a scrollable viewport, but even then it can only handle so many tiles at once before it becomes too slow.
Credits
Both editions are open source under the MIT License.
The Square font by Wouter van Oortmerssen is available under the CC-BY license. (Only needed in the online edition.)
Uses
I used ASCII Mapper for Electric Rogue and Glittering Light 2. More recently, it's listed in the credits of Moonshot.
Shout-outs
- A devlog by the creator of Ct.js (9 April 2021)
Status | Released |
Category | Tool |
Platforms | HTML5, macOS, Linux |
Rating | Rated 4.5 out of 5 stars (11 total ratings) |
Author | No Time To Play |
Tags | ascii, Level Editor, Minimalist, Text based, Tilemap |
Code license | MIT License |
Asset license | Creative Commons Attribution v4.0 International |
Average session | A few minutes |
Languages | English |
Inputs | Keyboard, Mouse, Touchscreen |
Accessibility | Color-blind friendly, High-contrast |
Links | Homepage, Source code |
Install instructions
The desktop version of ASCII Mapper requires a Python runtime. Python comes preinstalled on the Mac and most Linux distributions; Windows users can get it from the python.org website. You'll also need the Tkinter module, which is bundled with most Windows runtimes and preinstalled on the Mac. On Linux you might need to add it yourself: look in your package manager for something called "tkinter", "python-tk" or the like.
Python version 3.3 or newer is preferred, but 2.7 should work as well.
Development log
- ASCII Mapper on the desktopAug 18, 2019
- Making game maps with plain old textDec 07, 2017
Comments
Log in with itch.io to leave a comment.
I like it. It's clean and concise.
I just don't know how to implement it so that its functionable.
Can you give me an overview of how to do this? I want to create a text based game with a map similar to A Dark Room. I just don't know how to go about it.
Thank you for the nice words. I don't understand the question. You mean how to use the maps you create?
Yes! How do we make it work? Do you perhaps know a tutorial or something that can help me with that?
...No? It's just a text file. Or a JSON with an array of strings. You can read it with two for loops. What tutorial?
à quand une version hors ligne
Bientôt, je l’espère!
Maintenant, en fait!
Interesting idea. Off to a good start.
I created some issues on GitHub.
Answered. Thanks! Dunno when I'll be working on it again however.