I've been using #bevy 's SystemParam API a lot lately. Together with #rustlang GATs and the ECS it's very powerful.
It's easy to share behaviour while still being flexible on a case by case basis.
Adding content is easier, giving lots of depth to my game.
e.g.: To add a new Upgrade, I just specify which components to get from the ECS via SystemParam and a couple lines how to combine them, then use a generic system.
It speeds up adding a new Upgrade a lot, so I can implement more of them.
In the end, I've just finally decided to climb the Colemak-DH mountain.
I've never been a touch-typer but using 3-4 fingers per hand, moving hands here and there, I was able to easily play it at around 75wpm with basically no errors.
@shooboo@AAMfP Decades of qwerty vim muscle memory. Fairly new to Colemak DK, a month or so in. Remapped direction keys only. Fumbling a bit, but my trick is to think of the letter/function before using it and my brain maps it to CDH. e.g. delete word, D W.
I was able to access the files in the ChatGPT sandbox with the new(?) Python execution feature. I had it list files, cat files, etc. The sandbox was restrictive enough.
This was not a hallucination. You can see the Python script it executes.
So I reported to the bug bounty and was rejected. (It hasn't been fixed yet)
[ ACM LY E ® chatePT The routing table information from */proc/net /zoute is as follows: yami LT Iface Destination Gateway Flags RefCnt Use Metric Mask LUV R G Ll 3B2FE60A 00000000 0001 O 0o o L a Ll vy =215 SV Lol 0o o [ueCvlv v ) a ———————————————— This data shows the interface ("etho") along with destination, gateway addresses, and various other parameters like flags, reference count, use, metric, mask, MTU, window, and IRTT. The addresses are in R SO S [ ACM translate itto ipv4 addresses ® chatePT The translated routing table with IPv4 addresses is as follows: yami LT Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT Ll 10.230.47.59 0.0.0.0 0001 O 0o o L 9 Ll 0.0.0.0 10.230.47.59 0003 O Y Leleelviev L R Y In this table, the hexadecimal values in the “Destination" and “Gateway" columns have been converted to dotted decimal IPv4 addresses. The addresses *10.230.47.59° and “0.0.0.0" represent specific network destinations and gateways. [ 06 @O
I am so used to debugging #gameDev bugs within the scope of the full game, maybe changing the level/code to make a smaller reproduction.
#Bevy (ECS) makes it trivial to create a unit test to run a few component, systems, events, etc that are affected by a bug or new feature. It hugely encourages decoupling too. I'm so often impressed by Bevy.
I have to make sure to remember to write a unit test instead of just splatting out code within the existing game and debugging the hard way.
@chrisbiscardi@livingcoder Sorry to interject! Something I’ve always wanted to do but has been a hurdle (discovery and documentation) is creating compute shaders in bevy. Specifically being able to put data in, process, and take data out. A basic example might be to calculate prime numbers. Follow up questions could be “Is it possible to have that compute shader run over multiple frames?”, “can i update the data i already sent?”, “can i send the output from one shader to the input of another?”.
@chrisbiscardi@livingcoder I did play with that example a while ago. Good point about wgpu, I will have to dig into compute shaders in there to get a better understanding on how bevy interacts with it. Cheers!
@juliobiason Yeah i do exactly that too. If i accidentally get lured into looking through the timeline, I snap out of it when i see an ad, and quickly close it.
what’s the deal with nftables? are you switching to use it instead of iptables these days? is it actually easier to use? it seems hard to switch because there are SO many iptables examples out there
@b0rk last time I tried to use nft, they weren’t compatible with docker which only used iptables. It was a dealbreaker at the time. I don’t use docker these days so maybe worth another shot.