1 Ocean Depth+ (how to make it?)

Square_art

Veteran
Veteran
Joined
Nov 19, 2013
Messages
272
Reaction score
114
First Language
Russian
Primarily Uses
Using default animated tilesets, as well as custom tilesets it is only possible to create the Ocean of 2 levels (e.g. light blue and dark blue). When trying to add new level of water, let's say 'green water', the system build shore around new water. So, the question of topic, how to create animated Ocean of 3-4 levels? Should I change something in existent script or should I create the new one?
 

ShinGamix

DS Style 4Ever!
Veteran
Joined
Mar 18, 2012
Messages
3,905
Reaction score
451
First Language
April Fools
Primarily Uses
N/A
I would suggest parallaxing the map and layer them using a overlay/layers script and multiple images the way walt-disney did their first animated movies.
 
Last edited by a moderator:

Square_art

Veteran
Veteran
Joined
Nov 19, 2013
Messages
272
Reaction score
114
First Language
Russian
Primarily Uses
Well, good idea, but I think it's more appropriate to dungeon maps, my World Map ~400*300, and you know, to use parallaxing there it's not the best solution. :)

I hope it's possible just to change the code of the script, which will allow you to use 3 levels of water instead of 2
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
You do not have access to the code that builds the map from the tiles, so no, it's not possible to change it via scripts.


The only possible way you could do this is to adjust your tiles to remove the 'shore' around the new water, and replace it with water from the other ocean tiles. You would need to show your A1 tiles if you need help with this.


Keep in mind though, that the behaviour of the boat and ship on the water tiles is very specific to where the tile is on the A1 sheet. You can't just put water anywhere and expect one or both of them to be able to go over it. The help file (F1 in the editor) explains this in more detail.
 
Last edited by a moderator:

Funplayer

Self proclaimed sponge.
Veteran
Joined
Oct 9, 2013
Messages
120
Reaction score
35
First Language
English
Primarily Uses
Shift click, probably the best solution.

Also I'm new.
 
Last edited by a moderator:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,367
Reaction score
7,676
First Language
German
Primarily Uses
RMMV
When trying to add new level of water, let's say 'green water', the system build shore around new water. So, the question of topic, how to create animated Ocean of 3-4 levels? Should I change something in existent script or should I create the new one?
Each and every autotile has a center part/color and a frame part/color. if you want to have more and different colored ocean levels, then you need to change those colors depending on that.

The level 4 ocean needs a frame in the color of the level 3 ocean, the tile for the level 3 ocean needs a frame in the color of the level 2 ocean and so on.

After that, you need to use shiftclick-mapping to prevent different autotiles from messing up the color progression, because the editor cannot automatically recognize more than one depth level and would try to mix the wron colors in some cases.

And you have to be careful where on A1 you place the different ocean levels, because the passability of boat and ship is locked to tile numbers inside the A1-Tile - if you place them wrong, the vehicles would move at the wrong water levels...
 

Indrah

Megane Berserker
Veteran
Joined
Mar 5, 2012
Messages
2,078
Reaction score
2,063
First Language
Spanish
Primarily Uses
RMMV
Made this some time ago for an old abandoned project. May or may not be useful to you:



In use:



If that's not what you mean: play around with the first A1 tile and it's linked ones (the one below and the two besides it). They mix together, and while a bit complicated you can make them appear as depth (or at least pile up different tones).

You can also try to use one of the A2 tiles (the overlay ones on the right half of the set). Make them half transparent and put them over the water to change it while still maintaining its animation.

Good luck with this, I know for a fact it's a ***** ~-~
 

Square_art

Veteran
Veteran
Joined
Nov 19, 2013
Messages
272
Reaction score
114
First Language
Russian
Primarily Uses
Thanks for these answers and for the example, it helps!

I have only one question left, how to make following tiles passable for ships?
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Keep in mind though, that the behaviour of the boat and ship on the water tiles is very specific to where the tile is on the A1 sheet. You can't just put water anywhere and expect one or both of them to be able to go over it. The help file (F1 in the editor) explains this in more detail.
You can't "make" tiles passable for the ship or boat. The help file tells you which ones they can go over, and which ones they can't - it's based on the tile's position in the tileset, and only a limited number can be used by those vehicles. If you want to change that, it would require a script mod.
 

Funplayer

Self proclaimed sponge.
Veteran
Joined
Oct 9, 2013
Messages
120
Reaction score
35
First Language
English
Primarily Uses
You can't "make" tiles passable for the ship or boat. The help file tells you which ones they can go over, and which ones they can't - it's based on the tile's position in the tileset, and only a limited number can be used by those vehicles. If you want to change that, it would require a script mod.
A few simple hooks with the Game_Player when tiles are being checked as passable while on the boat, should do the trick.  Just have it return if the tile matches one of the tiles you're using based on its tile number (in hex I think?).  Shouldn't be too tricky for a simple passable mod.
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Yes, that's what I said - a script mod. It can't be done any other way.
 

Funplayer

Self proclaimed sponge.
Veteran
Joined
Oct 9, 2013
Messages
120
Reaction score
35
First Language
English
Primarily Uses
2nd Edit:

Since I figured you were using VX-Ace, i decided to create the equal form in VX-Ace.

Code:
# -------------------------- ## Passability Snippet VX-Ace ## -------------------------------------------------------------------------- ## This is a simple mod to allow for tiles to be ignored or not ignored.      ## Basically its untested, because I don't want to go find all the required   ## tileset numbers.                                                           ##                                                                            ## OVERWRITES:                                                                ##   Game_Map.passable?                                                       ##                                                                            ## Directions:                                                                ##   1. Place above main.                                                     ##   2. Populate tile arrays.                                                 ##   3. Test and send me bugs.                                                ##                                                                            ## Made By:                                                                   ##  FunplayerGGPO                                                             ##    Use if you want.                                                        ## -------------------------------------------------------------------------- #module PASSABILITY                 #[tile_id,tile_id,tile_id]  SHIP_ADD_PASSABILITY = [66]  SHIP_BLOCK_PASSABILITY = [64]                   #[tile_id,tile_id,tile_id]  BOAT_ADD_PASSABILITY = [64]  BOAT_BLOCK_PASSABILITY = [66]endclass Game_Map  # ------------------------ #  # OVERWRITES CHECK PASSAGE #  #--------------------------------------------------------------------------  # * Check Passage  #     bit:  Inhibit passage check bit  #--------------------------------------------------------------------------  def check_passage(x, y, bit)    all_tiles(x, y).each do |tile_id|      flag = tileset.flags[tile_id]      next if flag & 0x10 != 0            # [☆]: No effect on passage      # This is for the console.  It shows the x and y coordinates after the      #    corrected tile_id.      p "ID: #{tile_id/32} X/Y:#{x}/#{y}" if bit == 0x0400      p "ID: #{tile_id/32} X/Y:#{x}/#{y}" if bit == 0x0200      return true  if PASSABILITY::SHIP_ADD_PASSABILITY.include?(tile_id/32) and bit == 0x0400      return false if PASSABILITY::SHIP_BLOCK_PASSABILITY.include?(tile_id/32) and bit == 0x0400      return true  if PASSABILITY::BOAT_ADD_PASSABILITY.include?(tile_id/32) and bit == 0x0200      return false if PASSABILITY::BOAT_BLOCK_PASSABILITY.include?(tile_id/32) and bit == 0x0200      return true  if flag & bit == 0     # [○] : Passable      return false if flag & bit == bit   # [×] : Impassable    end    return false                          # Impassable  endend
Code:
# ------------------------------------------ ## Passability Snippet RPG Maker VX (NOT Ace) ## -------------------------------------------------------------------------- ## This is a simple mod to allow for tiles to be ignored or not ignored.      ## Basically its untested, because I don't want to go find all the required   ## tileset numbers.                                                           ##                                                                            ## OVERWRITES:                                                                ##   Game_Map.passable?                                                       ##                                                                            ## Directions:                                                                ##   1. Place above main.                                                     ##   2. Populate tile arrays.                                                 ##   3. Test and send me bugs.                                                ##                                                                            ## Made By:                                                                   ##  FunplayerGGPO                                                             ##    Use if you want.                                                        ## -------------------------------------------------------------------------- #module PASSABILITY                 #[tile_id,tile_id,tile_id]  SHIP_ADD_PASSABILITY = [93,68]  SHIP_BLOCK_PASSABILITY = [64]                   #[tile_id,tile_id,tile_id]  BOAT_ADD_PASSABILITY = [87]  BOAT_BLOCK_PASSABILITY = [88]endclass Game_Map  # ------------------- #  # OVERWRITES PASSABLE #  #--------------------------------------------------------------------------  # * Determine if Passable  #     x    : x coordinate  #     y    : y coordinate  #     flag : The impassable bit to be looked up  #            (normally 0x01, only changed for vehicles)  #--------------------------------------------------------------------------  def passable?(x, y, flag = 0x01)    for event in events_xy(x, y)            # events with matching coordinates      next if event.tile_id == 0            # graphics are not tiled      next if event.priority_type > 0       # not [Below characters]      next if event.through                 # pass-through state      pass = @passages[event.tile_id]       # get passable attribute      next if pass & 0x10 == 0x10           # *: Does not affect passage      return true if pass & flag == 0x00    # o: Passable      return false if pass & flag == flag   # x: Impassable    end    for i in [2, 1, 0]                      # in order from on top of layer      tile_id = @map.data[x, y, i]          # get tile ID      return false if tile_id == nil        # failed to get tile: Impassable      pass = @passages[tile_id]             # get passable attribute      # For ship, checks if the tile array includes the tile_id.      spass = (PASSABILITY::SHIP_ADD_PASSABILITY.include?(tile_id/32) )      sblock = (PASSABILITY::SHIP_BLOCK_PASSABILITY.include?(tile_id/32))      bpass = (PASSABILITY::BOAT_ADD_PASSABILITY.include?(tile_id/32))      bblock = (PASSABILITY::BOAT_BLOCK_PASSABILITY.include?(tile_id/32))      next if pass & 0x10 == 0x10           # *: Does not affect passage      return false if bblock and flag == 0x02           # x: BOAT NOT PASSABLE      return true if (bpass) and flag == 0x02   # b: BOAT PASSABLE      return false if sblock and flag == 0x04           # x: SHIP NOT PASSABLE      return true if (spass) and flag == 0x04   # s: SHIP PASSABLE      return true if pass & flag == 0x00    # o: Passable      return false if pass & flag == flag   # x: Impassable    end    return false                            # Impassable  endend
 
Last edited by a moderator:

Square_art

Veteran
Veteran
Joined
Nov 19, 2013
Messages
272
Reaction score
114
First Language
Russian
Primarily Uses
thanks for the script! Sorry, I was busy during last week, I'll test it during this week asap.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,083
Members
137,583
Latest member
write2dgray
Top