Tumgik
sibyl-of-space · 20 hours
Text
Technophobes need to apologise for "just put it in plain English you stupid machine!" because, well for one the decline in accurate error messages in favour of simplicity has contributed to the rise of tech illiteracy, but also because now whenever an "app" has a net connection error it will pop up a box saying something like "oo ooopsie! Your super duper feed went poo poo. We'll try again soon!" which having said to me by a corporation is about 8 million times worse than having to hear the word "network".
8K notes · View notes
sibyl-of-space · 24 hours
Text
Ghost Trick ROMhack Update
Alright, I think I'm gonna have to put this down for another several months before I'll have time to look at it again. I was REALLY hoping that the overlay files would be the final key to this puzzle and I'd be able to find the last scene No Problem after that.
Unfortunately that hasn't been the case. I've learned a lot more about the ROM but it's still not enough to figure out where that last scene's rendering instructions are.
Details on what I have figured out under the cut. As always, insert warning here on how this hack is very spoilery so don't read if you haven't finished Ghost Trick.
As far as I can tell, the overlay files control the following:
0000 - this seems really low-level I haven't really been able to make changes to it that don't just prevent the game from loading. It also doesn't have any plaintext in it so it's really difficult to discern what it does. O001 - fairly certain this is just initial loading stuff, it's almost definitely not in this one. 0002 - an empty file. 0003 - this handles the menu for the "chapter select" screen and the "continue from this time?" screen. 0004 - this handles some stuff [for example, the animation that plays after you select "go back to beginning"] but NOT the "should I go back in time?" scene itself. I know this because replacing it with all 0's the scene loads fine. 0005 - this handles the main title screen menus. I did a lot of testing with it, and can replace some of the UI buttons with other textures and move them around, but it only controls stuff on that main menu. 0006 - as established previously, this is just the people/phone book database.
So there really doesn't seem to be an overlay file with the UI/rendering instructions for gameplay scenes specifically (unless it's in 0000, which would be annoying but not impossible). The reason I care about this is that the way that "back in time" scene is handled it REALLY seems to me that it's handled the same way UI elements are, since whether Sissel is a human or a ghost will be reflected by whatever your save file's progression says it should be, regardless of what specific scene it's pulled from. It's not a hard-coded sprite. And it's NOT pulled from the System_0000 file where the text is defined, because those can be deleted and the scene renders fine just with no text.
I started to wonder if maybe the instructions for rendering that scene are in fact hard-coded individually in the st##_game###.xml file for each scene (not the localization file, where the sprites for regular dialogue lines are indicated, but the main .xml file that has the code for the scene) that has a back-in-time function. That would be WEIRD, but a lot of how this game is put together is a bit weird so it honestly isn't out of the question.
I've been testing with st13_game021.xml, which is the final gameplay scene in the game where you are in Temsik Park in the past. I've tried to compare it with st13_game012.xml, which is a different gameplay scene with back-in-time, but it's difficult to do so because it's not like the information is in the same place, and both files are large.
I have found one thing that might be a good sign:
In both files, there is a "FE" toward the beginning in the portion of hex code that messing with has a tendency to just crash the game when it tries to load.
st13_game021: at position F4 st13_game012: at position 78
And if this "FE" is replaced with "FF", it results in the scene loading normally... except the "back in time" button has disappeared:
Tumblr media
Note the conspicuous lack of a button in the upper right. Not only does it not spawn the first time, it also does not spawn after returning to gameplay from the database or anything else.
Now, this really doesn't prove... anything. But it does mean that in at least some sense, these st##_game###.xml files DO have some control over the rendering of the UI, which I think means it's quite possible that they hold the key to this final change I want to make.
I haven't been able to narrow down any other part of the hex code that corresponds to the "rewind time" scene. But I did test replacing this particular "FE" value with a lot of other things and in some cases I got interesting results.
The vast, vast, vast majority of replacement values either freeze the game or cause it to stutter a bit and then load fine, but with no "rewind time" button. But a few exceptions:
FE = intended behavior, rewind time button spawns. F8 = top screen renders a grey and black line pattern and game freezes. EF = game automatically goes to a "saving progress" screen and DOES IN FACT OVERWRITE THE CURRENT SAVE. In the case I tested it created a save that thought it was in Chapter 1 and freezes if you try to load it. AF = there is a transparent black bar at the top of the bottom screen that appears before it freezes.
I don't know for certain what my next approach will be when I pick this up again. The unfortunate thing is that I'm almost completely certain that the rendering instructions for that "should I go back in time?" scene are somewhere really annoying, because I'm pretty sure everywhere that uses some amount of clearly labeled plaintext when decompressed has been ruled out at this point. It's almost certainly somewhere low-level-enough that making random hex code edits without precision just make the game freeze before you can test anything useful. I would love to be wrong about this.
If anyone has recommendations for useful tools that might help isolate this remaining change I'm all ears. I think I am reaching the limits of what my approach of "very laborious hex code changes, load the ROM and see what changed, take notes, and try again" can do. I'm trying to cross reference different scenes that also have the rewind time function to look for similarities but it's difficult because I can't just do a side-by-side byte comparison since often the same instructions are at different locations in memory depending on what else each scene has. But I may also just need some time away from this to figure out a better approach. Possibly messing with save files will help, and since I now know that for some reason changing the "spawn back in time button" byte can make it force a save file, I guess I could use that to my advantage.
At any rate, that's probably as much progress as I'll be making in April 2024. I'm just as dedicated to finishing this as I was 3 years ago but after spending 2 weeks working kind of nonstop on this (and successfully updating the database, which was huge) I need to put it down again. Hopefully the next time I pick it back up I will completely finish.
Please feel free to DM or post in the RHDN thread if you have any knowledge that might help. Also, I have a metric f***ton of notes from my testing of the chapter.xml file, the overlay files, and the stage files; eventually I feel like I should publish some of my findings that aren't relevant to my own hack just so people have access to them. It's not a priority atm, but if anyone thinks any of those would be useful let me know and I'll prioritize it.
CURRENT STATE OF THE HACK:
In the English language, Sissel has been updated to use the cat sprite for all known gameplay scenes except for the "should I go back in time?" scene. Yomiel's corpse has also been replaced with an animation of the cat.
In other languages, the database sprite change will populate but no other changes. Sorry.
2 notes · View notes
sibyl-of-space · 1 day
Text
ignore this im posting this image so i can use it as an image host for a romhacking dot net post. its kinda spoilery tho for ghost trick so under the cut it goes
Tumblr media
0 notes
sibyl-of-space · 1 day
Text
RIP to amadeus i havent touched his game this week but today was productive as fuck i
with the help of one other person on the team helping me brainstorm, finalized all the pieces of the mystery and list of clues we'll need for our mystery jam game, and now i just ("just") have to write the rest of it and revise what i already wrote to match
MADE WHAT I THINK IS PROGRESS ON MY GHOST TRICK HACK..... I made a UI button disappear from a st##_game###.xml file, which I happened upon via sheer dumb luck because it's in the part of the code for each stage where random changes have a 90% chance to just cause a crash; but this implies that I'M PROBABLY RIGHT IT'S NOT AN OVERLAY FILE I'M LOOKING FOR and I have an attack plan to prove that more conclusively (or disprove, which would honestly be baffling at this point but isn't technically impossible)
If this hack takes much longer though I'm gonna have to bench it again for a while and catch up on Amadeus, but I gave myself permission to go nuts this week and see what comes of it. Will report back tomorrow.
4 notes · View notes
sibyl-of-space · 2 days
Text
im tired of online discourse. look at this family of quails
Tumblr media
24K notes · View notes
sibyl-of-space · 3 days
Photo
Tumblr media Tumblr media
please play Dai Gyakuten Saiban
~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~
Sherlock cosplay by me
Original photo by Snu, gratuitous edits by me
36 notes · View notes
sibyl-of-space · 3 days
Text
Tumblr media Tumblr media Tumblr media
8 notes · View notes
sibyl-of-space · 3 days
Text
April 22 Amadeus Progress Update
Tumblr media
Last week's accomplishments:
Finalized mechanic that induces pauses mid-text-appearance. Now fully works and can be used for varying pause lengths.
(non-Amadeus) Did a ton of dialogue + narrative work for my team's Mystery Jam game. May mention this in the month's devlog because I've learned a lot about my writing process from it.
Progress on Amadeus was briefly paused because I was suddenly, violently possessed by the need to work more on my (extremely spoilery do not click unless you have beaten the game) ROMhack of Ghost Trick Phantom Detective. I started this hack 3 years ago, and it's now actually almost completely finished. Ghost Trick is a huge influence on Amadeus's mechanics--doing this hack actually informed how I built my text/portrait sprite system. It's also a banger so if you haven't already, you should play it.
(If this sounds like "I procrastinated," that's because I did, but I just wrote a devlog last month about how letting myself do random shit has helped in the long run. So I'm leaning into it.)
I will continue to post updates here at least weekly, in addition to a monthly longer development log.
Demo, discord server, and more: linktr.ee/amadeusgame
8 notes · View notes
sibyl-of-space · 4 days
Text
I sincerely hope I'm wrong, but I think I know where the "last" scene I need to edit in the Ghost Trick ROM is to complete my hack.
So far I've edited:
- every single scene's localization file (over 100 of these but I was able to script the edits, reinserting was annoying because I didn't look into automate that) (this was the first thing I did and took care of about 90% of what I wanted to do in one sweep)
- one of the arm9 overlay files (this was so annoying to figure out)
- database/system files
And I assumed that this last scene I needed to edit would be in one singular place. There were a lot of reasons I made this assumption, and it was pretty evidence-based, but unfortunately I think it's wrong. I think this last "scene" is actually coded individually in every single scene in the game that references it as a duplicate.
And in my own defense I had originally thought this was the case! If the sprites in the scene were coded the way they are everywhere else then I would have caught this years ago. But because the sprites are implemented differently my script doesn't catch them, and by the time I learned that the pointers might be different, I had gone way past that script and was looking at overlay files and a ton of way deeper stuff about how the game runs. The text for the scene is pulled from one single place, too. But I think the rendering instructions... Might not be.
I haven't actually confirmed this. But I'm preparing myself for the possibility. It will be nice to have solved the last puzzle I need for this hack but also like.... bro I don't want to have to batch edit another 100+ files I thought I was almost done with this shit SJDHDKDHDJDH
I'm definitely going to have to learn how to automate extraction and reinsertion if this is the case because I'm NOT doing all that manually again. On the plus side if I have to figure that out anyway then I might as well run my scripts on the other language localization files and make the hack compatible with all of the other languages (right now it's just English)
3 notes · View notes
sibyl-of-space · 4 days
Text
pride (thinking "man i have totally figured out how to manage my ADHD this isn't even disabling i guess i'm just built different") comes before the fall (catastrophic mental breakdown over the dumbest catalyst imaginable)
10 notes · View notes
sibyl-of-space · 4 days
Text
April 22 Amadeus Progress Update
Tumblr media
Last week's accomplishments:
Finalized mechanic that induces pauses mid-text-appearance. Now fully works and can be used for varying pause lengths.
(non-Amadeus) Did a ton of dialogue + narrative work for my team's Mystery Jam game. May mention this in the month's devlog because I've learned a lot about my writing process from it.
Progress on Amadeus was briefly paused because I was suddenly, violently possessed by the need to work more on my (extremely spoilery do not click unless you have beaten the game) ROMhack of Ghost Trick Phantom Detective. I started this hack 3 years ago, and it's now actually almost completely finished. Ghost Trick is a huge influence on Amadeus's mechanics--doing this hack actually informed how I built my text/portrait sprite system. It's also a banger so if you haven't already, you should play it.
(If this sounds like "I procrastinated," that's because I did, but I just wrote a devlog last month about how letting myself do random shit has helped in the long run. So I'm leaning into it.)
I will continue to post updates here at least weekly, in addition to a monthly longer development log.
Demo, discord server, and more: linktr.ee/amadeusgame
8 notes · View notes
sibyl-of-space · 5 days
Text
I'm writing the narrative + dialogue for my team's game for the Mystery Game Jam, and it's finally getting to the point where I'm having a lot of fun.
I've done a shitload of game jams before, but always as an audio person, and always on those shorter weekend-long jams. This is my first time doing a month-long jam, and my first time taking on a narrative + project management role. I specifically chose that role because I want more experience doing these things (Amadeus is my only experience doing these things, and I literally just wrote a long sappy devlog last month about how much it has helped me to have done a lot of other random fun stuff for experience).
Up until pretty much yesterday I was regretting this. Writing is harder for me than audio because I have significantly less experience in it, and I've spent over a year working on a single huge narrative that I will be working on for the next ~5 years, so I don't really know what my own process is for starting from scratch. I was trying to force myself to plan out all of the pieces of the big puzzle before writing actual dialogue, but that task was so daunting and hard to whittle down into something concrete that I procrastinated on it so hard this week I ended up almost finishing my Ghost Trick ROMhack instead of working on it.
But yesterday I decided to write the intro scene at least, and that turned into also writing the tutorial scene, and that turned into also writing the parts of the finale scene that I can write with what's been decided so far, and then at the end of it I had banged out 12 hours of dialogue and narrative text, and I was having SO MUCH fun.
So I got exactly what I wanted out of this game jam! I learned about my own narrative process.
I am not a writer who can map out all the pieces of a mystery puzzle meticulously and then flesh out the dialogue after the fact. I am the kind of writer who needs to really understand the characters I'm working with who are engaging with the mystery, and use those as the driving forces of the mystery. That kind of writing flows easily for me and is much more fun. I still have to come back to the mystery puzzle, but it's easier to finish the puzzle once I have all the characters as the biggest pieces.
I still need to write the meat of the investigation portion, but it's going so much more smoothly now that I have characters and not placeholder [WITNESS 1] cardboard cut-outs. I'm having a ton of fun writing this and getting invested. I didn't really expect to become invested! Certain dynamics between characters emerged as I was writing and now these feel like characters I care about and am rooting for. That actually shocked me. I didn't set out to write a game I was invested in, I set out to write a silly game jam mystery. But now I'm like, oh dang, I'm accidentally putting real emotions into our game. Whoops!
It's definitely not a Serious Game. It is a pretty silly game. But I am also putting a lot more actual heart into it than I expected to given our concept? It's very Ace Attorney vibes I think.
(Ace Attorney but written in a month so set your expectations accordingly.)
6 notes · View notes
sibyl-of-space · 5 days
Text
Shelter 2
2K notes · View notes
sibyl-of-space · 5 days
Text
Skeletor has forever destroyed our ability to come up with voices for skeleton characters.
27K notes · View notes
sibyl-of-space · 7 days
Text
circling back around to the issue of writers being expected to do all their own goddamn marketing via social media these days, because it completely nixes the possibility of writers being weird shut ins, off-putting eccentrics, or misanthropes. 80% of the literary canon was written by weird shut ins, off-putting eccentrics, and misanthropes. if you weed out everyone who’s the wrong kind of insane to maintain a twitter presence, who on earth is left
60K notes · View notes
sibyl-of-space · 7 days
Photo
Tumblr media
51K notes · View notes
sibyl-of-space · 7 days
Text
i need people do do me a favor and be absolutely normal about it
31K notes · View notes