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:

I wanna try something...

Post by Dazzy »

I wanna try my hand at coding or whatever. So, I want to try and see about DOA5 models bone structure to see if I can get OGB's working. Would I need coding experience? Steve, maybe you could help? Do you have an tutorial that maybe a n00b like me could understand?

Would I need to edit the Noesis script of the actual extractor Chrrox made?
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:I wanna try my hand at coding or whatever. So, I want to try and see about DOA5 models bone structure to see if I can get OGB's working. Would I need coding experience? Steve, maybe you could help? Do you have an tutorial that maybe a n00b like me could understand?

Would I need to edit the Noesis script of the actual extractor Chrrox made?
I'm no Steve or Chris and don't do bone extracting or stuff like that but I do software development just like they do (albeit simpler) and I guarantee that you need coding experience. :) The skill takes time to develop (months, maybe even years) and you most likely have to drop whatever you're doing at the moment if you want to learn faster. It's not as simple as porting models, and it's most likely more difficult than rigging (I don't know as I've never rigged a model before). You have to understand basic logic, and would pretty much have to know what you want to do, how you want to do it and structure it properly especially if you want it to be optimized. I imagine you would also need hex editing experience and understand some assembly language our site admin seems to be an expert in. :D I've seen some of the scripts chroxx has written and it just whiffs above my head, LOL! Like I said, if you'd like to do this, you have to be very committed, and you will make syntax/logic mistakes in the beginning as you try to understand how to do things. It can be very frustrating at first but if you're committed like I said, you will reap rewards from it. Good luck! ;)

EDIT: Some advice, start learning by automating simple tasks first, like for example writing a script for Blender to load all object files in a folder to Blender or something.
"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 »

Thanks for your reply! I dont have months/years to commit to this lol. I wish it was easier than that ;_;

Thats a good idea about the Blender thing, I would need to learn stuff about Blender scripts first D:
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:Thanks for your reply! I dont have months/years to commit to this lol. I wish it was easier than that ;_;

Thats a good idea about the Blender thing, I would need to learn stuff about Blender scripts first D:
Don't let the time that it takes to learn intimidate you though, when you get bored of porting models later on or if you decide to do something else this can be an interesting hobby which if you get good at can make you some mullah later on in life. :D

Some sample basic stuff:

** declarations

set x = folder name (as text); <-- data types are very important!
set y = object files (as text); <-- semi colon is a common delimiter to end a line of code
set err = text;

** begin

open x;
for each y in x, load in Blender;

** exceptions

if there's an error, print err;
return;

end;

Haha sorry there's not much structure there, I mainly code in PL/SQL so it looks like it. If this sort of thing interests you, then go right ahead and take it up. ;)
"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 »

^ I might get bored of XNA someday, so thats a good idea! :D

Questions:

set x = folder name (as text); <-- data types are very important! - Meaning having a certain folder or a selection for the folder? And data types meaning file types?

set y = object files (as text); <-- semi colon is a common delimiter to end a line of code - Selection for the files for import?

set err = text; - Dahell is this for? xD

open x;
for each y in x, load in Blender;
- I get what open x means, but I dont get what the for each y in x part means xD

if there's an error, print err;
return;
- Is the print err part for entering text whenever a error occurs?

Sorry for the questions but I wanna learn 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
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 »

Sorry for dp D:

So I tried my hand at a Blender script for opening one file for now, I made this (its totally wrong lolz)

set x = d:\XNALara\data\My Models\DOA5\Ayane 2P 2
set y = generic_item.mesh.ascii
open x;
for each y in x, load in Blender;
if there is an error; print error, mesh.ascii failed to load.
return;

end;

and got a python error of:

set x = d:\XNALara\data\My Models\DOA5\Ayane 2P 2
^
SyntaxError: invalid syntax
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:^ I might get bored of XNA someday, so thats a good idea! :D

You're a smart guy, I think you got the chops for it. :)

Questions:

set x = folder name (as text); <-- data types are very important! - Meaning having a certain folder or a selection for the folder? And data types meaning file types?

What I mean by data types is that when you declare a variable, it can be a boolean (yes or no, 1 or 0), a number, a date, or just plain text. Mind you what I wrote here is oversimplified and you would most likely have to invoke a class (in whatever language you'll be using) that can open system folders/files. I'm sure there's something in Blender/Python that can do that.

So when I say text for the folder name, it can be "c:\xnalara\data\model001" or something similar. If you look at the way the psk importer you sent me a while back I would imagine you'd have a button somewhere on the screen that you can press and will ask you to find the folder where you want to load the object files.


set y = object files (as text); <-- semi colon is a common delimiter to end a line of code - Selection for the files for import?

Basically you'd have to say "*.obj" or anything with a .OBJ extension.

set err = text; - Dahell is this for? xD

Haha, err is a common abbreviation for error. Normally when you code you want to trap any errors and it is essential to troubleshooting your code. You can also create logs for your process so you know everything that's going on. It's easier to see errors that way.

open x;
for each y in x, load in Blender;
- I get what open x means, but I dont get what the for each y in x part means xD

Google looping in programming. The basic concept is, for each .OBJ file found in your folder, load it in Blender. The idea is for tasks that need repetition but require a different variable, do the same thing until you can't do it anymore. For Y in X is just one way of expressing looping. It can also be expressed like this:

...
LOOP

FETCH .OBJ file;
LOAD in BLENDER;

WHEN .OBJ file IS NULL EXIT LOOP;

END LOOP;



if there's an error, print err;
return;
- Is the print err part for entering text whenever a error occurs?

Sorry for the questions but I wanna learn xD

Yes, this is so you can capture errors, and you have to set this up. You can say something like,

IF folder=empty
then print "There are no .OBJ files found in the specified folder." ;
ELSE IF other error
then print ERRMSG; (where ERRMSG can be a generic way of capturing any errors that occur)
END IF;

No worries, I would suggest getting some sort of a programmer's beginner guide, or simply use Google. :) It's something that should get you in the right mindset when you start doing programming. Like I said a it pretty much involves logic. Start with procedural languages. Then once you get used to that you can take up object-oriented programming.

I'd like to see what Steven has to say, he's a professor and he's most likely better at teaching this stuff than I am. :)

Answers above in light blue.
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

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:Sorry for dp D:

So I tried my hand at a Blender script for opening one file for now, I made this (its totally wrong lolz)

set x = d:\XNALara\data\My Models\DOA5\Ayane 2P 2
set y = generic_item.mesh.ascii
open x;
for each y in x, load in Blender;
if there is an error; print error, mesh.ascii failed to load.
return;

end;

and got a python error of:

set x = d:\XNALara\data\My Models\DOA5\Ayane 2P 2
^
SyntaxError: invalid syntax
Oh LOL, you have to learn the Python syntax, as in the programming language. What I wrote is just to explain to you how code logic works. Maybe Steve can recommend a site or a book. I'm telling you programming is a deep rabbit hole. :)
"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 »

^ Oh right :lol: Im stoopid xD

Thanks for the answers though man, I understand it a bit more now :hug2: Ill see what Steve says when he comes online :D
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:^ Oh right :lol: Im stoopid xD

Thanks for the answers though man, I understand it a bit more now :hug2: Ill see what Steve says when he comes online :D
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. :)
"TheyÔÇÖre not only moron but also Galapagosian Lolita Complexed Chicken."

Post Reply