Spellborn / Unreal packages, character data.
Started by JW-NL


Rate this topic
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


7 posts in this topic
JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
07-11-2013, 03:04 PM -
#1
Hey there,

 

After quite some reverse puzzle time, I'm getting more and more things out of the Original Spellborn packages.

 

I think it might be a good thing to share some of the info I got so far to (maybe) get some more ppl to look into it.

 

The team at Epic who made the Unreal game and it's engine have made a certain standard in which information

is stored in files.

The way this is done depends on the version of the engine and the additional programming that was done to the

files of for example the core and engine files.

 

As you might have guessed the devs of the Spellborn team made some heavy changes, and this is also the reason

why you can't open a Spellborn package in the "standard" Unreal 2004 environment / Editor.

 

After comparing the layout of the Unreal 2004 packages and the Spellborn files I did some testing and found a way in which

I could rewrite a Spellborn package into a layout which is better readable with most Unreal programs.

Since it does only rearrange the data blocks it doesn't change the actual content of the package,

meaning if the are some things that require different layouts of the data itself because of changes in higher lvl programs,

you still get an error while loading it in UT2004 editor.

 

To me and Acid it seems like the Spellborn packages have no big changes in layout from the early 0.8 beta version compared to

the last version 1.51. The security of gameguard was introduced off course and since this is no longer supported for Spellborn

you can't startup clients which have gameguard included.

 

During the last period I've been researching the way character models have been defined in Unreal,

it looks like there have been several changes in it's layouts during Unreal versions changes,

meaning not all Info I find on internet is usefull to me.

 

But the model / skeletal mesh data is always the same since a game engine needs it this way.

 

For some of us it might be good to know how a computer works on 3D.

Using a program like 3DS max or maya you can make a model directly by using the standard defined shapes and/ or modifying these

and later export the model into a file or either directly into an Unreal package.

 

A model consists of the points in 3D being defined in a X, Y and Z position, this is also called a vertex or plural vertices.

Next step is drawing a line between two 3D points, this is called an edge.

taking 3 points you can define a triangle or short Tri.

The plane of the triangle is also called a face.

 

Now the fun begins, the faces of the model can be assigned to a picture (or texture)

Because of the fact that a picture is 2 dimensional, the triangles of the 3D model have to be flattened out into 2D.

There are several programs which can do this automaticly, but doing it by hand is also possible.

What this does is create a link between the texture and the picture in there and the tri's of the model.

 

for example: an oil drum can be seen as a cylinder and two flat circle's. Flattening it out would give a square for the cylinder itself and two circles

for the bottom and top. reusing the same texture part for the bottom and top can save you a little bit of space.

 

Every model or shape in Unreal is defined by Tri's and the way you look at something on your screen has the same technique as above.

 

The game engines have support for different type of texture's, most important is offcourse the color or diffuse map, this gives you the look of a model.

Other types of textures are:

- a Bump map gives a bit of effect on the shading of a surface.

- a Specular map, defines the shininess and highlight color of a surface. 

- a Normal map, brings in extra detail on the surface on top of the flat triangle plane.

- an Alpha map, this controls the transparency of a texture. Think of a stained window which you look through, the alpha map is much used in games.

 

Depending on the look you want to give to a model you need one or more texture maps to be linked to the model, this is done via a so called shader.

 

In the attached file I've placed some Spellborn textures, now think of the model that belongs to them. [Image: default_tongue.gif]

 

I'd say more info is on the way.

 

Greetings Jan-Willem JW-NL

[Image: post-64-0-05922600-1383832538_thumb.jpg]


flythth
Member
***


0
52 posts 3 threads Joined: Oct 2010
14-11-2013, 08:55 AM -
#2
Wow... This is AWESOME! It gives hope you know...

Thanks for explaining what you did so far,  I have no idea how this kind of stuff works hence it was a pretty interesting read.

I'd like to say that I'll look into it but I cannot really promise anything (exams coming closer + got other work to do). So depending on how long it would take me to learn the basics and start hacking the source I think you would be done 3 times backwards engineering the entire game ;-)


[Image: boi10qlavfy6wwvye.png]


Czelsior
Eternal Guardian
***


0
187 posts 27 threads Joined: Aug 2010
18-11-2013, 12:20 PM -
#3
Really awsome indeed.

You did a great job already and it gives some hopes so see the game back alife someday.

 

Too bad i don't have enough knowledge about the whole plot to support you.

What lies hidden. must be found

TCoS Gameplay Videos:
http://www.youtube.com/user/czelsior

JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
17-12-2013, 01:29 PM -
#4
Hello everyone,

 

Christmas time is getting closer again, meaning we might have some extra time to spend at the computer.

 

I'm still working on the Spellborn skeletal mesh files and I have some nice progress, programming it into my tool is the next step.

 

For now I can show you something Acid has found a while ago.

It's the website of a french artist called Pior Oberson, he developed most of the skeletal meshes together with

the work of Chris Evenhuis and Romano Molenaar.

 

Here's a picture as example of a skeletal mesh:

 

[Image: spellborn_vhuul_001.jpg]

 

 

This picture gives a nice view of how a 3D shape is build,

each 3D shape is divided into smaller surfaces,

where a surface has it line's at the edges.

Each ending of such a line is a point in the 3D space.

 

All together this forms the shape we are looking at while it is used in the game.

This is exactly the things I'm working at for the Spellborn files, so a nice help to compare my findings and see if things are correct.

 

Pior has some more picture's on his website, I would say take a look here: http://pioroberson.com/modelpages/info_spellborn2.htm

 

 

Greetings Jan-Willem.


JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
14-03-2014, 08:55 PM -
#5
It's friday evening, time to have a good weekend.

 

I'm having a beer now since my puzzling with the Spellborn character animation packages seem to show some result.

 

A reborn Hoppy, my personal favorite.

 

I know it was Kenwyn's pest, he was always on a hoppy killing spree. [Image: default_tongue.gif]

 

Here's the picture:

 

[Image: reborn_hoppy.jpg]

 

Greetings Jan-Willem JW-NL


JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
19-08-2014, 07:50 PM -
#6
The people at Epic games are working hard on the new Unreal 4 engine.

 

Spellborn was made with the code of Unreal 2004 or engine version 2.5 (modified v2)

 

After that we had UT3, and later the version of UDK (Unreal Developer Kit).

 

This last one was nicer to work with in comparison to the UT2004, let's say more modern.

 

Currently Unreal engine is at version 4.4 and I can say the produced content / view  is very good looking on my system.

 

For me it's also a nice source to see how things are currently made in the source code and maybe will give me some more idea's

how to get along with the Spellborn files.

 

So here's my new toy:

[Image: Unreal_editor.jpg]

 

CU around Jan-Willem.


Saltiel
Retired dev
***


0
122 posts 3 threads Joined: Sep 2014
01-09-2014, 06:22 PM -
#7
Very interesting. I keep an eye on this, I am not very good at reversing files so I am very curious about your process !

I have started reverting the packets instead. Don't know if I will have the time to get something useful but I currently can

login to the universe list with a correct universe list displayed. Still need work, maybe I will open a thread if people are interested (I already answered to one in RageZone forums).

 

Keep up the good work, if you eventually publish doc maybe other programmers like me could help you. One very interesting thing would be to be able to have a world editor working (I know I'm dreaming).

Well, maybe I should start a thread documenting the firsts packet of the game, for those who missed the universe selection page haha !

JW-NL
Moderator
*****


0
129 posts 7 threads Joined: Nov 2010
01-09-2014, 09:19 PM -
#8
Hey Saltiel,

 

I'm currently working on the animation part of the characters in the packages.

 

It seems to go in the good direction since I'm able to read in the vector and position data of the bones and also the notify structure for each animation part.

 

In comparison between the unreal 2004 data and the Spellborn files I still need to skip some data at the end of each part, this seems to be extra info

for which I have no clue yet what it means.

 

When this parts of coding is done I should be able to either create PSA and PSK files or rewrite the content to a new package for reading into the UT2004 editor.

For both ways it's important to know I have the largest part decoded, but writing the new files out means deleting some of the Spellborn data,

in other words missing something which might be important for the game.

 

I've read your other post about the packets, nice work.

Also nice to see you're working your way into the game via a different route, gives me some good hope. [Image: default_thumbsup.gif]

 

Greetings Jan-Willem.




Forum Jump:


Users browsing this thread: 1 Guest(s)