Tag Archives: Final Fantasy

Dreamblazers Devlog: Week of December 1, 2014

Last week’s achievements

* Made functional ally-summoning enemies
* Tested out EarthBound-style HP drain and inadvertently figured out how to do Pokémon-style HP bars
* Tested out one-turn-delay priority attacks

Current focus

Touching up various features.

Weekly goals

* Send art feedback for final Winter design
* Integrate animations with ORK
* Make the 2D camera follow the player
* Design layouts for Seaside Slime Cove, Den of Kobolds and the Unicorn, Spring Lake Valley
* Write bestiary flavor text for remaining enemies

Comments

Since I’ve been on animation for a while, I jumped back into tweaking the battle system for the past week (aside from visiting family for Thanksgiving). Somewhere in the ether exists an incredible RPG, simply waiting to be created, with priority attacks that change turn order on a one-turn delay, but I feel that the entire game would have to be built around that mechanic with methodical and strategic battle pacing. It’s kind of like Flamberge, a recent Kickstarter strategy RPG where both sides take their turns simultaneously: a very interesting idea that demands an RPG’s full attention and commitment.

(I will say this: if delayed priority was going to make sense in any game, then it might have to be one with physics like mine where everyone has super speed; mechanically it feels sort of like the turn-based version of bullet time.)

And then there’s EarthBound HP drain. Though it’s a great mechanic for adding some real-time flavor to turn-based battles, it turns out that most of the reason why it works is because that series, like its inspiration Dragon Quest, has very easy decision-making. My decision-making is more akin to competitive Pokémon, so rolling HP either puts too much pressure on players if it’s fast or looks silly if it’s slow.

It also conflicts with my Last Stand battle mechanic, where a character at 0 HP loses EP until finally going down (basically like a certain showdown in Final Fantasy V, but active in every boss battle); because they’re similar concepts, Last Stand gets lost in the shuffle if HP also drains that way under normal conditions. I still love the idea of HP drain, but like with delayed priority, an RPG needs to be built around it. The good news is that now I know how to do justice to Pokémon HP bars!

That brings me to the bigger success of the week: enemies can summon allies now! They’ll mainly come in two varieties of summoning multiple fragile enemies or single strong ones, but a certain puzzle-esque “boss” also has her own spin on the idea. I didn’t keep many ideas from 1999-2001-era Me without major tweaking—not even my magnum opus boss battle—but that one’s staying mostly unchanged. =)

Anyway, of the first continents’ enemies, Kobold Chiefs are the best at summoning because they can give party-wide stat boosts to whatever they summon. Kobold Rogues used to outshine them since they could (and usually do) blind the player party, but now there’s real choice in deciding whether to go after Chiefs or Rogues first. And worse yet are the Chiefs who have tamed Greatwolves. Greatwolves only call more of their pack when they’re weak, so one might try to leave them alone, but their stats are almost as good as party members, they can be buffed by Chiefs too, and they can pin party members to take away their turns and feast on them for massive HP recovery like those cannibalistic hydras in the final dungeon of Chrono Trigger.

Ahhh… If it isn’t obvious, this is the stuff I love talking about in these updates. ♥ If I had any good business sense then maybe I’d find somebody and pay them to figure out all the animation stuff and create maps while I do what I like, but I do appreciate knowing what is and isn’t difficult in this process. So back to that I go!

One last note:

It’s a crazy thing to find yourself singing along to a piece of music when you’ve never heard it before, but I actually have heard it before. : D Going back to things from an earlier era that I’ve thrown away, the story of my RPG’s 2001 version opened with the heroine wondering whether people dream of adventure for a reason and launching into a solo musical number about loving her steady life but still wanting more.

I was 16 and so the lyrics are mostly embarrassing and I’m not posting them now—except for the ending. I haven’t thought of that song in years upon years, but the first time I heard 0:20 of that Pokémon Omega Ruby and Alpha Sapphire theme, the two repeated choruses came rushing back to me:

And I think I will find—no, I’ll find out, I know
What awaits me if I just move on

There is loving and living and so much I’ll never know
Until I’m out exploring what’s beyond
And so very soon, I’m sure, I am going to find
What awaits me if I just move on

The bold part has almost the same cadence as the Pokémon piece except that it pauses before “no” instead of before “me”; the notes and scale of the first line in particular are exactly what I had in mind way back when. <3 It also fits even better with the “And so very soon, I’m sure” line other than having one fewer note. Sometimes I write lyrics for pre-existing game songs for fun, but this might be the one and only time where things happened in reverse. =P

Dreamblazers Devlog: Week of November 3, 2014 (Overview Edition)

It would be a little silly to give a regular update two days after my last one, so instead I’ll recap everything I’ve done and look forward toward what’s still to come.

What’s Done

* Stat growth balance – I based my stat growth and experience point scaling loosely on Pokémon as a familiar starting point, but altered to my own ends. Stats are slightly higher across the board to compensate for the absence of an EV system. (And no worries: there’s no IV equivalent! A character on her first playthrough will always grow to be exactly as strong as herself on her second.)

* Core battle mechanics – Damage formulas, status effects, passive abilities, elemental resistances, and pretty much anything in the foundation of the battle system does what I want from it!

* Move balance – Another thing I loosely based on Pokémon. As a marginally competitive Pokémon player, a decision between Icy Wind, Ice Beam, and Blizzard is one of the clearest examples of good game design, so I adapted their principles and it’s turned out great. I don’t feel like I have any filler moves, especially in conjunction with…

* Enemy AI and balance – Of the 42 enemies I’ve tossed in so far, I’m happy with at least 35 of them in terms of how they act and how weak or strong they are. Since most of the enemies recur across many continents at different levels—yet again, Pokémon inspiration—the important ones are all really solid. Most importantly, they feel distinct: ogres are vastly more threatening than kobold rogues, but kobold rogues are quite a bit more annoying. I’ve played entirely too many RPGs—even RPGs that are among my favorites of all time!—where enemies are interchangeable pretty models, which is right near the top of my list of things to avoid.

* Equipment system and fashion subsystem – Inspired by Dragon Quest IX, but a lot more visible, the way you wear your clothes can give you hundreds of possible fashion bonuses. What you can wear also depends on your body type; a character like Evelyn who has wings can wear wing accessories but not a cape or cloak.

* Equipment and status menu layouts – Granted that they’re only boxes and alignment right now since I haven’t paid for any art assets here, but I’m pretty satisfied with how cleanly they’re laid out.

* Controllable animated sprites – I just wrote about this, but yes, now the player can actually move a character sprite around and it’ll animate properly. <3 Like in Chrono Trigger or Final Fantasy VI, I’ll only do four directions of sprites, but diagonal movement is still possible. (FFVI had that on staircases in the Fanatics’ Tower and Zozo; I bring up the comparison because, for budget reasons, my sprites will look a lot more like that than huge CT sprites.)

* First continent layout – The first few (mini-)dungeons and one or two towns are still to come, but the main continent itself is all set up. I might increase or even double its size, but the layout’s not changing much if at all.

And, of course, I’ve written a myriad of flavor text and dialogue. But that’s not gameplay, so it doesn’t count. =P

Still Upcoming

* Battle timing – Although I’m making a turn-based RPG for several reasons beyond the scope of this post, action RPGs are technically my preferred genre, so I’ve been trying to figure out how to keep battles flowing. Multiple attacks per turn with a limited window for inputs like Valkyrie Profile? EarthBound style HP drain? Reduce the battle party size?

* The point of the fashion subsystem – Okay, so dressing great increases your Style stat, but what does that do? In DQIX it didn’t accomplish much pragmatically. Do I pull a Zelos from Tales of Symphonia and have NPCs throw goodies at you for looking fabulous? How about borrowing from Dragon’s Curse (AKA Wonder Boy III: Dragon’s Trap) and locking out some obtainable items until you look good enough to earn them? Should Style affect battles in a minor way like the Luck stat in Fire Emblem?

* Extra battle mechanics – Celty’s battle gameplay is… different from most of my other characters. Without giving away any spoilers past the first 10-15 minutes, she has a hero code and never uses overwhelming force against her enemies even if she significantly outlevels them, so her visible stats don’t reflect her real battle performance. I haven’t finalized figuring out how I’m going to accomplish that code-wise, but it’s vital—and not only from a story perspective! Everything I do goes to the good of gameplay somehow. Other than that, the one major aspect of battles that I didn’t get rolling yet is enemies who can summon allies or reinforcements, like greatwolves calling more of their pack or kobold chiefs calling underling warriors. I know it’s possible in ORK Framework since others say they’ve done it, so I only have to figure it out.

* Priority attacks – This, on the other hand, is impossible in ORK right now—at least as far as I can tell! Priority attacks are moves like Quick Attack in Pokémon or Mercurial Thrust in Dragon Quest that always attack first but are weak as well as moves like Dragon Tail that always attack last but have a notable effect. One option for me is to outright commission the development of that feature. Another is to try out a delayed priority effect; instead of an attack going first and dealing weak damage, it could deal weak damage and make the next turn’s attack go first. I can’t remember ever seeing that in an RPG, so I might give it a shot just to see how I like it. This sort of thing is a perfect example of limitations drawing out creativity. =)

* Animation integration – Just because I can animate sprites in a vacuum doesn’t mean I know yet how to integrate them with ORK. I think I do know! …but animation is the one and only thing so far that’s been more difficult than I anticipated, so I rule nothing out.

* Full-fledged environment movement – Player characters need to interact with the terrain and the camera needs to follow them, so for as much trouble as it was, simply getting a character moving is only a first step! …so to speak. =P

* Cutscenes – I haven’t even touched the idea of making cutscenes happen since they’re one of my lowest priorities, but they’re certainly coming up!

* Additional environments – Like I mentioned above, I’ll need a few dungeons and towns. (Don’t interpret that as tons of work; SNES classics often had one-room “dungeons” or “towns” like Guardia Forest and Gau’s father’s house to create scenery variety—and I’m certainly learning from that mold!)

And, of course, I’ll need art assets and music and so forth, but the bulk of those efforts will be on other people rather than me.

Final Words

I’m probably forgetting a few things that I’ve done and a few things that I still need to do, but overall this is a pretty good review of where I’ve been and where I’m going. Good to regain some perspective after a long challenge and a recent breakthrough. : D

Dreamblazers Devlog: Week of October 27, 2014 (Success Edition)

Positive reinforcement, I thought. As soon as I manage to create a functional overworld sprite, I’m going to In-N-Out Burger and I’m ordering a 4×4 and that mass of beef will be the only thing I eat all day, but it’ll be worth it.

That was around ten or twelve days ago.

Negative reinforcement, I thought—and that was four days ago on Monday. No matter what, I haven’t been able to get past this hurdle. Until I do, I won’t write any devlogs. I don’t get to do that until I prove myself worthy!

And now… I’ve got it!

As I solved issue after issue, at first it seemed like everything was wrong except the sprites.

Chunks of the tile map somehow ended up on the wrong Z plane—something impossible to notice by looking at it from a 2D perspective—so it wasn’t that I was passing through them, but passing in front of them. I noticed it mostly by chance when I got so desperate that I started looking over every individual setting of everything.

When I finally had sprites bumping into each other, triggers were working but collisions weren’t even though they’re pretty much the same thing. I chalked that up to differences between Unity’s current 2D physics and the tutorials I dug up using older versions of Unity. (I’ve gotten colliders functional since then, though; this was another matter of individual settings and nothing wrong with tutorials or videos elsewhere.)

Throughout this process, my antivirus programs’ real-time scanning kept blocking permissions to save or access data and Unity doesn’t give any indication of why permissions are denied; Dr. Google resolved that one. I still don’t know why that hasn’t been going on forever or at least consistently since I didn’t change anything with my programs, to my knowledge.

And all of this to say no, not only did I have these tangential problems, but on the direct front, I can only string together a C# script for character movement and animation if my life depends on it. =P (To my credit, I actually did put together some of the code on my own. I went through many a resource to get the basic gist of it, but most of them avoided diagonal animation for simplicity’s sake, so I had to figure out that much on my own. (Not that I intend to have eight-directional sprites; like Chrono Trigger and certain cutscenes of Final Fantasy VI, they’ll move diagonally even if the sprites only face four ways.))

But now it’s done! At very least a sprite can move and collide with itself. I told myself that I’d have everything working by Sunday’s end, but I’m pretty sure that character-to-character collision detection was the third hardest part, sprite animation was the second hardest part, and the random surprise errors from left field were the hardest part, so character-to-terrain collision detection should be comparably easy.

…I hope!

Dreamblazers Devlog: Week of June 2, 2014

Last week’s achievements

* Finished creating moves used by Miharu overworld enemies: Energy Siphon, Pounce, Pummel, Radiant Flare, Rush, Seize, Silk Wrap, Siren Song, Slash, Smash Takedown, Spiky Vines, Super Hammer, Super Tackle, Swiften, Tackle, Tempest, Thunderbolt, Trap Wrap, Vital Fang, Whiptail, Wild Charge, Wild Thrash, Zap
* Assigned Miharu overworld enemies to learn their moves
* Created and assigned battle AI to all Miharu overworld enemies
* Put together all enemy groups for the Miharu overworld

Current focus

Balancing and testing enemies and enemy groups.

Sample stuff

AI for Kobold Chief (ability names blacked out)

AI for Griffinaire (ability names blacked out)

Weekly goals

* Send in art feedback for everything that comes in
* Finish creating early-game moves used by the original player party
* Test a range of player party attacks against various early-game enemy groups and vice versa

Comments

I achieved everything I expected to this past week and a bit more; instead of only covering 25% of overworld enemy AI, I did all of it, which is great. I owe a lot to ORK Framework for making battle AI sensible to a designer. =) Just need minor polish for the early party, then it’s time to begin testing!

I’ll end with a few words (or a few hundred) about battle patterns…

Even Year 1999 Me (or so) understood in some primitive sense the value of challenge and battle AI, but today I’d say I was a bit heavy on the challenge at the expense of the AI.

For example, in a document that looks like it’s from 1999 or 2000, I have a paragraph about a battle with a single powerful boss, two archers who use a lock-on ability and then get guaranteed criticals on their target for the rest of the battle, two mages who boost enemy party stats twice each per turn, and a warrior who can attack twice per turn. The idea was that since the main boss has too much health to take it down first, the player has to chip away at the weaker foes like the mages and the archers while the main boss runs wild.

I can tell exactly which games my younger self borrowed most ideas from, but this particular battle seems incredibly forward-thinking. It’s a lot like a Bravely Default or Etrian Odyssey boss fight, but BD and EO didn’t exist at that time and I can’t name any RPGs of that era that could have modeled a battle of that complexity for me. If anything, I probably ported player party dynamics over to enemies.

However intricate it might be, though, I believe the battle is flawed: just like certain EO bosses who use their ultimate attack every fifth turn, it’s too consistent. Five of the six enemy party members do only one thing and four of those six only do that one thing to one specific character; the archers pick a target and stick with it while the mages will only target unboosted allies.

With no random chances modifying the sequence of events, winning the battle boils down to identifying a pattern and then going through the motions. For all its moving parts and hard-hitting enemies, it’s not especially more exciting than Final Fantasy VI‘s Whelk, the tutorial boss. Remember not to attack when it’s in its shell. Remember to target the mages and archers first.

To my credit, at the time Star Ocean: The Second Story was my newest Top 5 Game and the idea would fit much better in real-time action battles, which emphasize player execution instead of player comprehension. Any turn-based PvE (Player vs. Environment) battle system, however—even halfway real-time Final Fantasy or Chrono Trigger ATB systems—requires a degree of randomness to feel dynamic.

This boss fight will still exist in a new form, but winning won’t be as simple as figuring out the “trick.” The enemies might use the pattern above or they might do something different. Status effects will come into play. Critical hits will be likely instead of guaranteed, but they won’t be limited to one singled-out target. The enemy side will have healing. Compared to the original full aggro DPS idea, the battle will probably be less challenging, but definitely more unpredictable and engaging.

For me that comes a little later, though. I’ve got an overworld and normal encounters to take care of before I get to dungeons and boss battles!

Tales of Symphonia Text Review and Story Breakdown: Part 3

Originally a script for a video review, so some parts may stick out and, without visual aids, I recommend having played the game already! Note: this is for the original Tales of Symphonia, so if anything changed in the re-release, I haven’t touched on it here.

Quick links to other entries:

Intro
Part 1
Part 2
Part 4
Part 5

13) Where Optimism and Pessimism Converge

Everyone notices that Colette doesn’t feel pain from the wound she got for saving Lloyd’s sad self, so he spills the truth.

Becoming an angel means losing her humanity!

You’re phrasing this so negatively. She isn’t limited by pain, she’ll never fear starvation or be distracted by hunger, she can do anything she wants at any hour without being tired, and any pretty area would be a good vacation spot regardless of the climate, not to mention her ability to fly, her enhanced hearing, and her superior vision. What’s the problem?

Raine sets her second ranch to self-destruct mode and here comes another moral dilemma. I think. The party’s worried about Colette. Especially Lloyd, Genis, and Sheena—yeah, Sheena. Colette was right about her being a softy.

In fact, Sheena shows more sympathy than anyone else, though they all want her to stop the journey of world regeneration—but hold on. Let’s think about this.

First problem: Colette makes it pretty clear that she doesn’t care.

If Colette doesn’t mind her situation, why should I? People have different lifestyles. Some of them I would never consider for myself, but if the people living them are happy, who am I and who is anyone else to judge?

Continue reading