I wanna try something...

Discussion about ripping models and other assets from video games.

Moderators: Runa, Love2Raid, semory

User avatar
Dazzy
Site Admin
Posts: 10369
Joined: Sat Aug 18, 2012 3:15 am
Custom Rank: WestAllen best ship.
Location: With Grant Gustin :ggl:
Contact:

Re: I wanna try something...

Post by Dazzy »

iheartibuki wrote:Haha NP man. :hug2: We help each other here! :)

I hope you'll consider this as one of the things you might want to do for a living (aside from being a game designer). In the future when you set out in the real world, with the right team, right boss, right working environment and right software development methodology, this can be very fun work to do. :) Trust me, I speak from experience. :)
:hug2:

Yeah, I still dont know what to do for a living yet lol, im still considering game designer but I doubt there is many game companies over here in the UK. If I did become a game designer and there is no companies over here, ill probably have to consider moving somewhere where there is one, in America somewhere if I ever get a job over there. But ill consider this too ^^
Image
All I wanna do, is come runnin' home to you, come runnin' home to you.
And all my life I promise to, keep runnin' home to you, keep runnin' home to you.
User avatar
iheartibuki
Moderator
Posts: 6552
Joined: Sun Aug 19, 2012 9:59 am
Custom Rank: Fappy Bird
Location: The Land of the Free
Contact:

Re: I wanna try something...

Post by iheartibuki »

TRDaz wrote:
iheartibuki wrote:Haha NP man. :hug2: We help each other here! :)

I hope you'll consider this as one of the things you might want to do for a living (aside from being a game designer). In the future when you set out in the real world, with the right team, right boss, right working environment and right software development methodology, this can be very fun work to do. :) Trust me, I speak from experience. :)
:hug2:

Yeah, I still dont know what to do for a living yet lol, im still considering game designer but I doubt there is many game companies over here in the UK. If I did become a game designer and there is no companies over here, ill probably have to consider moving somewhere where there is one, in America somewhere if I ever get a job over there. But ill consider this too ^^
Cool! Maybe if you do end up moving Stateside Steven and I (assuming we're all still breathing, nothing is guaranteed in life, LOL) can meet up with you or something. :D

The video game industry from what I've read is a fun yet volatile industry. I say volatile because I've seen news (mainly tweeted by Ed Boon himself on Twitter) of start ups getting bought up and some employees in the start up getting laid off, or said game didn't break the expected sales numbers so people are being let go, etc. Hehe anyway, not trying to scare you or anything, and you probably shouldn't be thinking about this right now, this is me getting ahead of myself and everybody again. You're young and got many years ahead of you before you have to really start thinking about this stuff, but it's good to be prepared when the time comes. For now, enjoy the models and perhaps venturing into the programming world. :)
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

User avatar
Dazzy
Site Admin
Posts: 10369
Joined: Sat Aug 18, 2012 3:15 am
Custom Rank: WestAllen best ship.
Location: With Grant Gustin :ggl:
Contact:

Re: I wanna try something...

Post by Dazzy »

iheartibuki wrote:
Cool! Maybe if you do end up moving Stateside Steven and I (assuming we're all still breathing, nothing is guaranteed in life, LOL) can meet up with you or something. :D

The video game industry from what I've read is a fun yet volatile industry. I say volatile because I've seen news (mainly tweeted by Ed Boon himself on Twitter) of start ups getting bought up and some employees in the start up getting laid off, or said game didn't break the expected sales numbers so people are being let go, etc. Hehe anyway, not trying to scare you or anything, and you probably shouldn't be thinking about this right now, this is me getting ahead of myself and everybody again. You're young and got many years ahead of you before you have to really start thinking about this stuff, but it's good to be prepared when the time comes. For now, enjoy the models and perhaps venturing into the programming world. :)
Id love to lol xD

Ah.... well, school usually ask you in Year 10 (next year for me) about what we want to do in the future, so ill be thinking about it over the next year lolz xD
Image
All I wanna do, is come runnin' home to you, come runnin' home to you.
And all my life I promise to, keep runnin' home to you, keep runnin' home to you.
User avatar
semory
Site Admin
Posts: 7755
Joined: Sat Aug 04, 2012 7:38 pm
Custom Rank: Kitty pu tu tu lay!
Location: Torrance, CA

Re: I wanna try something...

Post by semory »

Sorry I've been super busy busting borderlands 2 lol! Yeah, python is ideal for beginners. Typing on phone now. When I get home and on my laptop I'll post more information.
User avatar
iheartibuki
Moderator
Posts: 6552
Joined: Sun Aug 19, 2012 9:59 am
Custom Rank: Fappy Bird
Location: The Land of the Free
Contact:

Re: I wanna try something...

Post by iheartibuki »

semory wrote:Sorry I've been super busy busting borderlands 2 lol! Yeah, python is ideal for beginners. Typing on phone now. When I get home and on my laptop I'll post more information.
Awesome, I'd like to automate some of the manual stuff I've been doing. >.<
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

User avatar
semory
Site Admin
Posts: 7755
Joined: Sat Aug 04, 2012 7:38 pm
Custom Rank: Kitty pu tu tu lay!
Location: Torrance, CA

Re: I wanna try something...

Post by semory »

Currently, yes, you do need to learn how to code in some kind of programming language to extract data out of video games. Bones are a bit tricky and kind of requires the equivalent knowledge of a 2nd or 3rd year computer science student. This is because the data for bones in a video game is typically in a format that requires building a tree (but not always, it depends on the format of the data).

The joint data in a game typically looks like this.

Code: Select all

joint #1 ID, parent ID, name, position, orientation
joint #2 ID, parent ID, name, position, orientation
joint #3 ID, parent ID, name, position, orientation
If you can find that data in the file, great. Then you have to determine if the position is absolute or relative. Test for absolute first. If you draw lines from each joint position to its respective parent joint position and you see a good skeleton in your modeler, joint positions are absolute and you're done. If you see an odd looking, but symmetrical skeleton, the joint positions are relative and you must code a joint tree.

Now, if both absolute and relative give messed up skeletons, you either found and tested the wrong data or the game uses some extra transformation(s) on the joints. We are now headed into some complex territory here and I usually give up at this point. Resident Evil 6 is a perfect example here. It's easy to find the joints, but both absolute and relative tests failed and Capcom uses something a little more complex and unless you know someone from Capcom it's probably a good idea to give up.

But in the easy case, where joint positions are absolute, you can code up a skeleton in an OBJ file in roughly 100 lines of code. The tricks are:

#1 Find the data.
#2 Read the data.
#3 Save skeleton to file.

Chris, chroxx, is doing DoA5, and I think if he can't find the joints then it might be really difficult to extract. I need to see some sample files (PM some to me if you want). If I can find the data and the joints are absolute, I'll show you how to code out the skeleton the easy way (which will still require you to parent bones in your modeler though).
User avatar
iheartibuki
Moderator
Posts: 6552
Joined: Sun Aug 19, 2012 9:59 am
Custom Rank: Fappy Bird
Location: The Land of the Free
Contact:

Re: I wanna try something...

Post by iheartibuki »

So when you're looking for model bones what typically do you look for? Do you have some sample text from the game files that tell you where to start testing? Does an absolute position mean bones extrude from one source (root bone)? Sorry I know Dazzy was the one who asked the question but you now got me curious too. :D
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

User avatar
semory
Site Admin
Posts: 7755
Joined: Sat Aug 04, 2012 7:38 pm
Custom Rank: Kitty pu tu tu lay!
Location: Torrance, CA

Re: I wanna try something...

Post by semory »

Yeah, I have some samples but not here at my parent's place where I am on my laptop.

Absolute means each joint is given an x, y, z position in space and that is the exact location of the joint. Input those x, y, z coordinates in your modeler for each joint and each joint will be in the correct place.

Relative means what you just mentioned, in that you must start from the root, and then go through each child joint directly connected to the root and add the root's position to each child's position to get the child's position in absolute terms. Then you have to go though each of those children and do the same thing. In Computer Science, we call this Depth/Breadth First Search. Depth First Search is most often used as it is easy to code.

For example, root may be at 0, 15, 0.
pelvis may be at 0, 20, 0.

Coded in absolute:
root = 0, 15, 0
pelvis = 0, 20, 0

Coded in relative:
root = 0, 15, 0
pelvis = 0, 5, 0 since (0, 15, 0) + (0, 5, 0) = (0, 20, 0).

When Daz posts a sample from DoA I'll look at it to see if I can find the joints but if chris is having trouble, I most likely will too. Maybe I'll show you how to do it in Python on a simpler game to extract bones from. It's really easy to find bone data... sometimes as easy as doing a file search for the word root :lol: .
User avatar
iheartibuki
Moderator
Posts: 6552
Joined: Sun Aug 19, 2012 9:59 am
Custom Rank: Fappy Bird
Location: The Land of the Free
Contact:

Re: I wanna try something...

Post by iheartibuki »

semory wrote:Yeah, I have some samples but not here at my parent's place where I am on my laptop.

Absolute means each joint is given an x, y, z position in space and that is the exact location of the joint. Input those x, y, z coordinates in your modeler for each joint and each joint will be in the correct place.

Relative means what you just mentioned, in that you must start from the root, and then go through each child joint directly connected to the root and add the root's position to each child's position to get the child's position in absolute terms. Then you have to go though each of those children and do the same thing. In Computer Science, we call this Depth/Breadth First Search. Depth First Search is most often used as it is easy to code.

For example, root may be at 0, 15, 0.
pelvis may be at 0, 20, 0.

Coded in absolute:
root = 0, 15, 0
pelvis = 0, 20, 0

Coded in relative:
root = 0, 15, 0
pelvis = 0, 5, 0 since (0, 15, 0) + (0, 5, 0) = (0, 20, 0).

When Daz posts a sample from DoA I'll look at it to see if I can find the joints but if chris is having trouble, I most likely will too. Maybe I'll show you how to do it in Python on a simpler game to extract bones from. It's really easy to find bone data... sometimes as easy as doing a file search for the word root :lol: .
Haha, makes complete sense now. I wonder if those numbers you see in the mesh.ascii files are absolute or relative for the bones. There are numbers for meshes too and I wonder if the triangles are the same way too.

Ya sure if you can show us sample code on how to extract simple bones that would be great. I really wish my former boss didn't steer me away from Java and have me do database duties. I've never really learned any third or second gen languages so this will be a first for me if ever.

Actually quite a few people on Xentax including Daz and Kamil have asked Chris if he's able to add bone support but he hasn't answered, so it's either he probably doesn't want to do it or has tried with other Tecmo-Koei games (namely Ninja Gaiden and earlier DOA series games) and figured it was an exercise in futility. I dunno maybe the bones have Japanese names or kanji that's why they're hard to find. :P
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

User avatar
Dazzy
Site Admin
Posts: 10369
Joined: Sat Aug 18, 2012 3:15 am
Custom Rank: WestAllen best ship.
Location: With Grant Gustin :ggl:
Contact:

Re: I wanna try something...

Post by Dazzy »

So much text :o xD I got a bit confused there xD I can send you a DOA5 model file, one of the TMC/TMCL's that can be imported into Noesis?
Older DOA games had basic skeletons, just no face bones or finger bones, tho I dunno if the file format is changed alot in DOA5.
I wish I chose Computer Science at school, im guessing they would have covered stuff like coding ;_;
Image
All I wanna do, is come runnin' home to you, come runnin' home to you.
And all my life I promise to, keep runnin' home to you, keep runnin' home to you.
Post Reply