2019-04-04 21:33:56

I'm wondering if there's a map format that works particularly well for creating levels when you can't use a standard map/level editor?

To narrow the question down, I'm thinking specifically of 2-D tilemaps. Tiled's features look great, and I like that it is a text-based format. But even if you hand-write a Tiled map, I think the editor provides a lot of added features that would make the hand-written map fairly useless. For instance, if you're using a physics system to handle collisions, it looks like Tiled can trace your individual tiles and create individual large polygons for walls and such.

Are there any mainstream formats that we can work with? If not, what do people find works well? I'd like something a *bit* more complex than just square/rectangular rooms with doors between them--at least corridors with turns would be nice. smile


Thumbs up

2019-04-09 01:50:49

So I looked at how the various roguelike generators represent maps, figuring that whatever format they use is probably good enough to get started with. Looks like most use 0 for passable tiles and 1 for impassable tiles. Figure that might be a good place to start.

One challenge with this though is that, while I can edit strings of 0s and 1s in an editor, visualizing the map is going to get a bit challenging if up-arrow puts me at the beginning of every new line.

Are there any text editors that keep your position in a line when you arrow up/down? So if I'm working on a room, represented by a line of 0s, pressing up-arrow will position me at the same horizontal character in the previous line?

Still open to other ways of representing maps. Is Swamp's map format easy to create and work with? Lots of folks seem to have good luck creating those.

Thumbs up

2019-04-09 02:32:22

Notepad I think is like that, though I could think of a few other ways to hack together a map editor. Procedural generation of maps aside, you could also use a simple paint program like BrushTone for creating maps, as image data is basically a 2D array with 3 or so variables per index. Just paint with colors representing the number values of your data, and convert the image into a raw array, slicing out the extra variables you don't need. I could throw together a simple python conversion script if you like.

Most map types tend to fall between spacial coordinates for objects and tile'esk grids, or some combination thereof, there's also things like BSP or Octree type formats.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

Thumbs up

2019-04-09 03:20:50

Interesting, hadn't thought of using BrushTone.

Random aside: do you know of anyone using BrushTone regularly? I've seen it in your sig for a while and it looks interesting, but I don't know enough about it to know what problems it might solve for me. Maybe I can use it for tilemaps, but could I, say, use it to draw something to 3-D print? Individual panels for an enclosure, for instance? I know, or imagine, that it's 2-D, so I couldn't draw the entire object. But maybe there's a way to stitch individual panels together for drawing project boxes and such?

Anyhow, just curious if you have any regular users, or if you yourself are one, and what you do with it. smile

Thumbs up

2019-04-09 05:47:52

It's slightly dated, but I love Metpad, which keeps its column position when navigating by rows (or lines). It's what I use when I want to create text tables, such as when I created the table for Swamp's weapon specifics.


Thumbs up

2019-04-09 08:20:14

Hm, I know Mayana's used it, and a few others. People don't seem to talk about it much, but there have been a number of downloads. Accessible paint tools are rather a rarity, there are a few others besides BrushTone, which was a first attempt at an easy to use MS Paint style tool. It has a number of features for creating 2D images, custom colors, alpha blending, animation, etc. along with various accessibility features. For the most part its for creating images, but given the amount of things i've learned about image manipulation, such as spectrograms and sonification, i've found a number of interesting alternative uses.

As for 3D... Technically I think you could do it that way with layered 2D images, I've actually been working on an improved paint tool and was looking to add voxel based 3D modeling system that works similarly as an option, though things have been, ah, difficult lately. If you want to get into accessible 3D modeling and printing though you could look into using OpenSCAD coupled with my second tool AudiMesh3D for visualizing STL model files with a built in sonifier, coupled with Pronsole and Sli3cer for slicing and connecting to a 3D printer. Both are relatively screen reader accessible, although the Pronsole can be a bit finicky sometimes.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

Thumbs up

2019-04-09 12:41:36

How complex is the 3d under question? Ex, if you're going with the roguelike "0=clear, 1=wall" thing, and you have a small enough vertical range, you could extend it so that each bit represents the tile at a specific height.
I was experimenting with a format that let me define tile properties, mapped to chars, so as to use a string array for the map. Each type has various optional properties, including the previously mentioned bitwise vertical thing, whetr or not any part of it should be a ramp, and what sounds to associate with it. Since I was doing this with a text editor and defining the tiles afterward, I did make a few mistakes—ex, forgetting to define a certain tile, or doing the terrain wrong so that below a balcony sounds the same as upon it. And there are probably still a few ramp-related bugs in the engine (bumping the underside of the stairs and not getting teleported to the top is tricky business, for some reason), but it otherwise works enough to play with.
The main disadvantage is having to keep track of what tile means what at what height. As you can imagine, the number of tiles you need for a halfway complex map can get pretty large. Off the top of my head, the map I've done most of my testing with has something like 50-60 types, iirc, a lot of which comes from me trying to distinguish the rooms well enough to make identifying them without Swamp-style zone information being necessary. If all you need is "wall upstairs, wall downstairs, wall everywhere, floor everywhere, hole", then you only need those 5.

"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."

Thumbs up