øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=24;area=showposts;sa=topics;start=15e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexadfc.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;sa=topics;u=24e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexadfc.html.zx\eh^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ À>ÕcOKtext/htmlISO-8859-1gzip0|ÖÕcÿÿÿÿÿÿÿÿWed, 11 Mar 2020 04:29:41 GMT0ó°° ®0®P®€§²ð®\eh^·Õc Show Posts - Entroper

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Entroper

Pages: « 1 2
16
General Discussion / Original Fantasy Script Commands
« on: February 06, 2008, 10:47:29 PM »
This is a place for me to figure out what scripting commands I will need, and to find out from others which commands would be useful to them.  I hate parsing, so I'm going to use a tree-based editor where you basically select commands from a list and fill in the parameters, with the tree branching for if statements and expressions and the like.

There are a few types of script entries: actions, conditions, and assignments.  Actions are simple things like "teleport to Corneria 35, 67" or "switch music to sadness theme."  Conditions evaluate to true or false, and conditional expressions can combine multiple conditions using AND and OR logic operators.  These may also include numeric expressions like "4 - Global.OrbsRestored" to determine how many orbs are remaining.  Assignments assign values to variables, and can also include numeric expressions, such as "Global.OrbsRestored = Global.OrbsRestored + 1".

Regarding variables, each map will have its own namespace for organization, and the quest as a whole will have a global namespace.  All variables from all maps in the quest will be loaded at runtime, so you can refer to variables in other namespaces using the syntax in the above example (Namespace.VariableName).  Events will also have their own names and can be referred to in the same way.


High priority:
Numerical expression evaluation including +, -, *, /, %
Conditional expression evaluation including AND, OR, XOR, NOT, variable equalities and inequalities (=, !=, >, <, etc.)
Condition operator: Has Item
Assignment to variables

Control Flow:
Calling other scripts
If/Else branching
While loop
End of control block (to end an if-else-predicate or while loop)
Break, Continue (loop control)
Return from script

Action: Give/Take Items/Gold
Action: Teleport to Map, Location(x, y)
Action: Conversation(text)
Action: Enable/Disable Event
Action: Ship/Airship Appears at Map, Location(x, y)
Action: Add sprite at Location(x, y)
Action: Move sprite N/S/E/W
Action: Remove sprite
Action: Wait x seconds
Action: Fight Battle (domain d, battle b)
Action: Change map tile (x, y) to (tile data)

Lower priority:
Action: Start/Stop Music
Action: Play sound effect
Action: Perform graphics effects (mosaic, blur, whatever)




I'll keep updating this list as I think of stuff.  Give me your suggestions and feedback please.  :)

17
General Discussion / Original Fantasy Map Design
« on: February 03, 2008, 03:40:51 PM »
This post is in reference to my project referenced here: http://slickproductions.org/forum/index.php?topic=173.0

I've studied the way maps are stored in FF1, and I'm trying to design the format my own maps will use.  Let me just give a basic rundown.

Each standard map (I haven't looked at the overworld yet) has a tileset.  The tiles are simple 16x16 sprites, and each tile also has two bytes of data that go along with it.  The first byte is a set of flags that determines things like whether or not you can walk on the tile, if you can encounter enemies on the tile, whether it takes you to a shop or another map, treasure, etc.  The other byte is data associated with the previous (which shop to enter, which map to warp to, which treasure, etc.).

So basically, this whole set of information is tied to each tile, and as a result, the "town" tileset, for example, has about 60-70 "door" tiles that all look the same but all link to different shops and inns and what have you.  The advantage of this system is that it's very easy to program; the disadvantage is that it's rather confusing for mapmakers to have to keep track of which tiles are which.

I want to ditch the above system and go with something easier for mapmakers to use.  What would make the most sense?  Do I keep a list in each map of "special" tiles and their functions?  Is there an even better way?

Another thing to note are forced battle tiles.  If I keep these in a list instead of tying the data to the tile, I could make these forced battles occur only once (I might even change most of these to monster-in-a-box-style battles, always thought it was lame that you could skip the battles by clever chest-opening).

18
Final Fantasy IV Research & Development / FF4A Haste/Berserk/ATB issues
« on: December 29, 2007, 05:33:21 PM »
I just finished defeating the four Elemental Fiends in the Giant.  For most of this battle, I had both Haste and Berserk active on Cecil and Edge.  When I do this in FF2US, the battle is completely ridiculous -- Cecil and Edge take actions every time you blink, and I can hardly even get a Fire3, Ice-3, or Lit-3 in edgewise.  In FF4A though, it almost seems like Berserk slows them down.  Before I had Berserk on them, they seemed to be taking actions faster.  Once I added the Berserk effect, it seemed that their ATB would fill up, and then they'd wait for almost a full round before attacking.

This is only my second time through FF4A, and the ATB peculiarities are really starting to get on my nerves.  Characters will spontaneously get to take two actions in a row, and their ATB gauge gets all screwed up after their second action.  Or Rydia's ATB will fill up while you're choosing an action for Edge, and then Cecil's ATB will fill up, and your next action goes to Cecil despite Rydia filling up first.  This can go for entire rounds, with Rydia not getting to take an action until Edge has gone again.  I believe the game just goes through your characters in their party order to see who's full, instead of keeping track of who filled up first.  I don't recall 2US having this behavior, but it doesn't show you an ATB gauge either.

If I ever extend my FF engine project to attempt to play FF4, I don't think I'll end up providing a "true to the original" option.  Too many versions of this game with too many different bugs.   :bah:

19
General Discussion / Is there a "Zelda Classic" for FF?
« on: December 22, 2007, 12:13:54 AM »
If you're unfamiliar with ZC, it's basically a PC game that plays a faithful replica of the original Legend of Zelda, but the twist is that it has a robust quest editor and a lot more features beyond the original game.  I'm wondering if anyone knows of a similar project for Final Fantasy games.

20
Game Modification Station / Elements and status effects in FF1
« on: December 18, 2007, 02:28:45 PM »
I thought my last post deserved some more explanation.

I'm fairly certain that the elements and status effects in FF1 are a lot more orthogonal than FF Hackster illustrates.  Here is what I've been able to determine:

Elements:
1: Stun
2: Poison
4: Dimensional
8: Death
16: Fire
32: Ice
64: Lightning
128: Earth

Status:

1: Death
2: Stone
4: Poison
8: Darkness
16: Stun
32: Sleep
64: Mute
128: Confuse

These seem to be consistent across spells, enemy attacks, weapons, armor resistances, etc.  In FF1, you don't get immunity from status effects, you get resistance from elements.  So if you resist the "death" element, RUB and XXXX don't work on you, but BANE and QAKE do.  If you resist poison, you're safe from BANE, if you resist earth, you're safe from QAKE.  A particular source of confusion is the ARUB spell, which I believe grants you resistance to the stun, death, and earth elements (again, not status effects).

21
Game Modification Station / Battle order in FF1
« on: December 18, 2007, 12:55:42 PM »
I'm looking into specifics of the FF1 battle engine.  Examining the monster data in FF Hackster, I think the "unknown" byte is the enemy's initative rating; that is, it determines how likely it is that that enemy will go first in battle.  What I don't know is what the actual formula is.  I assume that your character's AGI rating affects their initiative bonus, and possibly your level as well.  It should be something like:

Your initiative bonus = x*AGI + y*LV
At the start of a round of battle, everyone rolls a D20 (or D100, or Dsomething) and adds the value to their initiative bonus.  The round then proceeds with the highest totals acting first and the lowest acting last.

Anyone have any information on this?

Pages: « 1 2