Jezzabel
Pokélink founder
- 9
- Posts
- 4
- Years
- Seen Oct 6, 2023
![[PokeCommunity.com] Calling all RomHackers - Pokélink integration [PokeCommunity.com] Calling all RomHackers - Pokélink integration](https://i.imgur.com/fBto8Q3.png)
Introduction
Hey RomHackers
I'm Jez, one of the owners & Core Developer of Pokélink. A streaming app for Pokémon streamers and Pokémon-related content creators alike.
I've been building this for nearly 2 years, and support is pretty good. But one thing we get asked by streamers using your ROM Hacks, is "when will you enable support for -Insert Rom Hack name here-".
But without an intricate knowledge of the ROM's internal structure and usage of memory, this is a long and tedious process consisting of months of playing each romhack and the following steps for each data point:
- dumping the RAM,
- performing an action
- dumping the RAM again
- Searching for changes
- Repeating the above, until we drill-down to a specific value (single binary value, byte, range of bytes, etc)
- Possible Decryption of Blocks/etc
- Reversing this into a usable value
- Testing for edge cases and outliers
Pokélink TL;DR
It reads the memory directly from raw HEX values, parses & processes it into something like this
Spoiler:
Then something like these for a steamer's layout:
Spoiler:
![[PokeCommunity.com] Calling all RomHackers - Pokélink integration [PokeCommunity.com] Calling all RomHackers - Pokélink integration](https://cdn.discordapp.com/attachments/572217145816121379/788702470590955550/unknown.png)
![[PokeCommunity.com] Calling all RomHackers - Pokélink integration [PokeCommunity.com] Calling all RomHackers - Pokélink integration](https://cdn.discordapp.com/attachments/572217145816121379/788701683810041876/unknown.png)
![[PokeCommunity.com] Calling all RomHackers - Pokélink integration [PokeCommunity.com] Calling all RomHackers - Pokélink integration](https://cdn.discordapp.com/attachments/774297797255626814/774300557732347924/EmJWLE2XgAgEUx9.png)
What is Pokélink
Pokélink is an app that helps streamers & Poké-tubers create beautiful viewer-engaging streams when they stream/record Pokémon game playthroughs.
It enables a bridged connection between your emulator (DeSmuME, VBA & Citra) and the Pokélink app; it then provides a set of browser sources that can be included within OBS/SLOBS/etc. (We also allow people to manually control your party for non-emulated games)
Visual Demo:
Currently Supported Games
- Stable Automated support for Vanilla & Randomized Gen 1 games (R/B/Y) (Missing: encounter location)
- Unstable (Not published) Automated support for Gen2 games (G/S/C) (Working on memory bank usage)
- Full Automated support for Vanilla & Randomized Gen 3 games (R/S/E, FR/LG)
- Stable Automated support for Vanilla & Randomized Gen 4 games (D/Pl/Pt - HP doesn't update In battle) (HG/SS - Full Support)
- Stable Automated support for Vanilla & Randomized Gen 5 games (B/W/B2/W2 - HP doesn't update In battle for all games)
- Full Automated support for Vanilla & Randomized Gen 6 games (X/Y/OR/AS - 2 known issues traced back to data structs mismatching between versions of the ROM)
- Full Automated support for Vanilla & Randomized Gen 7 3DS games (Sun/Moon/US/UM)
- No roadmap planned for Gen 7 Switch games (LGP/LGE - Waiting for Emulators to improve performance, monitoring them closely and in communication with the teams)
- No roadmap planned for Gen 8 games (Sw/Sh - Waiting for Emulators to improve performance, monitoring them closely and in communication with the teams - But we did have a PoC custom homebrew app that we got working, but it would have required a lot of R&D with adoption likely looking low)
Features
- Auto rom-detection
- Dynamic config generation and emulator setup
- Manual Badge updating
- Multi-player functionality allowing people to share their live team updates with each other in real time allowing all to show the status of all participants
- Automatic Route tracking for Nuzlockes (Of pokemon that have passed through the players party, routes can also be updated manually)
- A collection of Real time, browser sources (ready to go) that display the team and changes from the emulator in real time, to a web source that handles the graphical representation of that data.
- More is on it's way!
How you can help us, help streamers using your game
If you'd like to help us integrate with your ROMHack, then get in touch or post below. It's easy to integrate (ish) when we know the memory locations and data structures.
I don't know how much or little knowledge of these you'd be aware of or have explicit knowledge of, but I'd love to work with you and help streamers show off your game to the masses.
I want to open this discussion and see what you think, because the creators I see in the Pokélink community who use your games are begging for this integration.
I look forward to seeing in the replies, what you all think and any progress we can make.
Much Love
<3
- Jez
Further Info
- Join the community on Discord - https://discord.gg/MxRHFG2
- Support us on Patreon - https://www.patreon.com/pokelink
- Check out more info about the app on Youtube: https://youtube.com/playlist?list=PLAFYOBP5WK5UAVDg7YXPXzXTnBeSc5uWv
- Check out the latest news about the project on Twitter: https://twitter.com/PokelinkApp
Last edited: