As much as I enjoyed the Materium Crystium's name (it's fun to say out loud - I had to do it a few times when you first announced it), I actually think Dream Rift is a better fit. The Chrono series likes to play with dreams, whether they be actual dreams (ie Enhasa), the planet's dream (discussed in both Trigger and especially in Cross), group names (ie Radical Dreamers), or the goals that one sets in life (see just about every character in Trigger/Cross, ranging from Schala to Cyrus to Orlha). Great idea!
That is precisely it as well. Its more fitting, Its interpretations beckons to the heart of player characters, those influences and dreams give the strength to fight and defeat Lavos. And new presentation suits it better. No more orange-grid like boards!
The exciting part of the Dream Rift is the inclusion of more diverse nodes for character growth. It's a big game, but even bigger for the side content, which CTR of course will have.
Man, the scope of this project really has changed/grown, hasn't it? I remember when it was all going to be limited to a single era (the Vendian period) and was just going to be a what-if scenario after the party beats Magus. Now it's a fully fledged sequel with the whole crew returning, and recreations of multiple Chrono Trigger locations. I can't wait!
Yes, definitely. Before it was very narrow and restricted, and I feared a lot of assets where not going to be to make a presentation because of that factor. Now with the lifted restriction and freedom across the game's wider assets, a lot is more possible.
When it comes to logic, FFXII's virtual machine scripts are quite cumbersome. But like most things, it becomes much more tolerable and easier with dedication. To my surprise, and what I typically do is clear the field scripts of a map's zone and compose a brand new logic that is specific to the Chrono and handles all the events and functions, mapjumps and enemy spawns.
An quick example:
// File size: 43232 Bytes
// Author: t-hirose/teamzodiac
// Source: naf_a01.src
// Date: 00/00 00:00
// Binary: C:\ctr\sdk\logi\naf_a01.ebp_unc\section_000.bin
option authorName = "t-hirose/teamzodiac";
option fileName = "naf_a01.src";
option dataFile = "naf_a01.src.data";
option spawnOrder = {-1, 2, 1, -1, -1, -1, -1, -1};
option positionFlags = 0;
option unknownFlags1 = 65535;
option unknownScale = {100, 0, 0};
option unknownPosition2d = {0, 0};
//======================================================================
// Global and scratchpad variable imports
//======================================================================
import global short シナリオフラグ = 0x0;
import global u_char g_com_e3_flag = 0xa02;
import global u_char g_btl_ナルビナレモラ = 0xa41;
import global float mp_map_set_angle = 0x900;
import global char mp_last_weather = 0x940;
import global u_char EV_ナルビナ上層マップ進行 = 0x221;
import global u_char global_var_6 = 0x9dd;
import scratch1 short scratch1_var_11 = 0x0;
import scratch1 u_char scratch1_var_12 = 0xc4;
import global u_short g_menu_telepo_dest[31] = 0xbf2;
import global u_char g_btlnmパック = 0xa43;
script setup(0)
{
function init()
{
fadeout(2);
fadesync();
g_btlnmパック= 2;
return;
}
function battle()
{
btlAtelSetupActorStart();
btlAtelSetEntryStruct(0x3000024);
return;
}
}
script クロノエントリー(6)
{
function init()
{
return;
}
function Main(1)
{
wait(100);
//SetGameScenarioFlag
シナリオフラグ = 6110; set story flag (safest point in the game)
moviestandby(48); // preload a movie fmv with id48
maskopenfast(0); // set mask movieplay
moviestandbysync(); // asynchronous
movieplay(48); // execute movieplay id48
fadein(fadesystemtime()); // fade movie
movieplaysync(); asynchronous movieplay
movieend(); terminate movieplay
addgill(400); //StarterGelt money game starts at
//addstoryflagespers
additem(49170, 1); old board tile node precautions
additem(49171, 1); old board tile node precautions
additem(49173, 1); old board tile node precautions
additem(49175, 1); old board tile node precautions
additem(49177, 1); old board tile node precautions
//addgambits
btlAtelGetAllTgtChips();
//jumptogamemapstart
mapjump(0x21b, 1, 0); move to next location
return;
}
}
This is a common script used at the start of the game, in between events before mapjump and end game sequences. It helps a lot to keep things organized, readable and fluid in the project.
This made me wonder... FFXII didn't have an overworld. Are there plans to have one at all in this game, or will the large zones just be connected like in FFXII?
There will be overworlds. Just like CT, there'll be no encounters on those overworlds and the BGM is retained. Since FFXII TZA allows up to three music tracks in one zone, overworld themes such as Peaceful Days and Memories of Green can be packed into one and played! The original version and the reorchestrated version can be chosen by the player at will anytime.
Here's brief layout of how Chrono is shaping within FFXII's world structure:
Name: 1000 A.D. | World Map // Hub 1 - Guardia Territory | FFXII Map: Dreadnought Leviathan/Brig No. 1 | EBP: rsn_y01.ebp / rsn5201 | BGM: 74
Zones:
•Guardia Forest/Forest Trail
•Leene Square
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Guardia Forest (1000 A.D.) // FFXII Map :: The Feywood/Walk of Rifts | EBP: mfr_a01.ebp / mfr0101 | BGM: 89
Zones:
•Guardia Castle (1000 A.D.)
•World Map (Hub 1)
Foes:
•Mu - Roundillo
•Tartarus & Cerberus - Scarab
•Crypt Bunny - Roundillo Rider
•Deadly Nightshade - Green Imp
•Holy Elemental - Avian Chaos
•Golem - Blue Eaglet
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Lenne Square // FFXII Map: Port Balfonheim/Sea Breeze Lane | EBP: var_a01.ebp / var0101 mapjump(0x337, 1, 0); | BGM: 99
Zones:
•World Map (Hub 2)
•Tent of Horrors
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Truce Canyon // FFXII Map :: Zertinan Caverns/Invitation to Heresy | EBP: ztc_a01.ebp / ztc0101 | BGM: 49 - Ambience
Zones:
•World Map (Hub 1)
•World Map (Hub 2)
Foes:
•Slime - Roundillo
•Speartongue - Fiendillo
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: 600 A.D. | World Map // Hub 2 - Guardia Territory | FFXII Map: Banks of the Sogoht | EBP: glf_a01.ebp / glf0101 | BGM: 58
Zones:
•Guardia Forest (600 A.D.)
•Manolia Cathedral
•Zenan Bridge
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Guardia Forest (600 A.D.) // FFXII Map: Feywood/Walk of Stolen Truths | EBP: mfr_a02.ebp / mfr0102 | BGM: 89
Zones:
•Guardia Castle (600 A.D.)
•World Map (Hub 2)
Foes:
•Mu - Roundillo
•Tartarus & Cerberus - Scarab
•Crypt Bunny - Roundillo Rider
•Deadly Nightshade - Green Imp
•Holy Elemental - Avian Chaos
•Golem - Blue Eaglet
•Mirrorknight - Amanita
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Guardia Castle (600 A.D.) // FFXII Map: Royal Palace of Rabanastre/Cellars | EBP: rrp_a02.ebp / rrp0102 | BGM: 19 (TRIGGER)
Zones:
•Guardia Forest (600 A.D.)
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Manolia Cathedral // FFXII Map: Socehn Cave Palace/Mirror of the Soul | EBP: rui_a02.ebp / rui0106 | BGM: 92
Zones:
•World Map (Hub 2)
Foes:
•Imp - Naga-Ette
•Zombie Knight - Mad Bat
•Striker - Viper
•Gorgimera - Underling (Blue)
•Focalor - Diablo
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Manolia Cathedral (BOSS) // FFXII Map: Socehn Cave Palace/Hall of Shadowlight | EBP: rui_c01.ebp / rui0103
mapjumps:
•Guardia Castle (600 A.D.) ev_t (Event) | ev_movie
Foes:
•BOSS - Ahriman (GilSnapper_plcholder) - Yakra
--------------------------------------------------------------------------------------------------------------------------------------------------------
Return-Route World Hub 1 (1000 A.D.)
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Guardia Castle (1000 A.D.) // FFXII Map: Royal Palace of Rabanastre/Cellars | EBP: rrp_a02.ebp / rrp0102 | BGM: 19 (TRIGGER)
PlayMovie:
•Court Guardia Castle Trial | ev_movie
mapjumps:
•Prison Tower
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: Guardia Prison Towers // FFXII Map: Draklor Laboratory/68th Floor | EBP: dor_e01.ebp / dor0103 | BGM: Ambience
Foes:
•Imperial Hoplite - Decedent
•Imperial Swordsman - Guard
•Imperial Pilot - Omnicrone
•BOSS - Judge - Dragon Tank
PlayMovie:
•Guardia Castle (1000 A.D.) | ev_movie
•Guardia Forest (1000 A.D.) | ev_movie
•Bangor Dome (2300 A.D.) | ev_movie
--------------------------------------------------------------------------------------------------------------------------------------------------------
Name: 2300 A.D. | World Map // Hub 3 - Badlands | FFXII Map: Banks of the Sogoht | EBP: glf_a01.ebp / glf0101 | BGM: 58
Zones:
•Trann Dome
•Site 16
Correct FFXII has no overworld. There is a lot of mapjumping from place to place based on factors such as complexity and structs. So to translate, there are separate maps reserved specifically for the World map in each individual area. They pose as hubs for those areas, as the player zones from one location to the next. The above breaks this down into a more readable format.
Yes, there will be actual CT enemies here too, not old FFXII enemies.
Like before, in these maps, I typically clear the default scripts and create a new script in its place where I can keep track of events and bits that occur as the game goes on. Ensuring previous event bits don't overlap current ones, or repeat whenever the hub is revisited at a later date.
Poor Robo, however, he is the only one restricted to the 'guest' slot, which means his abilities are limited, but I'm finding ways to keep his single techs intact as much as possible. Lately I've really been pushing FFXII's engine to its limits. My plans for custom animations, magic etc. are examples of those limits pushed. One of the bigger changes is the use of custom materials for assets, when original, it was restricted to using the same assets as before. Where there would be characters or locations using lots of textures, more than the default amount in FFXII's original maps, so when there's a need for more than the game knows of, it must be expanded to accept those extras assets, like expanding the SNES rom.
The pace of the project's true identity is very slow, because the game is long, I prefer it go at the slower pace, to ensure it flows as fluid as its original.