Giter Site home page Giter Site logo

notimetoplay / ascii-mapper Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 44 KB

Map editor for tile-based games using ASCII characters

Home Page: https://notimetoplay.org/engines/ascii-mapper/

License: Other

JavaScript 24.26% HTML 8.19% Python 67.55%
ascii-art game-map map-editor

ascii-mapper's Introduction

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:

  1. It uses square tiles, so you can estimate distances well.
  2. 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.

ascii-mapper's People

Contributors

felixp7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

robertpfeiffer

ascii-mapper's Issues

Brush Sizes

Sometimes you want to carve out a two tile wide hall or make a wide river. Being able to have a larger brush would save time. It also doubles as an eraser.

Fill

A fill feature would be nice. Basically, replace one symbol with another symbol for all adjacent symbols.

Basic shape tools

Shape tools like rectangle, circle, line, etc would be very useful. Especially useful for making rooms.

Map sizes when loading a map

Should the map size adjust to the size of the loaded map? For example. if you load a map that is 40x40 and the current map is 25x25 you lose everything over 25 rows or columns.

That means I need to know my map dimensions and resize the current editor map before I load a map from an external file. That is tedious.

River tool

A line tool that adds some randomness to the line's path so the like isn't straight. Useful for quickly drawing a river or some hills.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.