Author Topic: Making playable bosses  (Read 8893 times)

dasmucho

  • *
  • Posts: 3
    • View Profile
Making playable bosses
« on: 2013-08-15 16:40:39 »
For the PC version.

Hey, what's up. I'm new to this whole modding/hacking thing, so I am pretty uninformed in some areas lol. If I say something that doesn't make sense, just let that be known. I've been thinking about making a party consisting of bosses but I'm not really sure how to approach this. Would it be easier to rewrite the script and force the game to load the bosses's models and animations in place of an existing character? Or, should I just replace a character's textures, skeleton, etc. with the bosses's? What are my limitations? It seems like either method has its problems.

I consider hex editing to be quite difficult, so it would be nice to minimize that to just changing certain values (like for importing new skins) and not having to rewrite how the game behaves just to accommodate a boss. Figuring out the way the game is scripted based on hex values alone just seems unapproachable to me. On the other hand, replacing every part of an existing character looks to be a lot more tedious because then I have to consider things like re-skinning meshes, changing hitboxes, editing character data like Str and Def, and possibly having to redesign how certain attacks work (whatever that involves). 

Things I know I need to consider, at least for the latter method:

Replacing Mesh/Textures/Skeleton
Getting rid of the weapons
Replacing Hitboxes
Replacing Animations (like what happens if an attack consists of multiple animations? It's something I didn't even think about before reading through this forum.)
Mapping the attacks (what if a boss has a multipart attack that a player character can't match? What if it involves a more scripted element like summoning an enemy? Take Hojo for example. )
As far as stats go, is it possible or not grant a player character a million HP? 
Moving the player spots further apart to accommodate for larger characters/re positioning the camera to fix the view

If it's any help to know, I am considering adding Emerald Weapon, Safer Sephiroth, and maybe one of the other Weapons.

One other thing. Assuming I wanted to do something like this for other rpgs that don't have a PC version to play with, how possible is it to import data into a PSX game? Is a script for importing data anything like one for exporting it?

If my point isn't clear after all the elaboration that I did; the question is, simply, how do I make a boss playable, what do I have to consider, and what is the easiest method?

So yeah lol. That's a lot of different questions thrown into one post and I don't expect any one person to have an answer for everything. Any little bit of info is helpful.  Everyone here seems to be talented and knowledgeable, and after looking through the posts I've seen stuff that I didn't even think was possible, so who knows.
« Last Edit: 2013-08-15 16:47:25 by dasmucho »

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: Making playable bosses
« Reply #1 on: 2013-08-15 17:08:46 »
Too much work to be worth it. I can go into depth about why it's just not going to happen if you want.

dasmucho

  • *
  • Posts: 3
    • View Profile
Re: Making playable bosses
« Reply #2 on: 2013-08-19 16:22:42 »
Yeah, I'm curious....

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: Making playable bosses
« Reply #3 on: 2013-08-19 17:35:53 »
Before I begin, note that I may be wrong on some of these points, been a while since I did anything FF7-related (apart from helping users).

First, you can't simply "use" enemy models. You have to completely change the character models and animations. Oh and

Replacing Hitboxes

There's no such thing as a "hitbox" in FF7. Which leads me to my next point. You probably come from games such as Skyrim where modding is easy and where tools were provided to make it easy, by the developers. FF7 is not like that. Modding was made possible by the time and devotion of fans, skilled programmers, graphical artists and simply devoted people. No tools were provided by Square Soft. While modding isn't illegal, it's definitively in the grey area. You probably got this game off Steam, where most games are easy to mod, have tools provided and even a workshop. FF7 is none of that (and it may be what you were unsure about).

As for stats, maximum any playable character can have is 32 767 (if I'm not mistaken, that can go up as high as 65 535) for HP and MP, while it's 255 for any other stat.

As for modding PSX games, that is much harder than PC games for many reasons.

To answer your initial question

the question is, simply, how do I make a boss playable, what do I have to consider, and what is the easiest method?

The answer is, simply, you don't, too much, and none. In that order.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Making playable bosses
« Reply #4 on: 2013-08-19 19:29:31 »
I don't do graphics or modelling work, but I can still respond in the general case.

I've been thinking about making a party consisting of bosses but I'm not really sure how to approach this. Would it be easier to rewrite the script and force the game to load the bosses's models and animations in place of an existing character? Or, should I just replace a character's textures, skeleton, etc. with the bosses's? What are my limitations? It seems like either method has its problems.

You'd have to implement a new set of animations for the player characters. You would probably have to do some work on the models themselves. There aren't really many tools for this, so this project would require a fair bit of technical proficiency. You would have to learn how the animation scripts are built and possibly even do some reverse engineering yourself. If hex editing is something you'd rather avoid, and you don't have much prior technical experience (e.g. as a software developer), this might require a fair bit of learning.

Quote
One other thing. Assuming I wanted to do something like this for other rpgs that don't have a PC version to play with, how possible is it to import data into a PSX game? Is a script for importing data anything like one for exporting it?

Anything is possible with the magic of computers! But not necessarily trivial. Whilst the PSX version can be modded, you'll probably have to spend some time learning how the filesystem and lookups are put together. You certainly won't have any tools for doing the imports for you. It is 'harder' than the PC version, because it requires more knowledge about the platform, and because the PSX version has more constraints.

Quote
If my point isn't clear after all the elaboration that I did; the question is, simply, how do I make a boss playable, what do I have to consider, and what is the easiest method?

In summary -

To make a boss playable:
  • Get the game to point to and render enemy models for party members
  • Match up the animations for moves
  • Maybe fix animations for being hit and casting spells?
  • Fix any spell / move camera angles that no longer work with large models
What you have to consider:
  • How much time you can commit
  • How much technical knowledge you really want to learn
  • How well the community has reversed the parts of the game pertaining to the things you want to modify
The easiest method:
  • Work on the PC build
  • Work in small steps towards realistic goals
  • Find a good hex editor

xLostWingx

  • *
  • Posts: 801
  • No Comment
    • View Profile
    • FFVII Lost Wing Mod/Hacks
Re: Making playable bosses
« Reply #5 on: 2013-08-19 19:30:30 »
This may be the closest thing you'll find to what you're describing. Though it's definitely not exactly what you were trying to do.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Making playable bosses
« Reply #6 on: 2013-08-19 20:41:15 »
The battle interface would have to be completely redone as well unless you intend to leave the AI intact. Enemies use a special "command" for their actions that does different things in the game engine. That command would have to somehow be enabled in the menu (no easy feat) and handled in the battle engine. If you don't do this then their entire animation scripts would have to be re-written.

dasmucho

  • *
  • Posts: 3
    • View Profile
Re: Making playable bosses
« Reply #7 on: 2013-08-20 16:08:26 »
Before I begin, note that I may be wrong on some of these points, been a while since I did anything FF7-related (apart from helping users).

First, you can't simply "use" enemy models. You have to completely change the character models and animations. Oh and

There's no such thing as a "hitbox" in FF7. Which leads me to my next point. You probably come from games such as Skyrim where modding is easy and where tools were provided to make it easy, by the developers. FF7 is not like that. Modding was made possible by the time and devotion of fans, skilled programmers, graphical artists and simply devoted people. No tools were provided by Square Soft. While modding isn't illegal, it's definitively in the grey area. You probably got this game off Steam, where most games are easy to mod, have tools provided and even a workshop. FF7 is none of that (and it may be what you were unsure about).

As for stats, maximum any playable character can have is 32 767 (if I'm not mistaken, that can go up as high as 65 535) for HP and MP, while it's 255 for any other stat.

As for modding PSX games, that is much harder than PC games for many reasons.

To answer your initial question

The answer is, simply, you don't, too much, and none. In that order.

Yeah, I wasn't too sure about the hitboxes. Does this game not use collision detection, or is it just calculated differently? How does it know when an enemy has been hit and by whom?

Also, don't make assumptions like that about me, especially considering you're wrong on every single account. I thought I was pretty clear that I knew about how much work might be necessary, in spite of saying I want to avoid hex. I'm well aware this game, even as a PC title, had to be almost entirely reverse engineered through hex editing to accomplish anything because of a lack of official tools. I know it's not a cakewalk like Skyrim. I'm willing to work for what I want, which is why I've started trying to learn hex. You might say it's not worth it, but I've seen at least one post on here talking about rewriting the game's script and story all for the sake of playing as a modded character, so I don't feel like my goal is that unrealistic.



To make a boss playable:
  • Get the game to point to and render enemy models for party members
  • Match up the animations for moves
  • Maybe fix animations for being hit and casting spells?
  • Fix any spell / move camera angles that no longer work with large models
What you have to consider:
  • How much time you can commit
  • How much technical knowledge you really want to learn
  • How well the community has reversed the parts of the game pertaining to the things you want to modify
The easiest method:
  • Work on the PC build
  • Work in small steps towards realistic goals
  • Find a good hex editor

Ok, thanks. That looks to be fairly in line with what I had planned. I'm really getting into game editing so I've been slowly working towards learning every aspect I need (3d modelling, assembly language, scripting, etc.) I'd say I'm quite devoted although time is an issue with schoolwork and everything...

The battle interface would have to be completely redone as well unless you intend to leave the AI intact. Enemies use a special "command" for their actions that does different things in the game engine. That command would have to somehow be enabled in the menu (no easy feat) and handled in the battle engine. If you don't do this then their entire animation scripts would have to be re-written.

Stuff like this is definitely the biggest hurdle. It does look like I can't avoid learning hex, which is bad  because I'm completely new to it and kind of a slow learner. Any ideas where I can get a comprehensive guide for learning it? I've been looking around and there's a few guides here and there but it's all either assuming too much about what I know, or not relevant enough to how games are scripted.

Rundas

  • *
  • Posts: 704
  • What do you even do?
    • View Profile
Re: Making playable bosses
« Reply #8 on: 2013-08-20 16:47:51 »
The game just has a formula for you accuracy. Hitting or missing doesn't rely on physical variables.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Making playable bosses
« Reply #9 on: 2013-08-20 18:17:21 »
Yeah, I wasn't too sure about the hitboxes. Does this game not use collision detection, or is it just calculated differently? How does it know when an enemy has been hit and by whom?

There's no "collision" at all. It's a scripted "run up to enemy and do a stat-based calculation" to determine if it hits or not. If it hits the target does it's damage animation. If it misses the target does it's dodging animation.

Also, don't make assumptions like that about me, especially considering you're wrong on every single account. I thought I was pretty clear that I knew about how much work might be necessary, in spite of saying I want to avoid hex. I'm well aware this game, even as a PC title, had to be almost entirely reverse engineered through hex editing to accomplish anything because of a lack of official tools. I know it's not a cakewalk like Skyrim. I'm willing to work for what I want, which is why I've started trying to learn hex. You might say it's not worth it, but I've seen at least one post on here talking about rewriting the game's script and story all for the sake of playing as a modded character, so I don't feel like my goal is that unrealistic.

Half of what you thought needed to be done doesn't and with what's left you only covered about 20-30% of what would be required. Vgr isn't wrong about anything he said. He said "You probably come from games such as Skyrim where modding is easy". Whether you mod Skyrim or Fallout the fact remains that you don't (or didn't) know how much is involved in what is required to make this happen. Much of this game is still not understood so it's doubtful that any one person could do it alone.

Ok, thanks. That looks to be fairly in line with what I had planned. I'm really getting into game editing so I've been slowly working towards learning every aspect I need (3d modelling, assembly language, scripting, etc.) I'd say I'm quite devoted although time is an issue with schoolwork and everything...

Fixing animations wouldn't be that difficult. Fixing the cameras certainly would. Most bosses take control of the camera when their turn comes up so they do a "wider shot" version of the action that the player has access to. Look at Beta. Midgar Zolom makes the camera zoom WAY out before doing it, but if a player does it, the camera focuses on them while they do the E.Skill dance and then swerves around to the targets. Adding the Midgar Zolom to the party would completely screw this player-accessible camera up and look terrible. The easiest fix here is take the camera MZ uses for Beta and make that the default for the action itself. That would make it look a bit weird when a small character does it, but there wouldn't be a blocking issue.

Stuff like this is definitely the biggest hurdle. It does look like I can't avoid learning hex, which is bad  because I'm completely new to it and kind of a slow learner. Any ideas where I can get a comprehensive guide for learning it? I've been looking around and there's a few guides here and there but it's all either assuming too much about what I know, or not relevant enough to how games are scripted.

There's not a good guide to learning how to edit assembly. The best I can offer is the processor instruction set from Intel (the first manual it links to contains most if not all of what you'd need). It is, however, extremely technical and long, but everything you'd need to know is on that site.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Making playable bosses
« Reply #10 on: 2013-08-20 20:00:03 »
Also, don't make assumptions like that about me, especially considering you're wrong on every single account.

No he's not.

If you had the technical expertise you seem to be claiming, you wouldn't be confusing disassembly for 'hex editing'. You'd be providing us a commit to Q-Gears or a reverse of a module.

You will need help to do this work (if only because this is not a single-person project); you aren't going to get that by acting uppity and defensive.

Quote
You might say it's not worth it, but I've seen at least one post on here talking about rewriting the game's script and story all for the sake of playing as a modded character, so I don't feel like my goal is that unrealistic.

Even that project is regarded as extremely ambitious. *I* certainly don't think it'll ever be released (though I have been wrong before).

Quote
Stuff like this is definitely the biggest hurdle. It does look like I can't avoid learning hex, which is bad because I'm completely new to it and kind of a slow learner. Any ideas where I can get a comprehensive guide for learning it? I've been looking around and there's a few guides here and there but it's all either assuming too much about what I know, or not relevant enough to how games are scripted.

There isn't a 'guide' to becoming a reverse engineer. Realistically, your steps are, at least, to:

1. Learn about the low-level implementation of computer programs, ideally by learning C
2. Learn how data structures and common flow control structures are implemented in assembly
3. Learn how Win32 x86 binaries are put together; how to debug them and how to use reversing tools
4. Read the Q-Gears source / community documentation around any element pertinent to your project
5. Learn some reversing heuristics, e.g. spotting types of compression, recognizing certain kinds of algorithms and control patterns

You're clearly willing to put the effort in, and that's a good sign to start with. However, becoming a reverse engineer is not like becoming a modeller or texture artist; it is effectively learning to become a programmer. That is a very different task.

Good luck, though.
« Last Edit: 2013-08-20 20:05:53 by Bosola »

xLostWingx

  • *
  • Posts: 801
  • No Comment
    • View Profile
    • FFVII Lost Wing Mod/Hacks
Re: Making playable bosses
« Reply #11 on: 2013-08-21 05:39:08 »
I'm sure we all felt like jumping in on this thread in order to provide dasmucho with some...perspective.  I also think that has been accomplished.  That being the case - dasmucho, as you and others mention, with the right amounts motivation, dedication, and raw time, you can learn how to, and eventually accomplish your goal.  We all hope that you treat the responses you received as an educational experience and not as personal attacks.  You'll learn and assimilate the culture here, and when you do you'll find that you'll receive virtually any and all help you may require.  Yeah, you got smacked in the nose with a rolled up newspaper, but now you know not to crap on the living room floor - and that will be appreciated.  Good luck in your endeavor, but keep in mind that the people here have had hundreds of ideas that have never made it past the drawing board for good reason.
« Last Edit: 2013-08-21 05:40:49 by xLostWingx »

genesis063

  • *
  • Posts: 612
  • Self proclaimed number 1 Sephiroth fanboy
    • View Profile
Re: Making playable bosses
« Reply #12 on: 2013-08-29 22:10:16 »
I find it funny that no one referenced him to the Sephiroth and Shinra mod considering the author has done what he has done already.  So just pm him man he gave me some stuff about this.

craigstealsheep

  • *
  • Posts: 11
    • View Profile
Re: Making playable bosses
« Reply #13 on: 2013-08-30 23:29:38 »
The thread mentioned here:

http://forums.qhimm.com/index.php?topic=14507.0

is for the PSX version, so I guess it really doesn't help him out too much. However, the video is really cool and shows a lot. I'm really impressed he was able to have Sephiroth Morph into Safer as well.

http://www.youtube.com/watch?v=YBoHLclgr6k
« Last Edit: 2013-08-30 23:35:16 by craigstealsheep »

genesis063

  • *
  • Posts: 612
  • Self proclaimed number 1 Sephiroth fanboy
    • View Profile
Re: Making playable bosses
« Reply #14 on: 2013-08-31 01:50:31 »
I believe alot of the concepts are the same.  It still has worth and potential to set him in the best direction since this has obviously been done already even though it is on a different system.