News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: How practical is this project?  (Read 2157 times)

Spindaboy

  • Full Member
  • ***
  • Posts: 154
    • View Profile
    • SyndROMe Hacking
How practical is this project?
« on: January 20, 2021, 02:26:40 pm »
Hey all, I have a question for the more experienced hackers and/or those who have worked on larger projects in the past. I've been working on a full-scale Final Fantasy fan game on and off for almost 6 years now which first began as an RPG Maker game before I realized that hacking an already existing ROM would likely get me closer to my desired results. The game is still very much in the design stage but I've had a lot more time to work on it recently and have been thinking more about what exactly would be required to make this project a reality. I intend to create all the conceptual elements (characters, scenario, etc.) and already have someone IRL who has offered to create all the concept art for the game which just leaves the technical side of things to consider.

This is where I'd like a reality check: at present I plan to use the FFIV Advance engine as a base for the hack and with nearly all the assets (animations, music, formulas, etc.) taken straight from the other FF Advance games, save for a few exceptions such as creating new sprites for the game's original characters as well as recomposing tracks from FF games on other systems using the GBA's sound engine. Needless to say, a hack on this scale would require someone intimate with the GBA's assembly as the implementation of the changes would likely entail a complete disassembly and reassembly of the ROM.

So I guess what I'm wondering is, how practical is what I'm looking to do? I'm about to graduate with a minor in CS so I have a good understanding of programming fundamentals and some degree of proficiency in at least C++, but how well would that translate to learning assembly? I've been interested in learning more about assembly languages more generally since I first took an interest in ROM hacking back in high school but I'm not sure it'd be worth the large investment in time if it turns out what I'm wanting to do isn't feasible anyway.

In the case that I couldn't create my desired end-product myself, what are the odds that I could hire some who can? I've seen some very impressive fan projects in the past so there must be enthusiasts knowledgeable enough to do so out there, but how would I go about finding them? I know it probably seems silly to go to such lengths just for a fan project but I'm incredibly passionate about making this game happen and am more than willing to invest money in hiring experienced developers if that's what it takes.

TL;DR: I want to make a full-fledged Final Fantasy fan game using assets from other GBA FF games but know next to nothing about how to implement these changes. Am I in over my head? If so, where could I find professionals willing to work on this project?

FAST6191

  • Hero Member
  • *****
  • Posts: 3054
    • View Profile
Re: How practical is this project?
« Reply #1 on: January 20, 2021, 03:00:50 pm »
C family to assembly is an easier path than javscript or something similarly high level to assembly, though any programming (not sure I have ever seen Scratch to it but hey).

By disassembly and reassembly I assume you mean actual assembly code. If you mean explode into component files and put back together afterwards then commercial GBA games did not feature a file system (the DS would be the first Nintendo handheld for that one) and was all more of the "incbin" persuasion, though binaries are easy enough to find, space is readily available in most games (certainly the Final Fantasy ones) and pointers are pretty simple.


Disassembly and reassembly of a ROM has been done for various ROMs and the GBA is nothing drastically different to most other systems. However that tends to be a years long effort from either talented coders or seriously determined people that became talented coders on the way up.
You will not necessarily have to go to those lengths but getting something that can be assembled from a disassembly (though technically it would be an assembly language program at that point) is itself not a trivial task -- data vs code and the GBA having ARM and THUMB CPU modes*.

*there were some tools that attempt to make a good categorisation, and others that might track things during runtime and note what is executable and what mode it is in. Had a discussion on it the other month actually.

That said total conversions certainly benefit from assembly skills but are not necessarily beholden to them -- level layouts, text, graphics, much of the internal logic (especially if you are more concerned with some simple numbers to keep the "feel" of the game) and music are all quite editable without them, and indeed editing those with assembly is only really more of a sure fire way of finding out the formats rather than more interpretive ways.

You do also have the option of making it as a homebrew game. Such things tend to be viewed as easier.

Hiring hackers is a tricky thing -- lawyers tend to pop up when money gets involves and while some might be OK with a token sum if you are hiring experienced ARM assembly debuggers in the real world it is not usually a cheap hobby.

Edit. Found the thread I was on about. Later posts in
http://www.romhacking.net/forum/index.php?topic=31610.0
« Last Edit: January 20, 2021, 04:00:50 pm by FAST6191 »

Jorpho

  • Hero Member
  • *****
  • Posts: 4725
  • The cat screams with the voice of a man.
    • View Profile
Re: How practical is this project?
« Reply #2 on: January 20, 2021, 08:22:46 pm »
I've been working on a full-scale Final Fantasy fan game on and off for almost 6 years now which first began as an RPG Maker game before I realized that hacking an already existing ROM would likely get me closer to my desired results.
I don't understand how you arrived at that realization without knowing the difficulties involved. If there were many existing hacks of FFIV Advance and a well-refined toolset that is widely used, then that might make sense, but I am familiar with no such thing. In fact, many seem to regard the FFIV Advance engine as being deeply flawed, as FFIV ports go.

On the other hand, it was my understanding that at least some versions of RPG Maker are flexible and easily expanded as required.  Or if not RPG Maker, then one of the various other game creation engines would surely be suitable.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Spindaboy

  • Full Member
  • ***
  • Posts: 154
    • View Profile
    • SyndROMe Hacking
Re: How practical is this project?
« Reply #3 on: January 21, 2021, 08:57:54 am »
That said total conversions certainly benefit from assembly skills but are not necessarily beholden to them -- level layouts, text, graphics, much of the internal logic (especially if you are more concerned with some simple numbers to keep the "feel" of the game) and music are all quite editable without them, and indeed editing those with assembly is only really more of a sure fire way of finding out the formats rather than more interpretive ways.

Given the elements you listed comprise to bulk of my changes, this is very reassuring. Just out of curiosity do you happen to know what tools developers typically use when developing their games to make the process simpler? Do they tend to develop editors similar to the kind hackers do or do they have different ways of going about it?

I don't understand how you arrived at that realization without knowing the difficulties involved. If there were many existing hacks of FFIV Advance and a well-refined toolset that is widely used, then that might make sense, but I am familiar with no such thing. In fact, many seem to regard the FFIV Advance engine as being deeply flawed, as FFIV ports go.

On the other hand, it was my understanding that at least some versions of RPG Maker are flexible and easily expanded as required.  Or if not RPG Maker, then one of the various other game creation engines would surely be suitable.

The reason I ultimately decided against RPG Maker or a similar game engine was because of how much of what I want can be achieved with the FF GBA games. Because what I'll be doing (more or less) is just assembling elements from the classic FF titles (five of which exist on the system) and putting a fresh coat of paint on them it makes to me that I'd use all the existing assets available. Another factor is precision; I want absolutely EVERYTHING to mimic to style and feel of an FF whether it be character animations or even something trivial such as the design of the battle HUD. Finally, and this is admittedly more of a personal thing, developing it for the same system that the others were released on just feels more authentic than developing it for modern hardware. I would very much like to be able to load the ROM onto a flash cart, print out a label and maybe even box art for it, and play it in my actual GBA one day.

Jorpho

  • Hero Member
  • *****
  • Posts: 4725
  • The cat screams with the voice of a man.
    • View Profile
Re: How practical is this project?
« Reply #4 on: January 21, 2021, 10:49:27 am »
The reason I ultimately decided against RPG Maker or a similar game engine was because of how much of what I want can be achieved with the FF GBA games.
Like I said, no one has really done very much with the GBA games, so how can you say what "can be achieved"? Especially if you think it is a serious option to spend money to get someone to achieve things for you?

Quote
Another factor is precision; I want absolutely EVERYTHING to mimic to style and feel of an FF whether it be character animations or even something trivial such as the design of the battle HUD.
Are you aware of how poorly-regarded FFIV Advance is in particular? I'm sure Google will tell you more. Reportedly the problems are not quite so bad in the PAL version, but still pretty bad. That people have been unable (or at least disinclined to try) to even patch out the bugs may indicate how unfeasible more extensive modding would be.

Quote
Finally, and this is admittedly more of a personal thing, developing it for the same system that the others were released on just feels more authentic than developing it for modern hardware.
Then the obvious suggestion is to use the SNES version instead. The SNES version might even be easier to deal with, as it seems it has been hacked much more extensively than the GBA version.

But that's just my opinion of "practical".
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

FAST6191

  • Hero Member
  • *****
  • Posts: 3054
    • View Profile
Re: How practical is this project?
« Reply #5 on: January 21, 2021, 02:13:36 pm »
Given the elements you listed comprise to bulk of my changes, this is very reassuring. Just out of curiosity do you happen to know what tools developers typically use when developing their games to make the process simpler? Do they tend to develop editors similar to the kind hackers do or do they have different ways of going about it?

The reason I ultimately decided against RPG Maker or a similar game engine was because of how much of what I want can be achieved with the FF GBA games. Because what I'll be doing (more or less) is just assembling elements from the classic FF titles (five of which exist on the system) and putting a fresh coat of paint on them it makes to me that I'd use all the existing assets available. Another factor is precision; I want absolutely EVERYTHING to mimic to style and feel of an FF whether it be character animations or even something trivial such as the design of the battle HUD. Finally, and this is admittedly more of a personal thing, developing it for the same system that the others were released on just feels more authentic than developing it for modern hardware. I would very much like to be able to load the ROM onto a flash cart, print out a label and maybe even box art for it, and play it in my actual GBA one day.

For GBA final fantasy efforts they were more on the port persuasion (there were also PS1 efforts in between too which some code likely appeared from) so I would probably bet on conversion tools being the order of the day.


More generally. 8-16 bit era behind the scenes at devs type video and discussions are fewer than PS1 on up, and not so many leaks either. I would not bet on those using nice refined level editors like we see hackers make with all the little animated enemies and background notes as much as basically roguelike level editors where most things were a stand in. Stuff we have seen in more recent times from more recent games then yeah either hacker style, maybe even with some nice emulation or better yet with the whole area/map visible at once by dint of higher resolution.


Can be achieved is one thing, can more easily/practically be achieved than the alternative is another one entirely.

Mimicking styles is also quite easy when all is said and done, especially if you have nice sprite sheets, screenshots and whatever else to watch it with.

As mentioned as well the GBA were mostly afterthought ports. In 20 years me might be having a discussion on which is the best version of Phantasy Star (originals or ages versions, also not GBA), probably Final Fantasy 7 vs the remake set if it ever finishes and Resident Evil 2 vs 2 remake. If any discussion of Final Fantasy 4 is to be had then it will be SNES vs PS1/Wonderswan color, with maybe a few utterly demented heretics mentioning the DS 3d remake. This is not to say if you played the GBA effort then you played some kind of pale imitation but to view it as some kind of ur example of the game... no.

You can write standalone GBA homebrew, can even probably do it all in C (though some inline assembly might help) -- plenty of really nice long form games exist there, and would still fit with the "runs on GBA hardware" thing if that is somehow a thing you want to do. https://devkitpro.org/ being where most would start with that today for that one.
As it stands I am no great artist, not much of a UI designer, would call myself a ROM hacker, know ARM assembly, a mediocre C coder at best and the GBA is very much in my wheelhouse. I would still pick homebrew from the ground up for making a fan game over hacking a ROM as a basis for a whole new game.

Do also bear in mind if you do plan to release it then Square Enix are maybe not as harsh as Nintendo when it comes to fan games but nobody will say they have a fondness for people messing with such things and reuse of their sprites/art/games -- indeed Square Enix is probably the bigger boogeyman in the ROM hacking world and are responsible for more fun and games on the legal front in such circles (sometimes justified, often times not) than anybody (yes, even Nintendo, though Nintendo are handily the villain of the century on the emulation, cheat making, flash cart and mod chip front that ROM hacking is almost inextricably linked to).

Spindaboy

  • Full Member
  • ***
  • Posts: 154
    • View Profile
    • SyndROMe Hacking
Re: How practical is this project?
« Reply #6 on: January 21, 2021, 03:17:13 pm »
You can write standalone GBA homebrew, can even probably do it all in C (though some inline assembly might help) -- plenty of really nice long form games exist there, and would still fit with the "runs on GBA hardware" thing if that is somehow a thing you want to do. https://devkitpro.org/ being where most would start with that today for that one.
As it stands I am no great artist, not much of a UI designer, would call myself a ROM hacker, know ARM assembly, a mediocre C coder at best and the GBA is very much in my wheelhouse. I would still pick homebrew from the ground up for making a fan game over hacking a ROM as a basis for a whole new game.

Honestly because I thought hacking an already existing ROM would be easier I hadn't considered this way of going about things. Based on what you're saying though it sounds like building the ROM from scratch would probably be my best bet, so long as I can still achieve the same results of course. It's very unlikely I'd be able to manage this alone however (at least without many many years of experience) so I may opt to higher a professional instead. I know this may be hard to answer but do you have any idea what the price tag for such a project might look like? I'm sure it's going to be pretty high up there but exactly how high I'm unsure of.

Jorpho

  • Hero Member
  • *****
  • Posts: 4725
  • The cat screams with the voice of a man.
    • View Profile
Re: How practical is this project?
« Reply #7 on: January 21, 2021, 08:54:19 pm »
If any discussion of Final Fantasy 4 is to be had then it will be SNES vs PS1/Wonderswan color, with maybe a few utterly demented heretics mentioning the DS 3d remake.
I thought the PSP version was still well regarded?

I guess the attempts at cleaning up the Steam version never amounted to anything.

It's very unlikely I'd be able to manage this alone however (at least without many many years of experience) so I may opt to higher a professional instead. I know this may be hard to answer but do you have any idea what the price tag for such a project might look like? I'm sure it's going to be pretty high up there but exactly how high I'm unsure of.
This is largely unheard of. People with the skills for that sort of thing usually have their own projects they want to work on. And of course there's the question of how quickly you want it delivered.

The first thing that comes to mind is to consider how much a Kickstarter typically aims for; the last one I backed was https://www.kickstarter.com/projects/deathbulge/deathbulge-battle-of-the-bands , which earned $60K. Of course a massive chunk of that would go towards physical rewards and the shipping thereof.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

FAST6191

  • Hero Member
  • *****
  • Posts: 3054
    • View Profile
Re: How practical is this project?
« Reply #8 on: January 21, 2021, 10:29:36 pm »
Forgot about the PSP version. Yeah that could stand as a candidate in best example of Final Fantasy 4, even without the ancillary stuff it includes.

Honestly because I thought hacking an already existing ROM would be easier I hadn't considered this way of going about things. Based on what you're saying though it sounds like building the ROM from scratch would probably be my best bet, so long as I can still achieve the same results of course. It's very unlikely I'd be able to manage this alone however (at least without many many years of experience) so I may opt to higher a professional instead. I know this may be hard to answer but do you have any idea what the price tag for such a project might look like? I'm sure it's going to be pretty high up there but exactly how high I'm unsure of.
2d animations are not that hard to replicate and you can view them all going on. Trying to replicate 3d games and animations thereof can be a lot harder. Sprites on the other hand tend to be a list of them to play in a given order in given timings. Bit tedious but if you can make a sprite sheet and make a slideshow program you are 90% of the way there on that one. The other 10% being getting the code a bit smaller and those few occasions where some dev decides palette animations are the way.
Replicating a UI is not that bad once you understand how they are typically done in a game on an older system. You can rip colours trivially, and most things are just sprites again. There might be some interstitial animations (reversed the same way as conventional sprites) and audio stings but "play audio sample on cursor move" is not really a drastic ask.
You could probably have a lot of that as a proof of concept in a weekend project really, less if you use sprite sheets.

Cameras can be another but generally covered by https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub?embedded=true

Being a ROM hacker might help you rip things more easily, and might help extracting formats and figuring out how they work but it is all fairly within reason and stuff to learn on.

Spinning that up into a full game though and getting some amount of polish going on... nah.

As far as costings then 3 main levels, maybe 4.

1) Someone does it for a token sum to buy a beer or three. Unlikely to get someone doing this for you but it has been seen in some things and is common in general business for quick jobs and "I am going to charge you just for answering the phone" type deals, which this is not.

2) You pay the "just finished Java school" coder rate, maybe with a "works in games" further pay cut (coders in games get way less than coders in the real world, another reason most here have ROM hacking as a hobby and steer way clear of game coding for real) and a further bonus still if you can find someone sitting in a third world country that can code (lot of good coders in Russia, Vietnam, few in Thailand, and other places with low cost of living but high educational standards). Can also be retired and just keeping fresh but that is even rarer.

3) Doing it for a GBA is actually going to be C and ARM assembly in an embedded role which is somewhat big boy coding and with attendant price tag.

3a) Some company calls me up breathless in a few hours saying my machine fell over and we need your ARM skills to recreate this part or make it do what I want now. If I did not want to work for a month or two, and possibly longer than that, then I quite reasonably could off the charge for that one.


Timescales. There is a reason https://gamefaqs.gamespot.com/snes/588330-final-fantasy-iv/credit is 20 something people long, though you could cut that down several times over, especially if you are reusing ripped sprites and assets as well as replicating something (or replicating something from something on gamefaqs that tells you all the interactions and stats). If accuracy is a goal then still going to be a person doing several months at least of full time work even if they ultimately hand over to you with a tool or two and the ability to make your own game within it. I will leave you to do the multiplication of typical salary by month or by hour.

Sanedan56

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: How practical is this project?
« Reply #9 on: February 09, 2021, 03:40:25 pm »
I just wanted to say that there is a tool being made for Final Fantasy IV Advance, although it is still pretty basic. I recommend waiting for it to become a bit more mature.

If you do make a rom hack, I wouldn't recommend paying anyone. If you make a homebrew or fan game, then I would rebrand the title if you pay someone.