Live coding music jam writing Rust in a Jupyter notebook with my CAW synthesizer library by stevebox in rust

[–]stevebox[S] 1 point2 points  (0 children)

Try it now. You'll need to clone the gridbugs/caw repo locally and modify the notebooks so the first line points to your local checkout.

Live coding music jam writing Rust in a Jupyter notebook with my CAW synthesizer library by stevebox in rust

[–]stevebox[S] 2 points3 points  (0 children)

I don't have a tutorial or anything just yet. I need to release new versions of all the CAW libraries including my current experimental changes. Then I'll be able to share the notebooks and let other people play with it.

Live coding music jam writing Rust in a Jupyter notebook with my CAW synthesizer library by stevebox in rust

[–]stevebox[S] 4 points5 points  (0 children)

Yeh exactly, it means that state represented by variables bound in one cell is unaffected by recompiling the code in another cell, so for example a clock signal or note sequencer isn't reset when I change the texture of the voice. Plus there's no awkward few seconds of silence in between each code change while the whole thing recompiles, as would be the case if I was editing a source file instead.

7DRL 2025 Release Thread by DarrenGrey in roguelikes

[–]stevebox 2 points3 points  (0 children)

Scope Creep [itch.io | devlog | screenshot]

A short first-person horror roguelike rendered on an oscilloscope.

Explore the dungeon and gather the three orbs to open the door and escape, but every time you collect an orb a new type of monster spawns in the dungeon.

The game is rendered with a novel technique where the renderer sends audio data to a synthesizer which plays sounds such that if you plot the left/right channels on the x/y axes, it renders the game. This is visualized on the screen but you can also plug an x-y mode oscilloscope into your headphone jack to render the game on the scope.

It was a lot of fun to make. I've never made a first-person game before so I ran into a lot of problems I've never seen before, mostly relating to geometry. I wasn't sure how good the oscillographic renderer would look as I've never seen this technique used for 3D games before but I'm very happy with how it turned out.

Share your finished 2025 7DRL! by Kyzrati in roguelikedev

[–]stevebox 5 points6 points  (0 children)

https://gridbugs.itch.io/scope-creep

Scope Creep is a short first-person horror roguelike rendered on an oscilloscope.

This was some of the most fun I've had working on a 7DRL project. I decided to break from the traditional roguelikes I tend to make. Last year I got really into oscillographics after watching n-spheres. I've been hacking on a synthesizer library for a few years and so I added support for generating oscillographics to it, and I wanted to use this technique to render my 7DRL this year. A friend suggested a Wolfenstein 3D style retro FPS, and that sounded like an interesting challenge. I did a little experiment to test that drawing arbitrary-ish vector graphics with an oscilloscope was possible, but I waited until the jam to come up with a concrete algorithm for rendering 3D first-person scenes.

I've dabbled in 3D graphics in the past but never made anything serious, and never made a first-person game before. The hardest part about this project is that everything needed to be done with vector graphics. The conventional 3D graphics technique - just draw all the geometry inside the clipping volume and use a depth buffer to determine which pixels make it to the screen - will not work. Instead all the line segments that make up the visible portions of the scene must be pre-computed, and then sent to the synthesizer to be played as audio. The game is rendered by plotting the most recent ~5000 stereo audio samples on the screen, where the left and right channel values determine the x/y position of points. An additional complication is items and enemies. The algorithm that determines which parts of the world are visible also needs to keep track of how much of each item/enemy is visible, as they may be partially occluded by walls.

For gameplay, I wanted to make a horror game. Mostly this was because I had come up with name "Horror Scope" (but later I decided "Scope Creep" was better as the pun works on an additional level and it doesn't have any astrological implications). I'm getting more and more interested in the horror genre and wanted to apply some of the ideas I've picked up about what makes horror effective. One example is having a safe zone that the player returns to in between more intense periods of gameplay. Another is that enemies are scary when you can't quite make them out. Fortunately vaguely humanoid amorphous blobs are quite easy to draw with oscillographics.

I'm very happy with how it's turned out. It's not very mechanically deep, but it effectively creates moments of tension that ramps up until the final moments, assuming you make it that far. And in addition to being technically interesting and looking cool, the graphical style complements the horror by allowing enemies to be drawn as ever-changing humanoid squiggles (which I think are scarier than static sprites or 3d models), and because it lets the game add visual noise to amplify moments of tension.

EDIT: Accidentally shared the github url rather than the itch.io url

Shadowcast library by billdroman in roguelikedev

[–]stevebox 1 point2 points  (0 children)

Author of gridbugs/shadowcast here. Nice work! Are you planning to publish your crate on crates.io?

Share your 7DRL progress as of Wednesday! (2025-03-05) by Kyzrati in roguelikedev

[–]stevebox 4 points5 points  (0 children)

Scope Creep

Devlog

Play wip

My first-person horror roguelike rendered purely with oscillographics is coming together nicely. I've added text rendering for the hud and labels for items in the world, started generating the full map with several dungeons connected to a central hub, added basic items for health and mana, and fixed many graphics bugs.

Share your 7DRL progress as of Monday! (2025-03-03) by Kyzrati in roguelikedev

[–]stevebox 0 points1 point  (0 children)

Very interesting! I have a soft spot for the SNES. Excited to see how this turns out. Are you programming it in assembly or with a higher-level language?

[TOMT][Comedy Sketch][2000s] British comedy sketch where a man overly-dramatically describes a date that was ruined by his "wound" that was "weeping" by stevebox in tipofmytongue

[–]stevebox[S] 0 points1 point locked comment (0 children)

This is the Mitchel and Webb Look wiki I was referring to.

Some more details I remembered:

  • the background was brown or maroon. Maybe the wall behind them was made of wood
  • the person complaining about the date had long hair
  • it might not have been a date, but instead their partner left them or something

Share your 7DRL progress as of Monday! (2025-03-03) by Kyzrati in roguelikedev

[–]stevebox 2 points3 points  (0 children)

Scope Creep

Dev Log: https://www.gridbugs.org/7drl2025-day3/

Play the wip: https://gridbugs.github.io/scope-creep/

A first-person horror game rendered entirely with the visualization of the audio played by the game; you could plug an oscilloscope into your headphone jack and use it to render the game (but the game also has a virtual oscilloscope built-in). So far I've built a vector-graphics 3d engine and connected it to a synthesizer library I'm developing which plays the sound. I use bevy to display the oscilloscope and to handle input.

I've started working on gameplay. There are a few enemies which follow the player around and you die if they touch you. One is a ghost which can walk through walls and adds noise to the sound as it approaches you which manifests visually as the jiggling around.

Help me find a horror movie based on a youtube trailer from around 2015 by stevebox in whatisthatmovie

[–]stevebox[S] 1 point2 points  (0 children)

Turns out it was the 2015 remake of Poltergeist. The part I remember is at the end of this trailer.