Thoughts on how to do a better map editor in RPG Maker

Discussion in 'General Lounge' started by Sharm, Nov 13, 2017.

  1. Sharm

    Sharm Pixel Tile Artist Veteran

    Messages:
    12,615
    Likes Received:
    10,301
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    N/A
    I know this is probably going to duplicate a lot of what gets said in other places, but I thought it'd be nice to have a discussion of just the mapping without the limits or distractions of the other existing discussions. What I'd like to see here is reasonable ideas of what RM could do to make mapping better for the next engine. I specify reasonable because I don't want this to be so much of a wishful thinking thread but more of a "what ideas do you have that might actually be made". For example, 3D could be fun, but it would need to be a separate engine, not just a new iteration of the existing 2D engine. I'm thinking more of a refining of the existing setup to work better.

    To start out, here are my thoughts on how mapping could be improved.

    A1: Putting animation into a sheet format makes things fairly limited, and I'm not sure it's the best way to go.

    In VX/Ace/MV the first animation autotile slot is kind of the "master water" position, meaning that the tiles such as waterfalls and the transparent autotile and the next slot's animation map inside of this one. This is due to the fact that the transparent A tiles aren't actually on a separate layer, they get smashed down into one layer by the program (at least, this is what I've been told). I would much rather be able to have those transparent A tiles be their own layer. This would allow me to use some of the tiles on other water tiles. This is especially important if I'm using one of the autotile slots as a kind of alternate edge for the first autotile. If you have something like that and then try to map something like, say, a flower floating on top, the current setup will remap the bottom to be the first tile, regardless, and completely destroy the careful edging setup as it tries to guess what the other autotile edges should really be.

    Having exactly one tile of transparent autotile that maps on top of the water is just too little for me. It could be used for so many fun things like a patch of rapids or a bunch of reeds with ripples and swaying in the wind, or a group of dolphins jumping in and out of the waves. Things that I would like to have more than one of on a single map.

    The animation for everything on A1 is pingpong style, meaning that it does a 12321232 sequence. This is great for some things but it ruins the flow of a lot of water animations. Waterfalls in particular would benefit from being able to be switched to a 123123 sequence instead.

    A hard frame limit is very frustrating. Sometimes I'll only need 2, sometimes (especially for the animating of ocean waves) it would be really wonderful to get a 4 or more frame animation possibility.

    Some of the need for duplicates here could be resolved by allowing for A1 style animated autotiles to be transparent and map on top of the A2 and A5 tiles. In fact, it would allow for some very fun ground animations, like adding a field of grass that sways or some scattered leaves being shifted by the wind.

    A2: For the most part this works, left being bottom layer and right being transparent makes a lot of sense. Here not technically having the transparency be on it's own layer isn't too bad, I haven't run into any problems. Probably because it can map on top of any of the tiles, not just one. It does have a "master tile" thing here too for the first slot, but it's not as invasive. I still don't find it useful, especially when mapping water along a varied edge. This is especially a problem when doing an overworld map, I've noticed. It does make things quicker if you working exactly the way the program expects you to, but in this case I'd much prefer having more control and having to fix awkward edges myself.

    There is one element that is really, really weird, so much so that it ends up not being useful if you're using anything other than the default tiles and/or sprites. I'm talking about the counter tiles. They're not automatic, you have to change a passage setting in the database, but they change how the actual tile is drawn. It does an odd thing that lengthens the height of the tile by doubling part of it (potentially useful) but it also takes part of it and shifts it to one side and overlays it on top of the existing art. I suppose it's there to make the top of the counter be slightly less repetitive but it's very, very awkward to make something with it that looks right. Especially if you'd like to be able to set something that's not a counter as a counter tile, such as a fence. If it didn't do the shifting, I'd bet the counter marker would be a really great feature, especially if you could specify how much taller you make it.

    A3: It really bothers me how the roofs match up exactly with the walls here. Since this section seems to only be used for exterior buildings with pitched roofs, why not allow the roof to be shifted outward a bit at the edges, overlapping the ground a bit. It'd be best if the edges would be mapped higher than the middle, above the player, but if it's a small enough shift it wouldn't be a big deal if it wasn't. It be really amazing if this edge bit could be mapped to overlay the same roof tile if you're doing a house with multiple stories, though how to easily choose that option could be tricky.

    A4: For the most part this works well, and is very clever. I would just like it to be on it's own layer, with the other transparent tiles. Having transparent edges here makes so, so much sense, and it would solve so many problems like too sharp corners and needing duplicates for different ground types. It would also allow for neat things like hedges with small holes in the middle and interesting fencing.

    A5: I'm constantly running out of space here. Most of this is due to needing a lot of extra tiles when I want to work around the default, like if I want alternate damaged walls or to put windows on the background or adding curved edges to my transitions, and so on. If these are addressed elsewhere I would still like to have this, the allocated space for it would be plenty. I do find myself wishing that I could have some tiles here be transparent, like a B tile that went on the background layer. This could be so nice for things like sideways stairs or slopes and angled walls. This desire could be addressed in lots of different ways.

    All Autotiles: The current setup of the smaller subdivisions and only the center as a full tile is efficient, and sometimes even better for certain tiles, but most of the time it makes for very limited artwork and very square corners. This is one of the big reasons people are always citing XP's mapping as superior, even though in some ways VX/Ace/MV makes things so much easier. I almost have to insist on being able to use the XP style of autotiles, with a 3x4 square of full tiles for each segment of edge and corner. Having both could be good, there are some cases where the extra space in the edge is just extra data for no reason, but if I have to choose one or the other for an entire map I'd rather use XP style.

    Mapping with one autotile should not always remap the current already placed autotiles. This stuff drives me crazy when I'm mapping and I know it does other people. I'll get a ground tile all nice and interesting and try to map a wall and suddenly all my careful edging is destroyed. I'll have to map the wall on a different map entirely, then shift click it into place if I don't want my ground changed. I'll admit, this behavior does have it's uses, like when you're mapping out the walls and floors of interiors, but most of the time it gets in the way. I would much rather not have it than to have it, and work around the times when it's useful instead, but maybe some way to toggle would be nice.

    B-E: This is basically good setup. It would be nice to have some way to have transparent animated tiles, something that would just be on a loop constantly without needing an event, maybe not as a B-E tile, but somewhere as a transparent tile you can place. It would be very, very useful if you could have a little bit finer positioning on placement. Pixel perfect like the grid free doodads is really nice, or maybe just half tiles for ease of use. This would be especially nice for placing windows and things that are right against a wall. I use so much wasted space because I want things in the middle of a tile division even though the actual art only takes up a single square.

    Shadows: This one is so broken I don't know where to start. The half tile drawing is nice, though insufficient and often auto drawn incorrectly. I hate the auto placement on this, I personally would like it to all be done by hand. It should also go over the player, letting them be in shadow. Not sure why that isn't default. It would be very useful if there was an option to tweak the color for it somehow, maybe even the transparency amount. It would also be really great to have a few basic shapes, like a fourth of a circle or different triangles. I often end up using the E tiles for this, which doesn't always work, especially when I run out of layers.

    All Tiles: Being able to not use the formatting at all should be an option, so you can just import tiles that aren't made for RM and would overwhelm the default A5 spot for it. More layers is also good. MV's setup mostly works, though I think just one more layer would be vastly better. I'm sure I could find ways that having even more would be better, but if it needs to be as minimal as possible, I would really like 3 for B-E, and that transparent actual layer in A I talked about earlier.

    I cannot stress enough how wonderful it would be to be able to chose a tile size before mapping. Both smaller and significantly larger would be very useful. I know some people would like to mix sizes in a map but I don't think this would be necessary if the placement of the B-E tiles was a little more flexible.

    Being able to mark things that you can walk behind is essential, especially for the wall and building tiles. For buildings this would have to be a setting separate from the object itself to work correctly. Like a region maybe. There absolutely needs to be the expectation that characters are going to be more than one tile high.

    It would be really, really nice to be able to map in different styles than the default. Like Iso perspective or the proposed dungeon crawler fake 3D. This might be asking a lot, since I know how much of a nightmare the layering is for things like iso, but the option would be so amazing. If not a separate mode then maybe the ability to mimic it with enough layers and being able to set some tiles to be both in front of and behind the player depending on where they stand. Maybe, if we're getting really crazy, the ability to map cropped tiles, like click a modifier and change from mapping a full square into mapping only a triangle piece of that tile.
     
    #1
  2. DragonVine

    DragonVine May or May Not be Batman Veteran

    Messages:
    344
    Likes Received:
    385
    Location:
    Canada
    First Language:
    English
    All of that sounds perfectly reasonable, if you ask me. One of the things that has frustrated me with the newer versions of RPG Maker is how difficult it is to make walls and buildings that the player can walk behind. I know RPG2k and 2k3 only offered two layers of mapping, but allowing the star passibility was quite helpful. With that being said, I understand that the wall tiles are autotiles now, but it would still be nice if we could integrate that without having to move things to the B-E layers, taking up tileset space, or without having to use a plugin.
     
    #2
  3. Espon

    Espon Lazy Creator Veteran

    Messages:
    1,810
    Likes Received:
    189
    Location:
    Canada
    First Language:
    Gibberish
    Primarily Uses:
    RMMV
    I always liked XP's mapping over the current mapping they've been using since VX. Unlimited tiles without layer limitations worked so well.
     
    #3
  4. Hudell

    Hudell Dog Lord Veteran

    Messages:
    3,323
    Likes Received:
    2,961
    Location:
    Brazil
    First Language:
    Portuguese
    Primarily Uses:
    RMMV
    Number 1 priority should be infinite layers. It wouldn't even impact perfomance as much as their badly implemented event system does.
    Other useful features are Layer Padding and Inverted Tiles (Mirror).

    I believe being able to choose the tile size is coming. There's no reason not to have it since the engine already support anything between 1x1 and 64x64.

    As it is now, the star passability only works for tiles that must always be on top of the player, like clouds and stuff. There should be another configuration for tiles that need to behave like an object (behind the player when the base Y is smaller, in front of the player when the base Y is bigger), but I recognize such a feature would be very confusing for new users so they probably won't ever do.

    Manual Tile Animations.

    This was a feature in another engine I used over a decade ago: You could manually configure tile animations by choosing a list of tiles in an order and choosing an amount of frames for it to skip to the next one.
     
    #4
  5. OnslaughtSupply

    OnslaughtSupply Ssshhh... Veteran

    Messages:
    731
    Likes Received:
    762
    Location:
    Texas
    First Language:
    English
    Primarily Uses:
    RMMV
    I vote for an improved layer/overlay system. Like parallax mapping but built in with region restrictions and a doodads gridfree sheet, like make sheet "F" or whatever gridfree. Also flexible tile sizes. There are so many great tiles for VXACE at 32x32, it is a shame to have to resize them for MV and have them looking weird. I think it would be great to setup one map in 32 and say have another in 48, that way the end user can use all sorts of user made and dlc tilesets.

    Ability to turn auto shadows off. Shadows aren't squares, real shadows have curves, lol.

    A simple airbrush for adding sun rays and shadows. It would need the aforementioned overlay system.

    That's all I can think of for now.
     
    #5
  6. Andar

    Andar Veteran Veteran

    Messages:
    28,609
    Likes Received:
    6,568
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    OK, here a few general ideas what might be done, but would require complete rework of the tilesheet formats

    1) autotiles for upper layer
    There are cases where I would like to be able to draw on the upper layer like autotiles, especially where the ceiling tiles are concerned, or to be able to go behind an autotile structure.

    2) tilesheet by tile-type.
    In almost every A# sheet different tiletypes are mixed up, autotiles, regular tiles, wall tiles and so on. This might save space on that tilesheet, but it also causes some confusion.
    I would suggest having only one type of tile on a sheet. For example ceiling and wall tiles would go on different sheets, and A1 would only contain animated autotiles, no other.

    Such a separation would also make it easier to change to different frame numbers in the animations and so on.
     
    #6
    DragonVine likes this.
  7. SweetMeltyLove

    SweetMeltyLove Veteran Veteran

    Messages:
    110
    Likes Received:
    153
    Location:
    Brazil
    First Language:
    English
    Primarily Uses:
    RMVXA
    Just take what Tiled does and work from there. You can have infinite layers, infinite tilesets, infinite autotiles, any size of tile, isometric maps, images, regions, shapes, etc
     
    #7
    kaukusaki likes this.
  8. Sharm

    Sharm Pixel Tile Artist Veteran

    Messages:
    12,615
    Likes Received:
    10,301
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    N/A
    Ah, I totally forgot about mirroring and rotating tiles! That is a must have! I use it all the time when drawing tiles in PyxelEdit, it'd be nice to not have to save some of them separately just because they're flipped. Flipping tiles is an easy way to add a little variety to a map while taking up less room in the memory.

    I like the idea of having tile sheets separated by type, especially if that makes it easier to get some of the mapping things I want. I always wondered why it was A1-5 but it was B-E instead of B1-4 even though those sheets are more similar than the A sheets. It's a weird naming system and a weird setup.

    I do like Tiled but it suffers a lot from ease of use, plus it's super easy to make a map that takes up way too much space. I don't know how much it's been optimized since I last used it, but I remember that large file sizes mostly happened when I had too many layers in one map, which is why I can understand RM having such firm layer limitations. I think using Tiled as a reference for interesting things that could be possible is good but I would like to keep how mapping in RM is easy, just with more options if I want to do something a little different. We have the ability to use Tiled for MV as it is, and I like that. The ability to use an external mapping program and import should be kept.
     
    #8
    GolfHacker likes this.
  9. Plueschkatze

    Plueschkatze Veteran Veteran

    Messages:
    513
    Likes Received:
    1,519
    First Language:
    German
    Primarily Uses:
    N/A
    I think a build in layer system would be amazing, one that give you more freedom than tinkering around with the tilesheets and passability on those. Something that would allow for (advanced) parallax mapping right out of the engine. A bit more photoshop-ish. Where you could do a groundlayer, layers for items in various z-heights (Or may be y? Not sure how it's handled within the code!) depending on their heirachy. You could build the layer heirachy around "below character, same, above, above all". Also a full image import as background layer (or for each layer) and then an individual blocking of tiles with regions like you can do with Yanflys Region Restrictions!
    And maybe even layer modes like overlay, add, screen, multiply etc. which would be very usefull for lights and shadows. Some build in 2D Shaders would also be nice...

    Something that would allow free placement, ignoring the grid, would also be nice! (Like Yanfly's Doodads do... the opportunity to toogle it on/off would work well!)
    And allowing to use custom collisions would be AMAZING. And smaller movement units or 1px movement.
    I think it's not without a reason that there are plenty of plugins for that kinda stuff ;)

    A lot of the stuff you currently have to do workaround for...
    I think there's a lot of stuff I'm not even thinking of right now! :)
    Fact is, I never use the in-engine tools and go straight to parallax plugins. So I'd love to see something like those.
    Would be an instant buy for me :p
     
    #9
  10. Andar

    Andar Veteran Veteran

    Messages:
    28,609
    Likes Received:
    6,568
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    There are reasons for most of the limitations that exist (like the number of layers), and everyone needs to think of the consequences of changing something.
    Because adding features will add to the RAM requirements and that will prevent some used like mobile export (originally maps in Ace could have been up to 500*500, that was reduced to 250*250 for MV due to the requirements of mobile export.

    Or @Plueschkatze parallax mapping requires around 2000 times the memory compared to a tile map of the same size. The small size of parallax pictures on HDD is only due to high compression, but you can't play on a compressed picture. While it is used on the current map it has to be uncompressed, and that uses up 2000 times the RAM compared to a tiled map of the same size.

    So if you want those features added, you're basically requiring the engine to scrap all chances of mobile export.
    That can be done of course, but other people will then cry for mobile export.

    That is a design decision that has to be made to identify what can be called "reasonable" for this discussion.
     
    #10
  11. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    12,272
    Likes Received:
    12,498
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Personally, I'd like to see a layer tab, so you can see what you have on layer 1 by itself, layer 2 by itself, and layer 3 by itself. That would go a long way.

    Also, I really do think they need to fix star settings so that they are not on top of everything. I really don't like needing a plug-in (or script) to fix this.

    And I'd vote for more control over the auto shadows. Maybe let us mark whether it covers things in layers 1, 2, or 3? Or whether it should be over any event set to below player, same as player, or even above player? Could be a setting under map properties, so you can set it on a map by map basis.
     
    #11
  12. Plueschkatze

    Plueschkatze Veteran Veteran

    Messages:
    513
    Likes Received:
    1,519
    First Language:
    German
    Primarily Uses:
    N/A
    @Andar thanks for the insight. I know that tilesets are way better perfomance-wise, but didn't know that it's around 2000times more memory. Wow. I think you're right, I most likely wouldn't use parallax for a big project, since they tend to get laggy. So while it would be a nice thing to have, I don't need it, since I'm used to the workaround... saw that more as a "what would you like to have"-thing. ;)
     
    #12
  13. Shaz

    Shaz Veteran Veteran

    Messages:
    37,794
    Likes Received:
    11,502
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    I have not had time to read through this, but I expect it will be interesting when I get to it.

    My suggestions would be to go back to the XP days and give the mapper complete control over layers. If they want to put an autotile on layer 3, let them! If they want to put transparent tiles on the bottom layer, let them! I'd suggest more than 3 layers - 4 or 5 would probably be enough for most people. This would also remove that stupid reformatting other autotiles just because I've drawn next to them that is the bane of my Ace/MV life.

    Bring back priorities, so tiles display in front of or behind the player or events depending on their position.

    Make autoshadows optional. A checkbox in the System tab or on the map properties window.

    Remove preformatted autotiles - go back to the XP style. If you only want 5 autotiles, that's fine, just use 5. If you want 100, that's fine. Don't force them to be placed on a particular sheet, in a particular spot. Provide some other way of indicating their passage settings.

    Honestly, XP had this pretty much covered, but there were problems with the limited number of autotiles and the unlimited tileset size. Going back to XP's mapping and autotile formats, and handling those two issues, and I'd be very happy.
     
    #13
    GolfHacker, Sharm and Plueschkatze like this.
  14. Applesaws

    Applesaws Apple Veteran

    Messages:
    46
    Likes Received:
    58
    First Language:
    English
    Primarily Uses:
    RMMV
    If mobile support is a big worry and the reason so many things have to be cut back, why not have a mobile option? When you're making a project, check mobile or not and that can determine what the limits are.
     
    #14
  15. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    12,272
    Likes Received:
    12,498
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Personally, I'd rather there be one RPGMaker for making mobile games and one for making PC games. That way we don't get this middle compromise that makes neither group happy. But that's just my $0.02 on it, for all it is worth.
     
    #15
  16. OnslaughtSupply

    OnslaughtSupply Ssshhh... Veteran

    Messages:
    731
    Likes Received:
    762
    Location:
    Texas
    First Language:
    English
    Primarily Uses:
    RMMV
    @bgillisp I was just fixing to say that.
     
    #16
  17. Shaz

    Shaz Veteran Veteran

    Messages:
    37,794
    Likes Received:
    11,502
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    RMMV
    me three ;)
     
    #17
  18. mystic0

    mystic0 Freeman Member

    Messages:
    25
    Likes Received:
    15
    Location:
    Seattle, WA
    First Language:
    English
    Primarily Uses:
    RMMV
    Decorative drawing similar to Inkarnate that would simply draw on the palette without actually affecting the map would be nice.

    I miss infinite layers too. That is definitely my most missed. In terms of exporting to mobile, the lazy fix for an export is to flatten the decorative layers together when its compiled and limit the layers to 5 or use a progressive loading based on player position (similar to what we use in MMOs).

    I would really like mild bitmap manipulation like rotations, hue/saturation/brightness/contrast, shrink/enlarge tile size, blur/sharpen, and noise. Sometimes I want a cliff that is designed vertically, but I want to rotate it by 90 degrees and also change the color of it.

    Having a massive tileset size would be good too. It can be a pain to make a tileset for each map and when you need to mix and match between multiple files.

    I've been flirting with 3D and isometric but optimistically it would look similar to Diablo, Minecraft, or Super Mario RPG. I talked to some other developers about it and they think I should stay with the 2D and implement a pseudo-3D and creating a dynamic lighting plugin. Inferring the Z-dimension based on a 2D design is challenging. Depending on the game it is even drastically different. Placing the light source(s) without visualizing a 3D plane can make the rendering look inconsistent. With a lot of template sprites, it includes the light source at a ~43-degree angle. Making something like that would require new flat templates.
     
    #18

Share This Page