Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
@zkat.tech
2.9K followers 740 following 6.5K posts
nb (she/they). boricua. rustacean. newbie artist. 1312. pfp by @kimstramat.bsky.social ✨ wasm @ fastly. Helping make @conjured.ink. Opinions strictly my own.
Posts Media Videos Starter Packs
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
coreybrickley.bsky.social
ye see this shits not inevitable never give up in advance
moreperfectunion.bsky.social
Microsoft has withdrawn its proposal for a data center in a Milwaukee suburbs after community pushback.

After opposition from area residents and elected officials the 244 acre Caledonia project will not proceed.
Microsoft drops Caledonia data center after facing opposition. Company looking for new site
Outcry from residents and elected officials caused Microsoft to drop the Caledonia plan. But the company is seeking an alternative site.
www.jsonline.com
zkat.tech
I will never vote for that man, or anything he proposes, no matter how much I agree with it, as long as it will benefit him personally, unless he does a full 180 and stops being trash about trans people and unhoused people.
zkat.tech
I literally just do not care. Let the damn country go to hell. I'm not on board with leaving *anyone* behind, and if your political strategy is leaving "undesirables" behind because they're inconvenient, then you can get bent, tbh.

Time for some different politicians, I guess.
zkat.tech
Probably just gonna vote *against* the California redistricting Prop 50 just because @gavinnewsom.bsky.social is a transphobic jerk and I will literally just do anything to antagonize him at this point, esp after his veto.

You wanna throw people under a bus? Well, we can throw him under a bus, too.
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
trishusband.itch.io
Go read my girlfriend's sexy space opera! Your queen demands it!
b-saxon.femfactory.tech
Chapter 7 is live on all free platforms! Tremble before me and my super awesome chapter naming skills 😎

www.scribblehub.com/read/1325839...

archiveofourown.org/works/609661...
Cover for my book Mother Of Machines! Mother  (one of main characters) has silver-grey metal plating for skin with some bolts holding it together, brunette bob cut, blue glowing eyes, and blue designs all over her body. Ten cyborg  hands (five on either side) reach out towards her, one with a ruby wedding ring and the other with a lab coat sleeve. Quote on the bottom says “Mother Knows Best”
zkat.tech
indeed! Designed that way from the get-go, but I never got around to going the whole way with it idk.

Building blocks all the way tho
zkat.tech
Big Brain, btw, is designed to be data-oriented, so I might provide an API that lets you define game AI in .kdl files that look like this. It could also, for example, eventually use a hypothetical node editor (thing Blender Geometry Nodes), to define the same data.
Thinker {
    picker FirstToScore threshold=0.8
    when Thirsty {
        GoToWater
        Drink
    }
    when Hungry {
        Eat
    }
    or Bored Paranoid {
        Thinker {
            when EnemySpotted {
                ShootEnemy
            }
            when FlowersSpotted {
                WalkToFlowers
                PickAFlower
                SmellFlower
            }
            otherwise {
                Parallel {
                    Wander
                    HumATune
                }
            }
        }
    }
}
zkat.tech
sure, it's just a code example. I don't really ever use unwrap() myself. And it's definitely a strong programmer error if that .get() fails in this case, so .expect() is correct. A default value would be strictly wrong.
zkat.tech
Oh what a treat. Nona is genuinely so good imo
zkat.tech
I've struggled a lot with getting the right ergonomics down for Big Brain for a long time: combining ECS with Utility AI was always a complicated thing to try to do, but Bevy has some cool new features that might make a lot of this much more doable? I'm pretty sure this sketch is possible now.
zkat.tech
I'm redoing the API for Big Brain ( codeberg.org/zkat/big-brain ), and this is the sketch I have so far.

Any #bevy (and other) folks have any thoughts on how this looks?
#[derive(Debug, Default, Component)]
pub struct Thirsty;

#[scorer_for(Thirsty)]
fn score_thirsty(score: Score, thirsts: Query<&Thirst>) -> Score {
    score.update(thirsts.get(score.actor()).unwrap().thirst)
}

#[derive(Debug, Component)]
pub struct Drink { rate: f32, per: Duration }
impl Default for Drink {
    fn default() -> Self {
        Self { rate: 0.5, per: Duration::from_millis(500), }
    }
}

#[action_for(Drink)]
async fn drink_action(
    action: Action<Drink>,
    mut thirsts: Query<&mut Thirst>
) -> Result<(), ActionFailure> {
    while let Ok(mut thirst) = thirsts.get(action.actor()) && thirst.thirst > 10.0 {
        action.check_cancelled()?;
        thirst.thirst -= action.data().rate;
        action.sleep(action.data().per).await;
    }
    Ok(())
}
fn spawn_entity(cmd: &mut Commands) {
    cmd.spawn((
        Thirst(70.0, 2.0),
        Thinker::build()
            .picker(FirstToScore { threshold: 0.8 })
            .when<Thirsty>
            .then<GoToWater>()
            .then<Drink>()
            .when<Hungry>()
            .then<Eat>()
            .when<Bored>().or<Paranoid>()
            .then<Wander>()
            .and_also_with(|_: actor: Entity, _w: &World| Thinker::build()
                .picker(FirstToScore { threshold: 1.0 })
                .when<EnemySpotted>()
                .then<Shoot>()
                .when<FlowersSpotted>()
                .then<WalkToFlowers>()
                .then<PickAFlower>()
                .then<SmellFlower>()
            )
    ));
}
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
marcelamarts.bsky.social
The Hades franchise has been everything I could’ve wished for since 2020.

I always wanted to thank Supergiant Games with a fanart, but I was always short on… time?

Maybe now, time won’t be such a troublesome thing for me anymore.

Death to Chronos!
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
zkat.tech
Charlie Kirk is dead and can’t be harassed
Charlie Kirk meme that says “necks just do that”, then “this isn’t a call for violence, change my mind”
Reposted by Witch’s Black Kat Marchán 🐈‍⬛🧙🏼
clementeworks.com
I don't have a sign to tap but, now that it's Prime Day again; you CAN disengage from Amazon. It wasn't super easy when I did it a decade ago (it's probably a lot harder now), but it's worth doing.
zkat.tech
I SAID WHAT I SAID, AND BOYFRIEND HOODIES ARE WHAT THEY ARE
zkat.tech
what do you think this is, a tax return? Those hoodies are ours, soz
zkat.tech
ultimately, I think the "skill to learn" here is envelope budgeting, no matter how you decide to do it or what app you use.

Changed my life tbh.