Additional work on the menu system was done. The routines that went into the equip/status screens involve stat calculations that border on battle system territory. Hopefully, all the really hard work with regards to battle system stat calculations have been done by extension. There's a few holes in the menu logic at this time, especially when equipping things, but what we have down works well enough for now and can be fixed later.


Proper camera panning and scripted camera motion (same thing!) is now in. An example of a cutscene I couldn't show earlier because this routine wasn't in place is demonstrated below:


Not shown is the fact that a few maps were updated and added, and more sprites were added too. I was recently told that the opening cutscenes are long, and are designed to really set the mood for immersive (or about as immersive as it gets on this platform) gameplay. That may take a while to hash out, but when it comes, it'll be a mad dash to throw together enough for a first chapter playable demo... or something akin to that.

TODO: Shops and loads of buying stuff, and a method of tracking flags. And maybe a script system for scripted events. Oh dear. That'll be two script systems so far if I go that route...
Ooh I like the equip menu. Good that we are able to see our stats while equipping stuff. I hated how in older FF games we had to go to the status menu to do it.

Can we see our stats and increases when buying weapons/armors in shops?


Also the cutscene and ending should be less than 4 hours long, IMHO (I am serious. Star Ocean 4 for the Xbox 360 has a 5-hours-long ending stretch (including the final boss events) where you can't save. I went to bed at 4 AM when I saw the ending was just never ending, then when I woke up 4 hours later and it was still not done.)
DJ_O wrote:
Ooh I like the equip menu. Good that we are able to see our stats while equipping stuff. I hated how in older FF games we had to go to the status menu to do it.

Can we see our stats and increases when buying weapons/armors in shops?

Wasn't originally planned on, but now that it's been mentioned, we're working on figuring out how to work around what we have to display that. One idea is to replace the column where it shows item cost with a box that shows cost for current item plus relevant stat changes. Can also shrink the shopkeeper dialog and insert another one-line box between that and the shop menu where it'll display that info.

Quote:
Also the cutscene and ending should be less than 4 hours long, IMHO (I am serious. Star Ocean 4 for the Xbox 360 has a 5-hours-long ending stretch (including the final boss events) where you can't save. I went to bed at 4 AM when I saw the ending was just never ending, then when I woke up 4 hours later and it was still not done.)


Believe it or not, Star Ocean *did* crop up in the discussions, and no, the cutscenes won't be anywhere near that long. At least, not any single one. The opening cutscene is expected to be anywhere between 5 and 30 minutes long, which contains some worldbuilding and a preface to the game's story. I can't really give a better estimate than that since I don't know the exact details as to what will be there.

I told Zera that we can shoot for "cinematic" if he wanted. That may affect what happens.
Work was done trying to get the NPC to move on their own power, which wasn't a trivial fix due to how much of it wasn't yet implemented (and how much of what I did was hacked in). Here's a couple screenshots of some of the tests that were done.

Test #2: Catching up to Urist McTesty.
Yes, this is running at actual speed. I just reduced delays since I hadn't figured out what was causing NPCs to move that way at the time



Test #3: Urist McTesty runs around in circles.
The code used to move the NPC in that manner is larger than I want to admit. Will need to address that.



Also, I forgot about last update's TODO list. None of the tasks that were mentioned last time were added as I wanted to delegate some cutscene programming off to Geekboy1011 as soon as possible... which still isn't doable since I don't have flags ready to be used.

EDIT: Geekboy suggested that I posted the updated character movement script for Test #3. It's much better than what I had before. Note: It's mostly macros.

Code:
ragnoth_test_mover:

   setup_script_loop(4)
-: move_and_suspend(dsk_right)
   script_djnz({-})

   setup_script_loop(4)
-: move_and_suspend(dsk_down)
   script_djnz({-})

   setup_script_loop(4)
-: move_and_suspend(dsk_left)
   script_djnz({-})
   
   setup_script_loop(3)
-: move_and_suspend(dsk_up)
   script_djnz({-})
   
   call moveSpriteUp
   ld hl,ragnoth_test_mover
   jp resetScriptToHL


The Dwarf's name is now Urist McTesty, and shall be henceforth known as such.
So I was working on flag implementations (both permanent and temporary) and setting up what is needed to run cutscene scripts.

Also, Urist McTesty drank far too many 5 Hour Energy drinks...

Geekboy suggested I shared this. It's his fault McTesty achieved Warp 10.
Lets have some cut-scene magic. Now this one is a little more complicated then just making a person run in circles, and besides maya really wanted those 5-Hour energies back.

And because why not here (some Wink ) of the code that orchestrates this! Yes, I know it needs commends I plan on adding them >.>

Code:
 script_start()
 
  res show_player_sprite,(iy+baseflags)
 
  ld hl,xy(33,3)
  ld (camera_pos),hl
  ld a,%00000001
  ld (camera_subxy),a
  res camera_follows_player,(iy+baseflags)
 
  ld a,ragnoth_mapid
  rcall(LoadNewMapInA)
 
 push_sstate()
  ld a,:Maya_intro
  ld de,Maya_intro
  rcall(AddSpriteEntry)
  find_sprite(Maya_intro_NPC)
  script_delay(30)
  sp_move_sprite(dsk_up)
  script_delay(30)
  sp_move_sprite(dsk_up)
  script_delay(30)
  sp_change_facing(sp_down)
  script_delay(30)
  sp_change_facing(sp_up)
  script_delay(30)
  sp_move_sprite(dsk_up)
  script_delay(30)
  sp_move_sprite(dsk_up)
 
 
  script_delay(100)
  sp_change_facing(sp_down)
  script_delay(100)
  sp_change_facing(sp_up)
  script_delay(125)

 
  ld hl,xy(9,6)
  ld (camera_pos),hl
 
  SET_FLAG(RAGNOTH_ON_FIRE) ; Needs to be before map load
  ld a,ragnoth_mapid
  rcall(LoadNewMapInA)
 
  ld a,:Guard_1_dat
  ld de,Guard_1_dat
  rcall(AddSpriteEntry)
 
 pop_sstate()
  script_suspend(86)
 push_sstate()
  ld a,:Guard_Fire_1
  ld de,Guard_Fire_1
  rcall(AddSpriteEntry)
 pop_sstate()
 
 script_suspend(50)
 
 push_sstate()
  ld hl,xy(26,14)
  ld (camera_pos),hl
  ld a,%00000010
  ld (camera_subxy),a
  script_delay(1)
   
  ld a,:Guard_2_dat
  ld de,Guard_2_dat
  rcall(AddSpriteEntry)
 
 pop_sstate()
  script_suspend(86)
 push_sstate()
  ld a,:Guard_Fire_2
  ld de,Guard_Fire_2
  rcall(AddSpriteEntry)
 pop_sstate()
 
 script_suspend(50)
 
 ;Pan around village on fire and fixate on shadow lord
 ld a,17 ;rather long delay for Panning.
 ld (panvariabledelay),a

 push_sstate()
  pan_camera_to_NPC(ShadowLord_NPC)
  sp_change_facing(sp_down)
 pop_sstate()
  script_suspend(50)
  ld hl,text_hive(h00_shadowlord_1)
  call dispDialogAuto
 push_sstate()
  pan_camera_to_NPC(Guard_That_Runs)
 pop_sstate()
  script_suspend(25)
 
 ld hl,text_hive(h00_Guard_That_Runs_1)
 call dispDialogAuto

 call panbackToplayer
 RES_FLAG(RAGNOTH_ON_FIRE)
 ld a,ragnoth_mapid
 rcall(LoadNewMapInA)
 set is_cutscene_done,(iy+stateflags)
 set show_player_sprite,(iy+baseflags)
 set camera_follows_player,(iy+baseflags)
 xor a
 ld (camera_subxy),a

 SET_FLAG(NEW_GAME_INTRO_FINISHED) ;Quit we are done
 script_end()
Here is the remainder of this portion of the flashback cutscene. I am pretty happy with it. There are transitions missing. But they are not coded in yet soooooo yeah Razz


Added some more comments and included some data that you can see how I can move characters around Guard_1_Move is a good example.

Code:
;New game cutscene script is here.
NEW_GAME_CUTSCENE:
 script_start()
 
  res show_player_sprite,(iy+baseflags)      ;Hide player from View
 
  ld hl,xy(33,3)
  ld (camera_pos),hl
  ld a,%00000001
  ld (camera_subxy),a
  res camera_follows_player,(iy+baseflags)   ;Set Camera to Look cenetered on
                                                ;Graveyard
 
  ld a,ragnoth_mapid
  rcall(LoadNewMapInA)                       ;Load Ragnoth
 
 push_sstate()
  ld a,:Maya_intro
  ld de,Maya_intro
  rcall(AddSpriteEntry)
  find_sprite(Maya_intro_NPC)                ;Load a Maya Sprite
  script_delay(30)
  sp_move_sprite(dsk_up)
  script_delay(30)
  sp_move_sprite(dsk_up)                     ;Move her half way
  script_delay(30)
  sp_change_facing(sp_down)                  ;Make her turn around and "sigh"
  script_delay(30)
  sp_change_facing(sp_up)
  script_delay(30)
  sp_move_sprite(dsk_up)
  script_delay(30)
  sp_move_sprite(dsk_up)                     ;Have her stand by the grave Stone
 
 
  script_delay(100)
  sp_change_facing(sp_down)
  script_delay(100)
  sp_change_facing(sp_up)
  script_delay(125)                          ;Do a jig for cinematics. (Turn around again)


  ld hl,xy(9,6)
  ld (camera_pos),hl                         ;Set Camera to First Guard
 
  SET_FLAG(RAGNOTH_ON_FIRE)                  ;Light Ragnoth on fire.
  ld a,ragnoth_mapid
  rcall(LoadNewMapInA)                       ;Load map on fire.

  ld a,:Guard_1_dat
  ld de,Guard_1_dat
  rcall(AddSpriteEntry)                      ;Add first guard.
 
 pop_sstate()
  script_suspend(86)                         ;Delay long enough for Guard Move
 push_sstate()                                 
  ld a,:Guard_Fire_1
  ld de,Guard_Fire_1
  rcall(AddSpriteEntry)                      ;Have guard light a fire
 pop_sstate()
 
 script_suspend(65)                          ;Delay for effect.
 
 push_sstate()                               ;Repeat above for second guard.
  ld hl,xy(26,14)                            ;Literal copy paste with coordinates
  ld (camera_pos),hl                         ;changed.
  ld a,%00000010
  ld (camera_subxy),a
  script_delay(1)
   
  ld a,:Guard_2_dat
  ld de,Guard_2_dat
  rcall(AddSpriteEntry)
 
 pop_sstate()
  script_suspend(86)
 push_sstate()
  ld a,:Guard_Fire_2
  ld de,Guard_Fire_2
  rcall(AddSpriteEntry)
 pop_sstate()
 
 script_suspend(65)
 .asm
 ld hl,xy(32,7)                             
 ld (camera_pos),hl                         
 ld a,%00000011
 ld (camera_subxy),a
 script_suspend(50)                          ;Set Camera shadow Lord and refresh
 
 push_sstate()
  find_sprite(ShadowLord_NPC)
  sp_change_facing(sp_down)                  ;Turn to player
 pop_sstate()
 
  script_suspend(50)
  ld hl,text_hive(h00_shadowlord_1)          ;Have him order people
  call dispDialogAuto
 
 push_sstate()
  pan_camera_to_NPC(Guard_That_Runs)         ;Move to guard to Right
 pop_sstate()
 
 script_suspend(25)
 
 ld hl,text_hive(h00_Guard_That_Runs_1)
 call dispDialogAuto

 
 push_sstate()
  pan_camera_to_NPC(ShadowLord_NPC)          ;Turn to guard
  sp_change_facing(sp_left)
 pop_sstate()
 
 script_suspend(5)
 ld hl,text_hive(h00_shadowlord_2)
 call dispDialogAuto
 
 push_sstate()
  pan_camera_to_NPC(Guard_That_Runs)
 pop_sstate()

 script_suspend(5)
 ld hl,text_hive(h00_Guard_That_Runs_2)
 call dispDialogAuto
 
 script_suspend(5)
 push_sstate()
  find_sprite(Guard_That_Runs)
  sp_move_sprite(dsk_left)                  ;change this later to make guard run down
  sp_change_facing(sp_right)
  script_delay(20)
  sp_move_sprite(dsk_left)                  ;change this later to make guard run down
  sp_change_facing(sp_right)
  script_delay(20)
  sp_change_facing(sp_right)
  setup_script_loop(6)
-:
  sp_move_sprite(dsk_left)                  ;change this later to make guard run down
  script_delay(6)
  script_djnz({-})
  pan_camera_to_NPC(ShadowLord_NPC)
  script_delay(15)
  sp_change_facing(sp_down)
 pop_sstate()

 script_suspend(30)
 
 ld hl,text_hive(h00_shadowlord_3)
 call dispDialogAuto
 
 script_suspend(50)
 
 ld hl,text_hive(h00_girl_1)
 call dispDialogAuto
 
 push_sstate()
  pan_camera_continue(17,14)
  script_delay(30)                           ;Pan camera to Maya's Mother
 pop_sstate()
 
 ld a,:Maya_Child
 ld de,Maya_Child
 rcall(AddSpriteEntry)
 
 script_suspend(96)                          ;Delay for child maya to move
 
 pan_camera_continue(17,15)                  ;Move so we can see text box
 
 ld hl,text_hive(h00_girl_2)
 call dispDialogAuto
 push_sstate()
  find_sprite(mayas_mother_npc)
  script_delay(30)
  sp_change_facing(sp_left)
  script_delay(20)
  sp_change_facing(sp_down)
  script_delay(10)
  sp_change_facing(sp_left)
  script_delay(25)
 pop_sstate()
 ld hl,text_hive(h00_girl_3)
 call dispDialogAuto


 
 call panbackToplayer
 RES_FLAG(RAGNOTH_ON_FIRE)
 ld a,ragnoth_mapid
 rcall(LoadNewMapInA)
 set is_cutscene_done,(iy+stateflags)
 set show_player_sprite,(iy+baseflags)
 set camera_follows_player,(iy+baseflags)
 xor a
 ld (camera_subxy),a

 SET_FLAG(NEW_GAME_INTRO_FINISHED) ;Quit we are done
 script_end()
 
Guard_1_Move:
  setup_script_loop(4)
-:
  sp_move_sprite(dsk_left)
  script_suspend(14)
  script_djnz({-})
  sp_change_facing(sp_up)
  ret

Maya_Child_Move:
;need to move down 3 tiles
 setup_script_loop(6)
-:
 sp_move_sprite(dsk_down)
 script_suspend(14)
 script_djnz({-})
 ret

Maya_intro:
 sp_pos(33,4,sp_up,maya_sprbase,Maya_intro_NPC) sp_scr(doNothing,doNothing)
Guard_1_dat:
 sp_pos(10,6,sp_down,guard_sprbase,guard_1) sp_scr(Guard_1_Move,doNothing)
Guard_Fire_1:
 sp_pos(8,5,sp_down,flame_sprbase) sp_scr(FireAnimator,doNothing)
guard_2_dat:
 sp_pos(27,14,sp_up,guard_sprbase,guard_2) sp_scr(Guard_1_Move,doNothing)
Guard_Fire_2:
 sp_pos(25,13,sp_down,flame_sprbase) sp_scr(FireAnimator,doNothing)
 
Maya_Child:
 sp_pos(17,11,sp_down,mayachild_sprbase,maya_child_NPC) sp_scr(Maya_Child_Move,doNothing)

 
 
Wow, those cutscenes are really awesome! But that code is really complex Razz For example, the intro cutscene to a game i'm working on looks like this:
(http://www.mirari.fr/hg9v - note: has some explicit language)

Code:
cutscene_list:   ;a list with pointers to all the cutscenes
.dw cut_intro
;...rest of cutscenes here...

cut_intro:
   TEXTB(cut01_txt0)
   LOADMAP(2,0,0)      ;load map 2 with map coords at 0,0
   LOADNPC(12,0,4)      ;0 governor   (look up ids in [sprites.inc])
   LOADNPC(14,1,3)      ;1 soldier
   LOADNPC(14,1,5)      ;another soldier
   MOVENPC_R(0,4)
   TEXTN(cut01_txt1)
   MOVENPC_R(2,2)
   TEXTN(cut01_txt2)
   TEXTN(cut01_txt3)
   MOVENPC_L(0,4)
   REMOVENPC(0)
   MOVENPC_U(1,2)
   DELAY(10)
   MOVENPC_D(1,1)
   MOVENPC_R(1,3)
   MOVENPC_U(1,1)
   DELAY(10)
   MOVENPC_D(1,1)
   MOVENPC_R(1,1)
   TEXTN(cut01_txt4)
   EFFECT(5)
   TEXTB(cut01_txt5)
   LOADMAP(1,0,0)
   LOADPLAYER(4,2,1)
   TEXTN(cut01_txt6)
   MOVE_R(1)
   TEXTN(cut01_txt7)
   CHANGENPC(0,ALICE_R)
   TEXTN(cut01_txt8)
   CHANGENPC(1,CALVIN_L)
   TEXTN(cut01_txt9)
   TEXTN(cut01_txt10)
   TEXTN(cut01_txt11)
   TEXTN(cut01_txt12)
   CHANGENPC(1,CALVIN_U)
   TEXTN(cut01_txt13)
   TEXTN(cut01_txt14)
   TEXTN(cut01_txt15)
   CHANGENPC(1,CALVIN_L)
   TEXTN(cut01_txt16)
   MOVE_L(1)
   TEXTN(cut01_txt17)
.db $FF
It is complicated. But the other option is adding in a script system like you have and we are honestly running out of app space for that :/

We wanted to add one...There just isn't the space >.< and adding a page just for cut scene scripting ENGINE. Not the cut scenes them selves is just crazy.
geekboy1011 wrote:
Lets have some cut-scene magic. Now this one is a little more complicated then just making a person run in circles, and besides maya really wanted those 5-Hour energies back.

And because why not here (some Wink ) of the code that orchestrates this! Yes, I know it needs commends I plan on adding them >.>
I wanted to add that I enjoyed watching you working on putting this cutscene together. It's looking great, and moreover I'm impressed that the game continues to be fast enough that you need to add so many delays, even with all the NPCs and fire in this cutscene. As we were discussing in person, will Iambian be writing the smooth-panning routine? If you need help with that, please let me know, as I have some experience with the algorithm. Smile
KermMartian wrote:
geekboy1011 wrote:
Lets have some cut-scene magic. Now this one is a little more complicated then just making a person run in circles, and besides maya really wanted those 5-Hour energies back.

And because why not here (some Wink ) of the code that orchestrates this! Yes, I know it needs commends I plan on adding them >.>
I wanted to add that I enjoyed watching you working on putting this cutscene together. It's looking great, and moreover I'm impressed that the game continues to be fast enough that you need to add so many delays, even with all the NPCs and fire in this cutscene. As we were discussing in person, will Iambian be writing the smooth-panning routine? If you need help with that, please let me know, as I have some experience with the algorithm. Smile



I believe he plans to it is just on the back-burner as of the moment. With that thanks it was a pleasure for me as well!

@chickendude Also I like the fine grained control the setup we have gives me. It exposes the entire engine to my bending for cut-scenes. Which with a script system everything I want to add to it has to be added to the script. This way it does take more space but its a little more robust on what I can do and get away with. That being said not to worried about size. We plan on making it as large as it needs be. It is a flash app, and it honestly will take quite a long time to play through. Estimate is currently in the 5+ hours range with all side quests and such. So we think its worth it Razz
It definitely looks really great, i just figured a scripting engine would make it easier in the long run, but you're right that it often is easier to do what you wanna do when you aren't limited to specific actions and have full control over the engine. It's really great seeing this progress Smile
Shops sorta work now, for both buying magic and items. What isn't done is the ability to sell items, or to display descriptions for consumables instead of nonexistent stats sourced from overrunning the equipment table.

Demonstrated in the screenshot attached is buying (free) items from the primary weapon shop in Ragnoth, then walking across town to the primary magic shop, then buying things (also for free) there too.



I thought about entering the Pub to get to the shops in the Resistance base, but it's too long of a walk. Also, you can catch a glimpse of McTesty as he runs off at warp 10.
I like how you can actually sell items in this game. I am unsure if any other ASM RPG can do this (IIRC your old weapon is donated to the store) and in BASIC I did it with Illusiat 13, but that's it. That can be handy if your inventory is full or if you aren't 100%-ing the game and need extra money Razz
c4ooo wrote:
Also I came upon Escheron.pdf on the interwebs. I don't know if you are still using the story line as found in that file, but hell, the first two paragraphs sounded like something from a Sumerian legend.


The game's mythology wasn't inspired by any particular belief system, but is rather a mish-mash of elements from various mythologies - just whatever came to mind as I was trying to conceive a setting.

The game's creation mythology is a little complicated, but I'll try to detail it as thoroughly as possible.


There are four major planes of existence:

Escheron - The world of mortals
Arcania - The realm of the gods
Memoria - The mortal afterlife
The Netherworld - A sort of hell where mortals who were taken into service by the Rephaim became demons, and were sealed away by the Nephalim

Then there are three primary figures in Escheron's creation:

The Maker - The sole entity responsible for creating all life, including the lesser gods
The Nephalim - Lesser benevolent gods who used their powers to protect mortals
The Rephaim - Selfish gods who wanted to use mortals for their own agenda

The lesser gods were created with the purpose of governing mortals. To ensure that they would perform this task and act benevolently toward mortals, the Maker cursed the lesser gods with a symbiotic relationship: The lesser gods' life force would be sustained by the faith and dedication of mortals. If mortals didn't offer prayer and worship to the gods, then the gods would quickly lose their strength and eventually perish.

So, the gods had no choice but to earn the respect of mortals; but some of the gods were too proud to lower themselves. This caused the gods to separate into the two respective factions: The Nephalim and the Rephaim. The Rephaim ignored the Maker's orders, and in an effort to continue sustaining their own life force, tried to manipulate the mortals' faith by indoctrinating them with fear of retribution. The Nephalim intervened and attempted to suppress the Rephaim, resulting in a war that devastated most of Arcania and ended with the mutual destruction of the gods themselves.

Having witnessed this conflict, the Maker came to the conclusion that his creations were a mistake, and that the gods (and perhaps the mortals as well) were beyond salvation. He then departed the cosmos for good, leaving the mortals to determine their own fate.

It was then discovered that the life force of the gods didn't actually perish along with them, as this essence was indestructible. Coveting the power of the gods for themselves, many mortal men attempted to seize it. Conflict plagued Escheron for centuries to come, until an order of mages - calling themselves the "Arcanians" - appropriated the essence of the gods, keeping it out of mortal reach. Utilizing this power, they constructed great artifacts, including ships that could sail through the clouds, and a great tower that served as a gateway between Escheron and Arcania. Under the governance of the Arcanians, all conflict on Escheron had ended, and mortals flourished for many centuries.

7 years prior to the game's events, the kingdom of Asnoth put forth a declaration of war between the nations of Asnoth and Ragnoth. Under the counsel of a figure known as the Shadow Lord, Asnoth's ruler had become distrustful of the Arcanians' descendants and the secrets they were guarding. In the resulting war, most of the Arcanians' descendents were destroyed, and Asnoth's forces began seizing their artifacts and technology to bolster their own military strength. During the war, the last surviving member of the Arcanians - Maya Anson - was orphaned into a civil resistance faction at any early age. Seven years later, she's now grown up, and is setting out to avenge her descendants by overthrowing Asnoth and destroying the Shadow Lord. The game's events begin here.

SPOILERS AHEAD:


Code:

When Maya and her party confront the Shadow Lord, it's revealed that he's a demon from the Netherworld, who was once under the service of the Rephaim until he and the rest of his kind were sealed by the Nephalim's power. With the gods being mutually destroyed, the seal on the Netherworld was broken, and monsters came pouring into Escheron.

The Shadow Lord saw an opportunity to seize the gods' essence and become a god himself. To achieve this, he traveled to the summit of the Arcanian tower in hopes of using the gateway linking Escheron to Arcania. Once in Arcania, he would seek out the remains of the Rephaim and absorb them into his soul.

(The Arcanian tower serves as a beacon of magic for mortals. Because there is a gateway to Arcania situated at the summit of the tower, mortals can draw magical energy from Arcania and use it to manifest various phenomena.)

Maya's party defeats the Shadow Lord before he can activate the gateway, thus putting an end to his plot. Realizing that others may attempt to misuse the gateway, Maya decides to travel to Arcania and seal the gate from the other side. Because the tower serves as a source of magic, mortals consequently lose the ability to channel magic. Maya is also never seen again.



We're also planning a sequel set a few years after the events of Escheron, this time with Edmund cast as the protagonist.

MORE SPOILERS AHEAD:


Code:

The game opens on Edmund - now the ruler of Asnoth - asleep in his chambers. In his dream, he sees a premonition of a goddess who warns him of a cataclysmic event. As Edmund awakens, he sees a vast darkness cover the land, and a strange beacon of energy emanating from the Arcanian tower. Edmund gathers his men and decides to investigate the tower ruins.

Upon arriving at the summit of the tower where Maya, Edmund and their allies once defeated the Shadow Lord, the energy in the tower begins to fluctuate, and the floor crumbles beneath Edmund's feet. Before Edmund's party can escape, they're swallowed up by a great chasm.

Edmund regains consciousness in new surroundings - a tower similar in design to the Arcanian ruins, but whose walls are comprised entirely of mirrors. As Edmund approaches his reflection, the image of the goddess reappears, and explains that she transported Edmund to the Arcanian realm just as the tower began to crumble. Here in the realm of the gods, the Rephaim have awoken and are mustering to reopen the gateway between their world and Escheron, previously sealed by Maya.

As the goddess explains, the Rephaim continued to abuse their symbiotic relationship with mortals even after death. Whenever mortals called upon destructive magic, the Rephaim would focus their essence into manifesting that phenomena, but in the process, they siphoned a small ounce of each mortal's soul, slowly empowering themselves with that energy. Unfortunately for the Rephaim, Maya's actions broke off this symbiotic relationship, preventing mortals from being able to channel magic ever again.

The Rephaim had not yet gathered enough energy to reform their physical bodies, but nonetheless felt that some decisive action needed to be taken with what limited power they had absorbed. To this end, they pooled together their remaining power and channeled it into the creation of an entity they call Exodus. Exodus became the physical manifestation of the Rephaim's collective will, and they are actively seeking to transport Exodus to Escheron to enslave mankind, cipher the rest of the mortals' power, and revive themselves from their previous destruction.

As part of the ritual to reopen the gateway to Escheron, the deities have called upon three God Princes - Matanbuchus, Beelzebub and Shaitan. The three entities stand at three focal points in the Arcanian realm, and are focusing their power into the center of the realm - the Ivory Tower. If the ritual is not disrupted, the gateway will soon reopen.

Now Edmund is tasked with seeking out and destroying each of the God Princes in their respective domains, then ultimately descending into the Abyss - the final resting place of the Rephaim - to banish Exodus and put down the Rephaim once more.

Maya's role in the story is more limited. Shortly after reaching Arcania, she became aware of the Rephaim's plans and managed to awaken the Nephalim goddess Isaria so she could establish a seal preventing the Rephaim from leaving the Abyss. The sealing ritual required Maya to sacrifice herself in the process, keeping her suspended near the entrance to the Abyss. To undo the seal and enter the Abyss, Edmund has to reclaim three key items from the three God Princes. Once Maya is freed from the seal, she joins Edmund in the final battle against the Rephaim.

And an early revision of the world of Arcania explored in the sequel:

geekboy1011 wrote:

-snipped-

Hmm I already saw that on omni. Rolling Eyes
It's a good story, although I feel like the map needs more land. It seems like it's just a bunch of islands with no continents. Alternatively the map will probably benefit from more locations like cities and stuff. but idk, it might be to late/to much work for you to change the map. Wink ...Or maybe mem restrictions won't allow for more towns? (Although I do love the maps art style Good Idea )
It's a very awesome overworld and i'm sure once you drill down there is lots of content.

The game is coming along very nicely Smile.
Oh wow, this is getting really intense. Smile Great work! I kind of read the spoilers, so oops. Smile
tr1p1ea wrote:
It's a very awesome overworld and i'm sure once you drill down there is lots of content.

The game is coming along very nicely Smile.


Thanks. There is already Tons of content that just has not been added due to well my laziness. Whoops! In all honesty the slow part as of the moment is scripting in things like cut scenes and that takes quite a lot of work and effort for properness Razz
Regardless thanks for the support! Any other questions?


MateoConLechuga wrote:
Oh wow, this is getting really intense. Smile Great work! I kind of read the spoilers, so oops. Smile


Haha they will not detract from the finished game. There is a lot of content not in the spoilers as well as in game shenanigans that will never be easy to explain in text. Thanks for the input its nice to see some buzz about this Very Happy
For the past week or two (or three???), I've been hammering out additional details about the inventory menu, though most of that time was spent rearranging things in the app so I can fit more code on page 0.

Equipment now has additional properties, such as elemental resistances, weaknesses, and attack. The confirm prompt in the shop is being reused to show item details in the inventory menu, and that confirm prompt is being upgraded to show off this information.

The screenshot below is not fully representative of what the final interface will be like. The confirm prompt is supposed to be paged, but I haven't gotten that far yet, so for now it just shows equipment properties. In the future, you'll be able to push up/down to cycle through equipment information.



If you've noticed, weapons show an "ATTACK" string, while non-weapons show a "RESIST" string. This is because weapons are not allowed to have a resistance, and thus, have no need to show a RESIST alongside it. Likewise, armor/accessories are not allowed to have an attack affinity (not even shields) so they have no need to show an ATTACK.

Not shown: Some equipment, when used as an item in battle (Final Fantasy (1) style), can unleash spells for free. Unlike FF1, this will be listed on the 3rd page. Also, the game has eight affinities total, but only five are shown. It's up to the player to figure out what those are and what equipment has them, either via experimentation, or by reading the manual.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 5
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement