Share your cool programs!

  • xthexder@l.sw0.com
    link
    fedilink
    arrow-up
    22
    ·
    edit-2
    7 hours ago

    I’ve been working on my own game engine for years, and there’s all sorts of cool stuff it can do, but recently I’ve been expanding the scripting to be capable of streaming images to the GPU.

    Today I got Doom running inside my engine as a hot-reloadable plugin script:
    Video: https://wednesdayos.sw0.com/share/2025-12-13_00-25-14.mp4

    The engine has real-time bounce lighting using a highly modified voxel cone tracing algorithm I developed (doesn’t require ray tracing hardware), which I’ve been able to get running even on my Steam Deck! Video: https://wednesdayos.sw0.com/share/2025-03-21 23-50-29.mp4

    The whole thing is open source here: https://github.com/frustra/strayphotons

    • mindbleach@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      11 minutes ago

      Software path-tracing has been on my bucket list, mostly to test a concept: physically based instant radiosity. If an eye-ray goes camera, A, B, C, then the light C->B forms an anisotropic point source. The material at B scatters light from C directly into onscreen geometry. This allows cheating akin to photon mapping, where you assume nearby pixels are also visible to B. Low-frequency lighting should look decent at much less than one sample per pixel.

  • anton@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    4 hours ago

    It’s either printf and stack unwinding in assembly or something to test all possible execution path for very simple multi threaded programms.

  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    8 hours ago

    Okay, so you know the trope in spy movies where the launch codes or the diamonds or whatever are at the end of a hallway full of lasers, and the protagonist has to do some cool flip moves (if male) or some slinky contortions (if female) to get around the lasers?

    I made that as an arcade game with an Arduino. Some red laser pointer diodes, some photosensors, a few lights, bells and whistles, a fog machine, a few big ol buttons, and you’ve got spy laser hallway. It had a separate “break as many lasers as you can” mode as well, played like a combination of DDR and whack-a-mole.

    The second coolest thing I ever programmed was probably the GPS MP3 player. A farmer wanted to add an automatic soundtrack to his Halloween hayride, like when the drove through the spooky graveyard it played ghost noises, it would play music for longer stretches on the road. I used a Raspberry Pi with a GPS HAT and wrote up a script in Python that would compare the actual position with a set of coordinates stored in a text file, and if one matched, it would play an associated mp3 file. The effect was kind of lost because the audio was coming from the vehicle itself, but it’s a hay ride, it’s supposed to be kind of lame. The bedsheet ghosts said woo as you drove past, I’m in the special effects industry, dad.

  • Quicky@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 hours ago

    In the 2010s I had a Windows Phone which I thought was amazing. I bought the original Surface Pro too, because at the time I thought it was incredible. A full operating system in a tablet form factor that was incredibly fast and touch screen.

    In the IT office I worked in, we had a dartboard. It was great for just stepping away from your desk if a problem had stumped you, throwing a few darts to take a break, and inevitably the answer would come to you. It was our rubber duck.

    Trouble was, all of us were terrible at the basic maths involved with darts matches. So I thought, what if we mounted the Surface to the wall, and could just tap where the dart had hit, and get scores instantly.

    So I wrote this darts score-keeping app that worked on everything from Windows Phones to tablets, and even an Xbox at one point, thanks to the way Microsoft had implemented their cross-device app deployment.

    We used it every day in the office. I think in 10 years it’s sold about 3 copies.

    Lovely Darts

  • maxy@piefed.social
    link
    fedilink
    English
    arrow-up
    10
    ·
    11 hours ago

    I’m still proud of my rendering of the logistic map. It was mostly just to learn more Rust, but it rendered this beatuiful picture with relatively little code. And mostly by accident, I didn’t know I would get those cool shadows!

    image

  • Undertaker@feddit.org
    link
    fedilink
    arrow-up
    3
    ·
    9 hours ago

    I implemented a self made or at least adapted ant based algorithm to solve a mathematical problem. Each ant walks a route which represents a possible solution. The shortest path is the best solution. It takes advantage of swarm intelligence.

  • slippyferret@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    25
    ·
    15 hours ago

    A long time ago I wrote a little web app that takes a search string and finds all the words in the dictionary that have overlap with its spelling. Sort of a portmanteau generator. It was just a fun project at the time, but I have used it on countless occasions to brainstorm unique names for projects, websites, etc.

    You can try it from the link below. Just type any word or name and it will populate the results.

    https://dev.djdupriest.org/name-combinator/index.html

  • SinTan1729@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 hours ago

    Chhoto URL - It’s a simple URL shortener written in Rust.

    I’ve written more programs, some of which are more useful in my daily life than this (e.g. movie-rename) but this is one that many seem to find interesting, and that’s kinda cool I guess. Also, I’m proud of some of my Lean code, but that stuff’s not published.

  • dgdft@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    13 hours ago

    In high school, we used to play a game colloquially called Spoons/Assassins/Spoon Assassin/Marker tag. Long story short, everyone playing gets assigned another player as a target. You tag your target on the back of the neck with a spoon or marker to “kill” them + take over their assignment. Rinse and repeat until only the winner is standing.

    Major catch here is that for the game to work properly, the targets have to be chained in a loop, so there usually has to be a trusted individual running the game who can validate the assignment list.

    So I scraped the online school directory to pull names, emails, and school photos of everyone. Then I built a Java Swing app to track a list of who was playing, and the app would shuffle a random list and email everyone their assignments blindly, photos included. Flash forward a few months, and eventually we had a full roster of ~80 people playing across grades, which was ~10% of the student body.

    Unfortunately, a group of freshmen started their own take on the game, which devolved into mauling one another with Crayola markers and Sharpies. The principal catches word that I’ve been running a ring, and brings me into his office to tell me to shut it down.

    Uncharacteristically for my teenage years, I went all-in on diplomacy. I plead my case, tell him I’m not involved with the freshmen, hear out his concerns, volunteer to modify the game rules, and point out that our group been playing for months without issues. No dice; the dude was a jackass with a chip on his shoulder. So we come to an impasse, staring at one another in silence.

    Eventually, to break the silence, he asks about a stray bandage I have sticking out the top of my shirt. I’d had a small melanoma removed from my collarbone that week, which was caught as early as possible and removed without issue. Seizing the opportunity, I tell the principal “I have cancer”, and immediately walk out before he could formulate a response. Poor dude went white as a sheet. Good times.

    Bit of a lame ending for the app, but building it taught me the skills I used to jump-start my career, and drove home the point that software isn’t an end unto itself — it’s the way people use it to come together that makes things great.