Sign in

Pangaea

@toptwentynotes.bsky.social
514 followers 17 following 179 posts

hi, i made those ArcSys script modding tools, and the Xrd SAMMI/WebSockets integration. posting stuff i make here. @TopTwentyNotes on twitter Support my work: ko-fi.com/pangaea__

PostsRepliesMedia
Pangaea @toptwentynotes.bsky.social · 02/08/2026
created a hitbox viewer mod for Arcana Heart
25118
Pangaea @toptwentynotes.bsky.social · 12/06/2026
Xrd model now uses RL, this isn't a finished training run, and no online RL has been applied yet as i'm still working on the mod setup for that, but i'm very happy with the progress! here's the model playing against itself, i think it's a massive step up from the last footage i posted
55015
Pangaea @toptwentynotes.bsky.social · 06/06/2026
working on figuring out the meter gain values for each character, i've created a table of each characters values, most of them are fairly obvious, just meter added and scaled by tension pulse somehow, but i can't figure out what "Guard Balance Tension" is supposed to be. any ideas?
A table of meter gain multipliers by character in Guilty Gear Xrd
210
Pangaea @toptwentynotes.bsky.social · 31/05/2026
switched to training on whole rounds instead of small context windows, i'm pretty shocked by how big the improvement is compared to what i had before. this also enables performance optimizations which make it way easier to run larger models in realtime. here's a Johnny vs Faust round as an example
3377
Pangaea @toptwentynotes.bsky.social · 27/05/2026
trying to figure out how to measure the average APM of each character in the Xrd dataset. here i'm searching for changes in the player state that coincide with a button press. honestly not sure what's going on with zato
A plot showing the average button press-correlated state changes per minute for each Xrd character, this is supposed to roughly indicate the average APM of each character in the dataset
76918
Pangaea @toptwentynotes.bsky.social · 25/04/2026
the input prediction model takes the state that characters are in as input. these are placed in a vector space, starting out in random positions, but are slowly positioned so that states that are "related" end up closer together. here's a visualization of the random placement vs the sorted result
All states contained in the Xrd dataset, placed randomly throughout a vector space and projected to 2D with UMAPAll states contained in the Xrd dataset, placed throughout a vector space so that related states are closer together and projected to 2D with UMAP
1185
Pangaea @toptwentynotes.bsky.social · 08/04/2026
something went very wrong this time
261
Pangaea @toptwentynotes.bsky.social · 05/04/2026
new model, this time it's trained to predict further ahead in the future, hoping that if i tweak this right it will learn to plan ahead better and maybe execute real combos, there's already some improvement to sols short strings but it doesn't seem to be enough yet
274
Pangaea @toptwentynotes.bsky.social · 05/04/2026
early version of a new model, seems to be a bit better at short combo strings but still cant do much more than that, also still has some pretty silly decision making in neutral. its starting to feel less like a bot and more like a very weird human player which is cool though
174
Pangaea @toptwentynotes.bsky.social · 04/04/2026
alright, now that the button issue is fixed, here's a newer model, both players are bots. it's currently quite random but i'm trying to improve that
4269
Pangaea @toptwentynotes.bsky.social · 04/04/2026
been working on player input prediction using the replay dataset. both players here are bots. still a rough result, but i've made a lot of progress since starting
3284
Pangaea @toptwentynotes.bsky.social · 28/03/2026
if you would like to help build this dataset, i would greatly appreciate anyone sending me more replay folders, especially the ones for any character with <100 appearances! just compress the "REPLAY" folder inside the "SAVE" folder in your Xrd install and send it over
The total number of times a character appears in the current Xrd dataset:
Faust: 793
Ky: 642
Raven: 569
Sol: 448
Slayer: 388
Dizzy: 351
Sin: 294
Baiken: 257
Haehyun: 230
Elphelt: 209
Millia: 194
Bedman: 113
Leo: 109
Ino: 106
Chipp: 96
Johnny: 82
May: 68
Answer: 54
Venom: 45
Potemkin: 44
JackO: 35
Jam: 33
Axl: 27
Ramlethal: 19
21110
Pangaea @toptwentynotes.bsky.social · 28/03/2026
been working on more ways to visualize the xrd replay dataset. here is a density plot illustrating the distance between the character and the opponent when the character uses a grounded normal attack
A chart of the distance between characters during each successful midscreen grounded normal attack. Represented as a density plot
36623
Pangaea @toptwentynotes.bsky.social · 24/03/2026
trying to come up with more ways to plot the data i have, here's one match with x/y over time, creates a cool little structure, nothing too surprising here though, i think i should focus on resources and state-related stuff next
020
Pangaea @toptwentynotes.bsky.social · 24/03/2026
had a silly dataviz idea, here is a video displaying the positions of every character in every Xrd replay i've recorded data for so far.
79043
Pangaea @toptwentynotes.bsky.social · 22/03/2026
been spending time chipping away at a fighting game framework. currently have motion inputs and states worked out, they are very flexible and take after the concepts i've learned modding arcsys games. no test footage worth sharing yet, but i find the example code satisfying
Lua code describing a forward walk state for Ryu in a test fighting game engine.Lua code defining motion input parsing for 236, a button being pressed, and the composition of the two, declaratively constructing a 236A motion input parser
172
Pangaea @toptwentynotes.bsky.social · 16/09/2025
Working on adding Discord rich presence integration to my Xrd mod
A screenshot of a Discord rich presence activity, listing information about the game Guilty Gear Xrd Rev2. The user is in training mode and the match is Sol vs Ky
0181
Pangaea @toptwentynotes.bsky.social · 18/07/2025
Thanks to @wistfulhopes.bsky.social forking my mod and adding a generated Xrd SDK, I can now mess around with UE3 functions. Turns out theres a debug camera toggle in the game.
28222
Pangaea @toptwentynotes.bsky.social · 25/06/2025
Added a new feature to the Xrd statistics UI, now we can gather empirical evidence for blocking on wakeup
A bar graph showing the percentage of all meaty hits that have blocked by a player in Guilty Gear Xrd Rev2
23618
Pangaea @toptwentynotes.bsky.social · 24/06/2025
New addition to my Xrd websockets mod test project, feels like this could be nice if it had exporting/importing combos and the move names were displayed as the non-internal ones that people recognize
0182
Pangaea @toptwentynotes.bsky.social · 18/06/2025
Fixed the scale a bit. Now you see tension pulse, tension, and health inside their absolute range, so the numbers aren't moving around while you try to read the chart. I also modified the x axis to show seconds instead of frames, much easier to tell when something happened in a match now
Charts showing more Guilty Gear Xrd statistics, now with axes fixed to the absolute range of each stat
000
Pangaea @toptwentynotes.bsky.social · 18/06/2025
More Xrd charts, here's a video showing it capturing data from a replay in real time.
2298
Pangaea @toptwentynotes.bsky.social · 18/06/2025
Added, that last arc is Johnny's throw.
A graph plotting distance between the two players in Guilty Gear Xrd Rev2
010
Pangaea @toptwentynotes.bsky.social · 18/06/2025
Playing around with my Guilty Gear Xrd WebSockets integration and chart.js. Going to try and get more interesting charts out of this soon, but for now I have tension pulse, tension, and health over time
3 charts displaying player tension pulse, tension, and health over time in a match of Guilty Gear Xrd Rev2
1206
Pangaea @toptwentynotes.bsky.social · 18/02/2025
Added a hotkey to toggle the battle HUD to my Xrd mod
0120
Pangaea @toptwentynotes.bsky.social · 23/12/2024
Releasing the latest update to my Guilty Gear Xrd mod, it adds more fields to the WebSockets state messages, and way more info to the gamestate UI! I hope some of you can come up with very specific training mode use cases. Happy holidays! Download here: github.com/super-contin...
Guilty Gear Xrds training mode with a window displaying game state info to the player such as tension pulse, stun, RISC, and exact position
15118
Pangaea @toptwentynotes.bsky.social · 28/11/2024
Adding some more info to hit events for the Xrd mod, now it will report how a move can be blocked and you can do whatever you want with that info. I think there's very little match info left to add, should have a release of the new WebSockets update out soon! In the meantime have some test footage
25714
Pangaea @toptwentynotes.bsky.social · 28/11/2024
Got a BBScript syntax highlighting extension working for VSCode, I think it looks much nicer now! Might release it once I figure out how to bundle these things for easy installation
A BBScript file open in Visual Studio Code, with syntax highlighting applied to the code
190
Pangaea @toptwentynotes.bsky.social · 26/11/2024
After a few minutes of very basic webdev, I made an input display using my Xrd mod. With the WebSockets update, you can integrate this game into anything you can run in a browser!
17619
Pangaea @toptwentynotes.bsky.social · 14/11/2024
Hey @leonmassey.bsky.social I saw the mention in your latest alt video. I appreciate the mention, and I wanted to let you know automating this is very possible! I think I could do what Kovidomi mentioned with the Steam API polling, but I also have other plans for the mod that are adjacent to this.
Leon Massey's video "Who is Guilty Gear Xrds Most Popular Character?" showing Krackatoa and Pangaea's social media accounts.
2382
Pangaea @toptwentynotes.bsky.social · 09/11/2024
Reposting one of my favorite things I've made with BBScript, tiny Potemkin. Unfortunately due to hitboxes being floats, the scaling would cause rounding errors and instantly desync netplay
316476
Pangaea @toptwentynotes.bsky.social · 27/10/2024
More Lindenmayer system editor images #programming #generativeart #creativecoding
A Sierpiński triangle L-systemA branching L-systemAn L-system resembling interlocking cubes
021
Pangaea @toptwentynotes.bsky.social · 27/10/2024
Worked on an editor that lets you easily create Lindemayer systems, a way of applying rewrite rules to strings to create endless growth with simple patterns, originally designed to model plant growth. Here are some of the images I've made with it so far
A circular branch L-systemAn L-system with 30-degree turns creating hexagonal patternsAn L-system that is cropped and edited to resemble clouds
151
Pangaea @toptwentynotes.bsky.social · 22/10/2024
I made a watercolor shader that you can run on any game with ReShade. It took a lot of work including implementing a newer edge-preserving blur algorithm that I couldn't find any good shader references on. There's plenty of settings to tweak the look to whatever you want. github.com/super-contin...
Super Mario Sunshine, filtered with a watercolor shaderPikmin 2, filtered with a watercolor shader
1187
Pangaea @toptwentynotes.bsky.social · 20/10/2024
Updated the Xrd character script graph generator to handle normal -> special cancels, aerial move distinctions, and followup move distinctions. If you're looking to get into Xrd for the first time and want to play Sol, here's everything you need to know, make sure to memorize it:
1288
Pangaea @toptwentynotes.bsky.social · 19/10/2024
Sin Kiske gatling graph
000
Pangaea @toptwentynotes.bsky.social · 18/10/2024
Sol Guilty Gear Xrd gatling graph
111