Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Final Fantasy VII: Perspective Shinra

5frGd4c.png


Out of boredom I am tinkering with RPG Maker. This isn't a serious project by any means, and I doubt I will release anything from it. I just want to experiment and play around with some stuff. If you wanna know how I did anything just ask and I'll help you.

What I'm making is an FFVII system. I want to recreate the exact look and feel of the game but within the 2D constraints of RPG Maker. So I want it to have an identical battle system, identical items and materia, etc. It should play as if it is a remake of the original game.

That said, story content wise it will be completely different. That's why I'm making this project, because I want to create new stories for FFVII but in the context of the original game's systems. So I want an empty game I can mess around in, that has all the systems around it.

So here's what I've done so far...

Battle System

Side view battle system with Hud identical to FFVII (just a little sharper). Could use some tweaks.

SQVGc0Z.gif


Everything you see there is working except for the BARRIER blocks.

Camera moves during battle.

Still want to create/setup/edit:

- Tweak limit breaks so the gauge only fills when you're hit
- Set up limit breaks themselves
- Summons with separate menu option
- Hidden menu options for flee/defend
- Barrier/MBarrier
- Status effects

Materia

Have set up and configured Victor Sant's materia system with some basic materia.

lDpQp5w.gif


Materia shops working, picking up materia from the floor, etc.

Need to tweak AP.

Summoning... need to work out how I'm going to do that. Obviously in FFVII it's just a big animation but with the players invisible.

Music

Have all the audio from FFVII and all the sound effects. 700 sound effects, all unnamed... trying to trawl through them all and slot them into the appropriate places. Going to delete all of the RPG Maker ones so that I only use those from FFVII, to keep it sounding authentic.

Graphics

Get ready for your eyes to bleed... genuine FFVII prerendered backgrounds...

hkMUjRI.png


With characters from the RPG Maker MV character generator. Lovely.

Yes they're terrible but this is a personal project and graphics are not going to be my focus. I shall be using purely premade maps from VII, with the same two layer system, and pixel movement. I will be using generated characters mainly with some additions.

2KtTrRO.png


Speech

FFVII has a very basic message system but nonetheless it's more complex than that of RPG Maker. Trying to recreate the look and feel, the font style, and its limitations too.

As you can see I need to change the collision boxes around the player. It's a toss up between positioning when speaking to NPCS and limiting how narrow a space the player can enter.

bC41z2s.png


Movement

Pixel movement with wall hugging. If the player walks towards a diagonal wall while pressing left, for example, the player will walk left until they hit the wall, then walk along the vector of the wall. (QMovement)

Intro Etc

The game starts with the Squaresoft splash and then the FFVII intro music. Then the "New Game / Continue" screen comes up, with appropriate sound effects.

I then want the play to go into an FMV. Will see if I can find the original FFVII FMVs ripped and find a way to play them within the game.



So...

Storyline

The player plays as Reno, a member of the Turks.

Play follows the storyline of Final Fantasy VII, but from Reno's perspective.

Reno doesn't necessarily know he's the antagonist of the series. Rather he's the protaginist of this game.

The city of Midgar is under attack. Eco terrorists have destroyed a Mako reactor within Sector 1, one of the main power supplies to a bustling megacity. The Turks are sent to investigate.

OK, I haven't got it all planned out yet, and I don't want to make it soppy. I know the Turks are supposed to be these big meanies who kill people and generally Aren't Very Nice. But I still think that Reno can be relatively naive and ignorant. He sees Shinra as the good guys.

Basically I want the plot twists of FFVII to be revealed to Reno in the same way that they are revealed to Cloud. Especially delving into the sinister goings on in Nibelheim and such.

The more he uncovers I think the more he will want to fight Shinra. I see him and the Turks eventually siding with Reeve.

Along the way there'll be battles with AVALANCHE of course. We know of the battles at Sector 5 Church, Midgar caves, sunken Gelnika, Gongaga, etc. We also know that at some point is attacked by Sephiroth. I see this as pivotal to the Turks in the same way that the death of Aerith is to AVALANCHE.

We know that Rude has a crush on Tifa; I want to explore this further.

Doop.

So as I have only played FFVII and don't have access to the other games, I'm only interested in its story. I don't know, nor care, what happens in Crisis Core, Before Crisis or Dirge of Cerberus. I'm not considering them canon for this project.



Sufficiently overhyped?
 
Took a while; here we go.

Battle commands based on what materia a player has. You only get the summon category if you own a summon materia equipped, for example.

SGnN8Me.png


Without materia:

gKhhFqi.png


zZcTkOt.png
 
Recreating the first boss.

https://imgur.com/a/DzVit5t

Basic demonstration of "always read in-battle messages".

Need to fix the skill animation and get it to give a message. Having some difficulty with that. But the skill is cast as a counter, any time the player attacks while the tail is in its raised state.

Needs better graphics too of course.
 
Tail end as I'm on holiday and my internet connection won't handle a larger video.

Seamless transition from FMV to map. This is the original intro FMV with trains and Aerith's face and such.

I apologise halfheartedly for Barret and Cloud's appearance.

https://imgur.com/a/mCpg876
 
Wow that transition is perfectly seamless, that being said I can't imagine why it wouldn't be, just that I'm used to MV being rather janky whenever you want to do anything cool.

The no perspective on the sprites would personally annoy me forever, but I don't think it's worth trying to implement perspective scaling (at least, correct scaling). The best solution would be to have an actual 3D camera matrix and translate the sprites in 3D space - but then applying event triggers and such would be a massive pain in the butt so it would get fiddly with trying to map in 2D, projecting in 3D and then trying to align that with the pre-rendered backgrounds (you can probably find the correct camera matrix for each scene on the internet somewhere, but placing and aligning events will be forever a pain in the ass without a few weeks of work).

I was looking into pre-rendered maps for my last MV project (well, hand-drawn maps) and I settled on the isometric perspective in the end, but I did abandon that due to the large amount of artwork that would be needed. In hindsight it would probably be less work to 3D model scenes in something like Unity and use an actual 3D camera matrix in MV; perhaps consider that if you did want to produce your own pre-rendered backgrounds and are willing to put in the work required for setting up the maps.

Another much easier approach would be to just set a horizon line Y and shink/grow sprites as they move toward/away from that line (scaling their movement speed appropriately); I did this for an RPG engine I was once writing about a decade ago.
 
There used to be a perspective script for RPG Maker XP, I wonder if there's one similar (or if I could make one) for MV. That worked on a three point perspective, so was pretty flawless. The graphics weren't fantastic - because you're resizing a pixel sprite on the fly - but it worked for the effect we need here.



Edit: so something like this.



a = start of scale
b = end of scale
c = size at a
d = size at b
y = y position of character


size = ( ( d - c ) / b ) * y ) + c )

In theory if I do that, I can choose any a and b value, right? So I can say for example:

At y = 10, character is 10% of their size
At y = 40, character is 100% of their size

At y = n, character is: ( ( 100 - 10 ) / 40 ) * n ) + 10 )% of their size

So...

At y = 26, character is 68.5% of their size


So for each map I then need to assign an a, b, c, d value.
 
Done it :D

No example video until my internet connection is better (I'm on Anglesey at the mo!) so you'll just have to trust me.

But yeah, all done.

I just need to implement notetags now and make it scale events as well.
 
I'm realising now that not many scenes actually use perspective. But in scenes like the Corel rail bridge it will really shine.

Cloud at the minute is looking a little too much like HiPotion. Needs spikey hair. Not much in the way of resources though, given I'm using sideview battlers. Will have a play around and come up with something better. Don't like Barret's hair either, but it's that or bald.
 
New video.

Demonstrating:

Limit Breaks

You now gain limit breaks that you can use once your TP is full. They replace the Attack command.

TP gain on damage

You gain TP (LIMIT gauge) based on damage dealt to you as a percentage of your current HP. So the lower your HP, the more your LIMIT gauge will fill.

Battle Camera

Zoom now part of the battle camera. Only currently used in LIMIT breaks but I will find use elsewhere to make battles feel more dynamic.

Bug: battle hud zooms

Will have to rethink the battle hud!

https://imgur.com/a/r9abPZF
 
I have an ambient zoom working now. Unfortunately skill usage zoom is limited to any skills that are actually common events, until I can work out where I should shove the code to make it work for all skills.

Trouble is I have no videos of this all working because now the battle background changes every few frames, which is making my videos larger :pissed:

The ambient zoom is just a very slow zoom that happens when nothing else is happening. Just slowly zooms in on the screen over a couple of thousand frames. Just enough to have some sense of movement, but not enough to be too distracting.
 
Amy":3r8det2r said:
Quite possibly looks worse than it did before.

(Yes I know that's not Reno)

https://imgur.com/a/zZFdFLf

Oh hell yeah. This looks amazing, such a fantastic use of RPG Maker and a call-back to PS1 era games. Would you consider sharing the code for this? You are currently one of two people I've been able to find that have managed to pull this off, and it just looks fabulous.

Also I hope the project, or whichever creative adventure you have moved onto, are doing well :) happy holidays!
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top