Smokedaddy's College of Videogame Knowledge

Status
Not open for further replies.
Mike is one of the two artists I've ever seen that is positively scary to watch him draw. He went to Cal Arts (like most of my roomdogs/friends of the time had, how I met him) but dropped out because people wanted to press serious quantities of coin of the realm into his palms. He was paid vast amounts of cash to draw Ren & Stimpy, and produced an episode or two.

Haven't seen the boy for ages, but we stay in touch. At my pimpin' Santa Monica pad some years back, I had a gigantic glass dining room table. (It's still around here someplace, but "here" isn't Santa Monica anymore.) I also had a seven-computer LAN, 24 channels of audio feeding fourteen speakers, and a blue (dev kit) Playstation all in the living room, so it was Geek Heaven and there was a big revolving-door thing going on. Anyways, when Mike had some horrible deadline, he'd bring a couple of pencils and a fat wad of Official Paper (if you look hard and read backwards, the devil is drawn on the back of a Walt Disney Television Animation sheet) intending to put a lamp under the table and pound out drawings. Of course, the videogames would be blasting and a bunch of our mutual friends would drop by sporadically, so he never actually got around to doing anything until at least 2 AM when things died down and I went upstairs to bed. At that point, I would have given up and said "fuck it, I'll write the code (or make the drawings, or whatever) tomorrow," but Mike would sit down and draw like ten bastards for the rest of the night. He was always finished and gone by six AM, work complete. He was making as much as I was at the time, the only artist I've ever known who could match a senior programmer's paycheck. It was kind of funny, income for both of us was sporadic (the mercenary lifestyle) and Saturday night beers were on whoever made the least that week.

The devil (whose dong is, as you can observe, is larger than his head) came from one of those sessions when he was taking a break. Thirty seconds, no more. Damn, he's an amazing artist. (I have often wondered if the devil was modeled after me because of the dong/head ratio -- but we will not go there. No.)

I've got a nice set of Ren & Stimpy drawings that he did on this doodad I had called a "digitizing tablet," a little Wacom thing that no one had ever seen the likes of. This was the late '90s. I don't have the tablet any more (got a newisher one) but I still have the stylus. It's sort of visible here, if you squint hard and use your imagination:
cave2-stuff1024s_zpsca66efda.jpg~original

behind the chaotic pendulum, in front of the slide rule and the bottles of heavy water and sheet uranium, to the right of the double geode. Kind of diagonally pointing.
(Oh yeh, see the little brown rock, 1/4 left of center above the Russian Bible & the C++ book, n front of the lower jar of glowy uranium glass marbles? 'Tis the most interesting thing on yon geek shelf. If you pick it up, you wash your hands afterward because: radioactive as fuck.)


A bunch of Cal Arts riff-raff drifted through the Pad from time to time, people I didn't know, and they'd inevitably tell Mike "You know, Tim Burton ripped off Jack Skeletor from you!" at which Mike would laugh and say, yeah, I know, I don't care and he's welcome to it. I wasn't there, of course, so I don't know how true all of this is, but I heard it from at least eight different people at different times. Apparently Burton came by Cal Arts and looked at Mike's portfolio, then a year later ho HO, nightmares before Christmas. Mike totally does not care. He thinks it's funny.

His portfolio was absolutely hilarious. Some of the funniest stuff I've ever seen. And yeah, Jack Skeletor or his identical twin was in there.

Mike's a really good dude and I miss him. He was better at my own game than I was, and I wrote the stinking thing.
 
Are there any good documentaries on the history of video games? I know thic doesn't directly relate to you but I'm still curious if anyone has any suggestions.
 
  • Feels
Reactions: Gator Young Henning
All that MechWarrior stuff... awesome. I found a boxed, unopened copy of MechWarrior 2 about 7 years ago for less than 50 bucks, I wish I picked it up, even if I don't have room for it.
 
  • Feels
Reactions: Gator Young Henning
@ Christ-Chan: none that I know of, but that's not surprising because until recently the whole game thing was mostly dismissed by people not involved in it. Early on, it felt like the BBS and early Internet years; there was this huge undercurrent growing behind daily life that most people had no idea even existed. Now, the people that do things like make documentaries had games as part of their life since way back whenever, so I really think we'll start to see some good reflections on the subject very soon.

It's been long enough for people to gather some perspective on what went on.

@TheWarp: YOW. Fifty bucks? Crap, I wish I hadn't given most of mine away. In 2002 I bought four copies at a store in Chicago for $5.99 each, much to the bafflement of the clerk. I only have two total copies, now. One of them I might just open, 'cause I don't seem to have any initial-release CDs or jewel boxes lying about, and I'd like to frame a set, just to be perverse. This one, however, I won't ever sell nor touch. It's one of the two first-release copies I got at the launch party, with the "PC Gamer Editor's Choice" sticker and everything.
mw2boxorig-100414-800px_zpsb912c212.jpg~original


The other copy I immediately sent to my Dad, who got it two weeks before he died.
 
Another topic! Just about every videogame you clouts own deals with this, though the explanation why is a bit convoluted.

OK, you have your real line which is full of an inifinty of numbers and is infinitely fun to play with, except some numbers are obviously missing and that annoys you. There are holes. Here's a hole.

One times one equals one (I think we're all clear on that.) Negative one times negative one also equals one. So 1 has two square roots. There are two numbers, that when multiplied by themselves, equal one. Fine.

Except -- what do you multiply by itself to get negative one?

Nothing on the real line works. The answer (in real space) to "what is the square root of negative one?" is "There ain't one." Enter the complex numbers, where we make up a number (call it i) and dub it the square root of negative one. i times i = -1. This lets you draw Mandelbrot sets and solve all kinds of problems in AC electronics and have all kinds of fun, generally, but then some lout is inevitably going to ask, "ok, what's the square root of i?"

We can do what we did for the square root of -1, and make one up . . . and now I digress for a moment before bringing out the punchline that ties it all together I hope.
___________________________________________________________________________________

You have an airplane, perhaps a computergraphical model of an airplane in a videogame you're writing. An airplane's orientation is determined by roll, pitch, and yaw (or heading, same thing). If the X axis is left-to-right, Y front-to-back, and Z is vertical, pitch is your rotation about X, roll is your rotation about Y, and heading is your rotation about Z. These are called "Euler angles."

If your heading is 270 degrees, your roll 15 degrees, and you are pitched up by 10 degrees, you're rotataed about Z by 270 (pointing west), about Y by 15, and about X by 10. You probably want to calculate pitch, then roll, then yaw so you can keep everything straight.

But! You have a high-performance computergraphical airplane model, and because it has all the power you feel like giving it, it will happily go into a vertical climb. Pitch is now 90% -- your nose is pointing straight up.

What's the roll? What angle are your wings making about Y?
What's the heading? What direction is your nose pointing with respect to positive Z?

There ain't one. You're in an undefined state. You may have heard of "gimbal lock" -- this is it. There is a way around it, which is what practically everyone does with animated models these days.
__________________________________________________________________________________

Enter the unit quaternion, a 4-dimensional hypercomplex vector that encodes anything's orientation precisely without pesky gimbal lock, and is 1/4 the size of the matrix you'd need usually. The elements are [x, i, j, k], where x is in the real line, i is what you think it is, j is the square root of i, and k is the sqaure root of that. Arithmetic on quaternions is non-commutative (ij != ji), non-associative ( i(j + k) != ij + ik) and generally weird in lots of other ways; you can't look at one and have any idea where its pointing in your head. It encodes not only a direction but a rotation, so you can freely move / rotate something from any direction to any other direction without those pesky singularities invoked by Euler angles, while using a fraction of the storage a matrix representation requires. Since we lazy game geeks only deal in unit quats, one of the terms is always -1 or 1, making things easier.

(I can go into this more if anyone wants, but you probably don't unless you want the job title Monseigneur Programmer (or even Pope) at some game shop. But if you want, say so, and I will divulge quaternion math until your eyeballs bleed. It's all over the Web, though, do a search.)

This stuff is not difficult. As long as you plug your ears and yell LA LA LA I CAN'T HEAR YOU to all the logical 3-dimensional real-plane parts of your math instincts trying to shout you down, it comes to a surprisingly few simple calculations. Order makes a difference (see: non-commutative), you gotta keep it straight. You'll always have to start with a matrix, turn it into a quaternion, and eventually turn it back into a matrix so you can render it (or do collision, or whatever) and that gets a bit computationally expensive, so you try to keep things in one space or the other as long as you can.

In any vector math, errors creep in. Most everything you ever have to deal with involves unit vectors, based at the origin and of length one. Floating-point calculations let errors creep in slowly, so you have to check occasionally to make sure your length (magnitude) is still 1 and renormalize if necessary otherwise you start getting weird dot products and suchlike. Quats are no different. What a lot of people don't pick up on (and here's where I throw out one of those tidbits that makes this site worth everything you pay to read it) is that the usual calculation for vector magnitude is sqrt( a*a + b*b + c*c) (square root of the sum of the squares, thank you Mr. Phythagoras) but (here it comes) since the magnitude you're looking for is 1, and the square root of 1 is 1, there's no need to take the square root to see if your vector magnitude has deviated too much. Save a square root, save a few nanoseconds. Multiply that by a million edges and soon you're talking about some real time.

Life In Real Time™ is what it's all about.
 
@Smokedaddy,

How does the gaming industry view telecommuting? Are there any fields in it that lend themselves successfully to it? Is it a per-company policy? I do a lot of hard realtime systems development and while I work at home at least 3 days a week I have to go into the office to be with the hardware most weeks.
 
  • Feels
Reactions: Gator Young Henning
Another topic! Just about every videogame you clouts own deals with this, though the explanation why is a bit convoluted.

OK, you have your real line which is full of an inifinty of numbers and is infinitely fun to play with, except some numbers are obviously missing and that annoys you. There are holes. Here's a hole.

One times one equals one (I think we're all clear on that.) Negative one times negative one also equals one. So 1 has two square roots. There are two numbers, that when multiplied by themselves, equal one. Fine.

Except -- what do you multiply by itself to get negative one?

Nothing on the real line works. The answer (in real space) to "what is the square root of negative one?" is "There ain't one." Enter the complex numbers, where we make up a number (call it i) and dub it the square root of negative one. i times i = -1. This lets you draw Mandelbrot sets and solve all kinds of problems in AC electronics and have all kinds of fun, generally, but then some lout is inevitably going to ask, "ok, what's the square root of i?"

We can do what we did for the square root of -1, and make one up . . . and now I digress for a moment before bringing out the punchline that ties it all together I hope.
___________________________________________________________________________________

You have an airplane, perhaps a computergraphical model of an airplane in a videogame you're writing. An airplane's orientation is determined by roll, pitch, and yaw (or heading, same thing). If the X axis is left-to-right, Y front-to-back, and Z is vertical, pitch is your rotation about X, roll is your rotation about Y, and heading is your rotation about Z. These are called "Euler angles."

If your heading is 270 degrees, your roll 15 degrees, and you are pitched up by 10 degrees, you're rotataed about Z by 270 (pointing west), about Y by 15, and about X by 10. You probably want to calculate pitch, then roll, then yaw so you can keep everything straight.

But! You have a high-performance computergraphical airplane model, and because it has all the power you feel like giving it, it will happily go into a vertical climb. Pitch is now 90% -- your nose is pointing straight up.

What's the roll? What angle are your wings making about Y?
What's the heading? What direction is your nose pointing with respect to positive Z?

There ain't one. You're in an undefined state. You may have heard of "gimbal lock" -- this is it. There is a way around it, which is what practically everyone does with animated models these days.
__________________________________________________________________________________

Enter the unit quaternion, a 4-dimensional hypercomplex vector that encodes anything's orientation precisely without pesky gimbal lock, and is 1/4 the size of the matrix you'd need usually. The elements are [x, i, j, k], where x is in the real line, i is what you think it is, j is the square root of i, and k is the sqaure root of that. Arithmetic on quaternions is non-commutative (ij != ji), non-associative ( i(j + k) != ij + ik) and generally weird in lots of other ways; you can't look at one and have any idea where its pointing in your head. It encodes not only a direction but a rotation, so you can freely move / rotate something from any direction to any other direction without those pesky singularities invoked by Euler angles, while using a fraction of the storage a matrix representation requires. Since we lazy game geeks only deal in unit quats, one of the terms is always -1 or 1, making things easier.

(I can go into this more if anyone wants, but you probably don't unless you want the job title Monseigneur Programmer (or even Pope) at some game shop. But if you want, say so, and I will divulge quaternion math until your eyeballs bleed. It's all over the Web, though, do a search.)

This stuff is not difficult. As long as you plug your ears and yell LA LA LA I CAN'T HEAR YOU to all the logical 3-dimensional real-plane parts of your math instincts trying to shout you down, it comes to a surprisingly few simple calculations. Order makes a difference (see: non-commutative), you gotta keep it straight. You'll always have to start with a matrix, turn it into a quaternion, and eventually turn it back into a matrix so you can render it (or do collision, or whatever) and that gets a bit computationally expensive, so you try to keep things in one space or the other as long as you can.

In any vector math, errors creep in. Most everything you ever have to deal with involves unit vectors, based at the origin and of length one. Floating-point calculations let errors creep in slowly, so you have to check occasionally to make sure your length (magnitude) is still 1 and renormalize if necessary otherwise you start getting weird dot products and suchlike. Quats are no different. What a lot of people don't pick up on (and here's where I throw out one of those tidbits that makes this site worth everything you pay to read it) is that the usual calculation for vector magnitude is sqrt( a*a + b*b + c*c) (square root of the sum of the squares, thank you Mr. Phythagoras) but (here it comes) since the magnitude you're looking for is 1, and the square root of 1 is 1, there's no need to take the square root to see if your vector magnitude has deviated too much. Save a square root, save a few nanoseconds. Multiply that by a million edges and soon you're talking about some real time.

Life In Real Time™ is what it's all about.

I barely understood a word of that, and yet I still feel smarter for having read it.
 
@Smokedaddy,

How does the gaming industry view telecommuting? Are there any fields in it that lend themselves successfully to it? Is it a per-company policy? I do a lot of hard realtime systems development and while I work at home at least 3 days a week I have to go into the office to be with the hardware most weeks.
Programming and telecommuting go together quite well. Art and production, not so much. What you describe -- working at home most of the week but having to show up at the office for a day or two is pretty normal. I've had gigs that were entirely out-of-office: my problem is setting limits. You walk by the computer and think oh, shit, I should do some work, and you end up working too much and playing far too few games and/or surfing the Web, which is not good.

One positive note is if you freelance in games and work at home, you get to deduct all your hardware and software from your taxes as a business expense. That includes game consoles, computers, and game software. It's professional, you see.
 
Programming and telecommuting go together quite well. Art and production, not so much. What you describe -- working at home most of the week but having to show up at the office for a day or two is pretty normal. I've had gigs that were entirely out-of-office: my problem is setting limits. You walk by the computer and think oh, shit, I should do some work, and you end up working too much and playing far too few games and/or surfing the Web, which is not good.

One positive note is if you freelance in games and work at home, you get to deduct all your hardware and software from your taxes as a business expense. That includes game consoles, computers, and game software. It's professional, you see.

Well, I see the video game market continuing to do well but I'm not sure about my current line of work. Good to have options. I'm in a situation where I will likely be stuck in this area for a very long time and there aren't a lot of jobs here in my field.

Who sets limits? I'm working 300+ hours a month as-is not including time in the car driving.
 
  • Feels
Reactions: Gator Young Henning
I've had gigs that were entirely out-of-office: my problem is setting limits. You walk by the computer and think oh, shit, I should do some work, and you end up working too much and playing far too few games and/or surfing the Web, which is not good.

I'm the exact opposite.
 
  • Feels
Reactions: Gator Young Henning
Hey there! (Again).

So I wanted to ask another something - I signed up for testing a couple of smaller games being developed locally to pass the time after exams, and I just wanted to know if there's anything play testers should look out for/do to be helpful to developers? I would love to be helpful without being a smartass.
 
  • Feels
Reactions: Gator Young Henning
Hey there! (Again).

So I wanted to ask another something - I signed up for testing a couple of smaller games being developed locally to pass the time after exams, and I just wanted to know if there's anything play testers should look out for/do to be helpful to developers? I would love to be helpful without being a smartass.

I'm not smokedaddy, but I can answer from a developer's perspective.

I can tell you from my experience in aerospace egos run high. Especially for devs. Break the crap out of it and find bugs and help them get fixed by giving as much information as possible. Seriously just recently we had a meeting to go over several bugs filed by our testers and three were completely meaningless. Including one that said our software is buggy because VMWare made a black screen. Things like this:

(1 of 500 components) locked up

as your entire bug report are just going to piss the dev off.

So will:

Klystron's latest stuff broke so I had to revert

Please add information to the above like what you were doing what were the circumstances how did you get there etc. Details, details, details.

And the BEST #1 MOST IMPORTANT RULE OF ALL: Demonstrate how to reproduce the problem. Developers need to fix stuff plus do a ton of other crap. If I have to take 3 days to figure out how to reproduce your bug I am going to make it a very low priority. If you give me instructions or better yet a script that duplicates the bug I will bang it out right away.

Once I tell you I think I found the problem, test it again and try to break it again. Confirm that it's fixed, or tell me what else is still wrong.

Follow this advice and I guarantee you will be treated like a partner and team member and not some annoying outside entity.
 
  • Feels
Reactions: Gator Young Henning
Follow this advice and I guarantee you will be treated like a partner and team member and not some annoying outside entity.

Thanks a bunch! I don't know a hell of a lot about programming so knowing that I need to tell them exactly how I find bugs is really useful - I'm not very programming literate (you know how people try to 'idiot proof' things? I'm pretty certain I got testing permissions because I'm an average game player) so knowing I should be as specific as possible is good.

Not going to lie I love to break games and look for exploits, so I'm going to have a lot of fun with this. Have a good one.
 
  • Feels
Reactions: Gator Young Henning
Damn this quote thingy. I am baffled by technology, like usual.

Klystron said "Demonstrate how to reproduce the problem."

This.

This.

And eternally this.

I know guys with master's degrees in CS that work as testers and are paid $100K plus (at Microsoft, but don't tell them I told you) because they can tell the programmers where they fucked up. A tester who has some vague idea of where the problem really lies and can explain it to the poor dumbshit devs is a freaking hero, and they always end up being best buddies with the programmers because their part in getting the goddamned thing out the door is equally valuable.

Klystron nails this, kids. We are Warriors, and I think we understand each other.
 
  • Feels
Reactions: Kiwi Jeff
Are there any good documentaries on the history of video games? I know thic doesn't directly relate to you but I'm still curious if anyone has any suggestions.
There's "Once Upon Atari" which details the history of the Atari corporation.

Beyond that a lot of history of video games documentaries I've seen have been hit or miss. Usually it's small stuff like "indie game the movie". I've read a lot of extremely good books that detail this subject really well though. The biggest one I can recommend is Master's of Doom which details the history of Id Software.
 
  • Feels
Reactions: Gator Young Henning
ON A COMPLETELY UNRELATED SUBJECT

Most of you know (and if you didn't, you will now) that I spent a goodly chunk of December in a coma, and most of the remainder in rehab. This left the neurologists pulling madly at their beards, as it seems to be connected with some other symptoms that don't make sense to anyone. What pisses me off is that a) I had an MRI (which determined it wasn't a stroke) but wasn't able to observe the machine up close -- they're pretty interesting; the magnets are cooled with liquid helium at a fraction of one degree K so they superconduct, and I've always wanted to see such a device while conscious, and b) this pretty much shoots the shit out of any plans I had to become employed anytime soon. I'm heartily sick of being broke and idle, and the games industry suffers greatly from the World's Greatest Programmer not programming anything for your amusement.

I should have millions in the bank by now, but instead I'm scraping by on chump change from SSDI, which is almost (but not quite) enough to cover the rent and bills. My car turned 25 a few months ago; it should have been replaced by a stable of Porsches long ago. I was seriously about to buy a Ferrari for tooling around on weekends before I got sick, but those plans didn't quite happen, as you might imagine.

I was putting together a portfolio, web site, etc., with schemes to make a run a Valve (they need me, they just don't know it) when the latest SHTF the first week in December. Looking at it objectively, I wouldn't hire me, and if I did get a job the insurance would have to be such that it could jump in to cover what Medicare does, as any reasonable paycheck would exceed half of my SSDI and turn off the tap. Problem is, I really want that million bucks.

So I figured I'd hunt up the local indie scene and try to find a group that is doing something that will make me the million and bring the hot chicks flocking to my door, etc., and put out a blurb saying "programmer-type looking for something to do, but you can't pay me more than I made working sheet metal in 1975 because of Medicare, and I wrote this thing that some of you might remember," and

Eighty replies in the first 24 hours.

Shoulda done this sooner. Talk of signing bonuses, company cars, corporate housing, and such is being bantied about for methods of crossing my palm with coin of the realm without appearing to do so and I just might bite the hook, provided I can go an entire week (or ten years, as happened) without a face-plant into the dinner salad and/or attacking one of the secretaries, not that she'd mind. Oh me oh me oh my.

Problem is that everyone is into that shitheap Unity these days and no one seems interested in my forte, i.e. "make everything run as fast as it can, all the time" in order to make the program go like a raped ape. LETTING THE HARDWARE RUN FAST FOR YOU SO YOU CAN SLACK OFF is ye Divell, his Marque and antithetical to the truthseeker's code of Life In Real Time.

But I am, after all, a whore, and can happily do stupid shit as long as Strong Motors downtown doesn't run out of 911s. Hell, I'd settle for a Boxter.

Which brings up the point. This is sharp as a bowling ball and I throw it like pearls before your eyes, O Game Developers of the Future: You're Welcome.

1) Always make sense.

2) Rule #1 supercedes all other rules.

3) Don't choose a project, choose a team.

4) Rule #3 supercedes all other rules, except where following it would lead to conflict with rule #1.

I'm babbling with giddiness and will now sign off before I make myself look stupider than I look. =e

P.S. Always make the code run as fast as it can, all the time. See rules #4 and #2.
 
P.P.S. 1) It strikes me that "Chump Change" is a pretty good name for a band. Did I mention that Compy and self are the only two Exalted Ones to have played in Carnegie Hall?

2) Never let the compiler second-guess you.

3) Write the comments, then write the code. It's obvious what the code does, your comments should tell why.

4) The formal definition of "fractal" is "a set of points where the Hausdorff-Besicovich dimension strictly exceeds the topological dimension."
 
  • Feels
Reactions: Gator Young Henning
I keep floating back and forth between 'Oh shit' and 'Oh, nice!' at about 20Hz. Good to hear you're up and moving, and now I know why you up and threatened to kick my ass out of nowhere on steam chat.
 
  • Feels
Reactions: Gator Young Henning
I keep floating back and forth between 'Oh shit' and 'Oh, nice!' at about 20Hz. Good to hear you're up and moving, and now I know why you up and threatened to kick my ass out of nowhere on steam chat.
Got any game ideas? We could be the new Notch, only with two penises.
 
  • Feels
Reactions: Gator Young Henning
Got any game ideas? We could be the new Notch, only with two penises.
Nothing really marketable, only thing coming to mind would be total conversion mods that I think'd be awesome.

Oh, and the top down floaty space fighter game concept I put together for a design class. Kinda like that old Gravity Well game.
 
  • Feels
Reactions: Gator Young Henning
Status
Not open for further replies.
Back