livingcoder

@livingcoder@universeodon.com

Software engineer obsessed with everything to do with software development and system design. Expect toots linking to my latest Github repo every couple weeks or so.
I also dabble in game development using Bevy (mostly).

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

AbandonedAmerica, to random
@AbandonedAmerica@mastodon.social avatar

The abandoned Bancroft Mills textile factory in Delaware. After a fire destroyed many of the buildings and the rest were demolished, luxury apartments were built on the property.

Take a look at what it was like when it was still standing: https://www.abandonedamerica.us/bancroft-mills

livingcoder,

@AbandonedAmerica I'm wondering if there used to be a circular clock above the door.

mainmatter, to rust

Last but not least: we're closing the event with the panel “Rust in production: Why? with Nodar Daneliya,David Cole, Edward Wright and our #rustlang expert @algo_luca

Join in live on the stream https://www.youtube.com/watch?v=ZHO9hlNtiaQ

livingcoder,

@mainmatter Oh! I'll have to watch this later.

kenney, to gamedev
@kenney@mastodon.gamedev.place avatar

Modular Buildings is releasing tomorrow! All kinds of tiny 3D blocks that you can stack into buildings. The models use a single texture map and come with color variations! It'll be all free, ofcourse.

livingcoder,

@kenney Kenney, you rock.

alice_i_cecile, to bevy
@alice_i_cecile@mastodon.gamedev.place avatar

Alright, Monday morning rolls around, so that means it's time for another round of #bevymergetrain. As the #bevy community prepare for the 0.13 launch of our #opensource #rust game engine, let's take a look at the community-reviewed PRs that are ready to merge!

We have 8 in our backlog this week: follow along for a look behind the scenes! https://github.com/bevyengine/bevy/pulls?q=is%3Aopen+is%3Apr+label%3AS-Ready-For-Final-Review+-label%3AS-Controversial+-label%3AS-Blocked+-label%3AS-Adopt-Me+

livingcoder,

@alice_i_cecile I just see "0.13" and get excited. I can't wait!

livingcoder,

@alice_i_cecile Oh wow! I had no idea that the Alice from the talk on reflection was the same Alice sharing these PR updates. I love your work and I'm grateful for all of your effort. Thanks a lot.

soc, to rust
@soc@chaos.social avatar

One of the main problems with moving beyond async/await in #Rust is that people made async part of their personality

One can't reason people out of positions they haven't reasoned themselves into.

livingcoder,

@soc I'm curious about what you mean by "moving beyond async/await". Do you mean that you're avoiding it altogether yet it's everywhere or do you mean something else?

Related: https://youtu.be/MoKe4zvtNzA

livingcoder,

@soc Why do you perceive async/await as a dead-end and how do you imagine the future would look without async/await (given the problems it tries to solve)?

I personally only use it when libraries I have dependencies on require it (and even then I'll often end up just blocking on the future immediately), but I've always viewed it as a useful tool that allows me to throw code that I'm fine with being concurrent or parallel into a queue for processing.

livingcoder,

@soc Everything you've said sounds reasonable to me.

Do you think people would largely stop using async/await if threads were cheap? I'm not sure of that, since async/await is also easy for the common developer to reason about compared to managing threads themselves. "I can either use the async/await syntax or keep tabs on my threads manually?" seems like a question a lot of people would have the same, effort-saving answer to even though I personally prefer thread management.

livingcoder,

@soc I had always hoped that async functions would provides the developer with a clear understanding of which code may be running in parallel with other code (for side-effecting purposes) and which code is not. "This function is async and lives in some thread pool while this function is not so I know it's running in the main thread" would be great to know when looking through the code, but you can call non-async functions within async functions, so you can never be sure within a non-async function if it may be running in parallel with another non-async function due to some higher-scoped async function.

livingcoder, to rust

In #Rust it can get weird trying to use properties as functions.

Let's say you have the following struct and trait setup. When you implement the Barker trait on the Dog, you would imagine that this would work as expected:

struct Dog {  
 bark: fn(&Dog) -> (),  
}  
trait Barker {  
 fn bark(&self);  
}  
impl Barker for Dog {  
 fn bark(&self) {  
 // call fn property from Dog struct  
 self.bark(self);  
 }  
}  

This will not compile with an error "expected 0 arguments, found 1". Your first thought may be that the compiler cannot find the bark property of the Dog struct with the trait having the same name, but it's actually just how #rustlang permits calling properties as functions: you need to wrap the property in parentheses.

impl Barker for Dog {  
 fn bark(&self) {  
 // call fn property from Dog struct  
 (self.bark)(self);  
 }  
}  
paulrickards, to genart
@paulrickards@mastodon.social avatar
livingcoder,

@paulrickards I love the last, angled shot. It makes it seem like it could go on forever.

bonoked, to rust

Attempting to create a mobile app (android first) in #rustlang but really struggling with competing incomplete or immature implementations.

Any recommendation(s) for a path forward for a #rust newbie and backend dev (i.e., no javascript or web experience)?

livingcoder,

@bonoked I look forward to reading any feedback you receive. My only experience with Rust on mobile is as a website (not a native app).

kenney, to random
@kenney@mastodon.gamedev.place avatar

While it's not required to give attribution when using my (although always appreciated!) people have asked for a little badge to use. What should the text be? "Featuring" "Made using" "Powered by"? Any ideas?

livingcoder,

@kenney I love this idea! I often think to use your assets to get off the ground and then replace them later. I would love something that gets that idea across, that your assets are an essential step to getting this game started.

livingcoder, to bevy

The #Bevy event is starting now!
https://www.youtube.com/live/i3wF71XJ-24

cmzw, to random
@cmzw@mastodon.social avatar
livingcoder,

@cmzw Wow. What a great idea. Nicely done.

990000, to programming
@990000@mstdn.social avatar

I was trying to learn what a monad was and ran into that same problem in Wikipedia where they provide so much descriptive info about something, but not why it exists or what it's for. Ugh.

Does someone have a simple explanation?

#Monad #Programming #ComputerScience

livingcoder,

@990000 I often find that YouTube is a great resource for basic (or at least basic for some people) information.
This is a video from Computerphile all about monads:
https://youtu.be/t1e8gqXLbsU

lupyuen, to random
@lupyuen@qoto.org avatar
livingcoder,

@lupyuen I'm so grateful for the giants before us and for those that are still around today. I hope that I can have a positive impact with the code that I write that carries on after me, even if no one is aware of it.

peterdrake, to random
@peterdrake@qoto.org avatar

If a period is a full stop, is a semicolon a partial stop?

livingcoder,

@peterdrake I've always understood it to be a way of separating two statements that are basically the same idea but where the second statement is a consequence of the first being known.

I googled it to ensure that I remembered correctly and I think I'm referring to rule 1a here: https://www.grammarbook.com/punctuation/semicolons.asp

livingcoder, to bevy

Does anyone have any thoughts about adding unit testing to games made in #bevy? I want to be able to unit test specific plugins in a deterministic way across multiple cycles of the game loop, across multiple frames. I'm worried that each test run could experience varying amounts of delay between frames, causing a butterfly effect.

My first thought is to create a GameWorld struct that has a "get_components_to_spawn" and a "get_components_to_despawn" function. My app would then be reduced down to a simple system that runs in the Update schedule which checks both functions for components and acts accordingly.
I'd like to have separate plugins that affect the state of components on bevy's side, but that makes it untestable. Instead I think I want the plugins to change the state of the components in my GameWorld and then maybe have a third function for "get_components_to_update".

I would appreciate any and all ideas. Thanks.

#unittest #bevyengine

livingcoder,

@Vrixyz Thanks for the suggestion! I wasn't aware that there was an "update" function on the App and Time types that could be used to simulate an iteration of the game loop or set a new delta time respectively. This might be exactly what I'm looking for.
You're awesome. Thanks again!

smitner, to random
@smitner@mastodon.gamedev.place avatar

Remade the main character, which one is better?

Need some input before I commit to animating this boy

livingcoder,

@smitner What are your thoughts on a thin, lanky character? Maybe an elderly guy desperate for some kind of income?
Or do you envision the character as a mean, brute who cleans up messes for the right price?

doomy, to random
@doomy@mastodon.social avatar

bevy pls get occlusion culling

livingcoder,

@doomy This is one of those features that would be amazing but that they'll probably put off for a while since (my assumption is that) it's a hard problem to solve generically. I imagine that even when they add their first implementation of it, some games would suffer from having the feature on more than if they just had it off; it would be a pros-vs-cons type situation.

doomy, to random
@doomy@mastodon.social avatar

is there a blender for nondestructive modeling

livingcoder,

@doomy Geometry nodes are amazing. There are some really good resources on YouTube.
Eventually you'll learn that you can basically save certain parts of your nodes as separate modules that can be imported into future work, much like a utility library of code.

doomy, to random
@doomy@mastodon.social avatar

my implementation is still very naive but i think i got some version of the model synthesis algorithm working?

livingcoder,

@doomy My "wave-function-collapse" crate is generic, multi-dimensional, and allows you to substitute in your own collapse strategy. You just setup the node constraints (the hard part) and you're basically done. There are a few examples to look at to help you understand how different problems can be converted into nodes with constraints.
https://crates.io/crates/wave-function-collapse

doomy, to random Chinese
@doomy@mastodon.social avatar

desperately trying to avoid having to learn how to use voxels

livingcoder,

@doomy I wanted to do vertex manipulation for my current game project, but I was encountering so many hard-to-reproduce bugs that I just gave up and went with a voxel-like solution in order to keep making progress. I have it all in a separate plugin, so I can always go back and make it better, but for now it is what it is.

Esger, to genart

Yes I built you a new game, http://ashware.nl/wireslide a fun variation on the classic 15 piece slide puzzle
#webgame #creativecoding #Aurelia #javascript

video/mp4

livingcoder,

@Esger This looks nice. I'll have to give it a try when I have some time.

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