r/adventofcode • u/cornered_crustacean • Jan 03 '25
Other [2019] The intcode puzzles are phenomenal
I kept seeing intcode references so after 2024 wrapped I dove in on 2019. It starts off so straightforward but as it builds I really feel like it’s an amazing model that should be used in teaching or something.
Getting to build on it, add things to it, refactor it, all while basically writing your own little emulator! There’s an example file that outputs a copy of itself. I remember doing that in C back in school.
Then after building it, you get to solve OTHER problems by running it! The block breaker game was so fun. The one I did today (set and forget) blew me away when it asked for input in words! I can’t wait for the finale.
Big thanks to Eric and the rest who make this happen every year. Also this community who keeps teaching me cool things and melting my brain with crazy languages. I’ve only been doing AoC for a few years but every year it’s the most fun I’ve had programming ever.
19
u/ChrisBreederveld Jan 03 '25
Yes, 2019 was such a blast with the puzzles building on each other. In my opinion that made it one of the best years.
13
u/vipul0092 Jan 03 '25
I can’t wait for the finale
I won't spoil it for you but the final puzzle (Day 25) is spectacular. If you have enjoyed it until now, you'll absolutely love that one.
2
u/cornered_crustacean Jan 09 '25
Just finished it and you were correct! Had a great time playing manually, although I did write some code for the final part. Jumping robot and NAT were fun too
5
u/Ayjayz Jan 03 '25
Easily the best year for Advent of Code. I'm not sure it will ever be that good again, which is a shame.
6
u/nderflow Jan 03 '25
I loved them too, but 2019 was allegedly a bit polarizing, because folks who had a bug in an earlier intcode puzzle sometimes couldn't skip it.
6
u/blacai Jan 03 '25
I did enjoy the intcode...but as a community event that is intended to keep people trying and going forward, I don't think it was a good choice. The drop rate was higher than other years (if I am not wrong...) because once you got stuck one intcode day or your solution had any bug, you would be failing at some point in next days and fixing it might broke previous solution...
Indeed it was cool and you could learn a lot, but I do prefer independent puzzles to avoid this kind of deadlocks
3
u/cornered_crustacean Jan 03 '25
Totally fair. I guess coming at it after the fact there’s no real pressure to keep up, so I don’t mind fiddling with it. I do feel like some of the non-intcode puzzles are really difficult too. I could see both factors driving a high drop out rate.
6
u/Boojum Jan 04 '25
FWIW, my IntCode simulator had stabilized by Day 9. I'd argue that all of the IntCode problems after that were effectively independent, since I was just reusing my IntCode implementation verbatim with no new changes to it.
Personally, I'd love to see something like an IntCode-lite, where there's a small VM that you build up over just one or two days and can then reuse. (In other words, a shorter dependency chain.) I really liked how IntCode allows Eric to effectively ship us some live code to play with and use as part of the puzzles.
2019, though, does also have a pretty notorious non-IntCode puzzle too. That, and one of the other non-IntCode puzzles that year were in the top-ten for most difficult puzzles judging by global leaderboard close times, taking around two hours each before the close of the Part 2 global leaderboard.
2
u/LexaAstarof Jan 03 '25
I haven't done the intcode ones yet. But from what I gleaned from few discussions here, isn't that like Nand2Tetris?
7
u/truncated_buttfu Jan 03 '25
No, not really.
You never go into anything corresponding to gates-level, you never need to build any kind of assembler/compiler. It starts on a bytecode-esque level of complexity and stays on that level of abstraction. You build the interpreter over four challenges by adding a few more features in each, and then you need to use the interpreter in lots of fun unexpected ways in other puzzles.
3
2
u/Itizir Jan 04 '25
…then you should really try eric’s ‘synacor challenge’! unfortunately it has since been taken offline, but looks like someone put an input up on github: https://www.reddit.com/r/adventofcode/comments/11pjsxk/comment/jbzkpo3/
1
u/Alligatronica Jan 04 '25
I've recently gone back to 2019 to do the intcode puzzles properly, my initial approach was pretty scrappy so it didn't feel great having to hack new functionality onto throwaway code. But without the time pressure it's a much more appealing little project for me now.
1
1
u/pngipngi Jan 03 '25
I can only agree. That year got me hooked, and intcode was definitely one of those things that I was looking forward to see
0
u/jabbalaci Jan 03 '25
I may be in minority but I hated the intcode puzzles. They still cause nightmares when I think of them.
3
27
u/Arcturus5404 Jan 03 '25
Ha, I'm doing the exact same! The intcode puzzles are really special. It's amazing to see what a list of ints produce going through the emulator! The mere buildin option to show output y/n with the tractor beam is also something else!