Ways to Put Fog in RPGMAKER MV: Victor Engine

Hello All,

I hope that you are doing well. Today I will go through several ways that I found worked for making fog effects work in RPGMAKER MV.  I will use one plugin each and show how they work:

  1. Victor Engine –  Fog  & Overlay (and it’s dependencies)
  2. MOG – Weather EX

I must say that I myself prefer MOG’s flexibility and prebuilt weather options. I will start today however by describing how I used Victor Engine.

Victor Engine Fog System

 

Requirements:

Victor Engine –  Fog  & Overlay (and it’s dependencies)

Basic Code and Where to Put It:

Using Victor’s system was fun, easy and understandable. After installing the plugin and enabling it in RPGMaker MV, you input code into your map notes section. I found that Victor’s example was more than sufficient as a speed and setting.

fogmap

        id: 1
        name: 'fog'
        opacity: 160
        hue: 100
        move x: 3
        move y: 2
       

Now comes the fun part. Tinkering to make sure that your fog actually looks okay.

 

Finding the Right Fog:

Finding a fog asset or creating one remains one of the most important issues. I used one under the CCL for this example that I found here.  Pictured below is the fog that I was quite excited to use.

fog-2640.png

save location

After placing the file in img/fogs. I turned on the game to find both excitement and disappointment. First, hurrah, it worked. Of course, nothing works smoothly on the first run, does it? As you might guess, I did not take into account the pathway of the panning of the fog. After the panning got to the end of the picture and looped, the discrepancy of color between the edges was highlighted.

fogpathway.png

A solution to this issue is to make the image symmetrical and identical on the entry and exit points of the picture. Below is an example of what I used in order to ameliorate my woes, basically the original fog image concatenated with the image flipped once horizontally, once vertically, and once both.

fog.png

This eliminated the image boundary issue.

Hope this helps.

From,

William Lucht

 

 

Hyperborea Dev Diary #2 Simple Bullet Systems in RPGMAKER MV

Dear Internet Friends,

Hello! I hope that you are all doing excellently. This week I have been working on the level design of Hyperborea as well as implementing a simple bullet system in Hyperborea. Part of the fantasy behind Hyperborea is survival and struggle. With that comes some sort of resource management. This led me to have a project with a couple of desires:

  • Ammunition based combat (Hypatia isn’t going to find too many bullets in the wastes)
  • Restriction on firing rates (Hypatia uses a breeched loaded rifle)

After some tweaking, I was able to incorporate μ’ki (Riko Sakurauchi)’s system into my game. I will show you the steps of how to do the same in your game!

Requirements:

Designing a Small Bullet Image

I used GIMP to create a small bullet what was transparent. Using a spray tool, I initially built the bullet at 32×32 pixels. overlaying gray with black. This proved too big, however, so I scaled it down to 8×8 pixels. After finishing the bullet, save it as a .png and place it in the img\pictures folder in your game.

bullet.png

Initialising the Plugin

plugins
The settings of the plugin interface that I used. The default is fine.

I left the initial settings the same as default after enabling the plugin. The plugin description is perhaps the most important nibble of information that we can glean from here. The ShowBullet plugin command offers a wide array of choices. However, you do not actually need to use all of them. I omitted target and fixed. Hoping for the player to aim themselves.

ShowBullet name source inst_id speed dir atk target fixed

where

- name: picture file name to use (without extension)

- source: character that spawns the bullet (-1: player, 0: this event,

>0: designated event id)

- inst_id: variable id to store instance index of the spawned bullet (begin

from 0)

- speed: the bullet speed (in tiles/sec)

- dir: 1~8: down, left, right, up, SW, SE, NW, NE, 9: towards target,

10: homing

- attack: the bullet's Atk value

- target: character to aim towards (for dir = 9 or 10)

- fixed: whether not to rotate the bullet (can still be changed by

MoveBullet command)

Shooting the Bullet Event

Open a common event in the database (f9) and press plugin command.

plugin command.PNG

My standard shoot became “Plugin Command:ShowBullet bullet -1 100 30 1 20”

  • -1 = Bullet spawns from character
  • 100 = a random variable number that I have saved to use.
  • 30 = speed in tiles per second
  • 1 = Down Direction
  • 20 = Attack which I did not really implement.

Now we run into our first issue. We want the payer to shoot in the direction that she is facing. This is easily fixed by using a conditional branch and using the character direction as the condition.

conditional branch.PNG

Corroborate the if statements with the directional numbers in the plugin description”- dir: 1~8: down (1), left (2), right (3), up (4)…”

  ◆If:Player is facing Down
    ◆Plugin Command:ShowBullet bullet -1 100 30 1 20
    ◆
  :End
  ◆If:Player is facing Left
    ◆Plugin Command:ShowBullet bullet -1 100 30 2 20
    ◆
  :End
  ◆If:Player is facing Right
    ◆Plugin Command:ShowBullet bullet -1 100 30 3 20
    ◆
  :End
  ◆If:Player is facing Up
    ◆Plugin Command:ShowBullet bullet -1 100 30 4 20
    ◆
  :End

 

Adding Flairs: Ammunition and Reloading Animation

Using the database, I added an item called cartridge. These represent the amount of ammunition that Hypatia has. Installing the ammunition is simple. Go into your common event where you set up your bullet shooting system and add an if statement to the line:

◆If:Party has Cartridge
◆Change Items:Cartridge – 1

Another requirement of mine was to add a different sprite when firing. This was simple. I added a change actor images line (and an angry bubble for flair) BEFORE a forced wait. This gives the illusion of her aiming.

◆Change Actor Images:Hypatia, hypatia(4), $heroine-girl student 6 onepiece(0), sv_heroine-girl student 1 sweat suit
◆Show Balloon Icon:Player, Anger
◆Wait:85 frames

At the end of the if branch, I added another Change Actor Images to revert her back to her normal “walking” form.

◆Change Actor Images:Hypatia, hypatia(4), $heroine-girl student 1 uniform(0), sv_heroine-girl student 1 sweat suit.

In the end, a simple draft of the code looks like this.

◆If:Party has Cartridge
  ◆Change Items:Cartridge - 1
  ◆Change Actor Images:Hypatia, hypatia(4), $heroine-girl student 6 onepiece(0), sv_heroine-girl student 1 sweat suit
  ◆Show Balloon Icon:Player, Anger
  ◆Wait:85 frames
  ◆If:Player is facing Down
    ◆Plugin Command:ShowBullet bullet -1 100 30 1 20
    ◆
  :End
  ◆If:Player is facing Left
    ◆Plugin Command:ShowBullet bullet -1 100 30 2 20
    ◆
  :End
  ◆If:Player is facing Right
    ◆Plugin Command:ShowBullet bullet -1 100 30 3 20
    ◆
  :End
  ◆If:Player is facing Up
    ◆Plugin Command:ShowBullet bullet -1 100 30 4 20
    ◆
  :End
  ◆Change Actor Images:Hypatia, hypatia(4), $heroine-girl student 1 uniform(0), sv_heroine-girl student 1 sweat suit
  ◆
:Else
  ◆Text:hypatia(1), Window, Bottom
  :Text:no ammo
  ◆
:End

Mapping the Button

This is where Yanfly Button Common Events Plugin comes in handy. Be careful not to mix it up with Keyboard config, because they are not compatible! I learned the hard way.

buttonevents.PNG
The process of button events using Yanfly.

Setting up the button is easy. Just link it to your common events. For some random reason I chose the “J” key, but I will probably change it later.

Responsive Events

What fun is a  bullet system if nothing reacts to a shot? Luckily in the plugin settings of μ’ki☆Maker‘s [RMMV Plugin] On-Map Bullets, it conveniently allows you to toggle a self-switch on an event. On a walking NPC, add another page where the Self-Switch is D (or whatever you set it to) and set the image to a character’s injured form!

eventpage.PNG

Thank you all so much for reading. I hope that you learned something! More updates to come next week and some more Self Insert Draft things on Wednesday!

 

From,

William Lucht

Hyperborea Dev Diary #1 Using Regions to Make Connected Maps in RPGMaker

Dear Friends,

Greetings I have begun work on Hyperborea: The Frozen North in earnest now. I wanted to explain a little tutorial to aspiring developers regarding how to make “seamless” transitions between maps in RPGMakerMV.  This technique works best if you have maps with large borders. Hyperborea, for the most part, is a barren and open environment. This, of course, lends itself to a maps with borders around 100 tiles. Doing this manually is a drag and if you make one mistake, R.I.P. Below are the steps that I took to ameliorate this issue.

Requirements:

 

1) Setting up your Regions

hyperborearegions 

Using the Map Paint tool, go to the “R” tab and select a region that you have not used. You only need to draw a region line one tile thick, however since I was counting tiles, I used the rectangle tool to draw large rectangles instead.

2) Setting the Common Event

The next step is setting up the Common Event. In this system, you will need a Common Event for every region that you traverse. Below are two examples of code. The first one is one that takes the player south. The second one, in text, takes the player west.

hyperboreacommonevents

◆Control Variables:#0005 YHyperborea = Map Y of Player
◆Control Variables:#0004 XHyperborea = 243
◆Control Variables:#0006 MapID = 16
◆Transfer Player:{MapID} ({XHyperborea},{YHyperborea}) (Fade: None)

Explanation of the Variables:

  • YHyperborea: Determines where the player will spawn on the Y axis. This iteration is based on their position. Since the player is traveling from the East to the West in the text commands above, YHyperborea is variable.
  • XHyperborea: Determines where the player will spawn on the Y axis. This iteration is static.
  • MapID, this is an indicator of which map they are traveling to.  It is a number obtainable from the bottom of the screen when working on a map.

mapid

To obtain some of the variables like Map X or Map Y of player, you can click on Game Data and select the character option.

variables

3) Adding the Event to Yanfly Region Events

hyperboreaplugin

Perhaps the simplest thing in this is tieing the region to the event. Open the plugin manager, select YEP_RegionEvents, select the region that you have painted, and choose the custom event! Voila! You should be set to go. Making region transitions “seamless” however, is another step that requires a bit of tinkering. It largely depends on how you have set your screen resolution. You will have to set the region markers a certain distance away from the borders of the map so that the player has the illusion that they are always in the center.

 

William Lucht