News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: How to decompile a game engine in a psone game?  (Read 1103 times)

battleonfan1

  • Newbie
  • *
  • Posts: 4
    • View Profile
How to decompile a game engine in a psone game?
« on: January 24, 2016, 12:13:57 am »
Sorry if the wording of this article is erroneous, I'm new to hacking. Anyways I really like the game called Toy Story 2 for the psone. I have 2-3 years experience in blender with modeling and texturing. I also understand how code logic works. I want to make my own levels for the game. A map pack so to speak. But I don't know the first thing about doing this. I don't care how hard it is. Whatever I need to do I will do it.

FAST6191

  • Hero Member
  • *****
  • Posts: 2561
    • View Profile
Re: How to decompile a game engine in a psone game?
« Reply #1 on: January 24, 2016, 10:58:35 am »
Decompile does have a specific meaning in hacking/programming, that being turning compiled code back into high level code and is it is considered one of the harder things to do in computing (see halting problem), however that is not quite what you asked.

If you can edit stats or even make some cheats you can probably make some headway in level editing. We could talk a lot of theory but I am not sure how useful that would be in your case, time for a video of the gameplay footage
https://www.youtube.com/watch?v=D3VOkNtzHsw
Ah the classic vaguely themed tie in.

Anyway it is 3d which means some stuff from the 2d world is less applicable which is why I skipped the theory. I see obstacles/things that can be climbed, possibly some movement/physics (the pushing and the getting out of the crib stuff) but more likely pre-animated things, collectables, help boxes, the race thing is odd, not sure about that robot battle in the attic, position related audio effects for the "friendlies" and some enemies.
3d worlds usually do one of two things for the base world
1) Just have the model and try to do collisions there (I am sure you have "fallen" through a world before in a game, this would be the collision engine failing)
2) Have the model but another section, more common in driving games where you want to have a track and off road but platformers see such things often enough too.

Enemies, coins.... are likely to be another section.

Anyway two main approaches to figuring this all out, assuming someone before has not done it or a related game (and this is an activision tie in game so it is not impossible), and those are
1) Stare at it, fiddle with things and hope
2) Learn the assembly for the system in question and edit that.

2) is far harder as learning the assembly for a system (particularly one as relatively unhacked as the PS1) is the final part of learning to hack for most and 1) is actually quite effective. Step 1 in either is find the levels themselves, fortunately you are on a PS1 which uses nice iso files so hopefully you have file names, directory names, file sizes and such like to help you narrow things down. Once you have found it I usually like to swap a level or two around to see what happens, hopefully you see a later level earlier on. From there I try to find a very simple level with as little complexity as possible (hopefully the devs left in a square test room or something) as it is easier to start making headway with that. Then try some basic edits (even changing a single vertex just a bit will do) to the level, some item/enemy placement and such like.

tvtoon

  • Sr. Member
  • ****
  • Posts: 359
    • View Profile
Re: How to decompile a game engine in a psone game?
« Reply #2 on: January 24, 2016, 11:06:34 am »
I suggest that you start by mapping and splitting the game procedures, by dealing with the jumps (branches), then you can check out which and how data is used. You don't even need to understand what the code does, you just need a good understanding of how the system works.