chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
C47_SeamlessMap v1.0.6
by chyj4747​

Introduction
The map transferring feature in MV is traditional. Fade out, change map, fade in.

This plugin provides a seamless way of transferring. Then you can make world map like pokemon.

RMMV双地图切换.gif
You can see there are different maps drew with different tilesets. Auto rain event in map 1 and auto snow event in map 4. Also traditional transfer from map 1 to map 2.

Features
  • Only render two maps
  • Auto load and render connected map when the screen is scrolled to the border of current map
  • One line note in each map makes everything work
  • The connected map is just rendered, no event will run until the actor moves into that map
  • Only handled webgl, no canvas, but should not be a problem
How to use
See the plugin help section.

Terms of Use
Free for any use. Even modify this plugin and claim as yours is ok, but just give credit to the first author. :p

Credit
chyj4747

Something to say
First of all, thank Lanza Schneider for solving the heavy lag problem when rendering two maps.

I am a game maker not plugin maker, I will not add more features unless my game needs it.
So if you require other features, please ask someone else to add.

But, I will still fix bugs.

If there is any updating in the future, I will update this thread.

Notice that the very first frame MV renders the whole game, the tilemap is not rendered while actors and events are rendered. That's maybe because I change a little the way of loading and rendering for effciency reason. Not a big problem though, just first several frames.

One more thing, many people confused with my plugin and the Japanese plugin FTKR_ConnectingMapGenerator.
Let me tell you its drawbacks:
1. It merges all maps into one map. So it causes a big problem that you can only use one tileset for all maps. Otherwise all other maps will be rendered by the same tileset of the first map.
2. Merging maps and loading data of all these maps takes a lot of time. It makes map exceed 256x256 but you still can't make a really big map due to some other limitations.
3. The event id in one map cannot be the same. So it shifts event ids of map2 by the total count of events of map1. Then it does the same thing to events of map3, map4, etc. Then you can't use event id in anywhere. If you think you can do the shift by yourself, consider that you already merge 100 maps and wanna add 1 more event in map1.
4. Finally, since it's one map, all events will run when the map starts. If you have a event that only work when the actor moves into that map area, you need to do some extra work for this.

I'm not saying that plugin is useless. You can still use it if your game uses traditional transfer and you wanna make a map exceed the size limitation. It's just not work in my case.

History
2020/08/10 v1.0.6 Fix a bug that resetting the moving animation when switching maps so that the animation may look strange
2020/08/01 v1.0.5 Fix two bugs.
1. When actor moving to a touch point on the connected map, he will keep going event reach the touch point.
2. In the case when the actor stands at any corner of the main map and there are two maps connected (only one connected map will be showed), if the actor moving to the map which is not displayed, he will move into the map that showed and at a wrong position.
2020/07/30 v1.0.4 Fix a bug when switching maps, the 2nd map's note is not analyzed so that the map notes except this plugin's do not work
2020/07/01 v1.0.3 Fix a bug when moving into the connected map an error will be printed in the console, this bug does not affect game though
2020/06/30 v1.0.2 Fix a bug that the game will crash when returning to title scene and restarting the game again
2020/03/25 v1.0.1 Fix a small bug of checking whether the connected map needs to show
2020/03/21 Upload the first version

Download
 

Attachments

  • C47_SeamlessMap_v1.0.6.zip
    18.1 KB · Views: 40
Last edited:

pasunna

Veteran
Veteran
Joined
Feb 3, 2019
Messages
531
Reaction score
278
First Language
thai
Primarily Uses
RMMV
thank you
this is a huge upgrade to map making
some question
how the parallax(normal/layer plugin) handle by this plugin
and the loop mapping
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
some question
how the parallax(normal/layer plugin) handle by this plugin
and the loop mapping
If you read the Notice part of help section, you will know that they are not handled.
My game is like pokemon, so I don't need those. :p

And like what I said on the top, you can ask someone else to add more features.
 

pasunna

Veteran
Veteran
Joined
Feb 3, 2019
Messages
531
Reaction score
278
First Language
thai
Primarily Uses
RMMV
If you read the Notice part of help section, you will know that they are not handled.
My game is like pokemon, so I don't need those. :p

And like what I said on the top, you can ask someone else to add more features.
yeah... this is kind of challenging
Never think of connecting map without fadein fadeout in mind
the black edge map flashing when loading is kind of concern me too
not sure if it look good on my project
anyway you make an innovation to RPGM map for sure:thumbsup-right:
 

kako05

Veteran
Veteran
Joined
Sep 11, 2017
Messages
177
Reaction score
20
First Language
Australian
Primarily Uses
RMMV
the black edge map flashing when loading is kind of concern me too

Shouldn't be a problem for bigger maps where MAP A and B are the only visible maps.

It's pretty nice, too bad it's usable for only basic maps. Yanfly doodads won't work too?
Anyways, pretty neat plugin. I wonder how making a huge open-world connected together by multiple maps would look. Does it affect performance much?
Anyways, it's really cool. With proper parallax map support, I imagine it would be possible to make awesome big maps. One of the main issues making rpgm mv maps is that the game demands insane hardware resources if you add a lot of stuff into it. Events/parallax mapping etc.
Thank you for making this cool plugin.
 
Last edited:

Cormorant42

Veteran
Veteran
Joined
Sep 17, 2019
Messages
114
Reaction score
54
First Language
English
Primarily Uses
RMMV
There are definitely ways to use this; you just have to want to make an old-school game (like he said). Personally, I prefer that kind of style, so I'm really looking forward to using this plugin. I already have some ideas in mind, and I can't wait to try them out.

One question--is it possible to connect a map within a map? Like, you approach a house and it loads the inside? I thought you mentioned something like that on your other thread, but I'm not entirely sure.

Anyway, love this plugin, keep up the good work!
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
One question--is it possible to connect a map within a map? Like, you approach a house and it loads the inside? I thought you mentioned something like that on your other thread, but I'm not entirely sure.

No it's not possible currently. Even you waste one direction for a house map (you can set positions that inside a map instead of positions on the border), you still can't see it because it is rendered under the current map, which means the z-index of current map is always higher than z-index of any connected map.
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
It's pretty nice, too bad it's usable for only basic maps.
Does it affect performance much?
Since my game is like pokemon, so these features are enough. But I provided my idea of rendering more than one map. There is always someone who can make it better.

I would say yes, it will affect performance much. I didn't test more maps though.

When MV renders a map, it copies the whole tileset the map used (no matter you draw a tile or not) to somewhere (maybe RAM I don't know, it's webgl function). This process will take about 100ms to finish when testing on my laptop.

There are 60 frames in 1 second. 1 frame = 16.7ms. 100ms ≈ 6 frames. It uses 6 frames for loading and copying tileset. That's why the FPS drops and there are only two maps now.

And MV uses JS, which means only one thread. So it just can't render when loading something.
 
Last edited:

Cormorant42

Veteran
Veteran
Joined
Sep 17, 2019
Messages
114
Reaction score
54
First Language
English
Primarily Uses
RMMV
Just tested out your plugin, and I'd like to clarify something for the community:
In the plugin help, you give two different versions for the notetags: <cmap: u X X X> and <cmap u X X X>, only the first one (the one with the colon) works.

Also, another question: are you planning to update this plugin with support for diagonal movement/QMovement/vehicle movement?
 

Cormorant42

Veteran
Veteran
Joined
Sep 17, 2019
Messages
114
Reaction score
54
First Language
English
Primarily Uses
RMMV
Great plugin btw, very smooth, almost unnoticeable lag
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
In the plugin help, you give two different versions for the notetags: <cmap: u X X X> and <cmap u X X X>, only the first one (the one with the colon) works.
That is a mistake.

Also, another question: are you planning to update this plugin with support for diagonal movement/QMovement/vehicle movement?
No. Unless my game needs them.
I have already started to create my game. May not update this plugin any more (except serious bug) before I finishing my game. This will take really long time, so my suggestion is that go ahead to ask someone else to add new features. It should be not too hard to understand the code without those chinese comments.
 

Cormorant42

Veteran
Veteran
Joined
Sep 17, 2019
Messages
114
Reaction score
54
First Language
English
Primarily Uses
RMMV
Ok, thanks. Just wondering
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
Updated v1.0.1

The algorithm of checking whether and which connected map needs to show has a little bug.
The distance calculated is not totally correct.
Also in the case when you is closer to top or bottom side, but only left or right side needs to show, it won't display the connected map untill you move closer to left or right side. Because even the screen is scrolled out of map, the actor is closer to top or bottom.

Fixed.
 

darkred

Warper
Member
Joined
Aug 14, 2012
Messages
1
Reaction score
0
Primarily Uses
Can you make a demo ? because i try to use your projet but nothing happen :(
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
Can you make a demo ? because i try to use your projet but nothing happen :(
Simplest demo:
New project
make a new map
now with the original map you have two maps
add plugins, make sure pixi-tilemap2.js is above C47_SeamlessMap.js, and also make sure they are ON
write <cmap:d 2 0 12> to note of map 1
write <cmap:u 1 0 0> to note of map 2
test game
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
v1.0.2 Updated.
Fix a bug that the game will crash when returning to title scene and restarting the game again.
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
v1.0.3 Updated
Fix a bug when moving into the connected map an error will be printed in the console, this bug does not affect game though
 

chyj4747

Veteran
Veteran
Joined
Mar 14, 2020
Messages
50
Reaction score
39
First Language
chinese
Primarily Uses
RMMV
v1.0.4 Updated
Fix a bug when switching maps, the 2nd map's note is not analyzed so that the map notes except this plugin's do not work
 

Latest Threads

Latest Posts

Latest Profile Posts

Making test maps is really illuminating when it comes to figuring out how the real maps should be. It's like the outline that one writes for the story before writing the actual story.
I am adamant about not having missable quests, which means having to write entirely new scenes at each plot progression that takes into account that time and events have passed since the quest could first be accepted while still having there be a quest to solve in the first place. It's worth every second.
Surprisingly useful and thought provoking
Working on animation. Trying to see if I can apply it meaningfully to my games!

Forum statistics

Threads
110,380
Messages
1,052,831
Members
143,424
Latest member
Lord_Keven
Top