About Porting A Game into Another System

Discussion in 'Game Development General Discussion' started by AnonBaiter, Oct 21, 2015.

  1. AnonBaiter

    AnonBaiter Member

    Joined:
    Oct 21, 2015
    Messages:
    5
    Likes Received:
    0
    So, how can you port a game?

    I've had this question in my mind for a very long time. It might contribute to the fact that I have zero skills at programming complex languages, or maybe it is because I don't have any resources besides the game to begin with. I don't want to remake the entire thing from scratch; I want the game to be transitioned through another console instead, only through the same video game generation the console was released in(example: DC -> PS2).
    But that requires a lot of programming, reverse-engineering and hard work. I have to decide which console it will be ported from, which development kit to use, how to use that, etc. Basically, a port can be anything but an overhaul of the same game into another platform.

    Anyways, where can I start? Programming assembly, C++ or C? Any ideas?
     
  2. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    You would be re-writing the entire game if you dont have the source code.
     
    SILENT_Pavel likes this.
  3. AnonBaiter

    AnonBaiter Member

    Joined:
    Oct 21, 2015
    Messages:
    5
    Likes Received:
    0
    Which is exactly what I intend to do. If I don't have the source code for the game, I would attempt to reproduce it by coding bit by bit, while also reverse-engineering all the formats used for the game so that it could be compatible into the system I'm porting to.
    But then it would require lots of patience and a stronger CPU/GPU/RAM to do such a task.
     
  4. SILENT_Pavel

    SILENT_Pavel Gutsy Member

    Joined:
    Jun 23, 2012
    Messages:
    417
    Likes Received:
    163
  5. arcadecollecting

    arcadecollecting Rising Member

    Joined:
    Aug 3, 2012
    Messages:
    66
    Likes Received:
    20
    Maybe start with a simple port to get the hang of it. Like, pick two systems that have the same CPU but different memory maps and video/audio hardware. Once you have a better idea of the challenges involved, you can move on to harder ports. IMO, starting right off on a PS2 to GameCube port, for example, is a lot to bite off.
     
  6. Mord.Fustang

    Mord.Fustang My goodness, it's nipley out!

    Joined:
    Feb 17, 2013
    Messages:
    818
    Likes Received:
    182
    Don't take this the wrong way, but if you have to ask where to start with this type of question, it's probably going to be a MUCH more difficult task than you were hoping for. @arcadecollecting has the right idea with starting with a simpler port. There's a reason you don't see homebrew console ports from DC to PS2 (for example) very often - it's not an easy task.
     
  7. AnonBaiter

    AnonBaiter Member

    Joined:
    Oct 21, 2015
    Messages:
    5
    Likes Received:
    0
    Thanks for the advice, guys. I'll start from the little things.
     
  8. Gemini

    Gemini Retro developer

    Joined:
    Apr 1, 2008
    Messages:
    406
    Likes Received:
    88
    Reproducing an engine can be quite an ordeal. My suggestion for a first port is to take some old game running on a simple processor (ex. NES), make a full disasseble of it, use macros to convert the code into a somewhat higher level language (assembly to C is a good start). From there document important pieces of the code, like hardware access and rewrite it to simulate to some degree the original hardware.

    While this approach still requires a ton documenting for hardware procedures, you barely need to spend time on figuring out 100% of the engine logic.

    Alternatively, you could try and get something a bit simpler, like some old DOS game. There is quite a good amount of disassemblers for those.
     
    gwald likes this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page