June 14, 2003
Goodfella video-game reviews

You may recall Henry Hill -- the infamous mobster upon which the movie Goodfellas was based. He was part of the $6 million Lufthansa heist in 1978, then cooperated with the police to help bust the Lucchese crime family. He certainly knows about the use of brutal violence and force.
So the editors of the Electronic Gaming Monthly decided to try him out on some virtual violence and force -- by having him review Grand Theft Auto, Hitman 2, The Getway, and Animal Crossing. (The latter is a game intended for little girls.) Hill brought along his 14-year-old son Julian. The transcripts are online here, but here's a taste from Hill's encounter with The Getaway:
HH: What's this, English gangsters? What the f*** are they saying? And why's that guy so ugly? Like his face got caught in the sausage machine.
EGM: OK, that aside, how do you like it so far?
HH: This is like that other stupid one--I'm dying all over again. How do you drive? Ah, s***, wrong side of the street! Bad enough I gotta learn this complicated apparatus--
JH: It's a controller--
HH: It's a torture device. Look at these f***ing buttons--where am I going? What the f***? We're in Brooklyn!
JH: It's London.
HH: I know. Let's kill some guys. Can I kill a cop? The Queen, is she dead? Somebody..
JH: You have to follow the mission.
HH: There's too much traffic. This is like the freeway--why would I wanna do that at home?
JH: Finish the mission!
HH: Julian, I can't even get in this car. How am I gonna finish anything, here? This game sucks. I'm gonna go have a smoke break.
(Thanks to El Rey for finding this one!)
Posted by Clive Thompson at June 14, 2003 10:11 PM
| TrackBack
The best part of it is how he starts to love Animal Crossing over those more "gritty" and "manly" games.
I know! That actually made me like him a lot.
The Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.
The most basic duality that exists with variables is how the programmer sees them in a totally different way than the computer does. When you're typing away in Project Builder, your variables are normal words smashed together, like software titles from the 80s. You deal with them on this level, moving them around and passing them back and forth.
That gives us a pretty good starting point to understand a lot more about variables, and that's what we'll be examining next lesson. Those new variable types I promised last lesson will finally make an appearance, and we'll examine a few concepts that we'll use to organize our data into more meaningful structures, a sort of precursor to the objects that Cocoa works with. And we'll delve a little bit more into the fun things we can do by looking at those ever-present bits in a few new ways.
But variables get one benefit people do not
Seth Roby graduated in May of 2003 with a double major in English and Computer Science, the Macintosh part of a three-person Macintosh, Linux, and Windows graduating triumvirate.
This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Each Stack Frame represents a function. The bottom frame is always the main function, and the frames above it are the other functions that main calls. At any given time, the stack can show you the path your code has taken to get to where it is. The top frame represents the function the code is currently executing, and the frame below it is the function that called the current function, and the frame below that represents the function that called the function that called the current function, and so on all the way down to main, which is the starting point of any C program.
Our next line looks familiar, except it starts with an asterisk. Again, we're using the star operator, and noting that this variable we're working with is a pointer. If we didn't, the computer would try to put the results of the right hand side of this statement (which evaluates to 6) into the pointer, overriding the value we need in the pointer, which is an address. This way, the computer knows to put the data not in the pointer, but into the place the pointer points to, which is in the Heap. So after this line, our int is living happily in the Heap, storing a value of 6, and our pointer tells us where that data is living.
Is there any tool to search across the site?
" University of South Alabama
Dr. Wladimir Werteleki
Dr. Jose Martinez
Sandy Hudson, RN
Dept. Med. Genetics
CCCB, RM 214
307 University Blvd.
Mobile, AL 36688
Tel: 251-460-7500 or 7684
ADULTS & CHILDREN