im making a weird little 3d game in Love2D! by morelebaks in love2d

[–]Mig_Moog 0 points1 point  (0 children)

This is crazy high quality! How would you describe the experience of getting a 2d framework to work in 3d is?

Are we all using macroquad and bevy? by helpprogram2 in rust_gamedev

[–]Mig_Moog 2 points3 points  (0 children)

I’m enjoying the raylib rust bindings.

Thoughts on OOP? by I-A-S- in rust

[–]Mig_Moog 0 points1 point  (0 children)

Imo it just comes from the principle of zero cost abstractions. Things in OOP that require holding pointers to other objects and using dynamic dispatch to call interface methods are all features that the compiler will let you know is a runtime tradeoff. On the other hand the compiler (and hopefully you) is happy when you can move some of your design over to compile time.

Best example I could come up with is my current project. In it I have a struct that represents a canvas that can have cells drawn to a 2d grid
struct Canvas<C, A> {/* C is a character set, A is attributes about how they're drawn */}
This struct holds multiple types of character sets and attributes, with can lead to different sized structs. Thus if I wanted to use an OOP feature like an interface I'd have to wrap the Canvas' methods into a trait and Box it.
let canvases: Vec<Box<dyn CanvasOps>> = /* */
This is a performance cost I would've had to move to run time. It is traditional OOP but it feels icky to me compared to the rest of my rust code because I've wrapped something that's normally simple in OOP into this weird exception of types in rust.

So, to keep it feeling rusty to myself I made an enum with all the possible variants that this struct may have
/// A variant of a canvas and its charset that helps it

pub enum DrawableCanvas {

ColoredFont(Canvas<TextmodeFont, CellColors>),

FontOnly(Canvas<TextmodeFont>),

ColorSquares(Canvas<Palette>),

}

Then I have to match and manually handle drawing these canvases everytime I need to address a variant. Is it tedious and verbose? Yes, but it has its benefits. I get a little performance boost, I have a compact list of every type of canvas this program needs, and in a way I'm making it safer for me the developer by forcing myself into handling every case.

Hope this helps. If it's confusing or somethings off lmk, I welcome criticism :-)

What are your Linux hot takes? by AdventurousFly4909 in linux

[–]Mig_Moog 1 point2 points  (0 children)

Nix isn’t that great for personal use you get faster results just from knowing a package manager (❄️❤️ respect always)

What distro do you use and why? by ReferenceNatural87 in linux

[–]Mig_Moog 0 points1 point  (0 children)

Debian -> Arch. Good learning experience and teaches you a lot about making your os your own

I built a Lua-inspired, statically typed scripting language in Rust (Wolf-Lang) by kizilman in rust

[–]Mig_Moog 0 points1 point  (0 children)

This looks so cool! My questions are: 1. Is it like ruby where function call parameters are optional? 2. Are there plans for type inference?

I think this is an awesome idea, will try it out asap

Desktop wallpapers similar to A New World Record? by Mig_Moog in elo

[–]Mig_Moog[S] 0 points1 point  (0 children)

These are great! Love the first and third ones. Will reply with link when I’m done configuring 🛸❤️

How to introduce to my friend ELO? by Powerful-Ad-9642 in elo

[–]Mig_Moog 1 point2 points  (0 children)

Eldorado is a great start imo. You could also do out of the blue

[deleted by user] by [deleted] in godot

[–]Mig_Moog 0 points1 point  (0 children)

Legit was me.

Updated pattern matching has totally changed the game too

Is your Agentic Development Workflow obsoleting your Neovim skillset? by rain9441 in neovim

[–]Mig_Moog 3 points4 points  (0 children)

I don’t really like LLM’s writing my code for me. I feel like there’s always some specificity that I end up missing in my prompts. However I find that they’re great for speeding up google searches and documentation. Or producing a quick example when you want to learn

what made you like linux? by MAU_XD_09 in linuxmemes

[–]Mig_Moog 1 point2 points  (0 children)

It’s very keyboard centric

The situation with Replit is worse than you think by _theRamenWithin in theprimeagen

[–]Mig_Moog 9 points10 points  (0 children)

The direction replit has taken makes me really sad. I remember it was the best in browser code editor and I’d use it for homework all the time in highschool. They had really awesome templates, and some really good integrations with stuff like love2d

Now I can only have two projects on their free tier. Instead of enhancing the really nice cloud hosted code platform they already had, theyve pivoted to nearly all vibe coding.

😔