Friday, March 28, 2014

Building a Ship (Map)

The on-ship cutscene is a staple of classic RPGs. Although in the first Final Fantasy, there was no separate map to indicate being on board the ship (or airship), I seem to recall one in Final Fantasy IV (probably just before the entire gang got attacked by Leviathan), and there were certainly scenes of that nature in Final Fantasy VI - even more so if you include the airship.

Well, in my work on the harbor town I'm designing, and the nearby sea shrine, it came to me that I'm going to need to have a scene on board the ship that your group eventually acquires the reins to. Trouble is, RPG Maker VX Ace does not include a tileset to be used for designing ship maps. I found a couple custom tilesets designed by fans, but they leave a lot to be desired.

It turns out that a previous version of RPG Maker - RPG Maker XP - did have a ship tileset. And I realized in another light bulb sorta moment that, just like you can download the RTP for RMVXAce, you can do so (on the very same webpage) for both previous versions of the program RMVX and RMXP! And then, you'll have access (in your Common Files) to all the default tilesets, graphics, music, etc. from those versions of the program!

Well, I thought, hey, this might be a way to grab some extra materials to develop with. Like, for example, the battler graphics (graphics for monsters you fight in encounters), are good enough, but the variety is too limited. I'd be happy with more in the same style, so they all look consistent, but there's just not enough included with the program. Well, it turns out that VX's graphics are very similar to VXAce, only a bit more primitive, and barely anything new that VXAce doesn't already cover.

XP is further removed from the VX series, so you'd think it might have more options, but the drop in quality is considerable. Plus, as far as the battler graphics are concerned, there is way too much emphasis on humanoid enemies (as opposed to more animal-based enemies like my game requires). Also, XP used a graphical standard where the characters were two tiles tall (I think I've seen people refer to it as "mack", but I don't know what that means), instead of the "chibi" one tile square standard that VX/Ace uses.

Personally, I prefer the one tile standard, even if it distorts the character more, because it more accurately reflects the graphical style of the classic Final Fantasy RPGs I'm drawing most of my inspiration from, and that was one of the compelling reasons that led me to get my hands on VX Ace when I had passed on many of its RPG Maker forebears. Anyhow, the fact that XP uses two tile tall characters means a lot of the graphic proportions are unsuitable for a game designed with VX/Ace. :-/

However, for the ship tileset, I'm willing to make an exception, because there really aren't any satisfactory alternatives that I've come across. But, it's not a pretty compromise. I had to modify the actual dimensions of the tileset file so it works in VX Ace. And, as far as I can surmise, RMXP used a system that involved many more layers of graphical superposition so you can, for example, lay the mast down over top of the ship's deck. This is harder to do in VXAce, without carefully manipulating which tiles go on which layer, but it can be fudged by using events (for which you can select a graphical tile, and place over top of the actual map).

But that's not all. It's a bit hard to figure out where all the ship tiles are supposed to go, and how they're supposed to be used. I unfortunately don't have access to any kind of sample map from XP, like I do in VX Ace, to see how the designer was intended to use the ship tiles. You'd think it'd be a simple enough matter to figure out via trial and error, and it more or less is, but one thing that confounds me is that the back of the ship doesn't fit together with the front. For the life of me, I don't know what's going on there, and I wish I knew how XP built a ship, because to me it looks like it can't be done with the tiles included.

Anyway, I actually went in and graphically modified the relative positions of some of the tiles, so that the back and the front of the ship match, and did my best to build a decent ship map - inside and out. It's not very shiny, but I think it's good enough to use. Go ahead and take a peek at it:



I'm going to give you a link to the ship tileset files I used, adapted from RMXP to work in RMVXAce, with the back of the ship adjusted to fit the front. Note that I used a lot of events, especially for the mast, but also for the overhang on the front of the ship, to get it looking the way it does in my map. All you have to do is import the files into your tileset folder, and then add them to a tileset in the Database. I recommend making a new one just for ships. You'll probably want the ocean tiles, and I also put the wooden plank floor tiles in files for the A layer (so you can place other stuff on top of them) - I'll give you those, too. Make sure you set the passability settings in the Database so the program knows where to let the player walk and where not to.

Ship_A1 - ocean tiles
(place this in the A1 slot since they're autotiles)

Ship_A5 - floor tiles
(place this in the A5 slot since they're not autotiles)

Ship_Bfix - first half of the ship tileset, with modified back of ship
(place this in the B, C, D, or E slot - these tiles go on top of A tiles)

Ship_C - second half of the ship tileset, mostly interiors
(place this in the B, C, D, or E slot - these tiles go on top of A tiles)

Disclaimer: I can't seem to figure out how to get the translucency to work. The transparency should work fine, but if the shadows under some of these tiles seem a little blunt, that's why.

Note: You can place any other tilesets in the remaining B, C, D, and E slots (whichever two you didn't use for the ship tilesets). For example, I put Inside_B and Inside_C (standard Interior tilesets that come with the RTP) in the D and E slots for some basic interior stuff (beds, shelves, etc.). It's up to you.

Good luck! And if you find a more elegant solution to the lack of a ship tileset in RMVXAce, please let me know what it is...

12 comments:

  1. I know you posted this awhile ago but I still wanted to comment to say thank you, these have been a life saver to me. That's a good map you've got there too, by the way. Thank you again.

    ReplyDelete
    Replies
    1. You are most welcome. It pleases me to know that someone has gotten some use out of them. :-)

      Delete
    2. can i use this tileset in my commercial game?

      Delete
    3. I don't mind if you use it in your commercial game. All of the tiles are owned by the company that created RPG Maker, albeit an earlier version of the program.

      Delete
    4. First of all, excelent work, pratical and a great tool for gamedev. From what I understood from the comments, you don´t mind if they are used in a commercial (or non commercial in my case) game, but I would just like to thank you for your excelent work and when my game is published I´ll send you a link so you can see the tiles being used (I´ll credit you in the game description if you don´t mind, or I wont mention you if don´t want to be mentioned).

      Delete
    5. You can credit me for adapting the tiles to VXAce if you like. The tiles themselves are RPG Maker's, though, so their usage is governed by RMXP's license.

      Delete
  2. Thank you so much for these. I sincerely appreciate the effort and hard work put into making these tiles. I helped me a lot on my first game.

    ReplyDelete
  3. Hey there. I bet this wasn't the comment you were expecting to get in 2019 but I had time off after surgery this past week and my mind got caught up on RPGMaker XP game I had been working on in 2008 and never finished. Decided to drag it up and it required a boat. I loaded up the standard RTP graphics and could not wrap my head around how to build the back of the boat.
    I found your page on Google and I'm so happy that I did. I appreciate the help my friend!

    ReplyDelete
    Replies
    1. Thanks for the comment! I'm always happy to hear when anything I've done has helped other creators. Good luck on your project!

      Delete
  4. how did you layer them so the top of the ship looked right?

    ReplyDelete
    Replies
    1. Meticulously, lol. Trial and error, until you figure out where each piece is supposed to go...

      Delete
    2. You have to use events. Pick the place where you want the piece of the ship and then make an event with appearance from the tile sets.

      Anyway OP, in case you want to optimize your tileset, you could make a steering wheel which aligns with the mast poles. Me as a perfectionist am kind of bothered by the fact that I can't set the wheel in the center. other than that, great Work!

      Delete