loren schmidt's Avatar

loren schmidt

@lorenschmidt.bsky.social

i make art, mostly with computers. currently working on an open world RPG with roguelike roots and an experimental bent. cat mom. she / her or they / them.

9,658 Followers  |  4,775 Following  |  16,015 Posts  |  Joined: 09.05.2023  |  2.2459

Latest posts by lorenschmidt.bsky.social on Bluesky

thank you, this is a fabulous explainer! i feel like this is a really interesting reference.

the authored tables of level windows and chances are pretty neat. it's not a complex system to think about as a designer (important!) but it lets you create a very deliberate, expressive change over time.

29.01.2026 02:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

i /love/ things like that and am always trying to work them into projects.

29.01.2026 02:11 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

oh! that's really interesting, i might want to do that for palette work or maybe compute shaders if i am feeling ambitious.

this sounds so neat, i think i want to dive in some time this week.

29.01.2026 02:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

pillow swords, pillow tombstones, pillow trees.

29.01.2026 00:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

the luminous potato people in oblivion are really remarkable. yes, it's so self-assured! it ends up landing a certain strange vibe in a way it really couldn't if otherwise. and the art direction is really funny to me. it's like everything is made of pillows with little embroidered bits on them.

29.01.2026 00:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

adding new items

29.01.2026 00:08 โ€” ๐Ÿ‘ 71    ๐Ÿ” 7    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

right, it's been worn down and driven over etc... i feel like there are so many ways it feels like it's really there, in conversation with the things around it. the edges are visibly different, for instance!

28.01.2026 23:58 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

yeah using object mutability instead!

28.01.2026 23:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

same here, i think you can land stylized more gracefully than realistic.

yes, even the most uniform california grass is pretty variegated compared to grass in games. changes in chemistry, animal trails, etc. there's so much going on.

28.01.2026 23:55 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

oh that's neat, so you can use whatever parameters for the function call you want. it's almost a script.

28.01.2026 23:17 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

what's "rewardscripts"? that's intriguing (feel free not to elaborate, i'm just always curious about how other folks set things up)

28.01.2026 23:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

ok yeah! so using this technique, you could forward-calculate the inclusions to fit a total budget (or pick things based on theme or w/e). i like that. i haven't worked out how to do that in my game yet!

28.01.2026 23:04 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

oh nice. spelljammer seems like a fun setting for that.

28.01.2026 22:45 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

ha what an object idea.

i'm interested in the bottom up rarity, etc. is it tabulating all that sort of thing and then rolling items based on the tables?

28.01.2026 22:25 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image

but the question a lot of you are probably wondering is: can you make a skeleton, but you can wear it on your head? to which the answer is: of course you can. i'm wearing it on my head right now.

28.01.2026 22:19 โ€” ๐Ÿ‘ 14    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

i like this ideologically, but also it's nice because you can just stick strings in for object relationships. if a spell summons a skeleton, it could just say "skeleton" and you don't have to worry about load order or references resolving, which i like for very complex object interrelatedness.

28.01.2026 22:09 โ€” ๐Ÿ‘ 11    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

see here is a properly formed object from the factory! from a string.

28.01.2026 22:02 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

oh wanna see something even scarier? it's actually pulling the template element /by string/ via the object relationship with the window object haha. 100% live reload compatible because newest version stomps previous. with graceful fallback.

you can do:
var e = request("bascinet"). that's a string.

28.01.2026 22:02 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

i'll probably end up adding some special cases, eg what if you socket in two on_enter_cell behaviors and you want to harmoniously merge them? i will probably combine the function arrays and then trim duplicates. there are always things like that. but so far this has been really nice to work with!

28.01.2026 21:52 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

it's set up so the later templates take precedence. if we didn't want it to use the material from the headpiece we could remove that, or put metal armor second. you can set it up however you want.

here is the factory. you could set this up a lot of different ways but i like how simple this is.

28.01.2026 21:52 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

so it actually already has a conflict: the armor class. as you can see it's using the one from the bascinet template (which is last in the hopper, so to speak).

but if we introduce another conflict on purpose we can break it and see how this works. let's make headgear cloth.
see how it's cloth now?

28.01.2026 21:52 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

some strict typing / security / propriety minded programmers are probably worried somewhere out there. to which i say: there are different tools for different jobs. i hope your tools are working for you!

let's see how this breaks. what if there's a conflict?

28.01.2026 21:52 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

the object ends up like this. it has a function queue for when you're holding and you interact with it. if it were food, that would be "eat". if it were a scroll, that would be "read". in this case it is an equip / remove toggle, and it uses the "head" slot. it got parameters from multiple templates

28.01.2026 21:52 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image

so what does the item end up like? it's a very light object which is abstracted from the visual representation. there is a cipher in either the text mode or the graphical mode which picks it up and represents it in an appropriate way. in the text mode, it only cares about it being a headpiece.

28.01.2026 21:52 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

that's nice in my case right now, because i haven't written damage types yet, and am still thinking through architecture + particulars for that. but i do know it will be in the codebase, and i want to make a bunch of pieces of armor right now. this way i can change it later centrally.

28.01.2026 21:52 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

as an example, you might want to set this up so there were some base parameters for metal armor- metal armor is weak to armor piercing attacks. now the bascinet itself is simpler, and if we want to change how metal armor works we can do so centrally and it will end up part of all our metal armor.

28.01.2026 21:52 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

you can set this up sort of like ECS, where there are some pretty complex behaviors in the objects it's made out of. for instance, "equipment" lets you wear the helmet. and that actually is made out of "item" which does things like take up space and be picked up. but it's not actually subclasses.

28.01.2026 21:52 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

the data is raw objects like the above, which you can live load!

they are then used as templates by a factory which fills out a few default bits and pieces you may have wanted to omit for readability, and does bookkeeping. here it is in the game.

28.01.2026 21:52 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

notes on item data design:

RPGs have ten thousand million items, and in a lot of ways data seems like the way to go. add to that the fact that this game has a lot of generated items and characters, and you're looking at a strong argument for very readable, live loadable, easy to edit data.

28.01.2026 21:52 โ€” ๐Ÿ‘ 43    ๐Ÿ” 6    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

y'all i have so many absolutely wild ideas for out of control posthuman (/ post-other species) fantasy aristocrats. i am probably not doing generated / simulated royal houses etc. for a while, but some pieces fell into place in a major way.

28.01.2026 20:35 โ€” ๐Ÿ‘ 23    ๐Ÿ” 0    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

@lorenschmidt is following 20 prominent accounts