public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

Mirror reflection that works with player and NPCs (Video tutorial)

BMM Archive · July 16, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: Mirror reflection that works with player and NPCs (Video tutorial)
  • Original author: DevRPG2k
  • Original date: April 3, 2025
  • Source thread: https://forums.rpgmakerweb.com/threads/mirror-reflection-that-works-with-player-and-npcs-video-tutorial.176713/
  • Source forum path: Game Development Engines > RPG Maker Tutorials > Rm2k/3 Tutorials

Summary

Download: https://www.mediafire.com/file/u9hbnn2njlsfe7u/RPG_Maker_-_Mirror_system.zip/file Password: rpgmaker Spoiler: Playlist Click here!

Archived First Post

Download: https://www.mediafire.com/file/u9hbnn2njlsfe7u/RPG_Maker_-_Mirror_system.zip/file
Password: rpgmaker

Click here!
(If you liked the content, please mark each video with a like and subscribe to the channel.)​

2k3-Mirror.png


Part 1: Preparing calculation
In this first part I will show how to make the map event go to the same X position as the player, but the Y position will be the inverse of the player's Y position using the first position of the reflection itself as a reference.
If the initial Y coordinate of the reflection is 6, this will be the base of the mirror itself and the value will be subtracted by the player's Y coordinate so that it moves away from the base.
(In the demo there is a map named "Mirror_OLD", in it you can see this stage ready)

Part 2: Smooth reflex movement
Although little known, in the past it was common for Rm2k(3) users to use a caterpillar system made by events, the logic I used was the same, the reflection instead of being transferred to the coordinate will follow as "Move event" until it reaches the coordinate calculated based on the player's position.
Info: the speed must be defined manually, to work with a dash system, which is the system of running by holding a key, adjustments will be necessary, probably the creation of a new page with the higher speed
(In the demo the map "Mirror (Only Player)" has the complete system working)

Part 3: Correcting the reflected graph
At this point the system is already working, but there is the question of how to draw the mirrored graphic, because the sprites will not always have both sides of the body the same, this may be due to the hairstyle, accessory on the arm or clothing, so it is necessary to redraw the inverted graphic, no advanced program is needed for this, I used Windows' own MSPaint for this, see the logic in this image:
1743967443814.png


Part 4: Last tests
While the system is working at this point, there is a need to be careful about the mirror height limit in terms of how close the player can get to the Y coordinate of the top of the map. If the reflection has nowhere to go, the effect on the game will be weird. The numbers on the left side of the screen are used to test any best starting positions for the base of the mirror, so you can get a better understanding of how the whole system works.

Part 5: NPCs with reflection (Rm2k3 Only)
To make the system more practical I made part of it with Common Events, so to affect the map events that represent the reflections of the NPCs I used the "This Event" parameter in the commands that needed it, but this does not work in RPG Maker 2000, so for it to work watch the next part where I undo the common events part and redo it directly in each reflex event.
Info: Although intuitive, this should not be applied to static objects, such as columns, chests, etc. To do this, simply create a reflex event in the corresponding position and the opening movement is simply synchronized with the movement of the real object. Of course, it is necessary to create a graph of the same in reverse if the object itself cannot represent this.
(See the "Mirror (NPCs)" map, with this method it is easy to create more NPCs with reflections)

Part 6: Converting to RPG Maker 2000
The "This Event" parameter works in "Common Events" when called by a map event in version 1.12a of Rm2k3, this was a correction or improvement included that helped a lot in the development of event-based systems, making it possible to use a Common Event as a function in programming languages, however this does not work in previous versions or in the most recent version of Rm2k, so for this it is necessary to recreate each of the 3 common events in the reflex events, separating them by pages so that they can be called by the reflex event itself without generating conflicts, and thus being able to delete the common events.

Part 7: Controlling static objects
This next step is important to make the game's animations more realistic, but in this case we will not use the mirror reflection system, since these are objects that remain stationary at the same coordinate on the map.
This is a basic method to synchronize the reflection with the animations of chests opening or levers changing position. The same effect can be applied to NPC events that have a custom animation when interacting with the player.
An example would be with monsters on the map where they should have an animation after being defeated.

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download
Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#rpg-maker-archive#rm2k-tutorials

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar