øAslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&topic=264.15e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index96f8-2.htmlslickproductions.org/forum/index.php?PHPSESSID=so1iojs5ocdn0o2vf0tti7fbu6&board=16.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index96f8-2.html.zxƒõg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿȰUÛOKtext/htmlISO-8859-1gzip0|ÖÛÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:32:26 GMT0ó°° ®0®P®€§²ð®‚õg^ÿÿÿÿÿÿÿÿ$Û Original Fantasy Map Design

Author Topic: Original Fantasy Map Design  (Read 11969 times)

Entroper

  • Moderator
  • *
  • Posts: 235
  • Gender: Male
    • View Profile
Re: Original Fantasy Map Design
« Reply #15 on: February 08, 2008, 03:39:13 PM »
It would certainly have an advantage in a situation where you wanted something like an oddly-shaped desert where you fight a hard monster or something.

I think you just sold me on it.  I was trying to think of situations where you would really want to use that, and that's exactly it.  Done.  Tonight I might finally define a map file format.  :)

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Original Fantasy Map Design
« Reply #16 on: February 09, 2008, 12:01:25 AM »
 :picsorstfu:

I love that smile. 

Entroper

  • Moderator
  • *
  • Posts: 235
  • Gender: Male
    • View Profile
Re: Original Fantasy Map Design
« Reply #17 on: February 09, 2008, 12:03:25 AM »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Original Fantasy Map Design
« Reply #18 on: February 09, 2008, 06:14:06 AM »
Quote
I think you just sold me on it.  I was trying to think of situations where you would really want to use that, and that's exactly it.  Done.  Tonight I might finally define a map file format.  :)

Awesome! Just a suggestion for the map editor though, if you go with this scheme, you might want to include a sort of rectangular "domain paint" tool that lets you set the domain of each tile in a large rectangular area at once. I'm just picturing trying to paint a 256x256 map tile by tile and I see myself falling asleep real quick:

Set tile (1, 1) to domain 1.
Set tile (1, 2) to domain 1.
Set tile (1, 3) to domain 1.
...
Set tile (1, 64) to domain 1.
Set tile (2, 1) to domain 1.
Set tile... zzzz..

As opposed to:

Highlight (drag mouse) from tile (1, 1) to tile (64, 64).
Set all highlighted tiles to have domain 1.
Let's dance!

Entroper

  • Moderator
  • *
  • Posts: 235
  • Gender: Male
    • View Profile
Re: Original Fantasy Map Design
« Reply #19 on: February 09, 2008, 01:05:11 PM »
I think what I'll do is have a fill function.  So you can draw the outline of your domain and then fill it in.

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Original Fantasy Map Design
« Reply #20 on: February 25, 2008, 10:30:24 AM »
Just found this topic, and as I was reading, I thought "why not let each tile have it's own domain settable?", but then that came up.  :happy:
Then I thought, "well, you'll need a way to fill in several domains at once for editing", but then that came up too. 

So then I thought "why not make it even more flexible, like FF6's system?" That is, domains still have a set of terrains where encounters can occur (4 different ones, determined by tile, of course 4 is arbitrary to the game), and then each of those can have multiple formations that you can face (again, FF6 uses 4 per terrain, but that's arbitrary). So  a domain then resolves to a sort of script that says "If this is a forest tile, trigger a battle of set A, else if this is a desert tile, trigger a battle of set B, etc."

This could still be done with a "paint by numbers" scheme. I guess my real point is that the domains could just be that- numbers- and then you could have a script to decode what that numbered domain means. That way, you could have a single domain for land and sea (in a given area), and within the domain script you switch based on whether on foot or in the ship (for an example). You'd need something like that anyway for setting backgrounds in battle. I realize it's not quite as useful for land, but if you allow land tiles to change via events, then it would prevent a normally swamp-only battle from occurring in a desert (if the tile changed from swamp to desert, that is).
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Original Fantasy Map Design
« Reply #21 on: February 25, 2008, 10:43:47 AM »
Also, for the event triggers, you may want to have events set to trigger on a logical combination of any of the following: "facing up, facing left, facing down, facing right, stepping on, talking/action to". In FF1, the key items are global in nature,  but those don't have to be the only ones (of course that would be a designer's decision, no reason to limit the format). 

Speaking of events, each map will have to have its own "onLoad" event. If map tile data can change, this will be essential so that changes that can survive a map reload will not be lost.
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

Entroper

  • Moderator
  • *
  • Posts: 235
  • Gender: Male
    • View Profile
Re: Original Fantasy Map Design
« Reply #22 on: February 25, 2008, 12:01:38 PM »
Yeah, I've been working on how to make tile data changes persistent.  I'll make a specification for that when I start working on the save/load system.  There are a number of things going on there already, like saving the event enabled/disabled states.

As I finished up the event spec, I realized I didn't have any information on how events would be triggered.  That's probably bad.  :)  Off the top of my head, I want triggers to happen when stepping on a square or when pressing the action button while facing a square/sprite.  I think for direction facing, you can test that in the script itself (I'll need to add conditional operators for that).

What other event triggers do I need?  I think I can support all of FF1's quest with "walk onto square" and "action button at square/sprite" triggers, but certainly there must be other useful ones?

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Original Fantasy Map Design
« Reply #23 on: February 25, 2008, 12:24:28 PM »
For how the events get triggered, I can mostly draw from experience with FF6, which has several ways (and this gets convoluted very quickly, so bear with me...)

Tile triggers: These always trigger by stepping on a tile (although some of them branch to "do nothing" when certain conditions are not met, for instance, the event it is set to do once has already occurred).

Map loaded triggers: Each map has one and only one. This can be used to load different music conditionally, or to make tile-patches to a map (like for opened treasure chests, for instance, although FF6 has some other automated way of doing that which takes the chests out of the picture).  These should be able to handle whatever changes you expect the map  to need (FF6 has to reload the map any time you visit the subscreen).
 
NPC triggers: These are triggered by "talking" to an NPC. That's handled by a pointer to an event. Interestingly, FF6 has an event command to "change event pointer for NPC xx" so that you can actually have it change based on another event. This is only mildly useful, as it has no inherent memory, so you still need event bits if you want the changes to be persistent.

Event triggers: Well, technically, you're just calling a script from another script. This is obviously important for several reasons.

Item-use triggers: This is not too common, but an example is the use of a Tent (changes the sprite, music temporarily goes to nighty night, saves are written out, etc.).  These are hardcoded in FF6, but with a good automated way of doing it from the item data, this could be very useful.

I'm sure there's at least one more that I'm forgetting...

5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

Entroper

  • Moderator
  • *
  • Posts: 235
  • Gender: Male
    • View Profile
Re: Original Fantasy Map Design
« Reply #24 on: March 02, 2008, 10:54:42 PM »
Thanks.  I'm going to greatly appreciate all the feedback I can get from users with scripting experience from previous FF games.  :)

So it sounds like the only ones that I need to code in the event header itself (thus far) are 1) stepping on a tile and 2) pressing the action button when facing a tile or sprite.  Items, map loads, and events can just call other events, so that doesn't need to be specified in the events they're calling.

Aerdan

  • Ymir
  • *
  • Posts: 18
  • Gender: Male
  • Winter Knight
    • View Profile
    • Unforeseen Consequences
Re: Original Fantasy Map Design
« Reply #25 on: April 16, 2008, 02:29:22 AM »
Re monster encounters...

Set up a list of tiles wherein each tile is part of a specific domain, then set zones so that you can control formations per domain per zone. This way you can arrange the formations per-domain, with a per-formation byte to set the zone. As an added bonus, you don't have to prod the maps in any way other than for events and tile-placement.