@rubenwardy@fosstodon.org avatar



Andrew Ward | Software engineer and open source contributor | Core dev https://fosstodon.org/@Minetest | 🏳️‍🌈🚀🌔

#fedi22 #gamedev #Minetest #linux #OpenSource #foss #programming #tech #electronics #makers

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Bobbins, to random
@Bobbins@bobbinsrobots.com avatar

I think Jon Blow complaining about not being able to find Braid on PSN without scrolling to the bottom of the list of new releases and having to be told to stop sorting by best selling and it goes to the top will give me strength for years to come.

@rubenwardy@fosstodon.org avatar

@KeefJudge @klord @Bobbins

Fable 2 was my favourite, such great games! So thanks

I wish 2 and 3 would come to PC, I'd love to replay them on my Deck. I guess it'll never happen now 😢

ZachWeinersmith, to random
@ZachWeinersmith@mastodon.social avatar

One of the disappointing things about living in this sci fi future is that nobody wants a heads-up display. They're annoying with basically no upside in most contexts, but when I was a kid I always imagined needing data readouts or whatever.

@rubenwardy@fosstodon.org avatar


Smart watches are quite popular. I feel like they fulfill a lot of the same purposes

bram, to random

The way Lua only allows you to use a local function AFTER its definition in the file, is absolutely horrible. It forces you to order functions by their local function dependency, making larger files dreadful to navigate through. ​:blobdislike:​

Does anyone have any tips how to organize large Lua files?

@rubenwardy@fosstodon.org avatar


You could use a local table to allow the functions to be defined in any order. But it's often a good idea to break up larger files, if you can find opportunities to do so

local filename = {}  
function filename.one()  
 return filename.two()  
function filename.two()  
 return 2  
@rubenwardy@fosstodon.org avatar


It's convention to declare a global variable with the same name as the mod, to share functions with other mods and files.

If you want to keep the functions private, you can pass them using dofile as documented here. Note that this isn't secure, other mods can still get access to the functions in the local table by overriding the dofile function https://rubenwardy.com/minetest_modding_book/en/basics/lua.html#including-other-lua-scripts

Theriac, to gaming
@Theriac@plasmatrap.com avatar

I've looked about the minetest website but not really seeing any mention of this

Does the installer have checksum files somewhere ?

@rubenwardy@fosstodon.org avatar


We don't provide any checksum files. The downloads are done over HTTPS which is a reliable network protocol

What you do is make a HEAD request to get the MD5 sum:

curl -L --head https://github.com/minetest/minetest/releases/download/5.8.0/minetest-5.8.0-win32.zip

Look for content-md5

rubenwardy, to animals
@rubenwardy@fosstodon.org avatar

Un petit chien dans le magasin

martijnbraam, to random
@martijnbraam@fosstodon.org avatar

When you feel like writing a blog post but have no topic...

@rubenwardy@fosstodon.org avatar


I have an issue board with all my blog post ideas. So for me it's usually not an issue of topic, but an issue of having a topic I want to write about at that time

Korny, (edited ) to random
@Korny@hachyderm.io avatar

Relating to a few recent discussions - which of these do you prefer:

CreateMap<Widget, Sprocket>()   
 .ForMember(dest => dest.Active,   
 opt => opt.MapFrom(src => src.Status == ApplicationConstants.StatusOpen))   
 .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.Status))  
// etc   


const widgetToSprocket = (widget: Widget): Sprocket => {  
 return {  
 active: widget.status === applicationConstants.statusOpen,  
 status: widget.status,  
// etc  
@rubenwardy@fosstodon.org avatar


The former seems unnecessarily obtuse, what's the reason for it? Surely it's not performance given how many function calls you're adding

Tangentially related, but I'm thinking of Zod now. It's a library that allows you to define a schema and parse untrusted data. You can convert types and perform processing on individual fields. It's much more readable than your mapper

 date: z.date(),  
 count: z.coerce.number(),  
 thing: z.preprocess(x => x+2, z.number())  
@rubenwardy@fosstodon.org avatar


Ah right, so it can automatically map fields with the same name?

183231bcb, to opensourcegames
@rubenwardy@fosstodon.org avatar


Have a look at the 2022 game jam, one of the themes was "story-driven": https://content.minetest.net/collections/ContentDB/game_jam_2022/

rubenwardy, to Electronics
@rubenwardy@fosstodon.org avatar

PCB assembly is done! I've also measured it for an enclosure. Next is integration testing, designing the enclosure, and programming. I'll probably remove some of the headers after testing

This is my first PCB and is for a plant watering system

The PCB in an enclosure

arturo182, to random
@arturo182@mastodon.social avatar

I live in the contstant anxiety of someone making the same project as me before my lazy ass finishes it 😬

@rubenwardy@fosstodon.org avatar


The uniqueness of something comes from the execution, not the idea. Someone else may make the same thing but your execution is what makes it unique

rubenwardy, to Rimworld
@rubenwardy@fosstodon.org avatar

Timelapse of 8 in-game years in . This is my first time playing with all DLC. I've struggled with food production for a lot of the later half of the game, maybe something to do with the 52 dogs!


popey, to random
@popey@mastodon.social avatar

What's the protocol when someone emails you asking you to "give up" the domain you've owned for 25 years because "You're only using it for a blog", and they want to use it for a community they want to build, and they don't want to have "JoinFoo" dot com.

Do nothing? Explain that other TLDs are available? Tell them to "Jog on?"

@rubenwardy@fosstodon.org avatar


Did they at least offer to buy it or are they asking you to just give it up, out of the kindness of your heart?

Not that you should sell, it's identity! Sounds like a spammer wanting pagerank tbh

rubenwardy, to Rimworld
@rubenwardy@fosstodon.org avatar

Found this cool mod, shows a heat map of where my people go most often. Quite interesting to look at and useful for optimising travel times. You can see there's a lot of traffic to and from the kitchen (top left) and the main residential building (bottom left). There's also a lot of traffic through the killzone (top centre), I'll add a side door to avoid this as it's quite slow to go through

@rubenwardy@fosstodon.org avatar
rubenwardy, to Rimworld
@rubenwardy@fosstodon.org avatar

I've been playing again, my favourite game. A drop pod with raiders landed on my main residential building whilst everyone was sleeping. I managed to get everyone out, but the raiders set things on fire did not even make it out the building. Luckily, my food storage was unharmed

A screenshot of the game, the after math of the fire. There's a lot of debris and burnt carpet

daniel_westhof, to diy
@daniel_westhof@chaos.social avatar

I needed a new doorbell so I made one. It is thrwoen together from parts I had laying around. A small 12V power supply from an ugly LED lamp somebody threw out, an audioamp module with a used speaker and an "Atari Punk Console" for sound generation. This is a famous DIY synthesizer circuit that can be made from very few parts and has a quite dirty sound. I also added a local button to tune the ringtone.
Lets see how long my GF tolerantes it before I have to get a "proper" one.

@rubenwardy@fosstodon.org avatar


Maybe make a case to hide all the electronics and wires, then could be tolerated indefinitely?

0x0961h, to gamedev
@0x0961h@mastodon.gamedev.place avatar

Another thing that I've noticed with devlog videos is that some folks LOVE the "tiktok cut" technique. I just opened a video and during only the first minute I counted around 30 cuts, 5 stock videos, 4 memes, and bass boosted sound effects.


@rubenwardy@fosstodon.org avatar


What do you mean by the tiktok cut technique?

rubenwardy, (edited ) to typescript
@rubenwardy@fosstodon.org avatar
joelanman, to random
@joelanman@hachyderm.io avatar

The New York Times has filed a series of copyright takedown requests against Wordle clones and variations in which it asserts not just ownership over the Wordle name but over the broad concepts and mechanics of the word game, which includes its “5x6 grid” and “green tiles to indicate correct guesses.”


@rubenwardy@fosstodon.org avatar

@owenblacker @joelanman

You need to actively defend trademarks. I've never heard of a requirement to actively defend copyright

stux, to gamedev
@stux@mstdn.social avatar

Past night in bed I was thinking...

Instead of using humans in my multiplayer game, I could go instead make a multiplayer game where everyone is a cat?

With gathering & building stuff, combat and teaming up in "cat clans"

"Surviving and thriving as a cat togetger with others" would that be something? 💡

Unreal Engine 2 player window with "Washy" as the main character in multiplayer

@rubenwardy@fosstodon.org avatar


I'd say it would be better suited as a co-op game than a crafter/builder/combat game. It's more suited to the cat theme, would have space to mess around in, and crafter/builder/combat is overdone

JoeRess, (edited ) to random
@JoeRess@fosstodon.org avatar

Turning your phone sideways to watch a video.

@rubenwardy@fosstodon.org avatar

@JoeRess I have no idea what these icons are supposed to mean

kev, to fediverse
@kev@fosstodon.org avatar

Well done, . You've outdone yourselves this time. 🤦‍♂️

Makes me ashamed to be a part of this network.


@rubenwardy@fosstodon.org avatar

@mike @kev

Yeah same, it's just showing a bunch of JSON to me

rubenwardy, to firefox
@rubenwardy@fosstodon.org avatar

My browser extension, Renewed Tab, has reached 4000 active users!


  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • tacticalgear
  • Durango
  • Youngstown
  • modclub
  • slotface
  • rosin
  • ethstaker
  • mdbf
  • ngwrru68w68
  • megavids
  • InstantRegret
  • everett
  • osvaldo12
  • GTA5RPClips
  • anitta
  • khanakhh
  • cubers
  • normalnudes
  • tester
  • cisconetworking
  • provamag3
  • Leos
  • lostlight
  • All magazines