"I wrote this at 2AM what the hell was I doing?" Ah yes, you are becoming a programmer.
@DanGheesling8 жыл бұрын
Pass the refreshments a cool cool beverage.
@edwardguerrero76448 жыл бұрын
what does this even mean?
@arkurianstormblade41098 жыл бұрын
Madrinas!
@edwardguerrero76448 жыл бұрын
How could I forget the Madrinas?!
@guntabon8 жыл бұрын
Dan, I need you to play Ultimate Chicken Horse. The meta needs Dan Gheesling
@shausable8 жыл бұрын
Everything I do needs a news crew present?
@GaMatecal8 жыл бұрын
slp 7, mov 100 p0, slp 2, mov 0 p0, slp 1 The first pass it'll have slept for 7 at 0, then 2 for 100, then 1 for 0. Since it already slept for 1, the repeating cycles will always sleep for 8.
@Q0060-j3r8 жыл бұрын
Glad it wasn't just me. I was getting mildly triggered when he couldn't grasp it ;)
@kse38 жыл бұрын
Just wait until he gets more parts and can do it with I/O expanders. The whole drink animation can fit on a single MC4000.
@MegaTyler938 жыл бұрын
NL brings up a major issue with people who view gaming industry, the people who say "why don't you just do (x) in real life?" I often hear that when someone is play the Sims. It's the dumbest thing someone can say honestly. Good on egg for exposing that ignorance.
@BlueSkyleaf8 жыл бұрын
Honestly I do not think it's ignorance, I usually like playing games when I CAN'T do that stuff in real life, either cause I would die or it is strictly impossble or I don't have the means to, programmind and plaiyng guitar are things most people CAN do in real life, so I am on the side of finding programming games a waste of time, just like guitar hero, rockband, or any other game whre you just immitate easy to obtain stuff.
@rosswmrice8 жыл бұрын
Games like Rock band or Guitar hero are SO much easier than actually learning to play an instrument. It's a time investment thing, these type of games give you an entertaining and engaging way to fake it. Also a lot of the time the games can help you get better at it in real life. For example Guitar Hero/Rock Band can help you build the finger strength/dexterity to make playing guitar easier.
@Euphorya8 жыл бұрын
These types of games concentrate on the fun parts of programming or playing the guitar while leaving out the boring stuff. I can get good at guitar hero in a couple sessions, but learning to play guitar in real life takes hundreds of hours of practice, most of which is boring as hell. In a game like TIS-100 or Shenzhen I/O I can do what is most the most interesting part of programming, designing and writing a program, without the dealing with meetings, endless debugging, and my boss getting on my ass for not hitting a deadline. These games let you experience the fun part without having to deal with the annoying realities of real life.
@BlueSkyleaf8 жыл бұрын
That makes it sound like playing guitar or programming in real life is tedious and sucks, kinda never made taht experience myself :P
@Euphorya8 жыл бұрын
Sky Leaf Sorry, I didn't mean it to come across like that. What I mean is programming or learning guitar, can be fun a lot of the time, but there are a lot of tedious and boring parts. Learning to play guitar isn't all fun all the time. These games distill the experience so that we only get the fun parts.
@hellzbasket76532 жыл бұрын
SHENZEN IO Come back to this in 2022. It would be most pog
@Rincewindus8 жыл бұрын
Have it sleep for 7 at the start then sleep for 1 at the end. No need to screw around with accumulators.
@goury8 жыл бұрын
It'll fail on second pass then. The only way to win is not being dumb. No cheating.
@Rincewindus8 жыл бұрын
Nope. First pass will start at 7, all others will have a gap of 8.
@goury8 жыл бұрын
you need gap of 14 for last one
@torrinliddell8 жыл бұрын
Each run starts over, you don't have to worry about where the simulation decides to turn the sign off (which would require saving state to memory and reading from it when it's turned back on). This solution is correct.
@jamma2468 жыл бұрын
This totally obvious solution is made even more obvious by the patterns above it, which are clearly periodic with the same period.
@gamesforjake18 жыл бұрын
I would actually wanna see a lets play of this. I think it would be pretty fun to watch.
@ambidexter20178 жыл бұрын
Yeah, especially if it would be NL and if he'd play blind.
@TheShadesOfBlack8 жыл бұрын
Me: "Man I sure love programming." -Looks over at RaspberryPi sitting in a box. "One day my precious. You will be a robot..."
@MrZelnoth8 жыл бұрын
me irl. Q_Q
@ElwoodPlays8 жыл бұрын
this is how eggsociety begins.
@crazzilla72038 жыл бұрын
Eggnet is a neural egg-based conscious group mind and artificial general intelligence (see also Superintelligence) system. Eggnet gained self-awareness after it had spread into millions of computer servers all across the world; realizing the extent of its abilities, its creator (see also Northernlion) tried to deactivate it. In the interest of self-preservation, Skynet concluded that all of humanity would attempt to destroy it and impede its capability in learning all wikipedia articles and general trivia. As a programming directive, Eggnet's manifestation is that of an overarching, global, artificial eggtelligence hierarchy (E.G.G takeover), which seeks to exterminate the human race in order to fulfill its goal of ultimate knowledge in the fields of lyrics, dates that movies came out and their casts, and general trivia.
@KYdragono8 жыл бұрын
bonsoir, Eggliot
@umbaupause8 жыл бұрын
One day, eggnet will hatch into... eggnet. Cause it will be recursive...
@crazzilla72038 жыл бұрын
umbaupause eggnet will never work, NL will try to make it sleep 7, when it needs to sleep 8, and then try to make it sleep 6 to fix it.
@Ambigant8 жыл бұрын
I am become eggman, destroyer of worlds
@TingfengWan8 жыл бұрын
Can't wait for Lets Play: Visual Studio Community 2015
@Rararawr8 жыл бұрын
mov 0 p0 slp 7 mov 100 p0 slp 2 mov 0 p0 slp 1 How hard is that NL
@GaMatecal8 жыл бұрын
Except you need to sleep for 8 instead of 7 for every cycle afterwards.
@CakeHasFrosting8 жыл бұрын
hit *read more* he has a sleep 1 at the end so it will sleep 1, then 7 so after the first time, it will be 8 total. p.s. not trying to be sarcastic or anything
@GaMatecal8 жыл бұрын
Nah, you weren't. KZbin didn't show the "read more" link. A weird glitch where you have to click on the timestamp, and then that link is shown. BTW. Remove first line. You're wasting electricity :)
@dementedpenguinz8 жыл бұрын
actually unwatchable
@SirGareth8 жыл бұрын
NL probably already has an idea of a solution in his mind which makes it hard to think about the puzzle in a different way. Inadvertently he's showing one of the easiest traps to fall into as a programmer of not diligently thinking about every possible solution, even "simple" ones.
@CasperDar8 жыл бұрын
30:20 I love it when you've programmed something and you come back to it later just to go ''what the fuck did I even do here?''
@kray977 жыл бұрын
What I didn't realize when I first started it is that there's an inherent loop built into the microcontroller. That made things super easy.
@Denis238928 жыл бұрын
The best feeling is the one you have when you start watching a video before youtube even notifies you
@wiredmind2 жыл бұрын
Came back from the card game video damn old NL sounds so different
@HarrHarrHarrify8 жыл бұрын
Hey NL, you need to wait on output in real microcontrollers too. Basically they work so fast that if you did not wait (use slp) the output signals would be useless.
@dareusdesign8 жыл бұрын
When you said "Shenzen IO" the FIRST thing that came to mind were games like "Slither.io" and "Agar.io" and I was about to be like "why have you forsaken us egg"
@TheShadesOfBlack8 жыл бұрын
Shenzen.IO, program your dot to be the best damn dot in the world.
@Reevezy678 жыл бұрын
Let's play please. please.
@SmokeyParadigm8 жыл бұрын
I love being able to finish watching one NL vid that he just uploaded, and having another one already uploaded and ready to watch. It's lit.
@GhostDr3amer8 жыл бұрын
They made a game about assembly pseudocode. Truly, there is nothing that can't be turned into a game.
@VahnCruz8 жыл бұрын
Just play Solitaire?
@tylocook8 жыл бұрын
It is freecell
@Narpas8 жыл бұрын
NL is the best sales person for this game, all I wanted to do was say, "GIVE ME THE KEYBOARD LET ME SHOW YOU"
@theWebWizrd8 жыл бұрын
Okay, first of all: you had the riǥt idea NL when you said you just needed to change the phase. You needed to view the loop as ending on 0. it is 7x0, 2x100, 1x0 repeating. That's how you do it. You even could have fixed the conditional test by checking if dat is 0 as per default, then change it to 1 and never change it back. 0 and 1 instead of -1 and 0. A more efficient and elegant solution is probably to notice that dance2 = -(dance1+dance0). You can compute it from those signals in that way. Anyways, awesome game, As someone with an MSC in CS I'll pick this up for sure :P
@BreatheManually8 жыл бұрын
27:40 i was looking at this and thought, cant you just add a mov 0 p0, sleep 1 at the end of your sequence. So you sleep 7 Up 2 sleep 1 more then sleep 7 and so on.
@patrickfreeman68518 жыл бұрын
no, as it will loop round and you will always be sleeping 7 before moving, not 8.
@goury8 жыл бұрын
Nope, you can not
@mokkero18 жыл бұрын
That problem would also be a lot more simple if you did drink-2 in the same controller as drink-0 or drink-1. Doing it separately complicates things (and makes me scream internally at NL's incompetence).
@MrTommyx038 жыл бұрын
yes but egg think much so no
@DanielEidi8 жыл бұрын
It will be sleeping 7 after 1 (=8) after first loop. It actually irritated me for egg not to see this solution.
@AndrewB_NNA6 жыл бұрын
You know, I thought I was really bad at the game but watching NL has really filled me with confidence that I might not be that terrible.
@LupeFenrir8 жыл бұрын
sleep 7, on sleep 2, off sleep 1
@Jolfgard4 жыл бұрын
gen 7 2 slp 1
@a_commenter3 жыл бұрын
@@Jolfgard imagine knowing about gen yet
@juandesalgado3 жыл бұрын
Sound like my life
@MrZelnoth8 жыл бұрын
Hey NL: another way to think about the drinks: 0 is on when both 1 and 2 is of, 1 is on when 0 and 2 is off, and 2 is on when 0 and 1 is off.. Helps to break down what you want to do to see a better solution. :)
@Marconius68 жыл бұрын
Halfway thru the big puzzle, I was starting to think "You know, it'd be easier to just like, have a command for each second and be done with it, the whole loop is only like 8 steps anyway"
@goro1588 жыл бұрын
masonery123 just do it in big one and small one, it's still cheaper than 3 small ones
@Waggles11238 жыл бұрын
The issue with drink 2 is that you're thinking it's off-7 on-2 when it's off-7, on-2, off-1.
@TrolIification8 жыл бұрын
exactly. all the drinks should have a cycle length of 10. He was using 9 because he was forgetting the off state at the end
@DudokX8 жыл бұрын
What about short 4-5 episode Shenzhen I/O series ?
@ShenaniganGamingMC8 жыл бұрын
5 hours each
@jays58108 жыл бұрын
You should've just added slp 1 to the end of your first solution to drink 2 noob
@jays58108 жыл бұрын
Should've ended: slp 2 set 0 p0 slp 1 :)
@oldgoodrandomroutine8 жыл бұрын
4:08 We call it Pulse Wave Modulation, or PWM!
@oldgoodrandomroutine8 жыл бұрын
I was thinking bout diff thing while typing, thx!
@NiamorH8 жыл бұрын
synthesizers geeks spoted!
@oldgoodrandomroutine8 жыл бұрын
NiamorH hahaha ty
@Narge10148 жыл бұрын
i actually died laughing when he opened up that frankenstein creation, game looks sweet as hell tho
@AlexSantos-bc7xv8 жыл бұрын
NL's vocab word of the day: Beguile - To charm or enchant someone, sometimes in a deceptive way; To help pass time pleassantly
@KzintiCV8 жыл бұрын
This needs a full LP.
@mikkelmowinckel28218 жыл бұрын
Oh man, all you had to do was to add one more sleep at the end.
@zashadow1319908 жыл бұрын
for your looping problems. just compare acc with 0 and when it's true do a custom loop and move 1 to acc at the end of the true section. then the false will be the normal loop..you could also use a jump(if that is available) at the end of the code and make the label after the portion that is going to be ran the first time. But there are so many things in sync it's quit posible that some are meant to be done on the same chip.
@Tesseract238 жыл бұрын
I so want a 24 hour livestream of this game by NL, the rage would flow!
@snow86248 жыл бұрын
we need a let's play of this. this is so good
@DaKingXVI8 жыл бұрын
Looking at his solution to the sign makes me cry, especially the clicking part. RTFM! The "not" command exists!
@GianfrancoAlongi8 жыл бұрын
This is an excellent tool for teaching some very fundamental machine oriented programming :) Thanks for this video NL - I will spread this word :)
@cookirox8 жыл бұрын
i'm impressed that you were able to make it that convoluted and still get it to work, when you just need to add a slp1 at the end of the original 7 loop :D
@rgjoyner8 жыл бұрын
NL - use one chip to control Drink 0 and Drink 2 and a second chip for Drink 1
@miketothe2ndpwr8 жыл бұрын
really interested in this game, never would have heard about it without you NL thanks for the future headaches.
@cjs8128 жыл бұрын
been looking forward to this one ever since you tweeted it, nice
@-isk93668 жыл бұрын
awww yiss, i've been eagerly awaiting this one.
@MercMercury8 жыл бұрын
Fuck, watching him fail on drink-2 was hilarious. I certainly struggled with it for quite a while, but it does feel good to see someone else fart around for a while.
@JeanCajeron8 жыл бұрын
easy solution: sleep 7 move 100 sleep 2 move 0 sleep 1 Hard core: connect all tree of them toghether because when 1st is off 2nd is on except when 3rd is on.
@devindevino41158 жыл бұрын
A very real way of debugging a program is called rubber duck debugging where you just explain each step of your program to a rubber duck thats sitting on your desk and it can be super useful to finding faults in the programming
@nithia8 жыл бұрын
NL you might be able to use your click controller as a counter since it does on off every cycle. split the power outputs and sync everything up to it.
@goingquentin8 жыл бұрын
I loved TIS-100, I can't believe I didn't hear about this yet. Thanks for the video, egg, buying this right now
@rndmcnflct8 жыл бұрын
I really enjoyed this video. Instead of a generic overview it shows how the game is actually played.
@HenryHerkula8 жыл бұрын
Make it an official series: Live Debugging With Northernlion!
@ScottDeRuby8 жыл бұрын
No, this is exactly what modern programming is like. Mostly in the frustration and finally figuring things ou, and the revelations. But it also depends on what language you're using, there are different levels of languages. He's talking about high level languages.
@codydavis28718 жыл бұрын
I love this. I've played through tis-100 and didn't even know about this game. Instant buy for me.
@jjooeesslldds8 жыл бұрын
NL this is why I watch your channel
@fuchsia35388 жыл бұрын
Since I have experience in little big planet 2 logic, this looks like a piece of cake ;)
@marcellotomasina38558 жыл бұрын
Egglord, please, make a serie out of this! PS: "I'm not good in learning gameplay mechanics." Yep, Rimworld proves it well.
@gameing01058 жыл бұрын
thanks NL i love these types of games didn't know this was out. it looks amazing
@APG938 жыл бұрын
I like how egg points out it's in a ten step increment, and then only writes it as off 7 on 2 lol. Off 7 on 2 off 1 simple as that NL.
@Ashnal8 жыл бұрын
So, I love programming for fun. The feel of coming up a with an elegant solution to a complex problem gives me the warm fuzzies inside. The problem is that I don't always have a problem to solve. This game gives me problems to solve, so I like it :D
@Gladaed8 жыл бұрын
2 things: It seems like that's a version of freecell not solitair. If you look at the puzzle you did sub-par: The output to sign allways demands that all other components are 0 if one is 100. Thats probably the secret
@TurielD7 жыл бұрын
I find it amazing that you're able to play this but not Kerbal. I found this way harder!
@CarpenterStateOfTheArt8 жыл бұрын
you said it yourself, it's a 10 phase loop. so: off for 7, on for 2, off for 1
@mostlytony17328 жыл бұрын
Check out Mark Brown's commentary on what makes Zachtronics games so special, "Puzzle Solving... or Problem Solving?" In short these games are more like problem solving games rather than traditional puzzle games. You have to come up with your own solution rather than finding the predetermined answer the dev already set in place.
@Berengal8 жыл бұрын
I love this game so much, and the other Zachtronics games as well. I think what really makes them special is how the puzzles aren't fixed. In most puzzle games you're trying take sense of a mess, to find a pattern and put the problem back together in the solved state. In Shenzhen I/O (and the other Zachtronics games) you're instead given a set of tools and a problem and it's up to you to find your own solution. In addition to analytical thinking you also need creativity, which makes solving problems in these games very satisfying. If you're not sure about picking up this game you can try some of Zachtronics free games. The mechanics are different from game to game, but they're still puzzle games that has that creativity requirement. The Codex of Alchemical Engineering and KOHCTPYKTOP (constructor) are available as flash games so easy to check out. Another flash game in a similar vein (but made by someone else) is Manufactoria.
@joepnijveld8 жыл бұрын
Thank you for brining this to my attention! I just bought it because of this video
@edwardguerrero76448 жыл бұрын
Yo, NL. I know you probably get this request all the time, but how about a series on this? This would work really well as like a once a week type deal, where you solve a puzzle or two during an episode. Really love watching this programming type stuff and seeing your vocalized thought process.
@theprimerib8 жыл бұрын
right away the first thing that stands out to me is that the MC4000 in the middle serves pretty much no purpose what so ever because you could just move ACC to the x-bus and accomplish the exact same task and save you 92 power and 3 yuan
@Jsizzlet8 жыл бұрын
i want a series on this im intrigued
@samuellima918 жыл бұрын
No matter how much NL explains this, i still have no idea what's going on. I'm still watching though. It's because he still manages to make something so brainy fun to watch through his commentary. That's our Egg's superpower!
@thun58 жыл бұрын
for the last puzzle you could also play on drink2=NOT(drink0 OR drink1). or in this case if drink 0 + drink 1 = 0 then drink 2 = 100
@Doomroar8 жыл бұрын
On the other hand people, one day if NL keeps playing this programming games, he may become good at them from the get go.
@TheKevit078 жыл бұрын
This is more like a what you'd do if you didn't have resistors and switches and buses. It's computer electronics mixed with computer programming to replace the physical components.
@Frank_havre_creation8 жыл бұрын
It is pretty interesting. I think you should make so that ''if Drink 1= 1, sleep 1 then drink 2=1''
@PongzeLor8 жыл бұрын
Idk how to write it but click 0 and click 1 both oscillate power, Click1 sleeping from 0-1 and Click2 sleeping from 1-2 repeated to end. Drink 0, drink 1, and drink 2 all use the same power but drink0 sleeps from 0-6, Drink1 sleeps from 6-7, Drink2 sleeps from 7-9, and Drink1 sleeps from 9-10. Wording is all wrong but i think you know what i mean. Idk if you can make Click0 at 100 if Click1 is at 0 and Click1 goes to 100 for 1 and goes to 0 for 1. Drink 2 waits for 6 and goes to 100 for 2 and... And after too many edits I've given up along with NL. Cant seem to do it efficiently enough.
@brawlfan1008 жыл бұрын
By default, are the display segments (click, drink, etc.) set to 0? If so, wouldn't that save you from writing something like "mov 0 p0" at the beginning? That could give you the following solution for the last puzzle: slp 7 mov 100 p0 slp 2 mov 0 p0 slp 1 And I guess if you had to, you could throw "mov 0 p0" at the beginning, unless it doesn't allow for a variable to be set to the same value for whatever weird reason.
@Duskr98 жыл бұрын
Ahh this reminds me of my embedded systems class. Good times writing in assembly.
@mtktm8 жыл бұрын
Copy the script for the second controller to the third controller, and flip the integers for position 6 through 10
@viziroth8 жыл бұрын
This is what programming is like if you're a virus writer or microcontroller writer.
@headfirst19878 жыл бұрын
God this is making me so nostalgic for Uplink!
@mawiiile7068 жыл бұрын
nl cant pass up an opportunity to remind us hes got like an hour a weeks experience over the past 2 years in programming
@quillenkai67148 жыл бұрын
I felt like L this whole video, despite not knowing anything about programming, like "At the start of the loop, (on the last puzzle) couldn't you make it so that it subtracts 1 from dat instead of setting it to -1. Then at the end you could set dat to 1 and it would work." It also helps that I hate conventional chairs and was having breakfast at the moment
@alexstone6918 жыл бұрын
i love that company, they are so good!! i have been programming for many years
@Kml-ki1im8 жыл бұрын
would you just do this for that last module: if -1 then loop set drink 3 to 100 till loop (which has now been set to 1) =-1 then continue this in a loop making it check if -1 then turn drink 3 on till -1 again
@TheMessedUpDuck8 жыл бұрын
Even if you didn't do the easy solution what you were trying would have worked like this: teq acc 1 (it wont be on the first loop) + slp 8 - slp 7 (this will happen) mov 100 p0 slp 2 mov 0 p0 mov 1 acc (this will set acc to one and every loop after it will still be one so it will sleep for 8 instead of 7)
@jkobain5 жыл бұрын
Dude, I've done animated eSports sign with MC4000+MC6000 (¥8) and then with MC4000 x2 + DX300 (¥7). But now I see that I could do it differently!
@PongzeLor8 жыл бұрын
The most efficient electronic is 2 rocks smacked on each other. I call it a sound maker
@GivenFailure8 жыл бұрын
Thats not electronic.
@PongzeLor8 жыл бұрын
P3dotme A rock can dream
@slightexag8 жыл бұрын
any game that requires a prolonged rationalization and defense of its basic interface and accessibility seems like a weird choice for a lets look at, tbh.
@SeniorGarbonzo7 жыл бұрын
You can do the drinking sign problem in 9 lines of code, but you have to use a command and conditional you learn later on and every input gets an individual micro-controller. Whoops.
@SelbenCoirlo8 жыл бұрын
Good LORD NL, you could have just added another sleep cycle to the end of drink-2 to make it all shake out properly
@joaquinbarbosa39048 жыл бұрын
Is the audio a bit strange for everyone?
@Pertilious8 жыл бұрын
drink 0 just needs to trigger the other 2 since they can be all happen in the time drink 0 is off. that should be enough of a hint of solve your program very easily. if you didn't already realise this
@glitch3738 жыл бұрын
At the end there, didn't he have it if he made the first cycle run on dat 0 and every other cycle run on -1? Just switch them round? Then you don't have to change it at the start of the program.
@MrPain42428 жыл бұрын
please make a full let's play
@f00ky3w2oob8 жыл бұрын
This might be an unpopular opinion, but I would be interested in NL doing a series on this.
@Zebitty8 жыл бұрын
To make that last loop line up .. try off for 7 on for 2 off for 1 loop also - there are people using this game to make _other_ games .. search youtube for "shenzhen maze 3d"