[HN Gopher] How Pitfall builds its world (2021) ___________________________________________________________________ How Pitfall builds its world (2021) Author : kibwen Score : 209 points Date : 2022-12-22 17:30 UTC (5 hours ago) (HTM) web link (evoniuk.github.io) (TXT) w3m dump (evoniuk.github.io) | mike_hock wrote: | > We got really lucky that Microsoft released the source code for | MS DOS, and maybe if we're lucky Activision and Atari and | Nintendo have all their original code somewhere in a vault, which | they'll release freely into the public for the good of mankind, | but I'm not holding my breath. Everyone who is able should be | working to preserve whatever piece of history they can, 'cause | it's not gonna preserve itself. | | Amen. | ilamont wrote: | Pitfall _really_ stood out ... and made many of us think, "why | can't other 2600 games hit the bar set by Pitfall?" | | I mean, there were fun games with very basic graphics (Combat | springs to mind, | https://www.free80sarcade.com/atari2600_Combat.php) but there | were also way too many uninspiring original games and arcade | copies that were just lame. | | Now we know why. It's a great article, thanks for sharing | @kibwen. | chungy wrote: | It still stands out as an actually-fun game on the 2600. | | The 2600 is before my time. I grew up with the NES and its | library. I do see 2600 nostalgia in older generations, but for | me, Pitfall is pretty much the only title worth playing. | bluedino wrote: | If you like Pitfall you might like Keystone Capers | toast0 wrote: | If you've got the paddle controllers in good condition, and a | low latency screen, super breakout in progressive mode is a | treat. And paddle controllers disappeared since then, so hard | to replicate. Arkanoid with a spinner on newer systems is | similar but different. | thom wrote: | The two-player games were all fun, the arcadey stuff like | Centipede and Missile Command were addictive. My memories of | Pitfall were mostly that it was repetitive and hard, but I | was pretty young so presumably sucked. I do remember that | things like Submarine Commander and Star Raiders/Solaris felt | very, very sophisticated though and I can imagine they'd be | worth a revisit. | tenebrisalietum wrote: | A YouTube video | (https://www.youtube.com/watch?v=CkDllyETiBA) showing the | complete walkthrough where all 32 treasures are acquired | leaves less than a minute on the 20 minute clock (actually | 8 seconds left). Nintendo hard doesn't have much on certain | types of Atari hard. | duskwuff wrote: | The best tool-assisted speedrun for this game comes in at | 18:11. According to the runner, a lot of the obstacles, | like swinging vines, all run on the same timer. This | means that saving a bit of time on one room may not put | you ahead (because it just means you have to wait longer | for the next obstacle), but missing a "cycle" on an | obstacle is an unrecoverable setback. | | https://tasvideos.org/4000M | popularrecluse wrote: | You may find many of the Activision titles still hold up. | River Raid, Megamania, Seaquest, Frostbite. There's a lot of | fun to still be had in those games, especially if you're | competing head-to-head. | | But for my money the most fun you can have on an Atari 2600 | today is 4-player Warlords with well-maintained paddles. | GeekyBear wrote: | > for my money the most fun you can have on an Atari 2600 | today is 4-player Warlords with well-maintained paddles | | This was definitely the most fun for larger groups of | players back in the day. | | https://www.giantbomb.com/warlords/3030-25096/ | chungy wrote: | I'll definitely have to check them all out. Thanks! | kgwxd wrote: | Do you know about Medieval Mayhem? | https://atariage.com/store/index.php?l=product_detail&p=842 | | "adds arcade features such as the launch dragon, multiple | fireballs, and a level of polish missing from the original | 2600 release." | | There are a ton of homebrew games for the 2600 that are | super fun. | JohnBooty wrote: | Yeah! 2-player (or 4-player!) simultaneous Warlords or | Medieval Mayhem are _really_ fun, even in 2022. | | After many decades I finally managed to try it out, on a | real CRT and everything. It's not something you generally | want to play for hours or anything like Mario Kart... but | it is really really good. | virgulino wrote: | My vote for River Raid, H.E.R.O., and Enduro. Cool fact | that I only recently discovered: River Raid was designed | and programmed by a woman, | https://en.wikipedia.org/wiki/Carol_Shaw . | lowercased wrote: | Others have mentioned some other good games (Ms Pac, Keystone | Kapers, River Raid, etc). | | There was something about the first generation Activision | games that seemed to stand out compared to the rest. Whether | simple or complex, they had some hard to pinpoint quality | that was just... 'good'. David Crane mentions this in one of | the linked videos. "2 line kernel didn't look good. 1 line | kernel was harder to do, but looked better, so we just did | that". He's referring to doing more work to be able to make | visual updates every scan line, instead of every other scan | line. This made their games so much more visually sharp and | appealing compared to what came before on the same hardware. | tenebrisalietum wrote: | So the TIA (the Atari video chip) has a "delay" slot for | its "player" graphics--a player being an 8 dot wide object | - the CPU is supposed to program in new data the player | graphics register during the HBLANK portion of the display | for each scaline it's visible. | | The intention was that the CPU would spend 1 scan line | updating P0 graphics, then the next scan line updating P1 | graphics, and by setting the delay for P0, both player | graphics would appear on the same 2-line portion. | | So "2 line kernels" were doing it in a way the TIA | supported and providing time to do other things like check | paddle status (because you're supposed to be programming a | Pong game). Of course the TIA has been wonderfully pushed | and twisted in ways never imagined by the designer. I think | someone even experimented with interlaced 160x400 graphics. | antiterra wrote: | "River Raid" stands out to me as the most actually fun Atari | 2600 game. | | Despite having awkward controls, "Combat" is also fun due to | couch multiplayer. "Jungle Hunt" is similar to Pitfall but | faster. I also managed to spend a lot of time playing the | 2600 version of Asteroids, but I don't know if it actually | holds up. | MisterBastahrd wrote: | Yep. Anybody hating on Combat never played Combat the way | it was meant to be played. I treated it as the game you | just put to the side as a kid because we were too busy | playing Pac-Man, Donkey Kong, Breakout, Chopper Command, | Galaga, Galaxian, Defender, Adventure, Vangard, etc. But | once you've played Empire Strikes Back ten dozen times and | the fun of shooting glowing pixels on the backs of AT-ATs | wears off... Combat was still there and took almost zero | explanation for how to play. | progmetaldev wrote: | I really loved playing Vangard when I was younger. The | multi-level types and fast-paced action really drew me | in. | lowercased wrote: | https://www.youtube.com/watch?v=B21K8X1eja0 | | Check this out - a list of 20 Atari VCS games the author | thinks still hold up in 2022. | | I'm not sure I agree with all the choices, but it's an | interesting list nonetheless. | caseyf wrote: | If we're listing fun games i'd like to add Berzerk :) | actionfromafar wrote: | Did you try Ms Pacman? It's pretty solid. | chungy wrote: | Probably haven't, but I'm not usually enamored with home | console ports of arcade games when I can just as easily | fire up MAME. I can recognize them for what they are on the | hardware they target, but nearly always the arcade original | is preferable. | actionfromafar wrote: | No doubt, but I bought a VCS2600 and actually used it a | couple of years ago. Pretty fun! | s1mon wrote: | I didn't have a 2600, but my friend did. Pitfall was by far the | game I remember going to his house to play. It really was | worlds better than the rest. | | This was also a time (1982) when arcade games (Star Wars, Tron, | Zaxxon, etc.) and their graphics were an order of magnitude | more impressive than home console games, but Pitfall still had | enough playability and complexity to keep it interesting. | coldpie wrote: | > Combat springs to mind, | https://www.free80sarcade.com/atari2600_Combat.php | | Fun Copyright Fact: This website is violating Atari's copyright | and will do until the year 2072! | | "For a work made for hire, the copyright endures for a term of | 95 years from the year of its first publication" | https://www.copyright.gov/help/faq/faq-duration.html | mrguyorama wrote: | And this is all thanks to the goddamned mouse and the | politicians that decided disney's desire for infinite money | was more important than societal good from more media | turnover and ability to riff on it. | CharlesW wrote: | Just for fun, here's the Pitfall TV commercial (and Jack Black's | first acting gig): https://www.youtube.com/watch?v=wfLgSdAAHMA | dang wrote: | Discussed at the time (of the article): | | _How Atari 2600 Game Pitfall Builds Its World_ - | https://news.ycombinator.com/item?id=27111377 - May 2021 (29 | comments) | bluedino wrote: | > We have the original source code for basically zero games for | the Atari, NES, SNES, ColecoVision, you name it | | Aren't those dumpster-dived scans of source code to Atari 7800 | games? | devoutsalsa wrote: | Tangent... | | From 2000 to 2002 I worked as a QA engineer at a semiconductor | company in Silicon Valley. We tested the chips using all sorts | of software. My boss loved dumpster diving at software | companies, and probably half of our lab's software came from | stuff she found in the trash. My favorite find was Risk (the | board game) for Windows 3.0. | themadturk wrote: | Did no one here play "Kaboom!"? That was a fun game... | vikingerik wrote: | We did, but there really isn't anything interesting about | Kaboom to make for discussion here. There's no technical | wizardry or open world or groundbreaking mechanics or sense of | fascination or urban legendarium about Kaboom, it's just a | straightforward reflex game doing simple things with the | hardware. | CharlesW wrote: | And yet, this completely uninteresting game by legends Larry | Kaplan and David Crane had to fit into 2,048 bytes, ran at | 60fps, won several awards, set sales records, and quickly | became an instant classic. | russellbeattie wrote: | I think much of this is explained at a high level in this talk | from the original game designer: Pitfall Classic Postmortem With | David Crane Panel at GDC 2011 (Atari 2600). | https://youtu.be/MBT1OK6VAIU | | I haven't seen it in a while (will rewatch now), but I remember | him going over how he was able to create so many levels in such a | tiny space. I love these sorts of examples of breakthrough tech | products that were the result of a developer figuring out how to | do something that seemed impossible. Much of Apple's early | success, for example, could be attributed to this. | travem wrote: | My first exposure to the concept of this kind of procedural | generation was with the game Elite and how it created different | galaxies. With such limited capabilities available it was eye | opening to see the creativity that was unleashed. | | See | https://www.theguardian.com/books/2003/oct/18/features.weeke... | lowercased wrote: | I think Archipelagos | https://en.wikipedia.org/wiki/Archipelagos_(video_game) and | Sentry/Sentinel https://www.c64-wiki.com/wiki/The_Sentinel also | employed this technique. | gdubs wrote: | Steve Woz said something in his book that always stuck with me: | the younger generation is missing out on what it was like to grow | up during a time where it was possible to grasp the entire | machine in your mind. | | People always chime in to say that you can still do that today. | But back then the constraint was real; it was the best you had to | work with, and it forced you to think of creative ways to use it | and maximize it. | | Anyway, super cool piece -- thanks for sharing! | spogbiper wrote: | I grew up with early 80s microcomputers. I played around with | BASIC and a little asm, definitely found it fascinating but as | a kid just typing in little games from magazines I didn't | really ever understand the whole computer. | | Then in my 30s I found a group of retro enthusiasts that were | still hacking on the little oddball computer I'd had as a kid. | It became a hobby for a few years, and coming back to the | platform with a couple decades of experience programming was | truly a revelation. Fitting the whole machine in your head, | knowing what every byte in the memory map and every cycle of | the CPU are doing.. its an experience I don't think is really | possible on modern hardware. Maybe with a microcontroller or | arduino type device, but even these are much more complex than | the old 80s microcomputers. | [deleted] | [deleted] | criddell wrote: | And the generation before the one Jobs was nostalgic for didn't | have integrated circuits. They knew every transistor, resistor, | and capacitor. | Eleison23 wrote: | [dead] | hbn wrote: | It's even more sad for kids being raised on smartphones and | iPads as their only computing paradigm. If desktop OSes aren't | complicated enough, there's certainly no hope of you learning | how one of those work with how locked down they are. There's a | lot of people who got into programming from learning to make | Minecraft mods or basic scripting for some game. It feels like | the mobile application paradigm tightly cements the idea that | all software that runs on a computer is from some big company | and shan't be tampered with. | | And I don't think Xcode Playgrounds or various Programming | Environment For Babies applications draw as much attention and | spark as much imagination as learning to mod infinite lives | into a game you already play, or even something as simple as | modifying an ini file for a mod you found online. | ilyt wrote: | I do vividly remember feeling of pride when as kid I edited | some game files to do something funky (like swapping Red | Alert Tanya weapon to tesla coil...) or managed to cheat the | game via hex editor or cheat engine. | | Mixing "something you like" with "something you can learn" is | always a winning combo. | benj111 wrote: | Well I had a BBC as a kid before progressing to pcs. The idea | of programming never really occured to me. I had a book but | it's idea of programming consisted of typing out an ASCII art | house. | | I only got in to programming in my 20s when some company | called canonical were giving CDs away of this thing call | Linux. | | Point is. We have the internet now for kids to discover these | things, and schools are more up on it and we have inexpensive | computers and stuff for kids to play about with. | marcellus23 wrote: | Any kid who wants to build an app for the iPhone/iPad can do | it pretty easily, they just need a Mac and Xcode. With Swift | Playgrounds for iPad, you don't even need a Mac. | | I know you mentioned it "doesn't spark as much imagination", | but I'm going to strongly disagree with you there. I don't | think most software engineers got started by tweaking | existing software. _You_ may have started that way, but I | didn't. I got into programming by seeing the kinds of apps | people made for Mac and iPhone, and wanting to build those | kinds of experiences. | gdubs wrote: | I just want to be clear I'm not framing today's tools as | "bad" or unable to spark imagination -- my own kids are | getting started with Scratch and it's great! | | But I also feel like there's some magic in the past too. | Some of it's nostalgia, but there's also lessons there that | are valuable. | Waterluvian wrote: | I don't disagree, but it's all perspective and it's all | fractal. Every generation is building on top. He had his own | examples of what he laments, I'm sure. | bitexploder wrote: | I have been deep in the 6502 hole writing an emulator and | watching Ben Eater. Throw off the shackles of your massive | computers and compute for the sheer fun of it! Almost everything | about the 6502 and writing assembly for it is relevant in some | way to modern systems programming. You get to trim all the fat | from programming and computing and see the ingenuity of computing | unfolding before you in a tiny little 2^16 address space. Where | you are going there isn't even a div instruction. It is a cool | way to compute and as retro as it is if you were ever interested | in systems programming this is a cool, nostalgia themed, way to | start. | tenebrisalietum wrote: | Plus you can make new NES games. | kgwxd wrote: | And a whole bunch of other systems: https://en.wikipedia.org/ | wiki/MOS_Technology_6502#Computers_... | | And, more recently, the Commander X16. | bitexploder wrote: | That is my eventual goal. There are many NES emulators out | there, but this one will be mine :) | | I also wanted to release a decent pure 6502 with a good | command line monitor that lets you explore programs easily. | Step. Poke memory. Set registers. Good CLI. We'll see. It | really helps to have a decent playground when getting started | :) | binarymax wrote: | Awesome write up, thank you for the deep dive and nostalgia! | | I also like that this is on the front page the same time as "24 | cores and I can't move my mouse" | https://news.ycombinator.com/item?id=34095032 | | It tells us that software is like a gas - it naturally expands | and fills the container it occupies. | whoopdedo wrote: | Also known as Parkinson's Law[1]. "Data expands to fill the | space available for storage." And the reason building more | highways doesn't reduce traffic congestion. | | [1] https://en.wikipedia.org/wiki/Parkinson%27s_law | benj111 wrote: | This also applies to stuff and houses (and garages) | [deleted] | Arjuna wrote: | Awesome! | | Any time I think of Pitfall!, I always remember this pamphlet you | could request and receive via mail: | | _Programming Pitfall Harry_ | | https://archive.org/details/program-pitfall/mode/1up | aaroninsf wrote: | This sure takes me back to hand-coding embedded systems firmware | for a family of products on Microchip 8-bit microcontrollers... | and that was as recent as this millennium. | | In the days before ARM and when we needed to use a $3 processor | to hit our BOM cost, my code used every byte of the 8K and every | register... bit-banged I2C, bit-banged RS232 up to 56Khz, LED and | 8-key touchpad debouncing, and best of all, an IR receiver and IR | emitter which both learned arbitrary consumer IR codes in the | fashion of a then-fashionable universal remote, and reproduced | them including press-and-hold behavior, while emulating their | carrier frequency... and could do bi-directional device cloning | via IR by holding the products up to one another face-to-face... | | And had a rock-solid bootloader for encrypted firmware updates. | | Ah the good ol' days... a tear for the old skool. | | I called the binder with the hard copy of the commented assembler | source "my first novel"... | isk517 wrote: | Even though I was grew up well into the Nintendo dominated era of | video games (NES,SNES) my first video game experience was playing | on my parents Atari 2600 and both Adventure and Pitfall where | common go to games for me. Reading the beginning of the article | gave me real food for thought about how the manual of Adventure | needed to specifically explain to the user about the concept of | multiple rooms. Even with my limited exposure to more modern | video games at the time I instinctively knew that going to the | very edge of the screen was how you got to the next screen so the | idea that this was something so new in Adventure it needed to be | explained just blows my mind. | sasas wrote: | LFSR algorithms are super interesting. Fabien Sanglard documents | how it was used in Wolfenstein 3D's 'Fizzle effect' [1]. This is | also covered in his book on the development of that game [2]. | | A detailed write up that goes into a bit of mathematics with code | examples is 'Demystifying the LFSR' [3]. | | The 'Computerphile' Youtube channel did a whole episode on LFSR | last year which is very accessible, highly recommended [4]. | | [1] https://fabiensanglard.net/fizzlefade/index.php | | [2] https://www.amazon.com/Game-Engine-Black-Book- | Wolfenstein/dp... | | [3] https://www.moria.us/articles/demystifying-the-lfsr/ | | [4] https://www.youtube.com/watch?v=Ks1pw1X22y4 | RantyDave wrote: | 128 bytes. I'm trying to think of something in today's world with | that little memory - a 'door opening' smart card? a car key? | There are light bulbs with literally a thousand times as much. | rsync wrote: | 128 bytes and _no framebuffer_. | | They had to "race the beam" ... but the VCS was not as fast as | the beam, which is why Atari 2600 games always have a | horizontally stretched look to them: | | https://en.wikipedia.org/wiki/Racing_the_Beam | | "The book's title comes from the fact that the Atari 2600, | initially branded the VCS (Video Computer System), did not have | a video frame buffer, and required the programmers to write | each line of video to the television, one line at a time. As | there were only a limited number of machine cycles in which to | do this, the programmers were literally racing a high speed | electron beam across the screen." | mrguyorama wrote: | I 2007 or so, my mother bought me a "robot" kit with a Parallax | branded "BASIC stamp microcontroller" | https://www.parallax.com/product/basic-stamp-2-microcontroll... | | It had 32 bytes of RAM. The IDE and educational materials were | very heavy handed about encouraging you to split them up into | very small variables, only as big as needed. Think of all the 8 | bit ints that fit into 32 bytes! | | PBASIC was actually pretty cool. | dylan604 wrote: | DVDs. There were 16 GPRMs that were 16 bits. Doing anything | that resembled complicated required the use of everyone of | those bits. This was the first time I had ever had to use bits | in this manner, and did things not dissimilar to how Pitfall is | described using the bits it had available. Of course, I was | doing things 20+ years later. I found it quite a bit of | perverse fun thinking in 0s and 1s like that. Not all DVD | authoring programs were made the same, and the abstraction | layer software like DVD Studio Pro required use of half of | those GPRMs limiting what the programmer could do. | fnordpiglet wrote: | Minecraft doesn't have to save generated data. As long as they | seed is preserved all the data will be regenerated. It only does | this to save time and to persist any changes made. | lowercased wrote: | Standard plug for this book: | | https://www.amazon.com/Racing-Beam-Computer-Platform-Studies... | | and | | https://en.wikipedia.org/wiki/Racing_the_Beam | | Great read. Very in-depth on some of the great games of that era. | rsync wrote: | Came here to mention this. | | It is a _fascinating_ book - and not just for the pitfall | chapter. | lowercased wrote: | Without a doubt. There was a David Crane video from 2011 | linked here by russellbeattie(?) in which David plugs this | book himself in the middle of his talk. It's that good. :) | Waterluvian wrote: | This reminds me of something I read, am not sure if true: | | If you try to save the entire mesh for a video game world's | surface, it would be absolutely massive. So you just save the | gist and generate all the in-betweens. | | I think it was about Morrowind? | jerf wrote: | You could say that about a lot of games. It is a common | approach. Every compression scheme you can imagine has been | used and more, from simply shipping the whole thing after all | to procedural generation and everything in between. I seem to | recall Oblivion was mostly procedural on the overworld but then | people would come in and edit the maps afterwards for various | things. | tracker1 wrote: | Did something not too dissimilar for storing test answer | randomization and answers in an older elearning standard. I had | limited space, so for each screen, I used a single byte to store | the state of if it was seen, the answer selected and order of | answers. The intent was to randomize answer order on display to | make it harder to pass an answer key around. This is more | impressive though... Cannot even imagine the effort it took. | at_a_remove wrote: | I was saddened by the lack of "real" (translation: actual itty | bitty robots) nanotechnology taking off. I imagined everyone | trying to drag old Atari programmers out of retirement with a | "We're used to shipping these fuck-huge executables, how did you | _do_ all of this under such tremendous constraints? " plea. So | much with such minimal resources! ___________________________________________________________________ (page generated 2022-12-22 23:00 UTC)