Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Sign in to follow this  
  • entries
    2
  • comment
    1
  • views
    483

New Mapping Tutorial!

Sign in to follow this  
Kiriashi

194 views

Tutorial Topic Here

 

 

What is the greatest flavor of pie? PIE FLAVOR! :whistle:

 

snap5b.png

 

atmospherek.png

 

Hello everyone! I'm back again with another tutorial. Wow, I sure do write these fast. [sarcasm] Anyways, in this lesson, you'll learn how to add life to your maps. There's a lot of words and pictures in this tutorial, but it really isn't a lot of content to learn, so bear with me here.

 

First up, let's go over the two map settings that are important to the atmosphere of your maps: Panorama graphics and Fog Graphics. To change these, we use an event command. Let's go over the panorama graphic first.

 

changemapsettings.png

 

When we click on the Panorama graphic box, a window pops up. To the left, there is a list of tiling panoramas. When you select one, it is displayed in the box to the right. Below the box is a slider bar that changes the hue of the panorama before it is displayed.

 

panoramagraphic.png

 

Right now you may be wondering what I mean by tiling (as in tile) panoramas. These are graphics that can be connected over and over again side by side without looking weird. Take a look at this panorama graphic:

 

stormypanoramaselected.png

004cloudysky01.jpg

 

When we put two of these side by side, the result is this seamless double in size panorama:

 

 

biggerpanorama.png

 

 

If you hadn't seen the panorama by itself, you wouldn't have been able to tell that it was a tiled image. ^_^ Pretty cool huh? All of the default panoramas are horizontally tile-capable. They (obviously) don't tile vertically. :3 So pick a sky panorama, and make sure the event's trigger is parallel process. Now then, we've set the Panorama for this map, but how do we map to make sure the Panorama shows? Simple. The Panorama graphic will display on all blank tiles. So if we make a mountain map like this:

 

postedimage.png

 

It will yield this in-game:

 

snap3f.png

Don't mind the crappy map and errors. This was just a quickie to use as an example.

 

The trick with these panoramas is to add a little extra height to your map at the top. This way, when the player walks up, the screen moves up. This will let him or her look over the edge of a cliff a little bit more. Take a look at this:

 

snap7e.png

 

See? You can see more of the mountains now that Aluxes is at top of the map. This adds a cool effect to your game, and looks awesome in cut-scenes. You can play around with the panorama hue if you want, but it will rarely make it look better. I moved the slider to right here to get a sunset type effect:

 

slideri.png

sunsete.png

 

However, as you can see, it does affect the quality of the panorama. You're better off just using photoshop to edit it. Play around with Panoramas, and you'll be making better maps in no time!

 

Now let's move on to the second map setting that is important to the atmosphere of your maps, Fog graphics.

 

foggraphic.png

 

Clicking the Fog graphic box brings up a window similar to the one from before, except now there are a few options on the right side of the preview-box.

 

foggy.png

 

Options:

 

  1. Opacity - With this option, you can enter a number between 0 and 255. 0 will make the fog invisible, and 255 will make it the only thing visible. Input a larger number to get a thicker fog.
  2. Blending - If you don't know what this does, you don't need to know. You'll never need it, so there's no point explaining it.
  3. Zoom - Here you can set the zoom percentage of the fog. 100 will keep it at its normal size, 200 will double its size. etc.
  4. SX - SX stands for the x-axis speed of the fog. Basically, you can make the fog move to the left (negative number) or right (positive number). Larger numbers equals more speed.
  5. SY - SY stands for the y-axis speed of the fog. Same deal here. Negative numbers move the fog down, positive numbers move it up.
  6. Combining SY and SX - You can input a number in both the SY field and the SX field. This way, you can move the fog diagonally. Play around with it. :P

 

Here's an example of how a fog can make a map look better:

 

contestswamo.png

 

It may be a subtle difference, but it's a good difference. There are more fogs for you to use in different maps, such as underwater, in a forest or a sandstorm in a scorching desert. Just because this overlay graphic is called a Fog graphic doesn't mean it's always going to be a fog. There's also another much more complicated use for fogs: Cosmetic Lighting.

 

But what else can we use to change the atmosphere of our maps? You may have noticed that the previously shown swamp map I made had a dark brown tint to it. This really made it look a lot more like a murky swamp didn't it? This was accomplished with a Screen Tone event command.

 

screentone.png

 

Ahh... The screen tone command. Such a wonderful tool for us mappers. If you didn't know about this, you're in for a real treat. With this event command, we can add a tint of color (or remove the color) to/of our maps. It's pretty simple. Move the sliders around to the left or right to decrease or increase the amount of a particular color to the map. This can completely change the atmosphere of your map, and it can really make an okay map become an awesome map. But.. how do we know which numbers to use? You could input random numbers or move the sliders around randomly and constantly playtest your game to see which combinations you like, but that's a bit tedious, no? Well, thanks to my good friend Leon, we have a script that makes this so much easier for us.

 

Leon's Screen Tone Test Script:

 

#-------------------------------------------------------------------------------
#  Screen Tint Debug Menu by Leon_Westbrooke
#-------------------------------------------------------------------------------
#  This scene allows you, in Debug mode, tamper with the map's tone until you
#  find a desired coloring.
#  It will NOT set the tone for you automatically.  Instead, record the numbers
#  and use them in a change screen tone event.  However, this should cut down
#  on countless testing of the screen's tint.
#
#  To use:
#    Plug the script into your game's script archive.
#    To access it, go into debug mode (F12) and press F8 to access the menu.
#    Use the arrow keys to change the maps tone.
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#  *  Game_Temp
#-------------------------------------------------------------------------------
class Game_Temp
 alias leon_stdm_gametemp_init initialize

 attr_accessor :tinttest_red
 attr_accessor :tinttest_green
 attr_accessor :tinttest_blue
 attr_accessor :tinttest_gray

 def initialize
   leon_stdm_gametemp_init
   @tinttest_red = 0
   @tinttest_green = 0
   @tinttest_blue = 0
   @tinttest_gray = 0
 end
end
#-------------------------------------------------------------------------------
# END Game_Temp
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#  *  Spriteset_Map
#-------------------------------------------------------------------------------
class Spriteset_Map
 attr_accessor :viewport1
end

class Game_Screen
 attr_accessor :tone
end
#-------------------------------------------------------------------------------
# END Spriteset_Map
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#  *  Scene_Map
#-------------------------------------------------------------------------------
class Scene_Map

 alias leon_stdm_scenemap_update update

 def update
   leon_stdm_scenemap_update
   if $DEBUG and Input.press?(Input::F8)
     $scene = Scene_TintDebug.new
   end
 end
end
#-------------------------------------------------------------------------------
# END Scene_Map
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#  *  Window_TintTest
#-------------------------------------------------------------------------------
class Window_TintTest < Window_Selectable
 def initialize
   super(0, 0, 192, 192)
   self.contents = Bitmap.new(width - 32, height - 32)
   @item_max = 5
   self.index = 0
   self.active = true
   refresh
 end

 def refresh
   self.contents.clear
   self.contents.draw_text(4, 0, 160, 32, "Red")
   self.contents.draw_text(4, 32, 160, 32, "Green")
   self.contents.draw_text(4, 64, 160, 32, "Blue")
   self.contents.draw_text(4, 96, 160, 32, "gray")
   self.contents.draw_text(4, 128, 160, 32, "Exit")
   self.contents.draw_text(-4, 0, 160, 32, $game_temp.tinttest_red.to_s, 2)
   self.contents.draw_text(-4, 32, 160, 32, $game_temp.tinttest_green.to_s, 2)
   self.contents.draw_text(-4, 64, 160, 32, $game_temp.tinttest_blue.to_s, 2)
   self.contents.draw_text(-4, 96, 160, 32, $game_temp.tinttest_gray.to_s, 2)
 end
end
#-------------------------------------------------------------------------------
# END Window_TintTest
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#  *  Scene_TintDebug
#-------------------------------------------------------------------------------
class Scene_TintDebug
 def main
   @spriteset = Spriteset_Map.new
   $game_temp.tinttest_red = @spriteset.viewport1.tone.red.to_i
   $game_temp.tinttest_green = @spriteset.viewport1.tone.green.to_i
   $game_temp.tinttest_blue = @spriteset.viewport1.tone.blue.to_i
   $game_temp.tinttest_gray = @spriteset.viewport1.tone.gray.to_i
   @window_tint = Window_TintTest.new

   Graphics.transition
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   Graphics.freeze
   @window_tint.dispose
   @spriteset.dispose
 end


 def update
   if Input.trigger?(Input::B)
     $scene = Scene_Map.new
   end

   if @window_tint.active
     update_windowtint
     return
   end
 end

 def update_windowtint
   @window_tint.update
   case @window_tint.index
   when 0
     if Input.trigger?(Input::RIGHT)
       $game_temp.tinttest_red += 1
       if $game_temp.tinttest_red >= 255
         $game_temp.tinttest_red = 255
       end
     elsif Input.trigger?(Input::LEFT)
       $game_temp.tinttest_red -= 1
       if $game_temp.tinttest_red <= -255
         $game_temp.tinttest_red = -255
       end
     elsif Input.repeat?(Input::RIGHT)
       $game_temp.tinttest_red += 5
       if $game_temp.tinttest_red >= 255
         $game_temp.tinttest_red = 255
       end
     elsif Input.repeat?(Input::LEFT)
       $game_temp.tinttest_red -= 5
       if $game_temp.tinttest_red <= -255
         $game_temp.tinttest_red = -255
       end
     end
   when 1
     if Input.trigger?(Input::RIGHT)
       $game_temp.tinttest_green += 1
       if $game_temp.tinttest_green >= 255
         $game_temp.tinttest_green = 255
       end
     elsif Input.trigger?(Input::LEFT)
       $game_temp.tinttest_green -= 1
       if $game_temp.tinttest_green <= -255
         $game_temp.tinttest_green = -255
       end
     elsif Input.repeat?(Input::RIGHT)
       $game_temp.tinttest_green += 5
       if $game_temp.tinttest_green >= 255
         $game_temp.tinttest_green = 255
       end
     elsif Input.repeat?(Input::LEFT)
       $game_temp.tinttest_green -= 5
       if $game_temp.tinttest_green <= -255
         $game_temp.tinttest_green = -255
       end
     end
   when 2
     if Input.trigger?(Input::RIGHT)
       $game_temp.tinttest_blue += 1
       if $game_temp.tinttest_blue >= 255
         $game_temp.tinttest_blue = 255
       end
     elsif Input.trigger?(Input::LEFT)
       $game_temp.tinttest_blue -= 1
       if $game_temp.tinttest_blue <= -255
         $game_temp.tinttest_blue = -255
       end
     elsif Input.repeat?(Input::RIGHT)
       $game_temp.tinttest_blue += 5
       if $game_temp.tinttest_blue >= 255
         $game_temp.tinttest_blue = 255
       end
     elsif Input.repeat?(Input::LEFT)
       $game_temp.tinttest_blue -= 5
       if $game_temp.tinttest_blue <= -255
         $game_temp.tinttest_blue = -255
       end
     end
   when 3
     if Input.trigger?(Input::RIGHT)
       $game_temp.tinttest_gray += 1
       if $game_temp.tinttest_gray >= 255
         $game_temp.tinttest_gray = 255
       end
     elsif Input.trigger?(Input::LEFT)
       $game_temp.tinttest_gray -= 1
       if $game_temp.tinttest_gray <= -255
         $game_temp.tinttest_gray = -255
       end
     elsif Input.repeat?(Input::RIGHT)
       $game_temp.tinttest_gray += 5
       if $game_temp.tinttest_gray >= 255
         $game_temp.tinttest_gray = 255
       end
     elsif Input.repeat?(Input::LEFT)
       $game_temp.tinttest_gray -= 5
       if $game_temp.tinttest_gray <= -255
         $game_temp.tinttest_gray = -255
       end
     end
   when 4
     if Input.trigger?(Input::C)
       $scene = Scene_Map.new
     end
   end
   red = $game_temp.tinttest_red
   green = $game_temp.tinttest_green
   blue = $game_temp.tinttest_blue
   gray = $game_temp.tinttest_gray
   @spriteset.viewport1.tone = Tone.new(red, green, blue, gray)
   $game_screen.tone = Tone.new(red, green, blue, gray)
   @window_tint.refresh
   @spriteset.update
 end
end
#-------------------------------------------------------------------------------
#  *  Scene_TintDebug
#-------------------------------------------------------------------------------

 

 

This is easily my favorite RMXP script of all time. ^_^ So how does it work? First of all, put the script in your game.

 

Quick Tutorial on how to input scripts if ya' don't know how::

 

 

Click on the Edit Scripts button in the top toolbar.

toolbarw.png

 

Right click on "Main" in the script list to the left and click insert.

scripteditor.png

 

Type in the name of the Script (Screen Tone Test) in the name box, then paste the script in the box to the right.

screentonetest.png

 

Press OK.

 

 

Now that you have the script in your game, playtest your game on the map that you want to find the right screen tone for. When you're on the map, press F8. This window will appear:

 

snap10t.png

 

Now play around with the numbers using the arrow keys. You should be able to find the tone you like pretty easily.

 

snap8t.png

 

Once you found the screen tone you like, record the numbers in notepad or something. This script will not change the screen tone for you. Now stop play-testing and head back into the editor. Make a new event, and enter in the numbers you recorded in a screen tone event command. Pretty easy huh? ^~^ Using this method will save you a lot of time, so go thank Leon for writing this.

 

Now that you know how to give your map a screen tone, I will end this tutorial with some screen tone suggestions for specific types of maps.

 

Humid Jungle: -40, -39, -51, 0.

snap10.png

~Tileset + Autotiles Download Link~

 

Savannah: 15, -28, -15, 28.

snap10.png

~Tileset + Autotiles Download Link~

 

I'll add more screen tone suggestions later. For now.. I'm tired. :< It's 4:43 AM. If I do say so myself, this is one of the best formatted and written tutorials out there, so copy my style if you want to make a great tutorial! If you liked this tutorial...

 

...Please give me a reputation point for it.

captureokt.png

 

~Kiriashi

 

Source: Lesson 3 - Adding Atmosphere

Sign in to follow this  


1 Comment


Recommended Comments

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...