1 HOUR LONG AMBIENT SOUNDTRACK MADE ON THE ABOVE NES HERE :- ruclips.net/video/wzOhCqmvt6I/видео.html I may set this up as a piece in the museum. so people can try a patch lol. see if is any better
This is just one more video that reminds me of the type of entertainment we would have if the apocalypse were a thing, yet we inexplicably had electricity. This is awesome sam!
You should try to make a beat to beat the first stages: Bass line: Forward on Dpad Kick: B to run Snare/Hihats/clap: A to jump Or some sort of combination of instruments mapped to actions. Keep up the good work Sam
You could make a song that plays the level, but also sounds like a song and not just the inputs at the optimal time. That could be interesting, a kind of Music-Assisted-Play through. ^_^
Your idea reminds me of oscilloscope music, where you have a song that looks cool on an oscilloscope and also sounds like music and not just the oscilloscope inputs at the optimal time.
Using some sort of "start" trigger might make it a bit more consistent, either by having the synth press the nes start button or using the controller power wire as an indicator for NES power on Hard mode - create a song that also beats Mario
@@LOOKMUMNOCOMPUTER Don't you have that crazy sequencer that can have like close to unlimited amount of steps? If you just trigger it and record that, you can save your replay. :D
@@nosville22 Yeah, it is kinda pointless. The point is probebly to make something musical out of it beond the simple fun of making Kosmo comunicate with things.
11:04 IIRC, LDRs are only sensitive to green light. So you effectively already have a green filter on it. If you want broadband light sensitivity you want to use a light sensitive transistor.
I have an idea, and it's mathematically sound, it involves Fourier series. The downside is that you would have to first beat the game once before getting the synth to try. The idea is basically to model mario's movement as some collection of curves in 2d space, then with fourier analysis and infinitely many sine waves of varying amplitudes and frequencies you can accurately reproduce these "mario curves". Now we don't have infinitely many though 1000 oscillators should be more than enough. You have shown that the first level can be beat with 2 oscillators, there's nothing that says you cant beat the game with only two but I think you're more likely to see results with more oscillators. Rough game plan: (1) Before a playthrough rig the controller so that besides sending signals to the snes, you also record the button presses. Assume for illustrative purposes that you can beat the game with only pressing two buttons and not pressing anything (A to jump and right to run, and nothing when we need to stop and wait). (2) For each action you take, for example let's take jumping (A), you have data of when you press the button and how long you press it, if you plot this in the x-y plane, you have a sort of square wave, where the lows are when the button isnt pressed and the highs are when the button is pressed. This is the same for the right button too. If you do this for the whole game, at the end you will have two square waves for each button that together represents a valid sequence of button presses to beat the game. (3) You can take the waves and do the fourier analysis on them separately (there are plenty of pieces of software to do this) and you will get a big table of data of frequencies and amplitudes for oscillators for each button. Summing up the oscillators and plugging the outputs to their respective buttons gives you a modular synth that can beat the game. possible technical difficulties besides getting my rough plan to work would be firstly making sure all the oscillators are somewhat synced, oscillators phasing in and out would mess up mario. starting the game up at the right moment so that the beginning of the game lines up with the beginning of the period of the sum of oscillators. possible reasons we don't like this idea: we have to play the game ourselves first, the synth is not actually "playing" the game, as in we didn't twist the knobs in a educated way and find a configuration that works, we premeditated the whole thing, i.e. we have a precise solution (we lose the awe of discovery i guess), finally quite time consuming and some interesting technical solutions required, however I think this would be a nice challenge. If there are any aspects of this that can be improved, or that I should elaborate, I'd love to share thoughts!
*3 hours later, cue the Two Minute Papers guy* In this paper, researcher Sam Battle documents his discovery of quantum mechanical simulation on classical Turing machines, made possible by periodic introduction of stochastic Bernoulli noise: the groundbreaking discovery which proved P=NP and ultimately led to a giant can of beans appearing in outer space. All we need now is toast
Your idea is sound,. Speedrunners finish Mario in under 20 minutes, Mario is 24 fps (i assume?) and what you suggest is calculating a fourier transform of the whole damn thing. That's... short to 30000 frames. Hey, it might actually work! But the FFT bins would be placed far below audible frequency range. I'm not sure if his oscillators can go down to 800 microhertz :D
Hold the B button to run - this will make clearing gaps (troughs) easier. Dunno if you'll need a drone or a fast LFO to keep the B held. Also maybe use a swing beat to do the jump. Little jump, big jump. This might make clearing enemies and then obstacles easier. I really think you should give a swing beat or syncopation a shot for jumping. I would suggest watching a few speed runs of the game to see if there is a natural rhythm and beat of the game. I remember watching a Tool Assisted speed run of SMB3 and it seemed like there was a rhythm to the level where the player was able to make blind jumps and they always worked - sure it's a TA speed run, but I think if anyone studied it, you could break it down to a simple pattern. And likely there is a simple pattern and spacing of enemies and gaps because of memory limitations and because of programming limitations at the time - I assume anyway. I'm sure they Ctrl+C and Ctrl+P level code a few times here and there so save on having to programming time.
I love the idea of one of Sams buddies coming over to see what he’s up to and everyday it’s something as equally insane like “Oh hey dude! I’m just modding my Nintendo to allow my synth to control Mario’s speed and jumps and play the first level and actually beat it by itself.” Like oh okay cool dude I was just twiddling my thumbs and heating up a hot pocket....
I feel like LFO% run rules could accomodate a different patch per level. That way 1-1 could be full steam ahead, but 1-2 could have a slow complex function periodically switching to backtrack. Bonus points if it incorporates audible modules and sounds cool. Extra super bonus points if it syncs with the bg music.
when it started going so far into the second level I was starting to think you might have discovered that all the levels can be beaten with the exact same commands
Haha, the LDR stuff reminds me of something someone made to play the chrome dinosaur game, Im pretty sure Electroboom featured it in his most recent video :3
On the underside of the console there is a hidden expansion socket that give access to joystick connections and much more...... wiki.nesdev.com/w/index.php/Expansion_port
With the light dependent resistors and everything you're getting awfully close to creating a physical neural network! You just need someone to keep track of the score and randomly turn all the knobs once in a while and you have a deep learning system :D Super exciting stuff!
Patience really is a virtue and it clearly paid off! 👍🏻 A lot of people look at me sometimes when I'm building a Lego model or doing stuff that involves my hands e.g. making, fixing, altering and repairing thing's n they say random stuff to me like. "Do you not get bored" or mostly it's "you've got a lot of patience" and sometimes I have, sometimes I haven't. It all depends on what it is n if it pisses me off instantly, either that or I'll sit there for hours and hours on end doing something 🙂
I think the game is predictable, so you could use a bunch sequencers to program each move. To start each game in sync, you could connect a cable to the button that starts the game. Is there a component which delays a signal? for example if it would receive a pulse, it would output that pulse after say, one second. Such a component would be very useful for automatization.
i think, there is however a problem, the plastic of the directional pad inhibits you to press more than 1 or ? i think you need to add some 74LS14 (inverter), buffer 74HC4050, 4 AND gate (74HC21), 2 and gate( 74HC08), some XOR gate (74HC86 4 input XOR gate) ic's: en.wikipedia.org/wiki/XOR_gate en.wikipedia.org/wiki/AND_gate en.wikipedia.org/wiki/NOR_gate en.wikipedia.org/wiki/NAND_gate check the wiki page, on the right side there is a graphic list. build some logic to prevent that more than 1 button is pressed. it probably will start with attaching an inverter (74LS14) to each input jack for the directional input, feeding into a 4 input AND gates and ...... for each other buttons ... and try again with noise generators, sample and hold, LOF's : )
Wow, this is amazing. Just a couple of thoughts I had when watching: Make the LFOs reset when the game starts over with just a few LFOs and XOR gates, you can get a pretty complex logic signal. The LFO rates could be modulated with a much slower LFO, creating behavior that changes slowly. If the rate is slow enough, you could have it change behavior on the next level.
i have drawn a schematic, you need 2 x 74lLS14, 2 x 74LS21, you make from the inverters 4 x 2 sets from the 74ls14, daisy chained. so you have the inverted signal from the input in between and the end of the daisy chain you the copy of the input, than you place 4 quad AND gates, you need to place all the outputs from the daisy chained inverter to the first input of 1 AND gates,than you take the INVERTED signal from each daisy chained inverters set and bring that to all 3 AND GATES and repeat that for all. so each inverter set can disable the other 3 AND GATES, so these are always neglected. if no signal is applied to one input, the inverted section of the daisy chain inverters is always HIGH, arming the other AND Gates, but goes low is a signal is applied. disabling the other AND GATES. the never will be more than 1 input to the Nintendo, but 2 input signals at the same time will result in no output. that would probably be fun to watch with 4 noise generators and sample and holds and lfos. ....
I would think that having an LFO that modifies the A-button duty cycle, as well as an LFO on the B button, could maybe be finagled into something. Or for the most straightforward approach, wire up a sequencer that reads from the TAS data. :)
Cool project for old Nessy! But, maybe you could incorporate a sequencer to trigger the synth. I know it would be cheating, but it would be fully programmable. There have been some machine learning based attempts which resulted in scientific papers.
You should hook your controller up to a computer and make a midi pattern in a daw to control the buttons. Then you can program a midi pattern and play the whole game like a boss!
Be careful with the audio bud. N has a habit of reporting videos using their game audio. Though usually the videos I watch are using emulators. I just found your channel and LOVE your videos and music! Sending you some funky square wave vibes from USA.
First goldfish playing Street Fighter. Now a synthesizer playing Super Mario. I think we’re one Konami Code away from the end times. 10/10, would do again.
Just had another idea. 2 LDRs. Delay signal from 1 flip phase and sum... differences are enemy sprites moving relative to background. input this to jump?
Instead of LFOs, assign each NES button to a MIDI note, then "record" yourself playing the game with a sequencer. Then you can play back the sequencer and it will re-play your exact moves in a new game.
So are we saying that Shigeru Miyamoto at Nintendo designed 1-1 for beginner players who were implementing rhythmic button presses over practised skill? You might be on to something! Might come out in the recent leaks... ;) Also, your synth is a glitch exploiter! Now that's pro. 13:13
As others have said, some sort of phase control would be useful for repeatability. How about having some sort of multitap filter with the game music as input, when certain combinations of frequencies reach some threshold, a command is issued. Also, currently there's a 100:1 like/dislike ratio. Nice one!
The LDR's were a good idea, for the running backwards you got any filter / MIDI gear that can react to no horizontal motion (LDR signal constant) and the background in motion (LDR Signal flickers).
That yellow RCA jack outputs an analogue waveform. Bonkers signal rate, something in the MHz? Still would be neat if that video feed could go into the synth and do something.
Парень, не мне тебе говорить - прохождение игры НЕЛИНЕЙНОЕ, по этому алгоритм должен быть сложнее. Нужно было еще пару раз пройти после удачного завершения первого уровня.
Why didn’t you just connect one Lfo to run! Modulating Mario’s speed would of been cool to see played with the with the jumping, you might’ve found a quicker balance.
What the ever living f*** is going on. An open loop analog computer winning at Mario?! You're a bare metal hacker, you know that? That's nuts. Ah yes, here is the optical sensor. Close that loop.
Ok so alternative suggestion.... what about using this mod or similar for SNES to make music! Not sure how much you know about Speedruns and Glitches, but people have documented and used loads of memory exploits to allow input and execution of custom code through button presses on the controller port. Originally the tools for this were for what are known as tool-assisted speedruns that use computers to do precise button presses, and these have then been further used to hack the game through the controller port. Here's a link an article about a guy who used something called TASBot to build Snake and Pong inside of Super Mario World repurposing some of the assets from the game. arstechnica.com/gaming/2014/01/how-an-emulator-fueled-robot-reprogrammed-super-mario-world-on-the-fly/ My thought is doing something like this to turn a Mario game into an instrument that you control via CV. Perhaps could be synth perhaps sampler using game sound assets. Also wonder if perhaps you could come up with some kind of Arduino that's primed to load the game and get the community to come up with different instruments within different Nes/Snes games.... Might be a mad idea. en.wikipedia.org/wiki/TASBot
You don't think Mario could have... killed himself do you? 19 times in a row. He has been eating a lot of stars and mushrooms lately. I hear he even takes leaves when he can get them but he has to go all the way to Part 3 to cop those. He gets SO high on those things.
Hey Sam, great idea! Maybe it is worth a try to program a sequence with the Cirklon. That way you can use all the buttons. It might work. Hang on & crossing fingers:D
Use the triggers to make some drum beats and play those as an additional background music for the run. Maybe utilize some sequencers, and turn the game into a visualizer for the music? Add circuit bending for extra flavour. This could even used in a live show!
Make a sequence on the Beatstep Pro drum sequncer and put the trigger outs to your controller interface. In theory you could beat the whole game with the right sequence. I'd actually be curious to hear what that sequence would sound like hooked up to drum modules.
If you stared from a TAS which works for a computer to beat the game then you could extract a timeline of inputs to create something like a pulsed waveform indicating the pressing of each button. Maybe from there you can use the programmable modules to approximate those button press waveforms.
maybe record all button pushes for a correct play of the level and then use Fast Fourier Transform the required frequencies for the timing of each button. “ The DFT is obtained by decomposing a sequence of values into components of different frequencies.”
How about getting button presses of a speed run of it, but retrofitting the timing towards controlling a modular synthesizer (aka voltage controlling of the lfos) that are sequenced per level, having however many sequences per number of levels, and the sequences can be dumb, too, so level 1 you press the first sequence, level 2 you press the second sequence. But I think you can measure how much time it takes to go through the motions per sequence so you can have a second stepped sequence that triggers the sequences so you don't actually have to control what sequence it is on.
They made cartridges that allow you to load roms into an NES. You could modify the game in a rom hack to simply remove the background images for an all white background. Then your sensors would be able to see obstacles only.
so wild idea here: what if you used the thousand oscillator project and set them to dozens of different frequencies so that the constructive and destructive waves kind of hard coded the jumps to the right timing of the level? like you can get theoretically any curve you want by stacking different waves in fancy ways and fourier trickery. probably too complicated to be possible but that's the first thing i thought of
Nice one Sam. I have a weird deep childhood connection with NES/Mario, so fun to see it connected with my comparatively more recent modular obsession ;)
I mean, a suggestion would be just to try other games... Maybe Zelda or something. Also try to plug it when you have loads of modulation going in the rack, so it's the song sort of playing the game. And the suggestion about using the same modules that control the game to process the NES audio is a good one I've seen in the comments
You could use a sequencer to program Mario's moves step by step - to get through a lot of moves with just a few steps, the sequencer could control LFO rates rather than individual buttons. There might be some phase issues, but I was surprised to see that doesn't seem to be so much of a problem.
Needs a step sequencer. Have the first step in the sequence double trigger the start button so that itstarts the game and plays exactly the same every time. The double trigger on start would pause and unpause the game when it loops so it doesn't get stuck. Then build up the sequence to get him further and further in each run. I bet with 32 steps you could find a patern that will get him through the whole game. If you time the sequencer along side the lfos you could use steps to reliably mute an lfo to stop him from running or jumping, or shorten his jumps. Don't forget fire flowers either. Then you can turn that into a beat and take the whole thing on the road
I think you'd absolutely need to use LDRs that are filtered for certain hues. The issue would be for things that have the same color, so maybe? Maybe have to get some sort of motion detection since enemies may move different than static bocks/holes.
I soooooo thought you were just going to assign notes to the different buttons and make a MIDI track to run through the game. Trigger outs on a drum module would make easy work of it. Like the idea of actually trying to get the synth to PLAY the game much more!
I actually have plenty of ideas The first one would be some kind of manual trigger for the start button that would sync the LFOs, for better consistency between plays. The second would be using a sequencer of some kind to use as memory, for example, when Mario gets stuck. Finally, artificial intelligence! Useful to just let run for hours without having to fiddle with knobs! I remember seeing a paper on an OTA neural network somewhere, but I think it was payed...
You should make a modular camera that outputs RGB averages for sections of the frame and then use logic gates to detect oncoming thingies! I feel like a camera eurorack module could be cool for ambient music anyways
Program it to press start to restart the game when he has used all his lives, and then just let it run in the corner for months. Law of averages method. Waste of power but could work it into some other projects.
I'm guessing just sequencing all the required moves is out of the question? Would take a fair bit of back and forth to get the right sequence to make it the whole way through though.
What if you could link the 4 voices from the nes to a synthesizer. Like a midi out or something so that the synthesizer can play all the in game sounds and music when you play the game. :O
I wonder what it'd be like if you plugged in a constant on cv into b so that mario would be running, or maybe somehow automate going backwards hmmm so many possibilities
woah, the tempo in the PAL version is quicker, I want to hear what it sounds like when you're running out of time... oh yeah, there it is, the NES couldn't keep up lol
1 HOUR LONG AMBIENT SOUNDTRACK MADE ON THE ABOVE NES HERE :- ruclips.net/video/wzOhCqmvt6I/видео.html
I may set this up as a piece in the museum. so people can try a patch lol. see if is any better
This is officially a lets play channel now.
This is just one more video that reminds me of the type of entertainment we would have if the apocalypse were a thing, yet we inexplicably had electricity. This is awesome sam!
You should try to make a beat to beat the first stages:
Bass line: Forward on Dpad
Kick: B to run
Snare/Hihats/clap: A to jump
Or some sort of combination of instruments mapped to actions. Keep up the good work Sam
@@Sadknob this sounds great! 👐🙌🙌🙌
256 step gate sequencer at a low bpm would be super helpful for this. WMD metron? Bet you could beat a few levels at least.
Feed the audio from the NES through a filter that is controlled by the same LFO's
that's a weird way to TAS but ok
It's a KAS!
Tool Assisted Synth
@@aw4483 controller assisted synth perhaps? 😁
I'm only half way through and it's already the most interesting/exciting TAS I've ever seen, by orders of magnitude.
@Lem Rezar that synth has a name!
Lovely, now your synth won't get bored when you're not playing it
Amazing!
World's first LFO-based TAS :)
That wall clip jump at 13:15 though! Kosmo got skills!
It might be ready for Kazio soon!
Vaelzan perfect pixel jump
Right?! That's not easy for the absolute experts to pull off. lol
so many gonna watch this and not know how good this is >.
right? caught that as well :D
You could make a song that plays the level, but also sounds like a song and not just the inputs at the optimal time. That could be interesting, a kind of Music-Assisted-Play through. ^_^
Beat me to it
Your idea reminds me of oscilloscope music, where you have a song that looks cool on an oscilloscope and also sounds like music and not just the oscilloscope inputs at the optimal time.
Using some sort of "start" trigger might make it a bit more consistent, either by having the synth press the nes start button or using the controller power wire as an indicator for NES power on
Hard mode - create a song that also beats Mario
you could feed the game sound into the synth with a high pass filter to get the start sound then use that to start/stop a clock or whatever
Kosmo% Tool-Assisted Speedrun when?
Haha exactly
@@LOOKMUMNOCOMPUTER Don't you have that crazy sequencer that can have like close to unlimited amount of steps? If you just trigger it and record that, you can save your replay. :D
@@chent He responded to a different comment saying that's far to close to just programming the inputs on a computer.
@@nosville22 Yeah, it is kinda pointless. The point is probebly to make something musical out of it beond the simple fun of making Kosmo comunicate with things.
I think this is more of a tool-assisted slowrun!
11:04 IIRC, LDRs are only sensitive to green light. So you effectively already have a green filter on it. If you want broadband light sensitivity you want to use a light sensitive transistor.
I have an idea, and it's mathematically sound, it involves Fourier series. The downside is that you would have to first beat the game once before getting the synth to try.
The idea is basically to model mario's movement as some collection of curves in 2d space, then with fourier analysis and infinitely many sine waves of varying amplitudes and frequencies you can accurately reproduce these "mario curves". Now we don't have infinitely many though 1000 oscillators should be more than enough. You have shown that the first level can be beat with 2 oscillators, there's nothing that says you cant beat the game with only two but I think you're more likely to see results with more oscillators.
Rough game plan:
(1) Before a playthrough rig the controller so that besides sending signals to the snes, you also record the button presses. Assume for illustrative purposes that you can beat the game with only pressing two buttons and not pressing anything (A to jump and right to run, and nothing when we need to stop and wait).
(2) For each action you take, for example let's take jumping (A), you have data of when you press the button and how long you press it, if you plot this in the x-y plane, you have a sort of square wave, where the lows are when the button isnt pressed and the highs are when the button is pressed. This is the same for the right button too. If you do this for the whole game, at the end you will have two square waves for each button that together represents a valid sequence of button presses to beat the game.
(3) You can take the waves and do the fourier analysis on them separately (there are plenty of pieces of software to do this) and you will get a big table of data of frequencies and amplitudes for oscillators for each button. Summing up the oscillators and plugging the outputs to their respective buttons gives you a modular synth that can beat the game.
possible technical difficulties besides getting my rough plan to work would be firstly making sure all the oscillators are somewhat synced, oscillators phasing in and out would mess up mario. starting the game up at the right moment so that the beginning of the game lines up with the beginning of the period of the sum of oscillators.
possible reasons we don't like this idea: we have to play the game ourselves first, the synth is not actually "playing" the game, as in we didn't twist the knobs in a educated way and find a configuration that works, we premeditated the whole thing, i.e. we have a precise solution (we lose the awe of discovery i guess), finally quite time consuming and some interesting technical solutions required, however I think this would be a nice challenge.
If there are any aspects of this that can be improved, or that I should elaborate, I'd love to share thoughts!
*3 hours later, cue the Two Minute Papers guy* In this paper, researcher Sam Battle documents his discovery of quantum mechanical simulation on classical Turing machines, made possible by periodic introduction of stochastic Bernoulli noise: the groundbreaking discovery which proved P=NP and ultimately led to a giant can of beans appearing in outer space. All we need now is toast
Your idea is sound,. Speedrunners finish Mario in under 20 minutes, Mario is 24 fps (i assume?) and what you suggest is calculating a fourier transform of the whole damn thing. That's... short to 30000 frames. Hey, it might actually work! But the FFT bins would be placed far below audible frequency range. I'm not sure if his oscillators can go down to 800 microhertz :D
@@alakani (comment by gpt-3)
Would be interesting to try and distill this down into a formula. Something about a mathematical formula for beating Mario is pretty cool
@@SkigBiggler there is a formula, taking a Fourier transform of all gaming inputs. it's not a revolutionary idea, more like saying water is wet
Hold the B button to run - this will make clearing gaps (troughs) easier.
Dunno if you'll need a drone or a fast LFO to keep the B held.
Also maybe use a swing beat to do the jump. Little jump, big jump. This might make clearing enemies and then obstacles easier. I really think you should give a swing beat or syncopation a shot for jumping.
I would suggest watching a few speed runs of the game to see if there is a natural rhythm and beat of the game. I remember watching a Tool Assisted speed run of SMB3 and it seemed like there was a rhythm to the level where the player was able to make blind jumps and they always worked - sure it's a TA speed run, but I think if anyone studied it, you could break it down to a simple pattern.
And likely there is a simple pattern and spacing of enemies and gaps because of memory limitations and because of programming limitations at the time - I assume anyway. I'm sure they Ctrl+C and Ctrl+P level code a few times here and there so save on having to programming time.
I love the idea of one of Sams buddies coming over to see what he’s up to and everyday it’s something as equally insane like “Oh hey dude! I’m just modding my Nintendo to allow my synth to control Mario’s speed and jumps and play the first level and actually beat it by itself.” Like oh okay cool dude I was just twiddling my thumbs and heating up a hot pocket....
So in the future, we can expect to share MIDI files of people playing each level.
I feel like LFO% run rules could accomodate a different patch per level. That way 1-1 could be full steam ahead, but 1-2 could have a slow complex function periodically switching to backtrack.
Bonus points if it incorporates audible modules and sounds cool. Extra super bonus points if it syncs with the bg music.
THIS
that sounds interesting,
Haha, now get it to complete the whole thing as fast as possible
new speedrun % ? kosmo% :3
6th!
wheeey!!!! simon :O. your backkkkk!!!! holy moly. just seen you got a vid gunna watch it hot dang! how was the break?
Love both of yous guys channels!
Hangs head in shame - Kosmo is better at games than I ever was 🤣
when it started going so far into the second level I was starting to think you might have discovered that all the levels can be beaten with the exact same commands
Haha, the LDR stuff reminds me of something someone made to play the chrome dinosaur game, Im pretty sure Electroboom featured it in his most recent video :3
On the underside of the console there is a hidden expansion socket that give access to joystick connections and much more......
wiki.nesdev.com/w/index.php/Expansion_port
With the light dependent resistors and everything you're getting awfully close to creating a physical neural network! You just need someone to keep track of the score and randomly turn all the knobs once in a while and you have a deep learning system :D Super exciting stuff!
This will be known as "The Mario frequency"
I've heard you need to tune the jump oscillator to the brown note to finish super mario
Using a 16-step sequencer it might be possible to beat the whole game... This seems like a serious challenge.
Kids these days: Waaaa, the original Mario is to hard.
This guys synth: Lolz
someone tell him you can sprint in mario bros
Make a midi song that plays trough the game. :D
I would love to see a sequencer, and then hear what happens when you plug that sequence into drums and oscillators.
Coming up next: Chimpanzees typing Shakespeare
GG
In all seriousness though, this would be a great museum piece on a projector or something with random oscillators so the result is always different.
Mannerism count for this episode:
Actually: 13
Basically: 12
As you can see: 4
Literally: 4
Literally just: 1
You missed "like"
The other button makes him go fast (run). It might have helped you finish faster.
Patience really is a virtue and it clearly paid off! 👍🏻
A lot of people look at me sometimes when I'm building a Lego model or doing stuff that involves my hands e.g. making, fixing, altering and repairing thing's n they say random stuff to me like. "Do you not get bored" or mostly it's "you've got a lot of patience" and sometimes I have, sometimes I haven't. It all depends on what it is n if it pisses me off instantly, either that or I'll sit there for hours and hours on end doing something 🙂
I think the game is predictable, so you could use a bunch sequencers to program each move.
To start each game in sync, you could connect a cable to the button that starts the game.
Is there a component which delays a signal? for example if it would receive a pulse, it would output that pulse after say, one second. Such a component would be very useful for automatization.
i think, there is however a problem, the plastic of the directional pad inhibits you to press more than 1 or ?
i think you need to add some 74LS14 (inverter), buffer 74HC4050, 4 AND gate (74HC21), 2 and gate( 74HC08), some XOR gate (74HC86 4 input XOR gate) ic's:
en.wikipedia.org/wiki/XOR_gate
en.wikipedia.org/wiki/AND_gate
en.wikipedia.org/wiki/NOR_gate
en.wikipedia.org/wiki/NAND_gate
check the wiki page, on the right side there is a graphic list.
build some logic to prevent that more than 1 button is pressed.
it probably will start with attaching an inverter (74LS14) to each input jack for the directional input, feeding into a 4 input AND gates and ...... for each other buttons
... and try again with noise generators, sample and hold, LOF's
: )
4:24 Thanks, I appreciate it.
Wow, this is amazing. Just a couple of thoughts I had when watching:
Make the LFOs reset when the game starts over
with just a few LFOs and XOR gates, you can get a pretty complex logic signal.
The LFO rates could be modulated with a much slower LFO, creating behavior that changes slowly. If the rate is slow enough, you could have it change behavior on the next level.
i have drawn a schematic, you need 2 x 74lLS14, 2 x 74LS21, you make from the inverters 4 x 2 sets from the 74ls14, daisy chained. so you have the inverted signal from the input in between and the end of the daisy chain you the copy of the input, than you place 4 quad AND gates, you need to place all the outputs from the daisy chained inverter to the first input of 1 AND gates,than you take the INVERTED signal from each daisy chained inverters set and bring that to all 3 AND GATES and repeat that for all. so each inverter set can disable the other 3 AND GATES, so these are always neglected. if no signal is applied to one input, the inverted section of the daisy chain inverters is always HIGH, arming the other AND Gates, but goes low is a signal is applied. disabling the other AND GATES. the never will be more than 1 input to the Nintendo, but 2 input signals at the same time will result in no output. that would probably be fun to watch with 4 noise generators and sample and holds and lfos. ....
I would think that having an LFO that modifies the A-button duty cycle, as well as an LFO on the B button, could maybe be finagled into something.
Or for the most straightforward approach, wire up a sequencer that reads from the TAS data. :)
Hold b to run 👍
This is really silly, but it was surprisingly fun. I was actually getting excited when Komso won.
I can't wait for "MODIFYING MY SYNTHESIZER SO MY NES CAN PLAY MUSIC ON ITS OWN"
Cool project for old Nessy! But, maybe you could incorporate a sequencer to trigger the synth. I know it would be cheating, but it would be fully programmable. There have been some machine learning based attempts which resulted in scientific papers.
You should hook your controller up to a computer and make a midi pattern in a daw to control the buttons. Then you can program a midi pattern and play the whole game like a boss!
Be careful with the audio bud. N has a habit of reporting videos using their game audio. Though usually the videos I watch are using emulators. I just found your channel and LOVE your videos and music! Sending you some funky square wave vibes from USA.
First goldfish playing Street Fighter. Now a synthesizer playing Super Mario. I think we’re one Konami Code away from the end times. 10/10, would do again.
Just had another idea. 2 LDRs. Delay signal from 1 flip phase and sum... differences are enemy sprites moving relative to background. input this to jump?
Kosmo today: plays video games
Kosmo tomorrow: enslaves humanity
I, for one, would like to welcome our eventual Kosmo Overlord
Doesn’t sound bad actually
Level 1 synth: gets played.
Level 57 synth: plays Mario.
Level 100 synth: enslaves humanity.
Can anybody PLEASE tell him what the B-Button does??? XD XD XD Just USE it!!!
Instead of LFOs, assign each NES button to a MIDI note, then "record" yourself playing the game with a sequencer. Then you can play back the sequencer and it will re-play your exact moves in a new game.
If Elon Musk is watching, he will combine this with neural link and use dubstep to control people with WUB WUB WUB WUB WUB.
So are we saying that Shigeru Miyamoto at Nintendo designed 1-1 for beginner players who were implementing rhythmic button presses over practised skill? You might be on to something! Might come out in the recent leaks... ;)
Also, your synth is a glitch exploiter! Now that's pro. 13:13
As others have said, some sort of phase control would be useful for repeatability.
How about having some sort of multitap filter with the game music as input, when certain combinations of frequencies reach some threshold, a command is issued.
Also, currently there's a 100:1 like/dislike ratio. Nice one!
The LDR's were a good idea, for the running backwards you got any filter / MIDI gear that can react to no horizontal motion (LDR signal constant) and the background in motion (LDR Signal flickers).
That yellow RCA jack outputs an analogue waveform. Bonkers signal rate, something in the MHz?
Still would be neat if that video feed could go into the synth and do something.
Парень, не мне тебе говорить - прохождение игры НЕЛИНЕЙНОЕ, по этому алгоритм должен быть сложнее. Нужно было еще пару раз пройти после удачного завершения первого уровня.
Why didn’t you just connect one Lfo to run! Modulating Mario’s speed would of been cool to see played with the with the jumping, you might’ve found a quicker balance.
What the ever living f*** is going on. An open loop analog computer winning at Mario?! You're a bare metal hacker, you know that? That's nuts.
Ah yes, here is the optical sensor. Close that loop.
Ok so alternative suggestion.... what about using this mod or similar for SNES to make music! Not sure how much you know about Speedruns and Glitches, but people have documented and used loads of memory exploits to allow input and execution of custom code through button presses on the controller port. Originally the tools for this were for what are known as tool-assisted speedruns that use computers to do precise button presses, and these have then been further used to hack the game through the controller port.
Here's a link an article about a guy who used something called TASBot to build Snake and Pong inside of Super Mario World repurposing some of the assets from the game.
arstechnica.com/gaming/2014/01/how-an-emulator-fueled-robot-reprogrammed-super-mario-world-on-the-fly/
My thought is doing something like this to turn a Mario game into an instrument that you control via CV. Perhaps could be synth perhaps sampler using game sound assets. Also wonder if perhaps you could come up with some kind of Arduino that's primed to load the game and get the community to come up with different instruments within different Nes/Snes games....
Might be a mad idea.
en.wikipedia.org/wiki/TASBot
The world is a wonderful place. The internet is it’s wierd sibling.
make a music pattern, that sounds like music of course and not just random noise, using inputs that could beat Mario!
You don't think Mario could have... killed himself do you? 19 times in a row. He has been eating a lot of stars and mushrooms lately. I hear he even takes leaves when he can get them but he has to go all the way to Part 3 to cop those. He gets SO high on those things.
Hey Sam, great idea! Maybe it is worth a try to program a sequence with the Cirklon. That way you can use all the buttons. It might work. Hang on & crossing fingers:D
You should make a learning modular Synthesizer. That uses Reinforcement learning
Use the triggers to make some drum beats and play those as an additional background music for the run. Maybe utilize some sequencers, and turn the game into a visualizer for the music? Add circuit bending for extra flavour. This could even used in a live show!
Make a sequence on the Beatstep Pro drum sequncer and put the trigger outs to your controller interface. In theory you could beat the whole game with the right sequence.
I'd actually be curious to hear what that sequence would sound like hooked up to drum modules.
now you need to mod a genesis controller the same way, plug it into the gamepad input on nerdseq, and the modular synth can sequence ITSELF
What about putting the photocell on the LFO control voltage? Instead of teaching it to jump, we teach it to NOT jump...
Any way to also have the synthesizer control music at the same time so we know what it sounds like to beat SMB?
If you stared from a TAS which works for a computer to beat the game then you could extract a timeline of inputs to create something like a pulsed waveform indicating the pressing of each button. Maybe from there you can use the programmable modules to approximate those button press waveforms.
Hmm, what about the music of Ludus Pinsky & Alexander Robotnick?
maybe record all button pushes for a correct play of the level and then use Fast Fourier Transform the required frequencies for the timing of each button.
“ The DFT is obtained by decomposing a sequence of values into components of different frequencies.”
How about getting button presses of a speed run of it, but retrofitting the timing towards controlling a modular synthesizer (aka voltage controlling of the lfos) that are sequenced per level, having however many sequences per number of levels, and the sequences can be dumb, too, so level 1 you press the first sequence, level 2 you press the second sequence. But I think you can measure how much time it takes to go through the motions per sequence so you can have a second stepped sequence that triggers the sequences so you don't actually have to control what sequence it is on.
They made cartridges that allow you to load roms into an NES. You could modify the game in a rom hack to simply remove the background images for an all white background. Then your sensors would be able to see obstacles only.
This is bloody genius, I clearly know nothing about how this stuff works coz I never would have thought this was possible.
so wild idea here: what if you used the thousand oscillator project and set them to dozens of different frequencies so that the constructive and destructive waves kind of hard coded the jumps to the right timing of the level? like you can get theoretically any curve you want by stacking different waves in fancy ways and fourier trickery. probably too complicated to be possible but that's the first thing i thought of
Nice one Sam. I have a weird deep childhood connection with NES/Mario, so fun to see it connected with my comparatively more recent modular obsession ;)
have something else randomly triggering the back (
How about you use a sequencer to basically make a home-made TAS-bot? Would be fun, but probably require a whole lot of steps.
Man, you are an absolutely crazy electronic maniac))) But those crazy things you doing are incredibly cool and yeah, funny =)
I mean, a suggestion would be just to try other games... Maybe Zelda or something. Also try to plug it when you have loads of modulation going in the rack, so it's the song sort of playing the game. And the suggestion about using the same modules that control the game to process the NES audio is a good one I've seen in the comments
You could use a sequencer to program Mario's moves step by step - to get through a lot of moves with just a few steps, the sequencer could control LFO rates rather than individual buttons. There might be some phase issues, but I was surprised to see that doesn't seem to be so much of a problem.
Ps just bought a red tee to show some support dude! What you are doing is amazing and so worthwhile!
Ps are the autumn gigs still on???
not only did your successful attempt beat the level but it did a speedrunner tech, the wall jump, at 13:14. Good on you Cosmo
Needs a step sequencer. Have the first step in the sequence double trigger the start button so that itstarts the game and plays exactly the same every time.
The double trigger on start would pause and unpause the game when it loops so it doesn't get stuck. Then build up the sequence to get him further and further in each run. I bet with 32 steps you could find a patern that will get him through the whole game. If you time the sequencer along side the lfos you could use steps to reliably mute an lfo to stop him from running or jumping, or shorten his jumps. Don't forget fire flowers either.
Then you can turn that into a beat and take the whole thing on the road
I think you'd absolutely need to use LDRs that are filtered for certain hues. The issue would be for things that have the same color, so maybe? Maybe have to get some sort of motion detection since enemies may move different than static bocks/holes.
The unreasonable discomfort when someone plays SMB without using B to run 😅
I soooooo thought you were just going to assign notes to the different buttons and make a MIDI track to run through the game. Trigger outs on a drum module would make easy work of it. Like the idea of actually trying to get the synth to PLAY the game much more!
You have created an analog AI! (No seriously thats how some of the most basic AIs work)
I actually have plenty of ideas
The first one would be some kind of manual trigger for the start button that would sync the LFOs, for better consistency between plays.
The second would be using a sequencer of some kind to use as memory, for example, when Mario gets stuck.
Finally, artificial intelligence! Useful to just let run for hours without having to fiddle with knobs! I remember seeing a paper on an OTA neural network somewhere, but I think it was payed...
You should make a modular camera that outputs RGB averages for sections of the frame and then use logic gates to detect oncoming thingies! I feel like a camera eurorack module could be cool for ambient music anyways
I thought you were gonna like....play the synth. And like come up with a song that is the "sound" of playing mario.
Program it to press start to restart the game when he has used all his lives, and then just let it run in the corner for months. Law of averages method. Waste of power but could work it into some other projects.
Toggle the B button ( run ) in level 2. It may prevent Mario from getting stuck.
I'm guessing just sequencing all the required moves is out of the question? Would take a fair bit of back and forth to get the right sequence to make it the whole way through though.
What if you could link the 4 voices from the nes to a synthesizer. Like a midi out or something so that the synthesizer can play all the in game sounds and music when you play the game. :O
It could probably make it with just one LFO and a permanent signal on the forward direction
Maybe putting different colored tape or cellophane over photo-resistors would make them more/less sensitive to specific colors.
I wonder what it'd be like if you plugged in a constant on cv into b so that mario would be running, or maybe somehow automate going backwards hmmm so many possibilities
woah, the tempo in the PAL version is quicker, I want to hear what it sounds like when you're running out of time... oh yeah, there it is, the NES couldn't keep up lol
yeah they sped up the music to compensate but accidentally made it too fast, the sound effects on the other hand are actually slower than NTSC.