• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Gen-III Asset Extractor + Unity game example

  • 2
    Posts
    3
    Years
    • Seen Oct 13, 2023
    Hey all,

    I've been lurking these forums (and the rest of the web) for the past two weeks. That is the reason I'm posting here as well, to give back something to the community where I've read so many helpful posts while making the following tool. Thanks!

    ROM Asset Extractor (C#)
    Purpose: Automatically extract as many assets from a Gen-III rom as possible. Those assets can then be loaded (preferably automatically) in other projects.

    The project is open-source and can be found here: https://github.com/thejjokerr/rom-asset-extractor
    In short it includes:
    • A command-line tool that extracts assets from a rom you provide. Assets extracted include:
      • All Pokémon and trainer sprites as .png
      • All maptiles as .png (optionally you can create full renders of the map)
      • All map data is exported to JSON files (so you can import is in your project easily)
      • Wild encounters are also stored to those JSON files
    • Alternatively an app with user interface for the same purpose
    • An example
    Unity game that uses the extracted assets to rebuild any map and use (and animate) the red hero character.

    The readme there would be more up-to-date than anything I would post here, but here's a screenshot of the example Unity game I included. It uses assets extracted with the tool to rebuild any level from FireRed, LeafGreen or Ruby:
    [PokeCommunity.com] Gen-III Asset Extractor + Unity game example


    The Unity game contains some examples on how to implement jumping, biking and collision.

    I'll be working on this a bit more in the coming weeks. I still feel like the following assets should be possible to extract before I can clean up and finish work on it:
    • Menu assets (frames, item icons, party menu, pc menu)
    • Map connections (for the JSON files)
    • Pokémon stats to JSON files
    • Expand the Unity example to demonstrate use of these assets

    All this is very much a prototype and I do not intend to provide support for it or guarantee it's functionality. You'll have to build the project yourself and I may work on it occasionally and break stuff. If you do find a bug that you think should be fixed feel free to leave an issue on GitHub.

    Again thanks for the helpful posts on here. Hope this tool and it's source code can help you out in some way.
     
    Last edited by a moderator:
    Back
    Top