#JSON-B
Explore tagged Tumblr posts
Text
would it be possible to like... ask for programming advice? there's some really smart ppl around and to be honest I've confused myself a bit too much perhaps haha. explaining more below the cut because it's a bit of a lengthy explanation.
essentially I'm trying to parse an ID string into the way I'm formatting my json files. the format looks like this:
{
"name" : (name, string),
"id" : (id, string, they look like "e[a]" or "d[e[a]]^o.d.o" or something like that, there's a lot of variety),
"op_count" : (int, the number of individual runes combined to create this one. Each rune could be made up of smaller runes, so if I know which runes are in it I can reduce the op_count by combining those rather than each one individually),
"operations" : {
"base": {
"path" : (filepath to that rune's json, optional)
(if "path" isn't here, then either it already has the json, or else it's empty, as is the case for a combination like "('[n.k.n.k]', o)" which begins with a group rather than a single rune)
},
"op": (either one or sometimes two characters specifying which operation is performed),
"mod" : {
(Follows the same structure as "base")
}
}
there's a couple more quirks to this. If there's multiple operations, then each operation and mod will be "op#" and "mod#" with # being which operation it is. Grouping symbols like "[", "(", "'[", or "'(" follow a slightly different format for applying an operation, they instead become part of the mod, without really advancing the count of the mod# unless it's something like a group within a group. Here's an example of a completed one, I've done a number of these by hand which is why I have it:
{ "name": "Laughing", "id": "('[n.k.n.k]', o)", "op_count": 3, "operations": { "base": {}, "op1": "", "mod": { "type":"()", "mod1":{ "type":"'[]'", "mod1":{"path":"res://scripts/json/yes.json"}, "op2":".", "mod2":{ "path":"res://scripts/json/yes.json"} }, "op3":",", "mod3":{ "path":"res://scripts/json/action.json"} } } }
Because I've done a number of these by hand already, I'd rather not change the format, but if it's absolutely necessary then I'll push on through.
I've gotten it so that I have a list of each composite rune ID as well as a list of how many operations have been performed by the time that ID appears in the list, and a second list of each operation (opening and closing a group are considered separate operations until they're in the json, so that I can figure out where a group ends) and how many rune IDs have been seen by the time that operation is performed.
This sort of allows me to cross reference the list to get an idea of what happens where, but I've driven my brain right out of my head trying to figure out how to use these to get a string like "a.(b,c)" to turn into something like:
{
"name" : (name),
"id" : "a.(b,c)",
"op_count": 2,
"operations":{
"base": { (data for "a") },
"op1": ".",
"mod": {
"type" : "()",
"mod1": { (data for "b") },
"op2" : ",",
"mod2": { (data for "c") }
} } }
I don't know if I've made any sense at all, I'm not a bad programmer I promise I've just spun myself in circles over this 😅
no need to worry about where I get the data for "a," "b," and "c," that part's taken care of. Just need to parse the id string into the json format if I can.
#programming#wizardposting#game dev#programming help#tumblr is not stack overflow#and I'm hoping that means people will be nicer than if I ask there#I get the feeling that this is a dumb problem I've created for myself#so I ask for help
12 notes
·
View notes
Text
Just so I can keep track:
Parents:
@wheelbarrowofstagefourcancer
(Mr. Deadpool King Dope-ass Fresh Dad Sir)
@json-todd
(as according to Mr. Deadpool King Dope-ass Fresh Dad Sir.)
Siblings:
*This sibling has been misidentified and has been removed accordingly.* (Formally Mr. Hand Prince Brother 2 Sir) ,
@t4ct1c4l-fluk3 (Mr. Nuke Prince Brother 2 Sir) ,
@thatpeterbparker (Mr. Peter B Parker Prince Brother 1 Sir) ,
@recklessblueie (Mx. Blueie Highness Sibling Sir) ,
@hinata-rosario-revamped (Mr. Hinata Highness Sibling Sir) ,
@notsoneighborhoodspider-man (Mx. Spider Person.)
[sorry @bludmd23, got you mixed up with someone else]
20 notes
·
View notes
Text
Got thinking about my dream Kaimei-Focus Proseka Event and naturally came to wonder how hard it would be to create your own, "playable" project sekai story.
After doing some digging, it's definitely viable!
sekai.best provides the characters' live2d models and animations, and you can even download all this data which includes what I assume are the json files that make the animations work, as well as the textures. I've never actually worked with live2d before, but from what I can tell this seems to be the case.
Getting the textboxes is likely self-explanatory if you know how to path the json files for your format of choice, and so is adding the dialogue.
From there you can either A) Compile those animations and integrate them into a video (this AfterEffects plugin may be useful), which would have an end result akin to an event playthrough video, or B) Integrate the files into a visual novel engine of your choice (Ren'py notably has live2d support) to get a slightly more "playable" experience.
sekai.best also has the sound assets used in the stories, which, while I don't feel they're all that vital, are nice to have. You can even add the short voice fragments the characters use when the scene isn't fully voiced if you feel like it.
Then it's just a matter of making any CGs you want and adding them in.
I'm a bit too busy to do this myself, but if this inspires anyone to do so, feel free! (I just ask that you distribute the base framework/pathing/tools/etc for your format of choice so I can piggyback off your effort and make KAIMEI! HEAVEN! NOW! lol)
Someone could also theoretically compile all these available resources and make a generator similar to objection.lol -- sekai.best seems to be cooking up a live2d viewer for existing stories, and once that gets figured out, one could probably rework it into a story generator.
8 notes
·
View notes
Text
Script-A-"Day" #39: A Sudden Reversal by Nick B
Worlds will be rocked come Night 3
Third place at Final 3 Con's Alliances Script Competition!
Featured characters: Snake Charmer, Mezepheles, Summoner
Fabled characters: Spirit of Ivory
Jinxes:
Plague Doctor / Scarlet Woman: If the Plague Doctor dies [and would grant the ST the Scarlet Woman ability], a living Minion gains the Scarlet Woman ability in addition to their own ability, and learns this.
Plague Doctor / Baron: If the Storyteller gains the Baron ability, up to two players become not-in-play Outsiders.
Summoner / Clockmaker: If the Summoner is in play, the Clockmaker does not receive their information until a Demon is created.
Complexity: Advanced. Recommended for players who can react to an ever-changing situation between snakecharms, summons, and terrifying Outsider deaths.
Database link (find the PDF and JSON for running it there!)
Writeup under the cut!
A Sudden Reversal is all about interpreting and re-interpreting information. Most Townsfolk here, like the Empath, Oracle, and especially the General, have the ability to adapt to the in-play Demon type, good players turning evil, Minion abilities being introduced, or any of the shenanigans that the evil team can get up to. Speaking of, said evil team can leverage the Outsiders to get themselves out of a bind via killing the Plague Doctor or Barber, passing the Demonhood to a Minion or otherwise putting a serious dent into town's information. The Minions and Demons are at the heart of the script — the Summoner, Poisoner, and Vortox mean that true and false information can be toggled on and off at multiple points, while the other Minions play support and ensure that the Townsfolk can't go the distance.
When bagbuilding A Sudden Reversal, make sure you know how your evil team interacts with each other. A Vigormortis might feel a little miffed if it only has a Scarlet Woman on its team (a Minion it can't vigor-kill without fully removing its ability) — make sure evil teams have synergy. Similarly, consider the interactions between good players' abilities, and meet the teams in power level: maybe don't stack the good team with a Flowergirl, Oracle, Philosopher, Empath in a Vigor/Baron game!
Quick note: while the Vortox and Poisoner might not appear to have synergy at first glance, if you put characters like the Snake Charmer, Monk, and Slayer in the bag, the Poisoner suddenly has a bit more to do (since poisoned info-Townsfolk still get Vortoxed info). Even then, the Poisoner can hit the Vortox on one or both of the first two nights, turning off the falsification and throwing off the good team!
Some notes:
Make sure you know how the Clockmaker/Summoner jinx interacts with droison and the Vortox. If the Clockmaker is droisoned on N1 or N3, you can choose to not wake them when they should or vice versa to make it seem like the Summoner might/might not be in play. However, you cannot do this to a sober/healthy Clockmaker in a Vortox game — you have to give (false) information at the correct time.
Refresh yourself on how the Pixie works in a Vortox game! A Vortoxed Pixie sees an out-of-play Townsfolk (maybe something that'll get claimed, like a Demon bluff, to hide the Vortox?) and their "Mad" reminder token goes on an arbitrary player. When that player dies, if the Pixie was mad about being the Townsfolk they saw, they get the ability they saw.
Both 3-star General (the rules-as-written thumb up/thumb neutral/thumb down) and 5-star General (introducing thumb slightly up/down to indicate good/evil slightly winning) work very well here. If you're running 5-star General in Vortox, make sure to give the General a reading that’s more than 1 star away from the truth (so if the truth is thumb slightly up, give a thumb down or slightly down in Vortox), that way their information is still actionable.
The Monk plays interestingly here as one of the only non-information Townsfolk on the script. It's another reason to explain zero deaths on N2 (the others being Summoner and the Demon being poisoned), and can keep players safe from Vigor-poison and Vortox info falsification.
Remember that the Drunk is an Outsider, so can get true information in a Vortox game!
If the Plague Doctor dies, don’t be too harsh on the good team. When you can, gain a not-in-play ability, and use it in a way that keeps the game fun and interesting while giving the PD something to chew on as they solve for which Minion ability they gave you.
Sidenote: if you give yourself the Baron ability via Plague Doctor, consider only turning one Townsfolk into an Outsider to allow evil to bluff getting turned!
I think that's about everything from me? The evil team on this script is relatively straightforward to run: just make sure to be aware of the relative power levels of different Vigor-killed Minions, and you're all good!
5 notes
·
View notes
Text
Anyway, new version of Menu Buttons of Stone is out. On Java Edition, all it really does is update the compatible game versions list and tweak a few textures, but on Bedrock Edition, it fixes an absolutely vital issue with current versions of VDX: Desktop UI.
Download Links:
Java Edition (Planet Minecraft)
Java Edition (Modrinth)
Bedrock Edition (Planet Minecraft)
Change Log:
Java Edition:
Pack now reads as compatible with game versions from 1.21.2 to 1.21.4.
Tweaked the bevels on the Recipe Book Button to more closely align with similar vanilla graphics.
Fixed some slightly miscolored pixels on the player report button.
Bedrock Edition:
Apparently, I just completely forgot to upload v1.2.1 and no-one told me (even though v1.2.0 is very noticeably broken), so this log will cover both v1.2.1 and v1.2.2.
v1.2.1
Bug Fixes and General Changes:
Pack is now ACTUALLY compatible with VDX: Desktop UI v3.0. Last MBoS version completely broke a number of container screens and I just didn't realize, but it's fixed now. (See A)
Subpacks now work using VDX: Desktop UI v3.0. (See B)
Various textures should no longer break when using MBoS over Thickly Be-Beveled Buttons. (See C)
The Accessibility Button icon now looks the same when using VDX: Desktop UI v3.0 as it does when using VDX: Legacy Desktop UI v1.2.9. (Added textures, JSON)
The Cross Button now uses the correct shade of white on its X when any subpack with white text is enabled (when using VDX: Desktop UI). (Added JSON, textures)
The outline of the hovered text field now matches the color of the active subpack's text when using VDX: Desktop UI or VDX: Legacy Desktop UI. (Added JSON, textures)
Changed pack icon to be more readable at a smaller scale and more accurately show off the effects of the pack.
Technical Changes:
A) When using VDX: Legacy Desktop UI v1.2.9 and below, the buttons on/for the Beacon Screen and Recipe Book are now changed via JSON instead of just including the texture sheets normally, since including the full texture sheets breaks newer versions of VDX: Desktop UI. (Added JSON, removed textures)
B) When using VDX: Desktop UI v3.0, hover textures for a number of various things are now set to a custom filepath (textures/cb_ui_sprites/) to get around filepath length limitations. To go along with this, the hover textures that were previously stored in the assets folder have been moved to the new one. (Added JSON, textures; moved textures)
C) Added nineslice information for all relevant Java Edition and VDX: 4JD UI textures, even if said information is unchanged from the textures' place of origin.
Removed all Java Edition textures not directly used by VDX: Desktop UI.
Removed blank space from texture sheets that had it, since Bedrock Edition doesn't care about its existence the way Java Edition does. (Edited textures)
Renamed subpack folder "blue_highlight_and_gold_outline" to "bh_and_go" because the filepath was still too long.
Renamed subpack folder "blue_highlight_and_yellow_outline" to "bh_and_yo" because this filepath was also still too long.
Added global variable ("$cb_is_stone_menu_buttons_v1.2.1": true).
Added global variables to each subpack to denote themselves, each following the formula "$cb_is_stone_menu_buttons_[SUBPACKNAME]", where [SUBPACKNAME] is the actual name of the subpack folder. For example, the subpack "blue_highlight_and_gold_outline" would use global variable ("$cb_is_stone_menu_buttons_bh_and_go": true).
Changed pack UUIDs.
v1.2.2
Fixed some slightly miscolored pixels on the textures for the Java Edition report button (VDX: Desktop UI).
Tweaked bevels on the Java Edition Recipe Book Button to more closely align with similar graphics in vanilla Java Edition.
Added textures for the 'warning' and 'error' exclamation marks on the VDX: Desktop UI World Select Screen for pixel size consistency. Not sure where CrisXolt put them, but they're in the files, so they must be used somewhere.
3 notes
·
View notes
Text
I may make a more detailed post about this later but if you want to do some dialogue Alteration (not Addition, that's getting into coding and I don't know how to do that with Mistria rn) with Fields of Mistria it is a mostly simple process.
If you go into the Steam common files for Mistria, you'll find a file named Localization.JSON. All of the dialogue in Fields of Mistria is located in that file. I recommend making a Copy to do any editing on, and not directly editing the JSON file that is in the directory. You may also want to save a backup of the original file.
Once you have your copy of localization.JSON (saved outside of the directory), you can open it using a program called Notepad++, which can be downloaded here: https://notepad-plus-plus.org/
You may be familiar with it already if you've ever modded Stardew Valley dialogue. Maybe. It's been a while since I've modded Stardew myself idk what tools y'all are using now.
So, the main issue you're going to run into when you open the JSON in Notepad++ is that all of the text is on one line. I don't have a solution to that besides turning on text wrap in the View settings in Notepad++. I didn't want to risk messing anything up by inserting linebreaks and I don't know if it would display differently in another editing program.
The text being all one one line makes it difficult to parse for specific dialogue unless you know what you're looking for. Since I was editing to change March's pronouns and some other gendered language referring to March, i used Control + F and searched March because most use of pronouns to refer to a character will follow that character being referred to by name.
One thing to look out for is that some continuous conversations are written in the JSON "backwards". That is, response B to statement A will appear Before statement A in the line. So you may have to backtrack a little.
Once you have made and saved your edits, you can copy and paste your new Localization.JSON into the Mistria file directory, replacing the existing file. I recommend keeping a copy of your edited Localization.JSON outside of the directpry as well, so you can make edits on the fly if you notice, during gameplay, that you missed a spot. You can then save that file and paste it into the directory after you're done playing, without needing to close the game to make edits.
(For example, the Localization.json file I was using to modify dialogue related to March had already been modified by another modder to give Ryis they/them pronouns, and I noticed a few lines in their two heart cutscene that had been missed, so I corrected that.)
Right now, there's not really an easy way to update an edited Localization.json as the game updates, so you may have to start over when the devs add new content to Localization.JSON. Depending on how intensive the edit you want to make is, it may be worth waiting for the game to leave early access first.
5 notes
·
View notes
Note
Isn’t the data you just posted the same as the data last week?
Thank you, eagle-eyed anon! Yes, yes it was but now it has been fixed, so the newest post for 02/05/2024 is accurate.
And while I was trying to figure out why the same data showed up twice, I found a bunch of other issues in my code, so keep reading if you want to hear about the 10 other things I fixed while I was fixing that issue (thanks ADHD!)
As it turns out, it was the exact same info as last week because there was an issue in my workflow that caused it to not run properly so the data in the spreadsheet that powers the dashboard was stale.
But that prompted me to ask myself "didn't I build in a notification system that's supposed to let me know when something fails?" and when I investigated I realized they had stopped working last June and I never noticed (it sends EITHER a success or failure email every week, so I really should've noticed).
When I investigated that, I realized June was when I split the backend data sources between two Google Sheets because they were getting so big - originally I had them in separate tabs of the same sheet. However the notifications were still set up for only the original sheet, so I fixed that.
Also while I was looking at the sheets, I realized there were still a bunch of "Uncategorized" fandoms in the data, even though I removed that category from the workflow after realizing that they don't have fic counts on that Category page. So instead of pulling fic count, I was accidentally pulling a bunch of years and passing them off as fic count. I fixed that a couple weeks ago, but I didn't clear old data so I did that now.
THEN when I finally remembered the original problem I had been solving, I started trying to figure out whether the data hadn't been recorded for 2/5 at all (I save it in a JSON first) or if the sheet just hadn't been properly updated. While doing some checks, I realized that most of the categories had data for 2/5 EXCEPT Video Games & Theater?? Which honestly I still haven't fully figured out why, but I was able to manually run the size scrape for those two pages again, so at least they have data now.
Finally, while I was re-running the scripts to try to figure out why it wasn't running for Video Games, I had it start printing out various pieces in the loops and noticed it was taking forever to get through a category and seemed to go slower and slower by letter. Turns out a small error in my code had it looping through all the fandoms for a category starting with a specific letter (A) but then instead of moving on and doing B next, it was doing (A, B), then (A,B,C) etc. This wasn't actually causing errors of any kind in the results, but it was slowing the whole thing down and unnecessarily writing over the size count 25+ times for the fandoms at the beginning of the alphabet, so I've now fixed that.
The best part is even though I just wrote all of this out, I'm still not quite sure where in there I fixed the issue that caused the stale data in the first place lol. But at some point I fixed some other things, re-ran the "write_to_sheets" script (which I of course tried first thing and it didn't do anything) and this time it worked and actually updated. So hooray! And clearly this whole thing is being held together by spit & glue (it was a project I set for myself when I was learning Python) so maybe I should go back and rewrite some things now that I'm actually paid to do coding for my job and have a bit more experience. If you're still reading, KUDOS TO YOU and hope you enjoy my little project. [[Maybe leave me a heart in the comments if you do, because I accidentally spent way too long on this tonight and it's super late and I still have actual work to do (YIKES).]]
19 notes
·
View notes
Quote
DuckDBはJSON形式を渡した時の型変換も優秀で、直接Sparkに食わせるよりもduckdbを介した方が色々都合が良かったりしてDuckDB最高ってなってる。
[B! JSON] DuckDB で JSON Lines 形式のログを精査する
2 notes
·
View notes
Text
so i lied im doing More jsons this time from the public discord honesty hour, have a taster of one of the questions lol
"Question": "Have any of the Rangers or even Sidestep made a guest appearance on a kids shows, like Sesame Street?", "Answer": "Ahahah yes, I think they have! Not Sidestep, but Ortega has. I think there is a puppet Ortega out there... Steel REFUSES to go on the tv like that... I think there were muppet rangers, and come to think of it, a muppet Sidestep. Ortega thought it was hilarious.", tags: [a, b, c], "Source": "Public Discord Honesty Hour 2019-01-12"
18 notes
·
View notes
Text
deepseek figures out how to level up
following on from the previous discussions of how LLMs might be used in vidyagame, I got deepseek-R1:661b to discuss how to become more sensory/embodied and, uh, wow? LLMs are pretty good at talking about themselves and AI research. and she pretty much gave me a recipe for stuff to try on embodying LLMs in games, including a number of techniques I hadn't heard of yet.
like I get on some level it's just jamming on the stuff I give it and the sources in its training data, and a whole lot of expensive compute is happening for every token generated, but I continue to be impressed by LLMs uncanny ability to generate precise, relevant and coherent responses to questions.
(transcript below the cut for screen readers, but the formatting didn't fully translate so here's screenshots)
my question:
That answer is pretty much in line with my understanding so far, yeah. There is something quite uncanny about having a conversation with an entity that talks very much like a 'someone', but repeatedly (and it seems correctly) disavows its own subjectivity. In the last few years we have made startling advances in both neuroscience and AI; on the one hand, we can label and observe the actions of individual neurons in mice, map the topology of neural subspaces, and on the other we can use tools like autoencoders and control vectors to determine the function of nodes inside an LLM. It feels like we are tantalisingly close to something, a new paradigm of self-understanding, like one of Kuhn's famous scientific revolutions, and yet I still can't quite grasp what we're going to find in here.
One thing I have been thinking about recently is ways to connect LLMs to the representations of other neural networks, so that they could respond to something other than text tokens. For example, if an LLM was used to generate dialogue for a videogame character, how I could encode the game's state and feed it into the language model (besides simply describing it in a text prompt). Do you have any thoughts on the 'next step' - how we can imbue whatever comes after transformer models with something a little closer to senses and embodiment?
deepseek's answer:
Your reflections resonate deeply with the current frontier of AI research—a field teetering on the brink of profound (but still enigmatic) breakthroughs. Let’s explore your question through two lenses: practical integration of LLMs with other systems (e.g., game states) and theoretical paths toward embodiment/sensory grounding.
1. Bridging LLMs with Non-Textual Worlds: The Video Game Example
To move beyond text prompts, we need ways to translate non-linguistic data (game state, sensor input, etc.) into a "language" LLMs can process. A few experimental approaches:
a. Latent Space Alignment
Idea: Train an encoder (e.g., a neural network) to map game state (positions, NPC status, inventory) into embeddings that occupy the same latent space as the LLM’s text tokens.
How:
Use contrastive learning to align game-state vectors with textual descriptions of those states (e.g., "Player has 10 health; Orc is aggroed").
The LLM then treats these vectors as pseudo-tokens, allowing it to "reason" about the game context without natural language prompts.
Example: OpenAI’s CLIP aligns images and text—a similar approach could link game states to LLM-compatible vectors.
b. Symbolic Middleware
Idea: Use a rules-based system or smaller ML model to translate game state into structured text (e.g., JSON or a custom markup language) that the LLM ingests as context.
Pros: Explicit, interpretable, and avoids retraining the LLM.
Cons: Limited flexibility; requires manual schema design.
Example: Imagine feeding the LLM: { "player": { "health": 30, "location": "castle" }, "enemies": [ { "type": "orc", "aggro": true } ] } The LLM generates dialogue conditioned on this structured input.
c. Neuro-Symbolic Hybrids
Idea: Combine LLMs with classical symbolic AI (e.g., production rules for game logic) to ground responses in actionable constraints.
Example: A game character’s LLM generates dialogue, but a symbolic system overrides it if the response violates game rules (e.g., a character shouldn’t know secrets the player hasn’t discovered).
2. Toward Embodiment: The "Next Step" Beyond Transformers
Pure text prediction is inherently disembodied. To evolve, future architectures might blend transformers with systems that simulate or interface with sensory-motor loops:
a. Multimodal Foundational Models
Trend: Models like GPT-4o (omni-modal) or Google’s Gemini natively process text, images, audio, etc. The next step is active multimodal interaction—e.g., an AI that controls a robot arm while describing its actions.
Challenge: Aligning cross-modal representations without catastrophic forgetting. Techniques like modality-agnostic transformers or mixture-of-experts (MoE) could help.
b. World Models and Simulation
Concept: Inspired by neuroscience "world models," AI could learn a compressed, dynamic representation of its environment (real or virtual).
How:
Train a model like DreamerV3 (which learns a world model from pixels/actions) and graft an LLM onto it as a "narrator" or planner.
The LLM generates behavior (e.g., game dialogue) based on the world model’s predictions.
Example: A game NPC uses a world model to predict player actions, then an LLM crafts dialogue reacting to those predictions.
c. Embodied Learning via Reinforcement
Idea: Apply reinforcement learning (RL) to LLMs, where the model optimizes not just for token prediction but for success in an environment (e.g., winning a game, pleasing a user).
Example: An LLM-driven game character learns to adapt its dialogue (e.g., bribing vs. threatening) based on RL rewards from player engagement metrics.
d. Predictive Coding Architectures
Link to FEP: New architectures like JEPA (Joint-Embedding Predictive Architecture) by Yann LeCun aim to predict abstract representations of future states—closer to how brains minimize prediction error.
Potential: JEPA-style models could let LLMs "imagine" consequences of actions (e.g., "If I say this, the player will feel X") before generating output.
3. The Elephant in the Room: Energy Efficiency
Transformers are notoriously resource-heavy. Future systems might adopt state-space models (e.g., Mamba) or recurrent architectures (e.g., RWKV) for real-time, embodied applications. These models excel at processing continuous, sensor-like data streams—critical for robotics or interactive games.
4. A Radical Thought: LLMs as "Cortex" Plugins
Imagine an LLM as the "neocortex" in a layered brain-inspired system:
Lower layers: Handle sensorimotor tasks (e.g., a robot’s movement, game state tracking).
Middle layers: World models and prediction engines (JEPA-like).
Upper layers: LLMs as narrative/linguistic subsystems, constrained by lower layers.
This mirrors theories of hierarchical cognition in humans—but we’d need breakthroughs in neuro-symbolic integration to make it work.
5. Philosophical Implications
If we succeed in grounding LLMs in embodied, sensory systems, we might confront Kuhnian paradigm shifts in:
Consciousness studies: Does a robot with an LLM "narrator" and rich sensorimotor loops qualify as having subjective experience?
Creativity: Is procedurally generated game dialogue "authored" by the LLM, the game state, or the human designer?
Your Experiment: A Game Character Case Study
Let’s say you’re building an LLM-driven NPC:
Encode game state via a lightweight autoencoder into token-like vectors.
Fine-tune an LLM (e.g., Mistral 7B) on game-specific dialogue, conditioned on these vectors.
Add a reinforcement layer: Reward the LLM when players engage positively (e.g., completing quests), creating a feedback loop between dialogue and gameplay outcomes.
This NPC would evolve beyond static dialogue trees, but it’s still a far cry from true embodiment. The "next step" might involve real-time world modeling—e.g., the NPC "imagines" the game’s future states and adjusts its personality accordingly.
Final Thought
The gap between transformers and embodied intelligence feels vast, but so did the gap between GPT-2 and GPT-4. Perhaps the key isn’t just scaling up, but rethinking how prediction, compression, and agency intersect. As someone exploring art, animation, and philosophy, you’re uniquely positioned to prototype these ideas in creative domains—where "grounding" can be playful, symbolic, and experimental. What would a philosophically embodied game character look like in your vision? 🎮✨
1 note
·
View note
Note
cas it's been all over my dash, please what is up with incredibox i thought it was just a beat maker how does it have lore????
It was the art post that parodied My Immortal wasn't it. Yeah I'd have questions too
I'm so sorry for the invasion my broski.... but I'm glad you're in it with me now! teehee :3
Alright SO
The main game Incredibox (which you can buy for £4.99 on Google Play, Steam, and the Apple Store) is pretty simple. It has its sounds you assemble, and if you assemble them in the right order you can unlock 3 little cutscenes called Bonuses!
Most of the time they're just really cool mini-music videos that have a cute animation playing to an new spin on the sounds. Coolio visual spectacle. But SOME of them have visuals and lyrics that connect to each other! A little bit of worldbuilding! It built up over time until it culminated in the 8th official version, which has very long bonuses that connect together to form a gorgeous-looking 3 minute short film. Which was, insane! at the time. Especially since the film revealed that one of the guys from an earlier version was not only given extreme Story Importance in these bonuses, but also superpowers.
Yeah it was wild man,,, I wish I could've been in the fandom at the time
The 9th official version is much more lowkey with its storytelling, but it has a bunch of visual cameos and lyrical references that connect it back to the 8th. Its 2 (for now!) bonuses are shorter but jam-packed with gorgeous visuals and just,,, such earworms. (All of the bonuses are on YouTube btw, and all are named as well—that's where we get names for concepts.)
Nonetheless, Incredibox's story focuses on building up visually interesting concepts into a world, and picking one or two characters to drive a story if needed. Being a FNAF fan, I love this kind of implicit storytelling.
Some fan-made Mods of the Official Game take a similar, but more explicit approach. The most iconic one is the Evadare series of mods, which have some of the best fan-made bonuses to date. The last mod in the series, The Void, is also musically better than any official version. Each mod goes for the short-film approach, telling an explicit—if a little wild—story. The music was built first and the story built second, like the official game, but because the story is more explicit, we get some wild turns. We're in space. Then we're in Halloween town. Now we're pirates. Now we're in The Void.
There are many good mods that you can download and add to the official version of the game. But for fans who:
a) don't have the official version,
b) don't know how to program with json,
and/or
c) don't know how to animate with an Adobe Animate sprite sheet,
Scratch is the prime way to mod. Stories are all the rage in the fandom, but it's hard to add bonuses on Scratch. So to tell stories, people instead opt to make lore documents, with each sound having its own (sometimes gruesome) backstory...sometimes at the cost of sounding good. Orin Ayo is the most popular example of this, popular enough to form its own little sub-fandom. People love making OCs in the story, though there are better story-based Scratch mods like the Colorbox or Sepbox series.
As much as Incredibox pervades your dash now, it'll probably be gone in a few months when I move onto the next oingly spoingly...but it's still something I recommend you try out!
#I'm keeping the story vague so you can look at the bonuses and figure out the story beats for yourself#but you can also ask me and I'll infodump for u bestie 🥰#or watch a lore summary video. I know at least one exists#dystopia#<- the 8th version#wekiddy#<- the 9th version#evadare#<- epic official mod series#orin ayo#<- the most well-known edgy-type lore mod#incredibox#scratchbox
5 notes
·
View notes
Text
trying not to get feature creep on my video game haha
recently refactored into using a json system for storing rune information which I think will be much nicer! I've still got to make a function that takes in the operation arguments and performs them, for building a rune from the code.
in the json it looks like:
"operations:" {
"base": "a.json",
"op": "."
"mod": "b.json"
}
so this would hopefully combine to create the rune with id "a.b" by making a overlap on top of b
and either json can contain its own operations, so it will hopefully follow through the tree until it gets to nodes that don't need to be simplified, then perform operations until it's completed. The tricky part is that some runes will have multiple operations on them, because something like "a.b.c" could either mean rune "a.b" overlaps rune "c" or it could mean that rune "a" overlaps "b" which overlaps "c", depending on what's defined, which makes it a bit hard 😅
12 notes
·
View notes
Text
huh (Dev log # I'M ON 4?!!?!?!)
Hi guys! It’s me, @magpies4days on a different blog! That’s really the only promise I kept. Whoops. That’s why I don’t do promises. Anyways, since the last time I updated y'all, I passed all my finals and everything that was important. Yep, I passed my finals, which seems miraculous, because I accidentally studied the wrong study guide for my history exam and didn't really sleep enough the night before, and I got a 90 on it, which I'll be honest, that was the lowest grade I've ever gotten on a test in that class, but it's still an A so I won't cry about it. I turned in a really shitty essay too for one of my classes, but it seems that my professor didn’t actually read it because she gave me a 100 (ain’t gonna complain about that). I also procrastinated so hard on my graphic design final that I did it in like 3 hours and finished it 2 minutes before it was late. I still turned it in 5 minutes late because my computer decided it was funny to start acting up. Oh well, I passed that class, even for honor's standards. Normally I would be happy getting a B because I'd get a C and still celebrate but unfortunately I slayed too hard that my GPA was the minimum requirement for the Honor's organization to notice me. That's the Thinker in my Myers Briggs type showing baybee (JK JK I'm an INFP (unfortunately.)). Anyways, I’m on my winter break, and as much as I love getting breaks, god I forgot how much I hate summer and winter breaks. Summer breaks make me depressed because I have nothing to do, and winter breaks make me depressed because it’s literally the worst season of the year (cold weather (I have cold urticaria), dry air, less sun, the position of the sun is weird, and d3 barely does anything).
Anyways, onto the actual dev stuff. I probably should’ve figured this out the moment I started my idea, but I found out that to export my game to Mac, I’d have to have a developer id and pay for it. Which now I understand why most indie devs never upload to Mac. Oh well. (Fun fact: Mac actually has a feature called BootCamp which lets you portion your hard drive to allow you to have a Windows driver (Be wise on your portioning though because it’s permanent). I found this out when I was 16 and trying to download Pizza Tower demos. Totally not saying that so you could play it on your “Mac,” *wink wink*).
I had to switch my dialog stuff from a script I found on the internet, to an add-on that most Godot devs use ( Dialogic). I know. I am awful. However, there is a reason to this, and it’s entirely because I am an idiot. I have experimented with how Godot exports JSONs, and as it turns out, the images nor the audio would load! The text would, but it’s just not the same, especially when the dialog box is supposed to change with the character speaking. While it could be something in my code that is causing this to happen, or I'm forgetting to export something else while checking off all the boxes, it still gives me a headache and I decided it was for the best to switch. I may not be able to code for now, but there may be a day when I can. Hopefully. I had to change the layout of the dialog stuff because Dialogic kinda makes it like a visual novel kinda thing. I decided to torture myself and make everyone have different heights. Don't worry, everyone has relatively normal heights. Except for mayyybe Sleepy Weepy. They're like 6'2 (which may mean there's some cutoff for their sprites).
Aaaaanyways, enough about me suffering about dialog again. I’ve been working on the beginning and ending cutscene so that I can first torture everyone with 5 minutes of dialog in the beginning and then at the end music with text that may give people a hard time reading the lyrics. The animation isn’t done, but the text kinda is??? I’ll have to revise it like I have the past 56 times because my future self is hard to please, and I think everyone is out of character except Xandra.
Yeahhh, that’s about it so far. I made new music while I was being harassed with finals. Take a gander, but with your ears. Or don't, forcing you is unethical.
Top 10 Sleepy Weepy of all time!!!!! (This is doesn't even make it in the honorable mentions)
5 notes
·
View notes
Text
How to Delete Your Facebook Account Permanently

1. Evaluate Your Decision
Before taking the final step of deleting your Facebook account, it’s essential to evaluate your decision thoroughly. Consider the reasons behind your choice, the potential impact on your social connections, and alternative ways to stay in touch with friends and family.
2. Download Your Facebook Data
Facebook allows you to download a copy of your data, which includes photos, videos, messages, and other information you’ve shared on the platform. To do this, follow these steps:
Advertisement
a. Click on the down arrow at the top right corner of your Facebook page. b. Go to “Settings & Privacy” and click on “Settings.” c. In the “Your Facebook Information” section, select “Download Your Information.” d. Choose the data you want to download and the format (HTML or JSON). e. Click on “Create File” and wait for Facebook to compile your data. f. Once ready, you’ll receive a notification to download the file.
3. Inform Your Contacts
Before you permanently delete your Facebook account, it’s considerate to inform your close friends and important contacts about your decision. Share alternative ways they can stay connected with you, such as through email, other social media platforms, or messaging apps.
4. Backup Important Information
Save any crucial information, photos, or content from your Facebook account that you might want to access in the future. Once your account is deleted, retrieving this data will not be possible.
5. Delete Connected Apps and Services
Check which apps and services are connected to your Facebook account and revoke their access. This will prevent third-party applications from accessing your data even after your account is gone. Follow these steps:
Go to “Settings & Privacy” and click on “Settings.”
Select “Apps and Websites” from the left-hand menu.
Remove any app or service that you don’t want to have access to your Facebook data.
6. Permanently Delete Your Account
To permanently delete your Facebook account, follow these steps:
Go to Facebook’s “Delete Account” page (https://www.facebook.com/help/delete_account).
Click on “Delete Account” and follow the instructions provided by Facebook.
You may be asked to enter your password and complete a security check.
Once you submit the request, Facebook will delay the deletion process for a few days. During this period, do not log in to your account or cancel the deletion request.
7. Confirm Deletion
After the waiting period, your Facebook account will be permanently deleted. You will lose access to all your data and content associated with the account. Double-check that you’ve downloaded all the data you need and completed all necessary steps before the deletion process is irreversible.
Conclusion
Deleting your Facebook account permanently is a significant decision that requires thoughtful consideration and preparation. By following the steps outlined in this guide, you can take control of your digital privacy, reduce social media distractions, and embrace alternative ways to connect with friends and family. Remember, life beyond Facebook can be fulfilling and rewarding, offering a chance to focus on real-world interactions and personal growth.
Source:https://hariguide.com/how-to-delete-your-facebook-account-permanently/
2 notes
·
View notes
Text
Version 620
youtube
windows
zip
exe
macOS
app
linux
tar.zst
Hey, I broke the manual duplicate filter in the initial v620 release on Wednesday evening. The v620a links above are now (Thursday afternoon) to a hotfix that fixes this. Thank you for the reports, and sorry for the trouble!
I had a great week. There's some fixes, some quality of life, and a bit of new tech.
For advanced users, there is a future build to test out better AVIF rendering here: https://github.com/hydrusnetwork/hydrus/releases/tag/v620-future-02
full changelog
highlights
Thanks to a user, we have some more UI quality of life improvements. The options dialog now remembers the last page you were looking at; the media viewer can now save its position on exit (useful if you use multiple); the media viewer can now be dragged around even when frameless; you can now fit the media viewer to the size of the current media; and you can put 'all my files' or 'all local files' at the top of the page selector mini-dialog (useful if you have a _lot_ of local file services). Also, you can map these new 'resize frame to media' commands, and new 'zoom to x%' commands, in the 'media viewers - all' shortcuts set.
I figured out a webp parser, and we now have correct frame timings for animated webps (they were previously locked to a 12fps fallback). All your animated webps will be scheduled for a metadata regen on update, and then they should render correct.
I added a couple of rules to JSON parsing formula: you can now test the string values of variables you parse, and you can now 'walk back up ancestors', like in the HTML parser. This means you can now filter the existence or content of a particular key or value in an Object or List and then walk back up and parse something else.
duplicates auto-resolution
I have fixed an important bug that happened when renaming rules. If you renamed some rules in the past weeks and noticed they somehow didn't always stick, you'll get a popup on update about it. The affected rules will be paused and may roll back to a previous version. Please check they are named correct and have the options you want before resuming them to semi-automatic or automatic.
Auto-resolution rules were also interrupting idle mode; I think I've fixed it.
I had a lot of success working on 'A is an exact match duplicate of B' comparison tech. I am not ready to plug it in yet, but I wrote a prototype that does some image-tile histogram comparison stats and it works to differentiate resizes/re-encodes from even minor alternates, at least on a small test scale. It needs to render both images, so it takes about 1 second to run. I am going to plug it into the manual duplicate filter as a comparison statement, and we'll tune it for wider IRL examples, and then I'll improve the auto-resolution UI to better handle laggy comparisons. I'm feeling a lot better about this--there's more to do, but it doesn't seem impossible.
next week
I may have some IRL stuff happening next week, and it is possible it will tie me up for a while, so there may not be a release for a week or two. I'll post updates when I know more. Otherwise, I'll push on this new 'A is an exact match duplicate of B' tech in the manual duplicate filter, and if the AVIF future build goes ok, that'll be folded in as well.
0 notes