As you progress through each scenario, you’ll want to save your game. The great news is, you don’t need any logins, plugins, pompoms, or special relics to do so. Just touch a shimmering save point, then select “Save” from the menu.
By default, your save game is stored locally. That means if you play SixEngine on another device, you will start a new game. However, if you want to bring your save game with you, you can do so by using the “Import / Export” feature.
“Import / Export” is easy to use. You can access it from “Config” at any time, or from the “Save” menu (while standing on a save point). When you export your save game, you’ll get a link that you can bring to another device. Punch in that address in another browser, and you can pick up where you left off. You can also share the link with a friend, or your favorite enemy.
Saving is very important. If you perish in battle, you will be returned to your most recent save. You can also refresh your browser to return to your last save. You might remember that FF6 had a feature where you would retain any experience points gained since your last save, while losing everything else (money, items, and so on). I did code a feature like that into SixEngine, but it turned out not to be necessary, so it’s disabled for now.
Those who want a greater challenge will have plenty of optional restrictions available to them. Likewise, those who wish to grow their characters will be similarly rewarded with great strength in battle.
In both cases, it pays to “save early, save often!”
Storytelling in SixEngine consists of multiple scenarios, each providing a little bit of backstory. They are designed to be completed in any order, which allows me to release content one scenario at a time, rather than developing a giant story and releasing it all at once.
Final Fantasy 6 has an enormous cast of playable characters. Throughout the game, you get to control over 30 characters, and keep up to 14 of them by the end. During development, the FF6 team created rich backstories for many of these heroes -- far more than they could fit in the final game.
One of the developers, Kaori Tanaka, later released a booklet of her own, in order to share some of the lore that we never got to see. She created the Figaro brothers, but she also made a detailed history including their royal lineage, how they grew up, and so on.
Terra and Locke are said to be largely influenced by series creator Hironobu Sakaguchi, while Shadow and Setzer came from Tetsuya Nomura. Celes and Gau were created by the director, Yoshinori Kitase.
Kitase made an effort to balance these characters by allowing each of them to take the game’s focus at one point or another. However, some got much more screen time than others, and even those with the most (Celes and Kefka) had quite a bit of backstory left out.
That’s where SixEngine comes in.
I hope to eventually produce at least one scenario for each of the main characters, and even some of the lesser characters -- like Daryll, or the band of moogles that live in the mountains near Narshe. With future growth in mind, I had to decide how to organize these bite-size stories.
You might remember the scenario selection gimmick from FF6, where you assume control of a moogle, in a dark room. From there, you could choose which story you wanted to play through by speaking to an NPC.
In contrast, SixEngine uses an interface more like a saved game selection screen. Upon clicking on a scenario, you get to see a small preview animation, and read a brief description. You can also resume progress from a previous session, and go for 100% completion. Speaking of which...
Next up: How will SixEngine handle saving the game? Let’s find out!
When it came to enemy encounters, Earthbound did it best. Not only could you see (and potentially avoid) enemies, but if you were strong enough, you could auto-defeat them, without even entering battle!
SixEngine has those features -- and adds to them.
I made custom sprites for all enemies out of battle so that there are no random encounters. This gives the player greater control, and makes exploration a lot more fun. Enemies can move randomly, follow a script, or actually seek the player. Watch out!
Interestingly enough, FF6 did have enemies that were visible on the field -- they just weren’t used very often. You probably remember the dragons roaming around, but do you remember the rafter rats in the opera house, or the dancing flames in Thamasa?
This feature will be helpful for pacifists and power-levelers alike. It’s fun to be able to sneak past enemies, or re-spawn them for some quick EXP.
Next up: Bite-size backstories, from Bahamut to Branford!
DevDiary#2: "Oops! Forgot I was wearing these clothes."
I’m no Relm Arrowny, but I’ve been known to tweak a pixel or two. Sometimes, all you need is a palette swap to freshen things up. Fortunately, I can go way beyond that, and easily make my own sprites!
Back in early 1993, a talented 27-year-old woman named Kazuko Shibuya started working on the graphics for Final Fantasy 6. By that point, she had much experience taking sketches from Yoshitaka Amano and pruning them down into admirably expressive sprites. Her adaptation also allowed a huge cast of characters to share a very limited number of palettes on the SNES.
SixEngine gives me more freedom. I can go back to Amano’s source artwork, and blend a wider range of colors into these sprites. But, you know, I can still skip over those bright white boots that Locke had in his concept art. I wanna make some exciting custom visuals, but still keep it very close to the look and feel that I grew up with.
For enemy sprites, there’s been a lot of new content recently, straight from the source. In 2014, Square Enix released a mobile game called Final Fantasy Record Keeper, which allows you to build a team of heroes from any Final Fantasy in the series, and then take that team through battles from each game -- all in the style of FF6.
Record Keeper has some great hero sprites as well, but the frames are limited to basic battle actions only. They do not have north- or south-facing animations, and they also lack most of the “expressions” that FF6 used (like surprise or sadness).
To see just how much of that expression was missing, I aligned one of the FFRK sheets with the frames from FF6. The art style is spot on, but I was only able to match up 11 of 43 frames. I experimented with plugging FFRK sprites into SixEngine for the Wutai Tech Demo, but I had to create quite a few new frames myself, from scratch.
Then, of course, there are custom maps!
Custom maps are the most time-consuming graphical component -- I want each map to feel as polished and interesting as possible. In an effort to limit spoilers, I can’t show too much of the landscapes that I’ve built, but I’ll continue to share glimpses along the way.
What I can tell you is that interaction with the environment is much more frequent in SixEngine than it was in FF6. One of my favorite interactions was jumping from building to building in Zozo, so keep an eye out for stuff like that.
DevDiary#1: “We stand on the brink of a major breakthrough!”
Let’s talk about SixEngine, the side-project I’ve been secretly picking at since mid-2013. It started out as just a proof of concept, to see how closely I could simulate some Final Fantasy VI mechanics in a web browser.
Since then, it’s grown into a very powerful retro game engine. In fact, lately I’ve spent much more time making my own graphics, music, and dialog, instead of writing lines of code. And that’s a good thing. As much as I enjoy coding, it feels amazing to finally start building the scenarios that I’ve dreamed up over the past three years.
In the beginning, the mission was simple: I wanted to pair up my new SNES music with new SNES gameplay and storytelling. However, I wanted it to be accessible to everyone, and I don’t think native SNES code (or a ROM hack) would be the easiest for people to consume. Instead, I decided to try a “low-tech website” approach, so that all kinds of modern devices could play. Thus, I set out to create some authentic SNES gameplay, from scratch, using only HTML and Javascript.
The first pieces of SixEngine only took me a few hours to code. The player could walk along a grid, collide with obstacles, and transition in and out of a fake battle screen. It even included music and sound effects.
I cooked up a very simple field map using 16x16 tiles. The goal was to allow movement across this grid, and then set boundaries at the edges of the walkable region.
Back then, the battle screen had no ATB, and all actions had to be triggered manually. However, you could use these actions to kill the enemies, and doing so would automatically return you to the field map.
Three years later, I have coded a field map, world map, menu system, combat system, inventory, party, npc scripts, special effects, event management, camera control... you name it!
Now it’s time to share some new content with you as I develop it. Stay tuned!