/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.
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 our Discord server and chat with other makers!
Name: RPG Maker Reddit
Channel ID: 8335491
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!
/r/RPGMaker
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?
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
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?
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
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 ♡♡♡
Just curious is all
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.
Is there a way to make a skill remove the mp cost for the next skill you use? rpgmaker mv
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.
Evening, all
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();
});
})();
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.
When you start a new project what are some of the common events that you always make because you know you'll need them?
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.
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?
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)
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.
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.?
Hello and good Saturday to all! Thanks for joining us.
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
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?