/rpgmg/ - RPG Maker General #190

Lessons Ain't Over Yet Edition

Trial Download: rpgmakerweb.com/download/free-trials/trial-rpg-maker-mv
Trial Mirror: mega.nz/#!HNRDmQKS!6YhUUEA3YpRYEaruDgfUmFD2kZcOB7pv3rSssUOM2bs
RPG Maker MV 1.33 Repack
#!epN03Q7R!UbjycCANuiUP1GwSq2B5crvDLMGgjZjRQvetbFGdRQs
RPG Maker MV Season 4 Pass
www21.zippyshare.com/v/Bdru8nJg/file.html

/rpgmg/ Wikia
rpgmg-games.wikia.com/wiki//rpgmg/_Games_Wikia
Getting started
docs.google.com/document/d/14ignTofv_bDRVHPUk9_sEpLUjuFyxpuy2Cr9mXDwkb0/
Art Resources
pastebin.com/FgVGxTqW
Even More Updated DLC Pastebin
pastebin.com/91QntR9H
More Resources
pastebin.com/PznwN93Q
Katakura Hibiki Resources
drive.google.com/open?id=0B48J7d9S5dwZUldpNlNPTThsNTg
drive.google.com/open?id=0B48J7d9S5dwZanZVM2pWREtwWnc

Pixel Art Tutorials
pastebin.com/SuXCN3pf
Generators and other useful resources
pastebin.com/aeg28Ktm
[MV] Plugin Releases
mvplugins.com/
yanfly.moe/
[VX/Ace] Master Script List
rmvxace.wikia.com/wiki/RPG_Maker_VX_Ace_Master_Script_List
Collection of old RPGM games
drive.google.com/folderview?id=0Bz0L3Pxrc8tqfnB1dFhTZHZwSV91cW1KMW9wcUM2WHhwSFFFMUVJX0pEYVExMndNLWtXbGs&usp=sharing

The /rpgmg/ podcast:
youtube.com/playlist?list=PLyrIVUR5VXKC9XxmtqJh0u0Wcdvu8VQ6A

/rpgmg/ Chain/Collaboration Game!
Status: Pt. 14 (The Real Finale) is in development.
Currently working:
Bubbles !u696zUYxpM
Version 13B: mediafire.com/download/89tsrb5ka31g36h/rpgmgcollab_v13B.zip

Latest SteelZeroes Demo!
mediafire.com/?7j353lkhfpnnx27

Tomb of Friends demo pep.itch.io/tomb-of-friends-demo

Last thread:

Other urls found in this thread:

youtube.com/watch?v=JRo4TtY8DRs
mega.nz/#!qYUGAY5R!nAG0idGf-R9upYVogdXdvia5PbipX_kuiKIypjnXj4k
mega.nz/#!LZdikZSI!z1EkvL1k7pSOtu1XIkPrGxqx2yCRd5ua_BAlzFltTXc
mega.nz/#!WBNh1Z6Q!ZAe1AMH-ERGH3snzw0usW4uqx2cNbjuM4mIwQe-OWnE
youtube.com/watch?v=G4VAdWJXyFk
rinkworks.com/namegen/
youtube.com/watch?v=yQhRZLrDTnU
mega.nz/#!6xQVkbBS!j9sLol1JxgTXIGKf4xHqfUUgxM-YKivd_N63exKw2KU
dropbox.com/s/8u2t6pfmgzur65g/The Long Road.zip?dl=0
youtu.be/g6tHJhbMyAk
discord.gg/y5Jeu
twitter.com/NSFWRedditVideo

Today's Song of the Day: youtube.com/watch?v=JRo4TtY8DRs

Hey, that's really awesome of you. Thanks!

Now, I'm a little late in posting the next lessons, but let's get to it. I promised I'd teach people how to do some of the cooler stuff with RPG Maker without the use of plugins, and so far all I've done is teach about the all-essential Script Call that makes it possible. You have the all tools now, but it's time to show a bit on how to use them.

>First post is a lesson
It's almost like I'm in school again.

You're welcome. I'll repost, in case someone doesn't use 4chanX or is retarded.

>I uploaded it on my mega, but it probably won't be there forever, so if someone could grab it and upload it in a proper place, I would be grateful.
>Maybe one could add it to a pastebin or something.
>In retrospect, I should've named the files better, please do that when you re-upload.

Full version, png
mega.nz/#!qYUGAY5R!nAG0idGf-R9upYVogdXdvia5PbipX_kuiKIypjnXj4k

S version, png (use this over jpg; it's actually smaller)
mega.nz/#!LZdikZSI!z1EkvL1k7pSOtu1XIkPrGxqx2yCRd5ua_BAlzFltTXc

S version, .jpg (in case something doesn't agree with png)
mega.nz/#!WBNh1Z6Q!ZAe1AMH-ERGH3snzw0usW4uqx2cNbjuM4mIwQe-OWnE

Lesson the Sixth: The Parallel Process

By now, most of you know what this event type ("trigger") does and have probably found some sort of use for it. For those who don't, it means an event is automatically run (over and over) right when the map loads just like Autorun does, except that the player and the other events can still move and interact.

It's pretty straightforward. However, it also allows for the most esoteric events. All the cool shit you can do in RPG Maker, those great games and styles of gameplay that seemingly break from the pre-defined mold that RPG Maker sets up, are rooted in parallel processes. It is the backbone to whatever systems you want to add.

This goes back to perspective. Put into perspective, the native engine and gameplay essentially has a hidden parallel process running that uses Conditional Branches that checks things like "If 'UP' is pressed, move player upwards" & "If 'ok' is pressed, check if a same-level action button event is in front of the player or if a below-level action button event is below the character" & even "If 'cancel' is pressed, draw the main menu UI on screen, define the buttons and properties, draw some text over it, and check if any of them are selected."

In fact, a lot of the stuff I work with these days is run through a single parallel process, and all other events are just empty with only an image and a collision level. The sRPG is like this, the Tower Defence concept is like that, the real-time combat system is like that, etc.

Some things to know before continuing: the way parallel processes work in rpgm is, unless there's a Wait command, it will run through every frame. The game runs at 60 fps, so that means its run through 60 times every second. I found this out recently and briefly broke my new years resolution to post that tidbit here a couple weeks back.

Lesson The Sixth: The Parallel Process pt. 2

There's also this weird thing called Game Interpreter that I have no idea what it really is, but it also pauses things akin to Wait commands. This is why if you have parallel process with a Show Text command in there, it pauses the parallel process until the player closes it - and also why it DOESN'T pause the parallel process if you try to show text via the Script Call $gameMessage.add('text here'). The preset Show Text includes a command to pause the Game Interpreter. For the Script Call, you'd have to manually do so with an additional script call command.

Because the whole thing updates so quickly, parallel process that read inputs may need some degree of slowing so that it doesn't perform multiple actions unintentionally. For example, if it's checking if the button 'ok' is pressed down, and the person isn't lightning fast, a quick tap will register about 5-9 frames, so it will run that command 5-9 times. You can tack a Wait: 11 frames in the conditional to prevent overlap.

Alternatively (and preferably, if you are timing something), you can stop using the "if x is pressed down' preset and don't use the Input.isPressed('x') script command and instead use Input.isTriggered('x'). What that does is check if the button was pressed that frame and only runs it once (and ignores it for future frames until it's released). Sometimes you want it to repeat every frame (like in my real-time thing), but sometimes you don't.

As a warning of observation, if you have two separate commands with Input.isTriggered('x'), they will both register at the same time that frame. If there's a Wait, for any time frame, in the conditional of the first (pic related), the second will never ever run because its on the future-frames ignore list created by the first one. If you accidentally put the wait between them, outside of a conditional (never do this), one or the other will run, depending on which side of the Wait you caught it on.

It's time to post progress Anons.
What are you working on?

Damage formula.
Still.
Kill me.

Tips & Tricks: The Pointer

With that, the lessons are pretty much over. Now for how to put this all together. One of the first things I always do is create what I call The Pointer.

More than any of the engine versions before, MV really hates event-heavy maps. While many events (like NPCs) are unavoidable, a great deal of events can easily be condensed into one (for example, sign posts, doorways, and anything else that has a map graphic and doesn't need to move).

So the Pointer is little thing that tracks the X, Y coordinate of whatever is right in front of the player. It runs in a parallel process and thus updates every frame. Then, when 'ok' is pressed, that same parallel process compares the x, y of the pointer to the x, y of any sign posts, doors, etc. and runs their effects if there's a match. For doorways, I sometimes put that outside the 'ok' check so it'd automatically transfer the player when he stepped into it. After these, it usually checks the event id of what's there with,

$n = $gameMap.eventIdXy($pointerX, $pointerY)

In one project that controlled NPC interactions though a primitive AI and a common event, it would call it now if $n was greater than 0 and use $n for any array variables like $npcName[$n]. In the real-time combat game concept, if $n matched the ID of an enemy, it would perform an attack action on that enemy (or a charm action, if you changed stance).

Through this, you can control all of your events and pseudo-events like signposts and transfer maps with one parallel process.

To explain pic related, the game stores directions as numbers, which match those in the num pad (8 is up, etc.). ++/-- is incrementing by one, as explained before, which adjusts the coordinate to the one before him here.

Tips & Tricks: The Life Bar

A really primate way of drawing a life bar with script calls is to overlay two (or even 1 for the lazy) bar pictures, one as a backdrop and the other as the life meter itself, and shrink the X scale to whatever the current percent of life is.

Tips & Tricks: Rolling Dice & Absolute Value

In Script Calls, Javascript's random number generator command is Math.random(), which generates a truly confusing decimal. However, you can multiply that decimal by a number and floor it (ie, chop off the rest of the decimal) to generate a number between 0 and one less than the number you are multiplying it by. To start at 1 instead of 0, you add 1. To roll a dice and get 1-6, you can do,

>$dice = Math.floor(Math.random() * 6) + 1

As you may know, the game allows this already in the preset Control Variable command, but it saves a step when dealing with custom variables.

Another useful javascript command is Math.abs(n), which gets you the absolute value of n. I use this especially often in the sRPG when moving a character. If he was only allowed to move 4 spaces, it would check how many spaces he's moved from where he started. At maximum distance, it would store that spot, and if he tried exceeding that maximum distance, it'd snap him back to that spot. Since parallel processes are run once a frame, at the same time the move button was pressed, it would snap him back before even trying to show him move, creating a nice appearance of him being blocked from moving outside max range (instead of rubberbanding back).

Pic related is what I used, but notice I don't actually need $pX/Y and could instead just have,

>IF $stat.M[$n] == Math.abs($startX - $gamePlayer.x) + Math.abs($startY - $gamePlayer.y)

Good night bump

Tips & Tricks: Real-Time Combat pt. 1

First, I recommend having two variables: one that tracks the lowest event ID of the enemy events and one for the highest. I use $eMin and $eMax. The reason is two-fold. The first is so that you know when you're interacting with an enemy instead of any of the other events you use. The other reason is so you can add other events or more enemies and easily adjust for them. By necessity, you need all enemy events to be successive in their ID's, so when adding new events and you don't know how many total enemies yet, just delete all enemy events and add them after. Because it's all run through a parallel process as explained before, you won't lose anything by deleting and recreating here.

Other things you'll (likely) need: a single parallel process for the whole system, custom variables as explained before, a Pointer, and a life bar if you want to display remaining HP.

Pic related is from my quick proof-of-concept. Only 2 enemies, 3 events total (the third being the parallel process). This is the part that generates the variables and enemies. This should give an idea of some of the stats you'll need. Besides the regular HP and Damage, some that really stand out is,
>Attack Cooldown
and
>Move Delay

Move Delay is optional if you want enemies always running at you all the time via Set Move Route, but I wanted more under my control. For example, to only approach at a certain distance, or to run away at low hp, or to easily increase/decrease their move speed.

Tips & Tricks: Real-Time Combat pt. 2

And here is the main parallel process. Because it is run through every frame, all the cooldowns and delays are in frames of wait, and we can easily control them by minusing them by 1 (incrementing again, so I just use ++/--) each time its run through. 60 frames will be one second. I have an extra variable for each called "Bar" so each number knows what to reset back to after their action.

Despite being a quick mock-up, just to see if a real-time combat system was viable in RPGM, I managed to squeeze a few extraneous details in. For example, the Talk function. WTC, WTI, and WTR stand for Willing to Charm/Intimidate/Reason or essentially be talked out of fighting. I also allowed enemies different move types and actions. Perhaps an enemy may come running up to you, but only to talk instead of attack. Perhaps one may attack only if attacked first. Or attack within a range. This stuff was not difficult to implement at all.

I also included a Windup for enemy attacks, in addition to Cooldown, because they would otherwise attack the second the began the approach from 2 tiles away to 1 away. This gave them a little additional hiccup where they must "windup" an attack so to speak, which will deliver one they are in place (and also give the player a small window to escape before the blow lands).

Again, just an extremely small mock-up, but it shows what's possible.

And with that, I think I'm finished. Pic related is the latest thing I worked on in RPG Maker (just a couple of weeks ago), and it is basically the sum of everything I've said until now. I worked on a tower defence just before this, and I'm sure you can imagine its similarities in construction. My use of RPG Maker has just been one long learning process to me, and I am happy to share all I've learned with the kindly anons of this thread.

Good night and good luck. Remember: We're all gonna make it.

Tomorrow's Song of the Day: youtube.com/watch?v=G4VAdWJXyFk

Oh, and to tie into an earlier comment about $gameMessage.add('text') not pausing a parallel process, I deliberately used it here for when the player tries to talk the enemy out of fighting. While the text box is still up, that enemy (and any other) is still hitting you. You know, just to keep up the pressure.

Don't die, it's still too early!

Thanks for the lecture dude.

Experimenting with a day/night system, but I'm not sold on whether or not I'll end up using it.

Demo still coming soon, I hope.

>Goodess
I'm sold, give me that demo.

Will the slime goddess take all of my money?

gump

>Trying to figure out how to name an alien girl from another dimension.
>Having a hard time because she's gonna be a huge plot point.

Help please. I want her name to be exotic but also something people can pronounce.

Pick a japanese name and spell it backwards.

>Ayumi
Imuya
>Kazuma
Amuzak
>Hikari
Irakih
>Shouta
Atouhs
Not that user, but it's surprisingly good.

Huh, I am that user. I was skeptical about it at first but I'll see if I can find something that works for me.

By the way, when in doubt use rinkworks rinkworks.com/namegen/

Best bang for your buck. Served me well when I gm'd.

pick any name then mirror it down the middle.

What's the easiest way to convert a picture to 256 color bitmap?

I'm gonna say Paint

Depends on the software you're using. It probably has an option somewhere.

Saving it as a gif works, too.

I miss the collab game.

Soon(tm)

Help out a monkey.
Through trial and error, I have two combat formulas. You're probably familiar with the basic one.
The base one, which I would still need to tweak somehow (for increased damage results): a.atk / (1 + b.def/100)

And the other one: a.atk*3 / (1 + b.def*2/100).

Now, any of you math geeks could tell me how would I compare the differences, the growth or something like that between those two? Because I'm just guessing at this point and like a monkey typing on a typewriter, I just hope I'll suddenly make it work.

>saving as a gif works
Huh, never knew that. Thanks user.

Yeah, since gifs can only hold 256 colours. (Well, they can also contain LESS, but it usually works for most purposes.)

Depending on what you're using to save them though, it might not always end up very pretty.

Is there a way to permanently keep the game slightly zoomed in?

You can use Excel to calculate numbers. Put attack in A1, defence in B1, and then in C1 you put =A1 / (1 + B1/100) and in D1 you put =A1*3 / (1 + B1*2/100). Then you can change the attack and defence values and it'll calculate the results.

You can also copy/paste the entire row and it will automatically use the right fields (A2 and B2 if you paste it in the second row, etc) and compare different values.

(Though someone who's better at Excel than I am is very free to point out any errors here, I haven't needed to use it in a looong ass time.)

>

>a.atk / (1 + b.def/100)

You are going to run into rounding problems with a damage formula like that. (Blame rpg maker)
If you have less than 100 def, it'll recognize it as 0 DEF, if you have less than 200, it'll round it to 100 DEF.
I know, because I really like to mess with skills and stuff, and I use a similar damage formula.
If you write your formula like "100 * a.atk / (100 + b.def)" it should work with any def value (as far as I've noticed)

Some skill images!

They look really nice and colorful, though I'm not sure what all of these skills will do.

C L A S S I C

youtube.com/watch?v=yQhRZLrDTnU

G A M E

I actually did that (all my guesswork I'm doing in excel first), but the problem with that it is a 1:1 atk:def comparison. While it gives me a general info about how it scales, it's rare in game you'll fight foes balanced like that.
Do you have an idea how to make a comparison like that in a more practical manner (because I have no idea)?

Could you elaborate on that? I've tested the a.atk / (1 + b.def/100) formula on a few enemies and the results matched those I had in my spreadsheet (after the rounding the final result of course). I'm using MV for what it's worth.
I'll check out your formula though and see how it fits my needs, thanks.

Not him, but for my sRPG, I tried out dozens of different formulas in excel. Here's a small fraction of them.

Remember you can do formulas in each cell instead of flat numbers (all yellow fields in pic related). That allows you to toy with varying stats.

I tried things like flat damage reduced by flat defence. I tried things like CBT increasing weapon damage by a percent. Defence reducing damage taken by a percent. All sorts of stuff yield different growth curves. I talked about it once in a dev talk. Damage formulas are tedious stuff to get the fiddly bits just right.

...

C L A S S I C

mega.nz/#!6xQVkbBS!j9sLol1JxgTXIGKf4xHqfUUgxM-YKivd_N63exKw2KU

G A M E

Bumpa

Good night /rpgmg/.
A little progress every day!

...

How do I design a woman which is cute and sexy?

Look at a Japanese game. Steal their design.

Animal ears.

Big ass titties

Attitude.
Either her looks are sexy while her attitude is cute, or her looks are cute but her attitude is sexy.

Shy demeanor with cute accessories and a decent bubbly rack with nice curves wide hips and heart shaped ass. One price of clothing should be more cute and one more slutty. Like a librarian wearing nylons.

...

Is there a way to make a skill that works like Boomerangs from DQ8?

Where it hits all enemies, but each subsequent enemy takes less damage.

1:1 is just an example. You can do something like increase one column by 5 or 20 instead of 10 every row instead. Or make all the def scores identical and check how varying attack scores interact with that.

Damn, that everything

Any optional dungeons in your game?

bump

Right now I'm working on the characters of the starting area.

Since the MC will leave and won't see them again until very late in the game (he may also choose to leave them forever), I want to make them as memorable as possible, so that the player feels even more compelled to complete the MC's mission, as he has a place where he can return to and characters that will react accordingly.

bump

My entire game is a series of optional dungeons, towers, and fortresses, as well as sidequests. The final boss can be engaged from the very beginning of the game, though he'll fuck your shit clean up if you go in unprepared.

This.

Literally all of them except the first chapter (which is more of a long ass intro) are optional.

Newest version is out!

Should be extremely stable, lots of QOL and bugfixes. If you've been waiting to play, play this version!

dropbox.com/s/8u2t6pfmgzur65g/The Long Road.zip?dl=0


Can we include it in the OP alongside the rest of the demos next thread?

My biggest issue I am having is making game play interesting mechanically and not "mash button" after boss mechanics are figured out.

Yeah I can make a pretty world with nifty lore and fun characters but that isn't going to be reason enough for people to want to slog through combat if its slow. What do I do? I can't code and most add-ons don't seem to fix my issues I am also worried about the limitations on animations and whatnot.

Puzzle battles.
Alternatively, I don't think the Bravely Default system would be particularly hard to common event.

Stop being so short-sighted with your combat then. People always want to dig into a combat system to see how far they can fit their fingers into it. Just give them a lot of wiggle room, even if they hit the bottom. Also, borrow concepts a lot. My current inspiration is fighting games, so there's a lot of combination attacks and linking attacks to one another. I also did a project where you would toss out an attack and an opponent would toss out an attack. Both attacks would automatically be negated, and whoever's attack was "better" would overtake their own. You could also guard if you guessed a powerful attack was coming. The kicker then was that you could only attack using cards you bought/created from shops, and extremely powerful, extremely rare cards are legitimately just "Last-ditch" ammo that could easily kill off bosses, but could not be redeemed.

Try a really fast paced atb where animations are quick and strikes happen often. Best way to do this sort of thing is with minimal amount of characters to use (1 is optimal, 3 max).

The way I tried to make combat a little more interesting in The Long Road was to make each of the four characters have a unique playstyle.

The main character uses a "hit the middle of the bullseye" type attacks as well as holding buttons and keeping a gauge up.

Another character uses combos like Xenogears' basic combat system.

Yet another character uses a DDR like mini-game to do his attacks/abilities.

I really think there is a market for a super fast paced atb though. Make selecting attacks and targets slowly a serious threat.

We're recording the podcast tomorrow morning. Mind if we include you in the news? Is there a trailer somewhere?

>Large-party ATB where you have virtually every attack have some form of charging sequence, and none of them are instantaneous
>Enemy parties are also massive, so managing constantly depleting and increasing HP requires a lot of focus and timing
>Multi-target attacks and single-target nukes are extremely imperative because of their utility factor

>Extremely equipment-focused game to the point where you will be spending a great deal of time managing your gear combinations out of combat and not all that much in the fight, ALA monster hunter

>Boss battles are gimmicks to the extreme, rather than just a normal battle+gimmick, with things like a boss giving you a quiz, and you need to pick a specific item/spell/attack to inflict damage on them, or they otherwise just blast you for a shitload of damage, or a boss being comprised of tons of barriers with an asshole behind it and you need to break all of the barriers as he keeps rebuilding them

Be creative

Of course! I'm a fan!

Trailer is here:

youtu.be/g6tHJhbMyAk

If you have any questions, I'll be in the discord

discord.gg/y5Jeu

What time tomorrow pst will you be recording?

9 AM PST. Gonna get it out of the way early so we can enjoy our Saturday

STAY ALIVE

Have any of you played Lisa?
Is it good?

It's good until you play Joyful then you'll come back and appreciate Lisa more.

Opinion time. Which trees, top or bottom?

Also, put a name of a love interest that has a lovely name but is kind of an ass. Best one gets a spot in my game and a screenshot to prove it

Bottom.
My entry for the name is Blossom.

Done and done. So far you're the winner!

Clementine

Rosalind

I like both of those. My guitar is named Rosalind, actually.

but also, which trees?

im not sure, really. The bottom trees fit the aesthetic of your MC better, but the top ones felt more at home with all the buildings and furniture you make.

Maybe this helps?

Right but make them somewhat smaller

So just to confirm, I am working on the prologue of the Collab Project Mk.3, currently slated for a prologue, then 10 chapters. Chapter 10 will be the FINAL. Setting is standard rpg fantasy.

Rules:
>You have to respect whatever the previous devs have made.
Don't just disregard or change whatever the previous devs have done in their own chapters. You're should only touch them if you're fixing a compatibility issue with plugins, the dev has mentioned there's something specifically wrong that should be fixed, or other game breaking issues.

>Once you take up a chapter, you have 2 weeks to roughly a month to work on your chapter before you must either complete it and put it up, or have another dev take a turn.
Stagnation has been a big issue with the previous collaboration, but two weeks also seem like it is too short for some people to do anything interesting with. One month seems like a better compromise, but early finishers are also welcome. We don't want potential interested devs to drop out before their turn arrives.

>It is good manners to have a save point between chapters, and a saved game before your chapter starts when you hand it off.
Some devs don't need this, but if the game runs for quite a while, a handy save would help new interested devs so they can go straight to working on the new chapter.

>No new chapters after the 10th chapter
If the general is really slow, we can have a final chapter earlier, but we won't add chapters after the 10th. We can't keep developing an infinity game.

Did I miss anything else? I'm planning to get prologue out at early March.

Which maker are we using?
MV?

Count me in for chap. 1! Can't wait!

Right, we're gonna use MV. I forgot to mention that.

The previous collab is still on VX Ace, if there are still people interested in finishing that.

Bamp 10.

Anyone got a link to the MV 1.34 repack?

I remember someone posting tips about mapping cliffs? I just started mapping and it looks kind of janky with the tileset.

It's gone Jim

mega:///#!60dAnDqK!wjae7ieRU-AGXiU_WDLTxMnl7J-XtSG4V2QuOUBKuMk

bless you, man.

...

Any content restrictions?

I suppose if anything, try to keep it safe for work...?
Nothing was really specified with the last one.

Based on the last collab, anything lewd was mostly played up for comedic effect or was really subtle, cursing didn't really go much farther than "Son of a Submariner!", and violence is as you expect from jRPGs.

That being said, mindfuckery, space cthulu, outright genre shifts, muscle machismo, monster girl yuri, chuuni, and many other things have all happened as well.

tl:dr; Keep it safe for work, then there shouldn't be too many problems.

Not him but what is chuuni?

Takes a second to google it, doc.