• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Pokemon DoomRed for Twitch Streamers

9
Posts
6
Years
  • Concept
    A few months ago I made a FireRed romhack for Twitch streamers called Pokemon DoomRed (please excuse the narcissistic title). In the romhack, streamers encounter emotes as supplied by their chat instead of regular Pokemon. The following is a video demo I made for it:

    https://www.twitch.tv/videos/149253316

    Current Features
    • Chatter can generate a random Pokemon for the streamer to encounter by typing "!pokemon [emote]"
    • Chatter can specify the type(s) of the Pokemon by typing "!pokemon [emote] [type1] [type2]"
    • Global twitch emotes, subscriber twitch emotes (you don't have to be subscribed), and FFZ emotes work
    • Maximum number of emotes in queue per user can be configured
    • The ability to allow duplicate emotes in queue can be turned on and off

    Future Features
    • Trainers named after random active chatters
    • Saving

    Issues
    A short list of issues is included on the Github page.

    How It Works
    1. Two files contain mappings from emote name to emote id (one for twitch and one for FFZ).
    2. A twitch bot (written in python) parses input from chatters, queries these mappings, and downloads the emote based on the id.
    3. Random values for type, moveset, etc. are generated, and the emote is converted into a format understood by the GBA.
    4. The bot sends the data through a pipe to a lua script running alongside the emulator.
    5. The lua script waits for a battle to start (i.e. waits for a certain instruction to be run in the game).
    6. When it does, it grabs the values from the pipe. Starting with the Pokemon with ID 1, and incrementing for each new Pokemon met, it overwrites the sprite, types, and name of the Pokemon in the ROM, overwrites the moveset of the instance of the Pokemon encountered, and then sets the species of that Pokemon to the relevant species.

    Where I Want To Go From Here
    I made this as a proof of concept and I'm pretty much done with it personally, but my chat and I had so much fun playing it that I thought it would be a shame to have it just die off.

    I'd like to hand the project off to someone; if anyone wants to take this project over or just take a stab at some of the bugs, feel free to fork the project on github and ask me any questions you may have. I'll be willing to tackle some bug fixes from time to time as well. If you ever feel like streaming it, let me know about that too :p

    As an aside, it is still VERY buggy (some emotes don't work, the Pokemon icons look demonic, it'll crash when it runs out of memory or Pokemon to overwrite, whichever comes first). There are a list of issues on the Github page.

    https://github.com/bacowan/DoomRed
     
    Back
    Top