Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Beyond: Two Souls - Reversing | Porting (THAT'S ALL FOLKS?)
-
- M-M-M-Monster veteran
- Posts: 1823
- Joined: Wed Mar 31, 2010 6:54 am
- Has thanked: 92 times
- Been thanked: 1058 times
Re: Beyond: Two Souls - Reversing | Porting (UPDATE: SEQUENC
Send me eboot and a few textures.
My Github repo
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (UPDATE: SEQUENC
Sent a PM, it's still in my Outbox but it should arrive soon. Thanks!Ekey wrote:Send me eboot and a few textures.
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
-
- beginner
- Posts: 21
- Joined: Fri Jul 22, 2011 4:39 pm
- Has thanked: 21 times
- Been thanked: 13 times
Re: Beyond: Two Souls - Reversing | Porting (UPDATE: SEQUENC
Ah what I suspected. They do build all their scenes in Maya apparently, so it doesn't surprise me they are exported as one big collection.HugoPeters wrote:Thanks! The animated objects are handeled as characters. The static scenery is all in one big mesh collection, the "characters" (so also doors, chairs, etc.) can have animation, sounds, etc. They are added by the scene Lua script.
Makes a lot of sense.HugoPeters wrote:The shot that's missing is a bit hard to explain. If you look before the missing shot you see the camera is facing Jodie. Then in the game the shot facing the chief cop comes, and then it's back to Jodie. That shot of Jodie (before / after the cop) is one shot. As you may have noticed, the road part starts later in my version than in the game. That is because at the end of the scene you can see the camera shot that was the missing one. That one works as a "sub shot", it appears over another shot. Since I haven't implemented that yet, you can see missing shots here and there that then appear after the scene is over.
HugoPeters wrote:The street car scene is a separate area. The chapter "Broken" has one scene and three areas (POLICE_STATION, POLICE_STATION_ROAD and POLICE_STATION_BREAK). In the video I did it so that it loads the first and lasts area, but only activates the first one for all but the last "movie" (that's how one part of a sequence is called internally). When the last one starts (the "Too Late" part), it deactivates the first area and activates the last one. I had some trouble loading in the road part so I didn't bother fixing it before the video
Here is the code to load and play the movies/areas, so you can see just how hacky it is xD http://pastebin.com/67Lns7mU
Code: Select all
if (i == 7) // TooLate
EDIT: Hopefully someone figures out the texture format and wow at dat lua output. I'm not mistaken in the assumption that "fAidenLookAt" is an actual function that is probably a part of their node based scripting system which the level designers used to create the scene scripting?
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (UPDATE: SEQUENC
fAidenLookAt is a Dynamic Communicator, which means the function itself is stored elsewhere, and by adding attributes, events and actions they can call this script in a "tool-efficient" manner.Hamers wrote:HugoPeters wrote: EDIT: Hopefully someone figures out the texture format and wow at dat lua output. I'm not mistaken in the assumption that "fAidenLookAt" is an actual function that is probably a part of their node based scripting system which the level designers used to create the scene scripting?
The normal Communicators have their scripts, attributes, events, etc. stored in the executable, while these are created on runtime.
fAidenLookAt is defined in the GameManager:
Code: Select all
-- Dynamic COM for fAidenLookAt function
if (QDT.fAidenLookAt == nil) then
local nDynType = CreateDynCommunicator("fAidenLookAt", 4411)
AddDynAttribute(nDynType, "ANAEL_GAMEPLAY", "AnaelGameplay", 0)
AddDynAttribute(nDynType, "float", "BlendDuration", 0)
AddDynAttribute(nDynType, "string", "BonesName", 6)
AddDynAttribute(nDynType, "SCRIPT_ENTITY_ABC", "EntityToLook", 0)
AddDynAttribute(nDynType, "bool", "StopAtEnd", 0)
RegisterDynCommunicator(nDynType)
end
It works pretty well!
And I also already implemented the whole Dynamic Communicator thing:
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (UPDATE: SEQUENC
Kernel!
Here's my first real-world test of my kernel interface.
The scripts playing the audio are copy-pasted from the game!
https://www.youtube.com/watch?v=CtRO0hcNOE4
Here's my first real-world test of my kernel interface.
The scripts playing the audio are copy-pasted from the game!
https://www.youtube.com/watch?v=CtRO0hcNOE4
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
OMFG
I made a Luac bytecode converter for Beyond's chunks, the issue was endianness in the end! So I now read in the function, and convert BE ints to LE ints, and also change the floats into doubles.
AND IT WORKS SO I CAN NOW FINALLY EXECUTE BEYOND'S LUAC SCRIPTS
I made a Luac bytecode converter for Beyond's chunks, the issue was endianness in the end! So I now read in the function, and convert BE ints to LE ints, and also change the floats into doubles.
AND IT WORKS SO I CAN NOW FINALLY EXECUTE BEYOND'S LUAC SCRIPTS
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
During loading research:
- Disabled caching
- Disabled usage of setup files
- Since I run the game through the ProDG target manager I can change the load speed by changing my ethernet port Speed & Duplex, so set it to 10 Mb/s.
Result:
- Disabled caching
- Disabled usage of setup files
- Since I run the game through the ProDG target manager I can change the load speed by changing my ethernet port Speed & Duplex, so set it to 10 Mb/s.
Result:
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
-
- beginner
- Posts: 21
- Joined: Fri Jul 22, 2011 4:39 pm
- Has thanked: 21 times
- Been thanked: 13 times
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
Not surprised in the slightest lol Poor console games rely a lot on caching and fast streaming of assets on the fly. Still funny to see the LODs though xD
Awesome news about the lua functions!
Awesome news about the lua functions!
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
Small update: proper audio streaming has been build!
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
Kernel Part ~2~!
'Right guys, more shit!
https://www.youtube.com/watch?v=o8HnAjksFMc
I'm getting to a point where I find it extremely difficult to explain what the fuck I'm even doing XD
So I might need to start with stuff like voice overs where I can quickly explain the contexts of everything, but for now I've done it through subtitles.
'Right guys, more shit!
https://www.youtube.com/watch?v=o8HnAjksFMc
I'm getting to a point where I find it extremely difficult to explain what the fuck I'm even doing XD
So I might need to start with stuff like voice overs where I can quickly explain the contexts of everything, but for now I've done it through subtitles.
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
-
- beginner
- Posts: 21
- Joined: Fri Jul 22, 2011 4:39 pm
- Has thanked: 21 times
- Been thanked: 13 times
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
Yeah, seems like this starts to go into the territory where you have to reverse engineer and implement the actual game scripting, which sounds pretty complicated. Good luck man, props to you for keeping at it!HugoPeters wrote:Kernel Part ~2~!
'Right guys, more shit!
https://www.youtube.com/watch?v=o8HnAjksFMc
I'm getting to a point where I find it extremely difficult to explain what the fuck I'm even doing XD
So I might need to start with stuff like voice overs where I can quickly explain the contexts of everything, but for now I've done it through subtitles.
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~1~
It's funny, because I've already implemented around 40% of their "kernel"/interface.Hamers wrote:Yeah, seems like this starts to go into the territory where you have to reverse engineer and implement the actual game scripting, which sounds pretty complicated. Good luck man, props to you for keeping at it!HugoPeters wrote:Kernel Part ~2~!
'Right guys, more shit!
https://www.youtube.com/watch?v=o8HnAjksFMc
I'm getting to a point where I find it extremely difficult to explain what the fuck I'm even doing XD
So I might need to start with stuff like voice overs where I can quickly explain the contexts of everything, but for now I've done it through subtitles.
I've basically completed the basic environment, and now it's only a matter of making the functions actually do something, I've already passed the hardest part by far.
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
- HugoPeters
- veteran
- Posts: 133
- Joined: Thu Apr 03, 2014 9:49 am
- Location: The Netherlands
- Has thanked: 64 times
- Been thanked: 168 times
- Contact:
Re: Beyond: Two Souls - Reversing | Porting (KERNEL PART ~2~
Choices??
Here's a very, very, VERY early demo of choice paths!
There's dialog audio starting / ending at wrong times, dialog text isn't parsed, and a TON more things wrong, but it kinda gives an idea of how far I am right now.
All the stuff wrong are just minor touch-ups.
https://www.youtube.com/watch?v=lAEm632Ordc
Please keep in mind, what seems like a glitch isn't a glitch, it's just because I haven't implemented this or that yet.
Here's a very, very, VERY early demo of choice paths!
There's dialog audio starting / ending at wrong times, dialog text isn't parsed, and a TON more things wrong, but it kinda gives an idea of how far I am right now.
All the stuff wrong are just minor touch-ups.
https://www.youtube.com/watch?v=lAEm632Ordc
Please keep in mind, what seems like a glitch isn't a glitch, it's just because I haven't implemented this or that yet.
"I'm going to throw my shit at you" —The Great Mighty Poo
_______________________>> check my portfolio I wish the [center] bbcode was turned on
_______________________>> or my twitter
-
- beginner
- Posts: 21
- Joined: Fri Jul 22, 2011 4:39 pm
- Has thanked: 21 times
- Been thanked: 13 times
Re: Beyond: Two Souls - Reversing | Porting (CHOICE PATHS!?!
Regardless how rough it is, I refresh the thread every day in anticipation of an update Really love how you document your progress!