#BeckettEngine

Kawaoneechankawa@mas.to
2026-03-07

Hmm. Tickable is a handful. Maybe I should rename it to (Bk)Node or sumth...

#BeckettEngine #ProjectSpecialK #nonsense

Kawaoneechankawa@mas.to
2026-02-22

Can the #BeckettEngine do first person point and click games ala #myst?

Eh, let's say it's feasible.

A dark hallway with neon lights along the wall goes around a corner into a larger room. A console panel along the top shows a command to enable hotspots. Indeed, two of them are shown.
Kawaoneechankawa@mas.to
2026-02-19

Weird Shit Abounds once more.

Here's a Blender screenshot that says the camera is at rotation 45° by 0° by 112°.

I export this scene, including the camera to an FBX file and try to load it into #BeckettEngine to see if I can load the camera from there.

I have three different options available to me and none of them work.

🧵

Blender showing a camera with rotation 45°, 0°, 112°, located at roughly 58 cm by 19 cm by 64 cm. Only the rotation really matters here. The result is that it looks down in a particular way on a simple test scene.
Kawaoneechankawa@mas.to
2026-01-20

1. Animation
2. Shadowmaps
3. Special villagers' outfits

Decisions decisions.

#ProjectSpecialK #BeckettEngine

Kawaoneechankawa@mas.to
2026-01-19

Figured it was a little overdue to try and run the #BeckettEngine test thing (the engine for #ProjectSpecialK in case you hadn't picked up on that yet) like a proper release. What you can't see here is that in \assets, there's a single data․zip file. That's what all the models and textures come from, as opposed to loose files in a \data folder.

A train car of some kind with overhead posters hanging from the ceiling. From this angle, you can tell there are useless seats in the back that OP really should remove because he's a dumbass. Behind that window is a piece of Windows File Explorer showing how few files are needed to run this, but not showing the single zip archive in the folder.
Kawaoneechankawa@mas.to
2026-01-12

Back in October last year, I switched #BeckettEngine from FMOD to SoLoud for audio, mostly to reduce the amount of DLLs involved. The only ones used ought to be the ones that come with the OS.

At the time I figured it'd be a nice way to avoid DLL replacement attacks.

Sure, that means something like Steam integration is even more off the table than it already was. All this in turn inspired by things like Minecraft mod loaders.

Question is, can YOU think of a way to do it in #BeckettEngine?

Kawaoneechankawa@mas.to
2026-01-12

... now that's an odd thought:

buttplug.io support in the #BeckettEngine.

I can imagine it'd make sense for #SuccubusFarming but I got nothing for #ProjectSpecialK...

Kawaoneechankawa@mas.to
2026-01-04

@kenney I'll add one to #BeckettEngine right now lol

Kawaoneechankawa@mas.to
2025-12-31

Yeah I don't think I'll be porting #BeckettEngine from #OpenGL to #Vulkan lol nooooo thank you

Kawaoneechankawa@mas.to
2025-12-09

Note to self for after sleep: update the readme for #BeckettEngine, that thing is horribly outdated.

Kawaoneechankawa@mas.to
2025-12-04

Should I work on shadow mapping first? Should I work on armature animation first?

Trick question, I'm too afraid to do either.

#BeckettEngine #ProjectSpecialK

Kawaoneechankawa@mas.to
2025-11-29

Amusing as these two screenshots are to me, I find the subject matter reminds me what I've been putting off for #BeckettEngine and #ProjectSpecialK for far too long, and probably will keep putting off for longer: shadow mapping.

I must've studied how to do it ten times now, I could probably recite all but the shader math bits from memory at this point and get it *mostly* right.

But I don't do it. Because I'm afraid.

Screenshot of Blasto on the Playstation 1. The main character, a top-heavy super dude named Captain Blasto approaches a babe he can rescue. She's standing with her back to the camera so you can't see her top. Most importantly, Blasto casts a more impressive shadow than the babe, who merely casts a blurry circle.Screenshot of the Render96 PC port of Super Mario 64 with all the bells and whistles enabled. Mario stands on the railing of the bridge to Princess Peach's castle, overlooking the nearby lake. The lighting and shading is almost flawless and Mario is straight out of the promo and manual art. The lake in the background suddenly cuts off into the skybox, which has more lake that looks nothing like the actual one. The trees are still cardboard cutouts.
Kawaoneechankawa@mas.to
2025-11-17

I don't even know, man.

#BeckettEngine

Kawaoneechankawa@mas.to
2025-11-12

I'm gonna be honest with you all.

Between the fear of failure keeping me from attempting to implement the more important features, the lack of skill in making custom assets, the legal restraints keeping me from hiring someone to help with either of those things, the regret at not finishing my other projects, and what feels like a declining mental state, I don't know if #ProjectSpecialK, or even the #BeckettEngine itself, is gonna get anywhere near a playable state.

Kawaoneechankawa@mas.to
2025-10-23

Fucking around a bit with 2D line shapes in #BeckettEngine before bed.

I dunno, I felt like having these was a nice addition to only individual lines. The circle and polygon originate from the cursor, and the circle is actually an n-gon where n=64. The rectangle doesn't even end up using DrawLine at all.

(ft. a cursor by @kenney. They're good cursors!)

A yellow rectangle, a cyan circle, and a magenta arrow, on a dark purple background. They look a little rough.
Kawaoneechankawa@mas.to
2025-10-23

Okay, so #BeckettEngine right now has an std::vector of game objects (that themselves in turn have child objects in a vector, like a tree).

To delete one, you set its "dead" flag, so they're removed after iteration. To add one you push it into a separate "add these for the next loop" vector...

...Because doing either of these things directly would invalidate the iterator.

How can this be improved?

#c++ #programming

Kawaoneechankawa@mas.to
2025-10-08

Come to think of it, using a DLL springboard to extend the functionality of #BeckettEngine for the sake of a mod would be pretty fucking difficult I think, compared to Koikatsu.

Koikatsu has a .Net core (ouch) and that means reflection and shit. PSK is written in C++. Good fucking luck not breaking shit.

Kawaoneechankawa@mas.to
2025-10-08

Now, #BeckettEngine and therefore #ProjectSpecialK has one non-system DLL dependency: FMOD Ex.

I can't prevent anyone from using fmodex64.dll as a springboard to opening up more in-depth modding capabilities. I know deep down that this is an unwinnable battle.

But I can at the very least not have a "load arbitrary libraries" function in the first place, and disable Lua's ability to read and write arbitrary files, or execute commands. I can at least make things *that* secure.

Kawaoneechankawa@mas.to
2025-10-08

Talking to a friend a few days back about safe and secure software development (because Unity) and I made her a list of all the things #BeckettEngine and #ProjectSpecialK use, grouped by age and trustworthiness.

Thing is, the Unity issue was apparently a thing about loading arbitrary libraries and such, which was an attack vector.

🧵

Kawaoneechankawa@mas.to
2025-09-26

github.com/Kawa-oneechan/becke

It's an engine feature checklist, I suppose.

If you know of anything missing on this list, or want to help me check something off, please let me know.

#BeckettEngine #ProjectSpecialK

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst