/r/RPGMaker

Photograph via //r/RPGMaker

This is a subreddit focused on discussing RPG Maker. This includes any version from 95 to Unite to any of the console titles.


  • About the subreddit

This is a subreddit focused on discussing RPG Maker. This includes any version from 95 to MV to any of the console titles.

In the sub, you can post:

-Tips and Guides regarding the program.

-Games and projects made by users of RPG Maker.

-Resources for your project

-Discussions about the program and/or games made with it.

-News about RPGMaker games and gamedevs.


  • Join us on Discord!

Join our Discord server and chat with other makers!


  • Join the Raidcall Channel!

Name: RPG Maker Reddit

Channel ID: 8335491


  • Screenshot Saturdays!

Screenshot Saturday is a weekly thread dedicated to showing off some latest creations of members of the sub. Posting could be for showing off or asking for feedback.

Check out previous Screenshot Saturdays!


  • Other useful RM websites

Official RPG Maker Website

RPG Maker Network

/v/RPGMaker

Charas Project

finalbossblues

Kokoro Reflections


/r/RPGMaker

52,368 Subscribers

4

Sneak peek of the new OST for 'BONE IDOL: A Game Of Bones'. Free on Itch!

2 Comments
2024/10/27
18:59 UTC

1

How can I play an old RPG Maker game in a resolution higher than 480p?

I downloaded Super Mario RPG and the 7 Sages and I can't play it because of how blurry it is. Is it possible to upscale it somehow?

0 Comments
2024/10/27
18:52 UTC

2

How to remember party members?

Hi, I'm a new user of RMMV, and I'm trying to do something that no tutorials on internet seem to can help.

Basically, I'm making a game where the different party members (five in total) can be recruited in any order. In a quest, though, I need to change the party (a sort of flashback) and then restore the previous one. Now, doing this would be easy if I already knew which members were in the original party at that point, but how can I make the game remember which ones the player has already recruited?

Thanks in advance, I'm really struggling with this haha

2 Comments
2024/10/27
18:08 UTC

5

How to add a comment to a character

Right now me and a friend are working on the lighting for a game, using the plugin Shora's Lighting & Shadow System. The way light sources work is that you have to type "light" in a comment box for it to activate, and we want a lightsource on the player. However, we cannot figure out how to add a comment to the player, nor have an event attached to a player. Any help?

4 Comments
2024/10/27
16:14 UTC

6

Does anybody know when the next RPG Maker MZ sale will be

I just downloaded the free trial and I love the game but I am still learning it so I don't want to waste my free trial and not making the game I actually dream of creating. So can anybody let me know when the next sale will be and how often it goes on sale or how much it usually goes on sale

5 Comments
2024/10/27
15:38 UTC

43

'Dark Light: Act 1' is available on Steam!

I'm so so glad to announce that the Act 1 of 'Dark Light' is now available on Steam ( and it's free! ). I can't believe my little rmmv game is finally getting it's own page on Steam! ♥️ And I need to thank many people here who were amazing beta testers for my game ♡♡♡

2 Comments
2024/10/27
14:09 UTC

27

updated the hud, looks much better (joke)

2 Comments
2024/10/27
13:58 UTC

3

rpg maker mv games wont launch on windows 10

3 Comments
2024/10/27
12:29 UTC

3

Any plugins or something to make the battle system of Summon Knight: Swordcraft Story?

Just curious is all

3 Comments
2024/10/27
11:36 UTC

7

Photo album mechanic

I thought I made this post already but I guess not. I'm working on a game that implements taking photos in various locations across the map that then appear in a photo album/scrapbook. Obviously, the photos are pre drawn. Now,here's my question. Is there any way to make a mechanic similar to the way omori's photo album functions, with player input controls,the book like layout etc. it looks to me like the background, photos and actual notebook part are separate layers/parts. examples under here.

4 Comments
2024/10/27
09:49 UTC

5

Skill that removes mp cost for your next skill?

Is there a way to make a skill remove the mp cost for the next skill you use? rpgmaker mv

2 Comments
2024/10/27
07:06 UTC

16

Is there a plugin or any other way for me to achieve a similar look in the items menu?

1 Comment
2024/10/27
04:35 UTC

1

Does anyone have the battlers from (Mazeran) on http://lud.sakura.ne.jp/ from a while back?

A couple years ago, I was really in to RPGMaker and used a ton of these to mess around with the games I was making.

Now that I have more time, I want to do a game again, and I always loved Mazeran's (I think that's their name?) battlers, but alas, the site no longer exists.

Does anyone have an archive of most (if not all) of there work from back then? I know they have some paid stuff now, but that doesn't seem to include some of the battlers I really liked from back then.

0 Comments
2024/10/27
03:03 UTC

8

Using Visustellas STB plugin, could anyone explain or tell me what this white bar is and how it works? Looked it up online to no results

5 Comments
2024/10/27
02:03 UTC

1

Dice Animation Help

Evening, all

  1. Sorry. Reddit spoilers are clearly beyond me. There is just a huge wall of text.

I've finally got my plugin dice damage plugin working. Any attack that uses my damage formula checks how many dice the player has, rolls that many, and deals said damage.

Issue is the animation. I have six exploding pumpkin animations that each reveal the number you rolled.

I'm unsure how exactly I could go about replacing the regular skill animation with my six variants, so you visually see what number you rolled before dealing damage. And beyond that, I'm unsure how to make it play multiple animations, e.g. the player has two dice. They attack. 2 dice animations play and each one displays the appropriate animation for the respective dice rolls. The player won't collect more than 6. Once I get the animations playing, it shouldn't be too hard to organise them so they play as though pips on the no. 6 side of a die.

Anybody have any ideas? I'll attach my plugin. It'll get released for the community at some point anyway. This is one of the few things holding it back from being feature complete.

I have decided Reddit Mobile's formatting bugs me. XD

/*:

 * @plugindesc Dice Damage System

 * @author RyeBread

 * @target MZ

 * 

 * @param DiceCountVariable

 * @text Dice Count Variable

 * @desc The variable ID to store the player's current dice count.

 * @type variable

 * @default 1

 * 

 * @param EnableDebug

 * @text Enable Debug Messages

 * @desc Show detailed debug messages in console

 * @type boolean

 * @default true

 * 

 * @param AnimationIDs

 * @text Dice Roll Animations

 * @type struct<DiceAnimations>

 * @desc Animation IDs for each dice roll value

 * @default {"roll1":"1","roll2":"2","roll3":"3","roll4":"4","roll5":"5","roll6":"6"}

 * 

 * @command AddDice

 * @text Add Dice

 * @desc Adds 1 dice to the player's inventory.

 *

 * @command SubtractDice

 * @text Subtract Dice

 * @desc Removes 1 dice from the player's inventory.

 *

 * @help

 * Plugin Commands:

 * - AddDice: Adds 1 dice to the player's inventory.

 * - SubtractDice: Removes 1 dice from the player's inventory.

 * 

 * Animation Setup:

 * Create 6 different animations in your database and set their IDs in the plugin

 * parameters. These animations will play when corresponding numbers are rolled.

 * 

 * Usage in Skills:

 * To create a skill that rolls dice for damage, use the following formula:

 *   rollDiceForDamage(b)

 * This will roll all dice and return the total damage.

 * The 'b' parameter represents the battler using the skill.

 * 

 * Note: For enemy skills, you can just use Math.randomInt(x) + 1 instead

 */

/*structDiceAnimations:

 * @param roll1

 * @text Animation for Roll 1

 * @type animation

 * @desc Animation ID to play when rolling a 1

 * @default 1

 * 

 * @param roll2

 * @text Animation for Roll 2

 * @type animation

 * @desc Animation ID to play when rolling a 2

 * @default 2

 * 

 * @param roll3

 * @text Animation for Roll 3

 * @type animation

 * @desc Animation ID to play when rolling a 3

 * @default 3

 * 

 * @param roll4

 * @text Animation for Roll 4

 * @type animation

 * @desc Animation ID to play when rolling a 4

 * @default 4

 * 

 * @param roll5

 * @text Animation for Roll 5

 * @type animation

 * @desc Animation ID to play when rolling a 5

 * @default 5

 * 

 * @param roll6

 * @text Animation for Roll 6

 * @type animation

 * @desc Animation ID to play when rolling a 6

 * @default 6

 */

(() => {

    const pluginName = 'RYE_DiceDamage';

    const params = PluginManager.parameters(pluginName);

    const diceCountVariable = Number(params['DiceCountVariable']);

    const enableDebug = params['EnableDebug'] === 'true';

    

    // Parse animation IDs

    const animationIDs = JSON.parse(params['AnimationIDs'] || '{}');

    const diceAnimations = {};

    for (let i = 1; i <= 6; i++) {

        diceAnimations[i] = Number(JSON.parse(animationIDs[roll${i}])) || i;

    }

    // Debug logger function

    function debugLog(message, type = 'info') {

        if (!enableDebug) return;

        

        const styles = {

            info: 'background: #4CAF50; color: white; padding: 2px 5px;',    // Green

            warning: 'background: #FFC107; color: black; padding: 2px 5px;',  // Yellow

            error: 'background: #F44336; color: white; padding: 2px 5px;',    // Red

            success: 'background: #2196F3; color: white; padding: 2px 5px;',  // Blue

            roll: 'background: #9C27B0; color: white; padding: 2px 5px;'      // Purple

        };

        

        console.log(%c[Dice System] ${message}, styles[type]);

    }

    // Initialize plugin and validate parameters

    if (isNaN(diceCountVariable) || diceCountVariable <= 0) {

        debugLog("DiceCountVariable is not set or invalid. Please check plugin parameters.", 'error');

    } else {

        debugLog(Plugin initialized with DiceCountVariable: ${diceCountVariable}, 'success');

    }

    // Helper Functions for Dice Management

    function addDice() {

        const currentDice = $gameVariables.value(diceCountVariable);

        $gameVariables.setValue(diceCountVariable, currentDice + 1);

        debugLog("Dice added to inventory", 'success');

        debugLog(Previous count: ${currentDice}, New count: ${$gameVariables.value(diceCountVariable)}, 'info');

    }

    function subtractDice() {

        const currentDice = $gameVariables.value(diceCountVariable);

        const newCount = Math.max(0, currentDice - 1);

        $gameVariables.setValue(diceCountVariable, newCount);

        debugLog("Dice removed from inventory", 'warning');

        debugLog(Previous count: ${currentDice}, New count: ${newCount}, 'info');

    }

    // Play animation for a specific roll

    function playDiceAnimation(target, roll) {

        const animationId = diceAnimations[roll];

        const targetSprite = getBattlerSprite(target);

        if (animationId && targetSprite) {

            targetSprite.startAnimation($dataAnimations[animationId], false, 0);

            debugLog(Playing animation ${animationId} for roll ${roll}, 'success');

        }

    }

    // Helper function to get the battler's sprite (works for actors and enemies)

    function getBattlerSprite(battler) {

        const scene = SceneManager._scene;

        if (scene instanceof Scene_Battle) {

            // For actors (players)

            if (battler.isActor()) {

                return scene._spriteset._actorSprites.find(sprite => sprite._battler === battler);

            }

            // For enemies

            if (battler.isEnemy()) {

                return scene._spriteset._enemySprites.find(sprite => sprite._battler === battler);

            }

        }

        return null;

    }

    // Dice Roll for Damage with Animation

    window.rollDiceForDamage = function(subject) {

        const diceCount = $gameVariables.value(diceCountVariable);

        let totalDamage = 0;

        let rolls = [];

        debugLog(Starting damage roll for ${subject?.name() || 'unknown'}, 'info');

        debugLog(Available dice: ${diceCount}, 'info');

        if (diceCount <= 0) {

            debugLog("No dice available for rolling!", 'warning');

            return 0;

        }

        debugLog('Beginning dice rolls:', 'roll');

        

        for (let i = 0; i < diceCount; i++) {

            const roll = Math.floor(Math.random() * 6) + 1;

            rolls.push(roll);

            totalDamage += roll;

            debugLog(Die ${i + 1}: Rolled ${roll} (Running total: ${totalDamage}), 'roll');

            

            // Schedule animation for this roll

            setTimeout(() => {

                playDiceAnimation(subject, roll);

            }, i * 500); // 500ms delay between each animation

        }

        

        debugLog(Roll complete - Final damage: ${totalDamage}, 'success');

        return totalDamage;

    };

    // Integrate with RPG Maker's damage calculation system

    const _Game_Action_evalDamageFormula = Game_Action.prototype.evalDamageFormula;

    Game_Action.prototype.evalDamageFormula = function(target) {

        const original = _Game_Action_evalDamageFormula.bind(this);

        

        if (this.item().damage.formula.includes('rollDiceForDamage')) {

            try {

                debugLog(Evaluating dice damage formula for ${this.subject().name()}, 'info');

                const b = this.subject();

                const result = eval(this.item().damage.formula);

                debugLog(Formula evaluation successful: ${result} damage, 'success');

                return result;

            } catch (e) {

                debugLog(Error in dice damage formula evaluation: ${e.message}, 'error');

                debugLog('Defaulting to 0 damage', 'warning');

                return 0;

            }

        }

        return original(target);

    };

    // Plugin Commands for RPG Maker MZ

    PluginManager.registerCommand(pluginName, 'AddDice', () => {

        debugLog('AddDice command received', 'info');

        addDice();

    });

    PluginManager.registerCommand(pluginName, 'SubtractDice', () => {

        debugLog('SubtractDice command received', 'info');

        subtractDice();

    });

})();

0 Comments
2024/10/27
02:00 UTC

7

Help!!!!!! Bust change in mid battle

I'm currently using this battle script for busts in battle (https://forums.rpgmakerweb.com/index.php?threads/cps-battle-engine.4811/). I'd like to make the busts for my actors in the party change according to the weapon they equip. In my game, e.g. my main actor can change from a knife to another weapon and I'd like him to have a different bust depending on that. I already have the .png graphics for him inside my project folder.

I have no great knowledge on scripting but I understand some terminology, would love if anyone could take a look at the whole script and point me out if there's any script call or snippet that can help.

If there's no chance tho but there's another way of doing this the least complex as possible, I'm listening to suggestions. I tried to make it through a common event but there's not a command to change the graphic for the actor's battler as the transformation option is only for enemies.

Thanks in advance.

0 Comments
2024/10/27
01:34 UTC

5

I've created a modern slot mini game plugin for MZ

1 Comment
2024/10/27
00:59 UTC

34

What Common Events do you make?

When you start a new project what are some of the common events that you always make because you know you'll need them?

16 Comments
2024/10/26
21:21 UTC

3

Return to map ?

I'm using this minigame for a scene in my main game (https://forums.rpgmakerweb.com/index.php?threads/late-rmw-2016-christmas-gift-blackjack-mini-game-rgss3.72719/). The script pops up a menu where the actor plays Blackjack with an NPC to get a key. The actor needs to win 5 times total to have the key and that's fine BUT the problem is, the Blackjack menu doesn't pop off once the actor wins the five times and I'm seeking for it.

I need to do this so far to get the key: click on the Retire button and then walk to the npc, start a conversation and he automatically gives it to me.

What I want to do is that once I win the fifth time, the Blackjack game screen pops off and the message for the key shows up right after it. So, basically I'd like to return to the map where the game started. I'm almost sure that a script call might work on that.

0 Comments
2024/10/26
20:34 UTC

5

Advice on making my custom battle system faster?

Hello all. Using yanfly's instant cast plugin(http://www.yanfly.moe/wiki/Instant_Cast_(YEP)), I've made a system in which the character uses multiple skills on their turn, using TP as an action point pool. It's worked out great, but battles feel rather sluggish.

The main offender is that when I go to cast an instant skill, there's a big delay after activating the skill in which the name of it shown, then the animation is played, and then controls are returned to you. Any advice on speeding this up?

1 Comment
2024/10/26
20:18 UTC

1

Diagonal walking speed with QMovement/SpeedManager

Hello,

I would like some help with refining the movement of my game character. I'm using the QMovement Plugin to allow for pixel based movement (https://quxios.github.io/plugins/QMovement) and the SpeedManager Plugin (https://forums.rpgmakerweb.com/index.php?threads/speed-manager.52639/) to modify the default walking speed.

What I'm trying to do is, lower the diagonal walking speed, because as is, it's faster than when walking in a straight line.
I can imagine this could be achived with either the SpeedManager or QPlus, but unfortunately I don't know enough about coding myself.
Any Help would be much appreciated!

(I'm using QMovement in conjunction with QPlus (https://quxios.github.io/plugins/QPlus) and QM+CollisionMap (https://quxios.github.io/plugins/QM+CollisionMap) btw) 

0 Comments
2024/10/26
19:41 UTC

16

Completed a new creature, the Necrocoil. It'll find a corpse and reanimate it as a host. This is one of four new enemies, the Necro-rat.

0 Comments
2024/10/26
19:27 UTC

9

Fork in the Road

Long ago, I was using MV with Yanfly's (at the time) free plugins and stepped away for a while. Finally I came back to RMMV. I still have my plugins, but I'm curious about MZ. I look into plugin support and I find out about VisuStella. I've looked at some other plugins but VS seems to have the most robust options available. I spent the day or so searching through and reading comments in the sub, I know everyone suggests getting MZ over MV so I'm not as concerned about that as the cost of good plug-in support.

Buying MZ and VS's Eight Waves bundle at their itch.io page seem to be the best course going forward, but I just want to ask the community what they think before I drop nearly $200 on those and/or other things I might need to have a strong start with MZ. I'm mostly trying to make a game with a complex job system with other QoL things like diagonal movement, improved quest logging, etc.

15 Comments
2024/10/26
15:39 UTC

73

Screenshot saturday - Dungeon map (100x100 tiles)

4 Comments
2024/10/26
13:16 UTC

6

Game engine & Variables, Switches.

I have a general question about a topic which haunts me whenever I'm programing, and it might just be a small thing, but please come with your own input on this...

The question is basically; how many variables, and switches (in numbers) do you guys have?

It might be simple, but I have been coding for many years, but I'm having a hard time with memory usage, for the first quest I'm using 4 Temp variables, 2 Permenant ones, and 2 switches. I know that's not a lot, but I'm getting a bad feeling about having 500-1000 of them for a full game. The funny thing is that all other assets is not a problem, I have around 500 weapons alone and that's just awsome in my mind, but not variables, nor Switches.

Is this normal.?

2 Comments
2024/10/26
08:40 UTC

2

Screenshot Saturday! [October 26, 2024]

Hello and good Saturday to all! Thanks for joining us.

Screenshot Saturday is NOW LIVE!!!

Everyone, let's try to give everyone a good feedback. When you post something for feedback, be sure to give someone else feedback. That way, we can have this thread poppin until next Saturday!

Same thing goes! Show us a screenshot / gif / short vid of the latest map / sprite / spritesheet / animation / etc. of the game you are working on!

Posting could be for multiple reasons. It can be for looking for tips, feedbacks, help, or just basically showing off that awesome thing you just made.

<3 <3 <3

1 Comment
2024/10/26
07:00 UTC

0

PLEASE HELP ME!!!

I want to make a RPG game, but I’m having some trouble understanding how to do a lot of things! I’ve looked up many videos, none seem to help what I’m looking for. Is there anyone willing to sit down and call me to help?

16 Comments
2024/10/26
01:59 UTC

Back To Top