Image
  • Writing
    • Andy Gavin: Author
    • About my Novels & Writing
    • All Writing Posts
    • The Darkening Dream
      • Buy the Book Online
      • Sample Chapters
      • Reviews
      • Info for Reviewers
      • Press Coverage
      • Awards
      • Cast of Characters
    • Untimed
      • Buy Untimed Online
      • Book Trailer
      • Sample Chapters
      • Reviews
      • Info for Reviewers
      • Press Coverage
      • Awards
      • Cast of Characters
    • Scrivener – Writer’s Word Processor
    • iPad for Writers
    • Naughty Dark Contest
  • Books
    • Book Review Index
    • Favorite Fantasy Novels
    • Andy Gavin: Author
    • The Darkening Dream
      • Buy the Book Online
      • Sample Chapters
      • Short Story: Harvard Divinity
      • Reviews
      • Info for Reviewers
      • Press Coverage
      • Awards
      • Cast of Characters
    • Untimed
      • About the Book
      • Buy Untimed Online
      • Book Trailer
      • Sample Chapters
      • Reviews
      • Info for Reviewers
      • Press Coverage
      • Awards
      • Cast of Characters
    • Naughty Dark Contest
  • Games
    • My Video Game Career
    • Post Archive by Series
    • All Games Posts Inline
    • Making Crash Bandicoot
    • Crash 15th Anniversary Memories
    • World of Warcraft Endgames
    • Getting a Job Designing Video Games
    • Getting a Job Programming Video Games
    • Naughty Dark Contest
  • Movies
    • Movie Review Index
  • Television
    • TV Review Index
    • Buffy the Vampire Slayer
    • A Game of Thrones
  • Food
    • Food Review Index
    • Foodie Club
    • Hedonists
    • LA Sushi Index
    • Chinese Food Index
    • LA Peking Duck Guide
    • Eating Italy
    • Eating France
    • Eating Spain
    • Eating Türkiye
    • Eating Dutch
    • Eating Croatia
    • Eating Vietnam
    • Eating Australia
    • Eating Israel
    • Ultimate Pizza
    • ThanksGavin
    • Margarita Mix
    • Foodie Photography
    • Burgundy Vintage Chart
  • Other
    • All Posts, Magazine Style
    • Archive of all Posts
    • Fiction
    • Technology
    • History
    • Anything Else
  • Gallery
  • Bio
  • About
    • About me
    • About my Writing
    • About my Video Games
    • Ask Me Anything
  • Contact

Author Archive for agavin – Page 98

So you want to be a video game programmer? – part 5 – The Method

Sep11

…CONTINUED from PART 4. Or start at Part 1.

This post is presents an algorithm of sorts for learning to program. It applies not only to the fundamentals, but to all aspects, including the acquisition of small component skills. Thirty years after learning, I still follow the same basic procedure. To tell the truth, modified, it works for leaning most things.

Step 1: Goal. Invent some manageable goal that excites you (in a later context as a profession “excites” is often replaced/supplemented by “need”). My first program was a text-based dungeon master (see here). If you want to be a video game programmer, there’s nothing better than a game. If it’s one of your first programs, make it damn simple. Copy some REALLY REALLY old and simple game like anything from before 1981 (Pong, Breakout, etc.). Truth be told, using text only for a couple weeks/months might not be a bad idea. Graphics just complicate matters. They’re awesome — and you’ll need them soon enough — but first the fundamentals, like variables, flow of control, scope, etc. Any individual task should take no more than a few days. If your goal is bigger than that, subdivide.

Step 2: Environment. All programming is done in the context of some environment, and you must learn about it. You need to start with a simple one. In my case it was mostly AppleSoft BASIC. For learning interpreted is good. Some decent starter environments today are Python, Ruby, Flash, Lua. DO NOT START WITH A LANGUAGE LIKE C. I will elaborate on this environment question in a separate full post, as it’s a large topic and highly religious for programmers.

Step 3: Research. This means reading. If you don’t like to read, either learn to or find yourself a new career. I’m serious. Reading separates the Neo Cortexs from the gibbering marsupials. I’m serious. Be a New Cortex. Your love of reading must be so extreme that you can stomach slogging through 900 page Library Reference Manuals (maybe not at first). Programming is full of details.

Step 4: Theory. Get out a pad of paper, a text file, Evernote, or whatever. Design what you are going to do. Later, you might or might not skip this step (and do it in your head), but it’s useful for the beginning programmer. You don’t need to write out the entire program, but you should design your data-structures and modules or functions. If it’s one of your first programs, you should hardly HAVE data-structures. You might instead write down the modes and loose flow chart between them.

Step 5: Code. Actually try coding your program. This is best done in an iterative way. My advice is generally to start with creating your core data-structures, and then the functions or methods that support them. Test each of these individually. Interpreted languages with a listener are the best because you don’t have to write test suites, but can just test the components as you go at the listener. Time spent debugging individual functions and groupings (say all the methods that belong to a data-structure) pays for itself 100-fold. I still do this. The less code you are testing, the easier it is to spot and find bugs. If you know that your functions are reliable (or semi-reliable) they provide robust building blocks to construct with.

Step 6: Debug. See above in “code” because they are heavily intertwined. Coding and debugging happens together in small loops. Again. The less NEW code you have to debug, the better. Debugging is hard for novices. Do not write an entire big program and debug it all at once. If you are using a language that syntax checks, check each function after you have written it. Fix the syntax errors (typos) and then test and debug the single function (or component of a program). Baby steps. Baby steps.

Step 7: Iterate and improve. Just keep adding things to your program to get it to where you want. Add a new feature. Improve an old one. Rip out some system and replace it. Add graphics. Upgrade them. Try to keep each of these changes as small as possible and test after each change. The longer it has been since it ran, the harder it will be to make it run.

_

I can not emphasize how important baby steps are. They are the key to avoiding fatal frustration. I have a law that helps define the size of subtasks: DO NOT EVER LEAVE THE COMPUTER IF YOUR PROGRAM DOES NOT RUN. You can take a piss or stretch. That’s it. I lived by this rule my entire programming career. You can’t always follow it, but try. Get your ass back in that chair. Mom wants you for dinner. Shrug. Your co-workers call you for a meeting. Snarl. I always think of a program like a car engine. You can sometimes merely tune it up, but a lot of times you have to take apart the engine to fix/add something new. That time when the engine is apart (the program does not RUN!) is very important, and should not be very long. If it is, you are not subdividing your tasks enough. I write all sorts of custom code to allow the engine to run again (even if in a half-assed way) while big changes are going on. These intermediate constructs are intended as throw-aways. But they save time. Having your program broken, writing more than a couple hours of new code that has not been tested, is a recipe for disaster. You could easily reach the point where you have no idea where the problem is. If you test in small bits as you go debugging is MUCH easier. Bugs are perhaps 80% likely in the most recently stuff. It’s the smoking gun you goto (haha) first.

You can do a lot with ASCII graphics!

A starter example of this whole process: My first game was a text based D&D type RPG game. I wanted to include a number of “cool” (to a 10 year-old) encounters. So I structured it as follows: There was the “character.” This was to be just a number of global variables (this is long before object oriented programming) like G (gold), HP (hitpoints) etc. I wrote a couple “methods” (functions – but they didn’t have names in BASIC, just line numbers) like “takes a hit.” This subtracts from HP, and if <= 0 branches to the “you are dead” part of the code (not really a function in those days). Then I wrote a number of “encounters.” These were the main flow of control in that program. It popped from encounter to encounter. They might be like: You have met an orc. draw orc on screen with text graphics (aka print statements). present options: “attack,” “run,” “use magic,” etc. wait for input and apply logic. If you are still alive send the player back to the main navigation loop (the place that doesn’t have a particular encounter).

That’s it. I expanded the program by doing things like: Adding more encounters. Adding resurrection as a pay option when you died. Adding an actual map to the main loop. Moving the “combat” logic from individual encounters into a function. Then adding to the character attributes like strength and dexterity which influenced combat. Beefing up character creation. Etc etc. These are all tasks that can individually be accomplished in a few hours. This is key. It keeps your program running most of the time. It provides good feedback on what you are doing.

The entire above “goal” -> “debug” loop can be repeated endlessly. Example: “add a save game.” You now have to save and restore the state of your player (various global variables). But to where? Disk presumably in those days. So you crack the BASIC manual and read about file I/O. First you go simple. There is one save game. It’s always named “adv.sav”. You write a function to open the file and write the vars into it. You examine the file to make sure it put them there the way you want to. You write another function to read the file. You add options to the game menu to call these functions. Then test.

Next baby step. Allow multiple save games. You add “filename” (or save slot or whatever) to the load/save functions. You hardwire it to something and test again. Then you add interface to the game’s main menu to specify which slot. You test that.

Iteration is king! Good luck.

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. So you want to be a video game programmer? – part 3 – Getting Started
  2. So you want to be a video game programmer? – part 2 – Specs
  3. So you want to be a video game programmer? – part 4 – School
  4. So you want to be a video game programmer? – part 1 – Why
  5. Making Crash Bandicoot – GOOL – part 9
By: agavin
Comments (78)
Posted in: Games, Technology
Tagged as: Andy Gavin, BASIC, Breakout, Computer program, Control flow, Data structure, Debugging, Game programmer, Languages, Learning, Programming, Programming language, pt_career_advice, Python, Ruby

Yojie – Deep Boiled Noodles!

Sep10

Restaurant: Yojie

Location: 501 W Olympic Blvd. Ste 102. Los Angeles, CA 90015. (213) 988-8808

Date: September 7, 2011

Cuisine: sukiyaki and shabu

Rating: Sleek and tasty

_

I often go to Shabu Shabu (review of one of my favorites here), but it’s been a long time since I had Sukiyaki (it’s sweeter eggier cousin).

Yojie is smack int he middle of downtown and is one of those new slicker more modernized ethnic places. I.e. there is decor.

They offer both Sukiyaki and Shabu Shabu, but I’ll concentrate on the former. Both are hotpot dishes, cooked table-side by the diners.

Here is the Sukiyaki page of the menu. It’s mostly about the beef. And mostly about the size. I went “sumo” — because I’m well a big eater (you never guessed!).

Here is the beef itself. A little thicker than Shabu Shabu. The rice and the all important raw egg.

And the veggie and noodle plate. Pretty similar to Shabu Shabu.

The difference here is that the “broth” is a sweet Teriyaki-like sauce. Things are cooked a bit more heavily. And then instead of the post cooking dipping sauces you put the hot items straight into the raw egg, which then very slightly cooks as it coats the meat — and certainly makes it richer.

The broth gets all hot and sticky like a yummy thick meaty sweet teriyaki soup.

If you cook a bunch of stuff on it and ladle onto the rice you can make your own Teriyaki bowl type thing. The waiter actually wasn’t paying much attention to our temperature control and let our pots get too hot (we filled the room with smoke).

But he made up for it by giving us free dessert. In this case milk chocolate fondue, which conveniently also uses the hotpot.

These various yummies are then dipped in the chocolate. Not too shabby.

Overall an enjoyable Japanese treat. At the perfectly right thick bubbly consistency (which is hard to maintain) the thick sauce is pretty spectacular with the beef noodle and egg combo.

For more LA dining reviews click here.

The Vengeful Polyglot prays to the hotpot gods.

Related posts:

  1. Swish Swish – Mizu 212
  2. Quick Eats: Tofu Ya
  3. Totoraku – Secret Beef!
  4. Food as Art – N/Naka
  5. Food as Art: Urwasawa
By: agavin
Comments (0)
Posted in: Food
Tagged as: chocolate fondue, Cooking, Dessert, hotpot, Japanese cuisine, Los Angeles, Shabu-shabu, sukiyaki, Yojie

Crash Memories

Sep09

In honor of Crash’s 15th Anniversary I wanted to make a post whose primary purpose is to serve as a repository for comments from you — the fans — about your first and favorite Crash Bandicoot impressions. Please make them in the comments. This is the place to tell that story of how you got your Playstation and Crash Bandicoot for Christmas when you were five, etc. etc. So to that effect, I’ll start it off with a brief tale that begins the night Crash Bandicoot launched.

In September 1996 all of Naughty Dog flew to New York for the combined Crash Bandicoot / Playstation 1 year anniversary party. It was on a big rooftop deck in the meat packing (hehe Beavis, you said meat packing) district. All of us got pretty drunk. There was a loud band. Very loud. Simultaneously, Ken Kutaragi (father of the Playstation!) decided to engage me in a highly technical discussion — against the 120 decibel background — using his rather broken English and my exactly zero command of Japanese. But in any case I didn’t sleep — we saw dawn in some New York greasy spoon.

About four hours later, Jason and I were on a plane to London. I didn’t sleep — why waste good reading time.

We arrived in London for ECTS and various Crash launch promotional meetings. We were immediately conducted to small hot smoky cubicles and interviewed by a variety of game journalists in numerous European languages for about eight hours — also against about 100 decibels of trade show. We then went to the bar (scotch). Then to dinner (wine). Then to a night club (more booze). Then a cigar bar (more scotch). Then to our hotel room (with about 15 or so European marketing and sales folk). There we consumed every single item in our minibar. We called down to the desk (4 in the morning) and had them bring us a NEW minibar. Yes, a complete refill of all items at 4 in the morning. We consumed that. Except for two miscellaneous tiny liquor bottles I can’t remember. The cost of just one minibar was 800 pounds sterling. We ate/drank two.

We didn’t sleep.

But we did spend another eight hours giving interviews. Then we went out again. That night I think we got 2-3 hours of sleep. But interviews again starting at 8am.

Somewhere in there I visited Westminster Abbey.

By day three we discovered that a number of our new friends (English) had never left the Island of Great Britain. So we all boarded the Chunnel and went to Paris (from Waterloo to Napoleon stations specifically, which is amusing). In Paris we started drinking at 10am. We kept drinking (many bars). We ate dinner (more wine). We went to someone’s apartment (more drinks). There was no sleep involved. After staying out all night (drinking) after the day of (drinking) we boarded the Chunnel back to London. I might have dozed. We went straight from there to the airport and got on a flight back to LAX.

Ah, first class. There were scones with clotted cream. And perhaps an hour or three of sleep. But we landed in LA at 7am. I was on the beach jogging by 8:30am. In the office at 10am. Back to work on the Japanese version of Crash. I went home early that day. Midnight.

Making video games builds stamina.

Don’t forget to put your own Crash memories in the comments section!

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. Making Crash Bandicoot – part 1
  2. Old Crash 20 Questions
  3. Crash Bandicoot – An Outsider’s Perspective (part 8)
  4. Making Crash Bandicoot – part 6
  5. Crash Bandicoot as a Startup (part 7)
By: agavin
Comments (184)
Posted in: Games
Tagged as: Andy Gavin, Beavis, Crash Bandicoot, Crash Bandicoot Launch, Ken Kutaragi, London, Naughty Dog, New York, Playstation, pt_crash_history

Middle Madness

Sep08

I think I’m over the hump with the third major draft of my new novel, Untimed (for a quick blurb see here).

Story structure is hard. And while this book is much better structured than early drafts of my previous novel, it had two major problems: the ending and the first part of Act II. Late (very late) in the second draft I cracked the ending. So that just left the middle.

Therefore, I wasn’t surprised when the biggest comment from my awesome freelance editors’ (I use three: Renni Browne, Shannon Roberts, and R.J. Cavender) involved problems in this middle section. It’s not that the scenes wen’t good or exciting, but mostly that I fell prey to a personal need to sneak Napoleon into the story (time travel seems to call out for the most pivotal personality of the modern era) and this resulted in a bad case of “Double Mumbo Jumbo” (or a variant thereof).

So what is the dreaded Double Mumbo Jumbo? Most specifically it’s the phase coined in Blake Snyder‘s Save the Cat book (which I discuss here). DMJ is invoked by throwing two unrelated implausible things into the same story. However, my specific problem is really a cousin, what my editor Renni calls “1+1=1/2”. This is, the idea that doing the same improbable thing twice in the same book isn’t twice as good as doing it once, but actually half as good. Even if the thing is cool. So a kind of DMJ.

And I was doing it in my middle.

Still, this section of my story accomplished a lot of other things too. And I had to figure out how to rework it to keep as much of the good as I could, avoid a DMJ — and not make TOO much work for myself in terms of repercussions later in the book. Thinking about various ways to restructure, particularly given the constraints of my story, my elaborate time travel scheme, and history itself, was quite the brain buster. I thought on it all day for at least a week. So hard one Friday that I literally gave myself a migraine headache! I found myself pondering time travel so aggressively that I became confused as to what year it was — and then my vision began to shimmer (migraine).

I probably outlined 15 different scenarios and talked about countless more. This part of the writing process is very peculiar. I often end up with a half-baked scenario that satisfies some goals, but just doesn’t really work. One quickly reaches a point where no new ideas surface internally and you need to shake it up. I then find it extremely useful to talk with a limited pool of friends who have read the book in it’s latest incarnation. This allows me to efficiently go over the possible elements. Then we talk out the problems. By vetting numerous failed scenarios it’s often possible to collect enough different disconnected ideas that a single coherent new plot can be jig-sawed together. Or at least coherent enough to polish out in the writing.

This last week, I even twice resorted to writing out (as prose) incomplete outlines to see if they worked. The first revealed itself as a miserable failure. The second made it to the finish.

Now it’s off to friends and editors to see how it passes muster.

For more posts on writing, click here.

Related posts:

  1. Untimed – Two Novels, Two Drafts!
  2. Untimed – Two Novels, Check!
  3. Beginnings and Endings
  4. Peace in the Middle East? – Mezze
  5. Margarita Madness – The Mix
By: agavin
Comments (1)
Posted in: Untimed
Tagged as: Andy Gavin, Blake Snyder, books, Creative Writing, Fiction, Headache, Migraine, Napoleon, Napoleon I, Novel in Progress, Novel Writing, novels, Structure, Time travel, Untimed

El Rincon Criollo – Cuban fun

Sep07

Restaurant: El Rincon Criollo

Location: 4361 Sepulveda Blvd. Culver City, Ca 90230. 210-397-9295

Date: September 3, 2011

Cuisine: Cuban / Spanish

Rating: Garlic!

_

We took our son to the “train store” in Culver City (he loves trains) and this Cuban joint happened to be next door.


They curb sell with this cool 50s era car.


The menu. Mostly Cuban classics.


Bread of course.


Some croquettas (ham and cheese potato fry-balls) with banana chips. I’m not much of a banana fan, but these taste pretty much like potato chips.


And are extra good in this pure garlic sauce.


My son got plantains rice and beans. He loves bananas but for some reason knownst only to 2.75 year-olds would not try them.


But he did like this banana smoothy.


This is salmon in garlic sauce with onions. Rice, fries, and beans on the side.


And shrimp in garlic sauce. The garlic sauce is pretty uber actually, particularly poured over the rice. It did give me a carb coma though.


With the check are these weird little Cuban coconut caramels. Pretty good by my taste.

I’m not a serious Cuban aficionado — yeah I’ve been to various places a dozen or so times, but I’m no expert — but this was certainly tasty. And I do love garlic.

For more LA dining reviews click here.

Related posts:

  1. Moko
  2. Fraiche Santa Monica
  3. Sushi Zo
  4. Quick Eats: Sunnin
  5. Fraiche take on Franco-Italian
By: agavin
Comments (0)
Posted in: Food
Tagged as: Banana, Caribbean, Cuba, Cuban Food, Culver City California, El Rincon Criollo, Garlic, Los Angeles, Restaurant, Restaurant Review, Spanish language

Friday Night Heights – Shabbat Dinner

Sep06

On Friday, September 2, we hosted a small Shabbat dinner party. This was a non-dairy (meat) kosher meal, which can be well done if you care (and most kosher restaurants don’t). As usual with our events everything was homemade. Almost all produce came from the Santa Monica Farmer’s Market.


For appetizers we served fruits and nuts. There was also some homemade humus and eggplant dip (that one of our guests generously brought), but I forgot to snap a photo.


Wine is one area where we go normal. Kosher wines are uniformly awful. Hideous. Wretched.

Parker gives this silky Rosso 90. “The 2009 Rosso di Montalcino is totally beautiful and elegant in its expressive bouquet, silky fruit and understated, harmonious personality. This is a wonderful, impeccable Rosso from Le Potazzine. Anticipated maturity: 2011-2017.” I’d rate it perhaps 91-92, with a little boost for understated style.


And the sweet option. Parker 91. “Donnhoff‘s 2009 Oberhauser Leistenberg Riesling Kabinett – ultra-delicate at only 9% alcohol and with considerably more overt sweetness than its Krotenpfuhl counterpart – is scented with buddleia, white peach, toasted almond, and a fusil note of crushed stone, and offers subtle creaminess, lusciously juicy refreshment, and minerally interactive persistence. This illustrates slate as a sort of sounding board as well as support structure for fruit such as one also encounters in the best residually sweet Mosel Rieslings. Donnhoff routinely expresses acute awareness of a duty to make something truly special out of the cooler ‘wrong-side-of-the-river’ Oberhauser vineyards that until the latter part of his father’s era constituted almost the entirety of his family’s acreage. That duty has here once again been deliciously discharged.”


What would Shabbat be without Challah. Raison Challah to be exact.

After going to Spain last year I’ve been on a bit of a Gazpacho kick, despite my general aversion to raw tomatoes (which I’ve been overcoming). And then about 5-6 weeks ago we went to Jose Andres’ Tres for brunch where they have a wonderful Gazpacho bar. So afterward I dug up his recipe on the internet and we tried it.

When I get into cooking certain dishes I like to perfect them. I’ve been working on this with my Ultimate Pizzas, my Spanish Eggs, and my Margaritas. This is our second stab at Gazpacho. It tasted great the first time but the texture was too chunky, so in this instance we whipped the living bleep out of it in the ever-reliable Blendtec. This batch is made with heirloom tomatoes and cucumbers from the SMFM and premium Spanish extra-virgin olive oil.


But first the garnish. This is a bowl prepped. The basic approach is to do this, and then to ladle in the soup itself table side, then dress it with a bit of premium Spanish olive oil. This garnish is croutons, cucumbers, heirloom tomatoes, spring onions, and chives.


The olive oil is on the left. On the right are homemade croutons. These are rustic bread fried (by hand) in olive oil and garlic, and seasoned with a bit of parsley.


Some of the gorgeous tomatoes used as garnish. Other cool looking ones are in the soup itself.


Chopped chives.


I’m kicking myself, but I forgot to photo a finished bowl with the soup. This one is three-quarters eaten 🙁 It was darn good though.


For the main course we made a homemade Morrocan Basteeya. This is prior to baking. This is a savory pie of chicken and spices, slightly sweet.


Out of the oven.


You can see into it here.


One of our guests brought this lovely salad.


We also made this baked Israeli-style eggplant, with tomatoes, onions, garlic, and peppers (all from the SMFM too).


Here it is baked.


And my mother’s amazing fruit crumble. This one had SMFM peaches, blackberries, and apples. With a sweet crust and pecan topping. Due to the fact that my mother was on the other side of the country, and the written recipe a tad cryptic, the crust turned out a bit “different” than her more crumbly variant.


Still, it tasted great after baking!


And some farmer’s market fruit to finish.

For more home cooked meals look at the bottom of the food page.

Related posts:

  1. Fraiche – Ultimo Wine Dinner
  2. Dinner and Drinks at Tavern
  3. Dinner Party – It all starts with Cheese
  4. Eating Tuscany – Villa Dinner
  5. Ultimate Pizza – New Years
By: agavin
Comments (3)
Posted in: Food
Tagged as: Blendtec, Cooking, Dessert, Dinner, Donnhoff, Food, Friday Night, Gazpacho, Home, Judaism, Kashrut, Kosher, Olive oil, Shabbat, Wine

Hostaria del Piccolo – Pizza + Pasta

Sep05

Restaurant: Hostaria del Piccolo

Location: 606 Broadway, Santa Monica, CA 90401. P: 310-393-6633

Date: August 27, 2011 & May 6, 2012

Cuisine: Italian

Rating: Good new casual Italian

ANY CHARACTER HERE

Hostaria del Piccolo is a casual new Italian with a rustic Pasta/Pizza emphasis from the people that brought us Piccolo (my review here).


It’s located in a chic modern space at the corner of 6th and Broadway three blocks behind the Santa Monica Promenade.


The interior has a modern rustic quality.


And they have a lovely patio, which given that it was 5pm on an 85 degree perfect California August day totally ruled.


Given the weather, I decided to take a cue from my Italian friends and order a glass of Lambrusco Frizzante. Sparkling grape juice with a kick, what more can you ask for in the heat?


Very nice thick and buttery grissini.


The menu. Secondi are not numerous in quantity, but they have a lot of pizzas and a number of tasty sounding pastas.


Valpolicella Ripasso is something I found in my Sommelier course on Italy. Ripasso means rested and this is basically baby Amarone.


“CANTALUPO  tuscan melon and Bresaola.” Artfully arranged!


“MESCOLATA organic greens, roasted tomatoes, sliced almonds.”


“RICOTTINA seared fresh ricotta, seasonal mushrooms, vincotto.” This is a very Southern Italian dish and really, is pretty much identical to one I found in Apicus, the 1900 year old Roman cookbook. The sweetness of the vincotto (must) plays off against the creamy sweet cheese.


“FARRO  organic farro, heirloom tomatoes, basil pesto, walnut, arugula.” Farro is also very common in ancient Roman food. This being a rustic Italian, we have more of those old school influences.


“COSTICINE roasted pork ribs, cannellini beans.” Pork and beans of this sort is classic Tuscan. This is basically like Italian babyback ribs.


Rigatoni pomodoro for the boy.


“PAPPARDELLE tomato sauce, roasted eggplant, mozzarella di bufala.”


“RIGATONI italian sausage, tomato-cream, peas, parmesan.” One of those meat, cheese, and pea pastas that I love so much.


“SALSICCIA  tomato sauce, smoked mozzarella, sausage, bell peppers, Castelvetrano olives.” I actually ordered the FARCITA (which was a white prosciutto pizza) but he must have misheard me and anyway this was a tasty pizza. The sausage was very tender and flavorful. The crust was really yummy, and the whole thing not overly burnt like some wood oven pizzas are. If you want to see my Ultimate Homemade Pizza, click here.


A different sausage variant with broccoli, garlic, and fontina but no tomato sauce.


“QUATTRO PER tomato sauce, mozzarella, ham, mushrooms, artichokes.”


“PARMIGIANA tomato sauce, breaded eggplant, basil, parmesan.” Looks like meat, but isn’t!


“AGNELLO Marinated and grilled New Zealand lamb chops, roasted garlic sauce.” Very nice tender straight up grilled lamb chops. Bone gnawing good.


The dessert menu. We were full and didn’t order any.


But they brought my 2.75 year-old this ice cream cone as a freebee and he was mighty pleased.

Overall, Hostaria del Piccolo is a very nice new contemporary Italian, with a heavy pizza/pasta focus. This is sure to make it a crowd pleaser. They could use to beef up the variety of anti-pasta and secondi a bit, but what I had was very nice.

Click here to see more LA dining posts.

The open kitchen inside.

Or for a legion of great eating in Italy itself, here.

Related posts:

  1. Piccolo – A little Italian
  2. Quick Eats: Piccolo
  3. Ultimate Pizza – Day 3
  4. Fraiche Santa Monica
  5. Ultimate Pizza – The Toppings
By: agavin
Comments (3)
Posted in: Food
Tagged as: Bresaola, Broadway, Buffalo mozzarella, California, Dessert, Hostaria del Piccolo, Italian cuisine, Los Angeles, pasta, Piccolo, Pizza, Santa Monica California

Joan’s on Third for Breakfast

Sep04

Restaurant: Joan’s on Third

Location: 8350 West Third Street. 323.655.2285

Date: August 20, 2011

Cuisine: American

Rating: Fantastic gourmet shop & cafe

_

Another father/son morning rolled around and after a most enjoyable trip to the Peterson Automotive Museum (excellent boy fun) we headed over to Joan’s on Third.

The busy Third Street shop front is pretty much an institution. This is a combined cafe, gourmet shop, and bakery.

 You can pretty much bet on seeing celbrities, or at the very least lots of the beautiful people.

There is a good amount of outside seating.

Cappuccino of course.

My son went for the pancakes.


I had this grown up egg mcmuffin type sandwich. Buttered bread, egg, cheese, and of course, bacon!


Joan’s has some of the best cupcakes around and these are two of my favorites. Coconut and snickers!


It’s worth showing the interior spaces. We have all sorts of really good (but overpriced) gourmet products.


Fresh baked goods.


Cheeses!


Meats!


And even more baked goods. I only photoed a small sampling. Joan has really good taste. There may be a mark up, but there is some serious yummy going on here. That’s what impresses me the most, the general extremely high level of culinary quality of most stuff. The prices can be a shock though.

We’ve used them for catering too. They have all sorts of delicious salads, quiches, and whatnots.

For more LA dining reviews click here.

Related posts:

  1. Eating Tuscany – Villa Breakfast
  2. Eating Milano Marittima – Palace Hotel Breakfast
  3. Eating Modena – Real Fini Breakfast
  4. Eating Santa Margherita – Miramare Breakfast
  5. Breakfasts of Champions
By: agavin
Comments (2)
Posted in: Food
Tagged as: baking, Breakfast, Brunch, Cheese, coffee, cupcakes, Dessert, Food, Joan's on Third, Los Angeles, McMuffin, Pancakes

Osteria Latini 3

Sep03

Restaurant: Osteria Latini [1, 2, 3]

Location: 11712 San Vicente Blvd.Brentwood, CA 90049 310.826.9222

Date: August 20, 2010

Cuisine: Italian

Rating: Excellent neighborhood Italian

_

We have a regular rotation of neighborhood Italians. There are so many of them, but only a few make the cut as genuinely good. Osteria Latini is one of them. You can see my previous reviews here and here.


Olive and chickpea/squash/bean pastes.


The 1997 Biondi-Santi Brunello. This is a solid Brunello I had bought years ago in Italy (probably in 2000). It probably scores somewhere in the low 90s, maybe 91 or 92 points.


A special, lobster bisque.


“BELLA SALAD. Arrugola, pears, dry cherries, goat cheese, shaved parmesan.”


A special, calimari steak stuffed with lump crabmeat and drizzled in ponzu sauce. This is unusual, and certainly has a bit of fusion about it — but it’s good.


Gnocchi genovese (in classic basil pesto).


“ACQUERELLO RISOTTO. Organic carnaroli, sea urchin, truffle scent, lemon zest (Please allow 20 Minutes).” A very nice subtle sea urchin risotto. This special hand shaved rice takes 20-30 minutes to cook.


“OSSOBUCO ALLA MILANESE. With saffron risotto.” Latini’s version of the classic dish. Certainly good with a very nice meaty bone. The risotto could have been perhaps a tad creamier.

Two “rounds” of freebee desserts. This mixture of prosecco, lemon sorbetto, and meringue is very refreshing.


Chocolate chip cookies and biscotti.

Osteria Latini is always reliable. They have a big menu of modern Italian favorites and pretty much everything is very good.

For more LA dining reviews click here.

Or for a legion of great eating in Italy itself, here.

Related posts:

  1. Quick Eats: Osteria Latini
  2. Quick Eats: Osteria Latini 2
  3. Eating Modena – Osteria del Pozzo
  4. Locanda Portofino – In the Neighborhood
  5. Eating Poggibonsi – Osteria da Camillo
By: agavin
Comments (3)
Posted in: Food
Tagged as: Brentwood, Cooking, Dessert, Fish and Seafood, Italian cuisine, Italy, Los Angeles, Osteria Latini, pasta, Restaurant, Restaurant Review, Risotto, Salad, Sea urchin, Squid, vegetarian, Wine

Food as Art: Ludobites 7.0

Sep02

Restaurant: Ludobites 7.0 [1, 2]

Location: 227 East 9th St, Los Angeles, 90015

Date: August 31, 2011

Cuisine: Eclectic Modern

Rating: Very interesting (& tasty) array of flavors.

_

Last year my friends and I very much enjoyed Ludobites 6.0 (review here), one of LA’s most notable “popup” restaurants. So some of us Foodie Club members camped out on OpenTable.com to score ourselves a large party reservation. It took five of us hammering independently on the computer to get one in the approximately 70 seconds the entire run booked up. And it was nearly a month in. But score we did.


The walls are festooned with Ludo’s amusing cock & swine logo.


This year Ludobites is back at Gram & Papas. I guess they do it here because the restaurant doesn’t itself serve dinner. The space is small and casual.


One of the big advantages is that G&Ps does NOT have a liquor license. This means that my special BYOB “grape juice” was corkage free. Good think I brought a cork screw.

Very nice Burg from my cellar. Parker 93. “I loved the sweet cassis aromas of the 2002 Echezeaux as well as its powerful, intense, syrupy personality. Medium to full-bodied and gorgeously ripe, it bastes the palate with thick black fruit flavors. In addition, this wine reveals great depth and a lengthy, fruit-packed finish. Projected maturity: 2007-2017.”


Le Menu. With eight people we ordered two of EVERY dish. Worked out just about right. There was a small issue of our sole vegetarian. Not a single dish on the menu is actually free of meat, and our request initially phased the kitchen. But they recovered quickly and offered to make veggie variants of a number of dishes which worked out excellently.


“Lavender Ginger Lemonade.” Non-alcoholic. I liked the strong ginger kick, but the lemonade was too sweet and not sour enough. I like my lemonade painfully sour and strong.


“Bouillabaise Milk Shake.” This tastes exactly like it sounds. Like a fish milkshake. Basically the same flavor profile as real Bouillabaise, but with milk. I can’t say it was my favorite dish. Probably least or second to least.


“Choucroute Tart Flambe.” This “tart” is really a pizza or flatbread. But it was fantastic. The ham/bacon on top was great, as was the cheesy creme fraiche and onion thing going on.


They also made us a vegetarian version which was very good.

Neiman Cabernet “Caldwell Vineyard” 2000. Parker doesn’t rate this, but it’s a top top notch cabernet, probably 94 points or so. The years and a lack of over oaking left it very smooth. I picked up this wine at the Redd Collection, a cool new tasting/wine dealer I met at the Food Club Ultimo Wine Dinner.


The chicken wings (below) came with surgical gloves to keep the hands clean!


“Burgundy Fried Chicken.” The real burgundy was finished, but the wings were very very tasty. Succulent and perfectly cooked with a sweet BBQ style sauce.


The remnants!


This is a custom vegetarian salad they made up.


“Squid, Black Ash, Chorizo.” The squid was nice and tender, and the orange “chorizo” sauce around the edge really tasty. I’m not sure I was super keen on the ash texture, but it was certainly a decent dish.


This spectacular Brunello (the 2006 il Cocco) is totally unavailable in America. I got it at the vineyard from the owner on my mega Italy 2011 trip. He makes 7,000 bottles of wine a year, perhaps 3,000 of Brunello, and does 100% of the work (fields and cellar) himself! Probably a 94-95 point wine.


Prawn ceviche, Aji Amarillo, Red Berries. This reminded me of a Red Medicine type dish. It had very interesting and strong flavors, with a lot of vinegar/lime.


“Salt Cod Panna Cotta, Whipped Fingerling Potato, Smoked Tapioca, Black Olive Bread.” This was an interesting dish. The cod itself was not dominant at all. It mostly seemed like a panna cotta, or even like one of those Japanese seafood egg custards like I got here at Takao (about a third of the way down). I liked the little tapioca balls too, and the bread added some nice texture, just needed a little more cod flavor.


“Oxtail Beef, Rainbow Carrots, Shallots, Green Salad.” This was one of my favorite dishes of the night. The beef was just amazing. And rest went really well too.


“Foe Gras, Corn and Coconuts.” Amazing and interesting dish. Another favorite of the evening. The foie was foie — and nothing wrong with that — but the corn coconut soup was awesome with it. Sweet like a corn soup, with the crunchy texture of popcorn, and with this coconut curry / lemongrass vibe on top. Wow!


My wife even got a vegetarian version, without the foie, which really was almost as good (good as the foie was).


“Pigs Head Compressed and Mimolette, Barbeque Gelee.” This sounds awful, but tasted just okay. Flavor wise thought it just tasted like some kind of meat sandwich with a really tangy mayo. The sweet sauce helped a bit. One of my other lessor dishes of the evening.


“Egg, Sea Urchin, Caviar, Champagne Beurre Blanc.” Really tasted a lot like scrambled eggs and caviar. Which was pretty darn good. The Uni (sea urchin) was present, but subtle. I could have done with more. But the egg and caviar thing is really good together, so I enjoyed it a lot.


This is no Uni version. The egg tasted stronger and saltier without the sweetness of the Uni, but it was still a very good dish.


“Plancha Tandoori Octopus, Yogurt, Cauliflower, Grapefruit.” The octopus itself was very tender with a nice tandoori flavor. The cauliflower texture was really interesting. I think the yogurt could have had more punch, or more of it, but still a nice dish.


“Duck, Cherry, Spicy Saucisse, Beets, Radish.” There are two meats in here. A sausage (which was really yummy) and a very nice rare duck breast. Both were excellent with the cherry sauce. The beet/radish thing seemed a little orthogonal, but it didn’t stop this from being terrific.


“Lamb cooked in fat Moroccan style Artichoke, Mint.” There was some serious fat on this lamb. Serious fat. But it tasted damn good with the cooked dates. That was the whole key to this dish for me, tender lamb with a sweet sauce.


The peeps, midway somewhere.


The meal took awhile and so we could have used an extra bottle of wine, but i only brought four. This dessert Riesling, the every reliable, Parker 97! “White peach preserves, luscious Persian melon, fresh red raspberry, cooling lime, green tea, iris and gentian are all projected on the nose of Donnhoff’s 2009 Oberhauser Brucke Riesling Spatlese, then take on a fleshy, silken, yet svelte form that combines infectious juiciness, invigorating salinity, uncanny buoyancy, and vibratory interactive complexity, leaving my tongue tingling and my head buzzing. The depth of savor here is such that to speak of nut oils or of shrimp or lobster shell reduction merely points in the correct, otherwise ineffable general direction. “Creamy, dreamy, transparent” were the last words I could pronounce in the presence of this natural wonder that will certainly be capable of spreading joy for at least the next quarter century. “There was a tiny bit of perfectly dry botrytis here,” notes Donnhoff, “and to get much over 90 Oechsle you usually need that.” Needless to say, its presence has in no way precluded the utmost purity of fruit, clarity, or subtly electrical energy of which Riesling is capable in this amazing site. “I-m warning you, they’re not necessarily better,” said Helmut Donnhoff with a grin when serving me his two 2009 vintage Auslesen.”


Now our whacky “cheese course” the “Pick-Up Stick Cantal Cheese, Curry White Chocolate.” The cheese almost tasted like slivered apple.


“Lavendar Tropezienne Tart, Aloe Vera, Lychee.” This wonderful pastry reminded me of a giant lavender Macaron. I love certain kinds of exotic herbaceous flavors like rosewater and lavender and I love custard.


“Chocolate Cake, Chipotle Ice Cream, Orange.” Wow! This was a 10/10 dessert (and the lavender was like a 9/10!). The chocolate slab was great, you can tell just by looking at it, but that ice cream. It tasted like bacon! Really. The combo was incredible, and a bit spicy.


“Pistachio Brown Butter Cake, Marcaspone, Red Berries.” This was the weakest of the three desserts, but it was still very good, with a nice pistachio flavor. The Marcaspone could have used a little more kick or sweetness.

Overall, maybe it was a good thing coming into Ludobites 7.0 after a couple of weeks. Things were really on point with the food. Service, which very pleasant, really isn’t up to the food standards. There is no slick Michelin 2 (or 3) star type management of the table like at a place like Melisse, but the attitude was fine and there were no problems. Water service was sluggish and we had to self pour our “grape juice” into water glass type glasses. But actually I don’t mind self pour or opening my own wines. I could have used some more water 🙂

But the food was really standout. A large variety of very creative dishes, and some were fantastic, particularly the desserts. So bravo.

Click here for a review of last year’s Ludobites 6.0.

The Food Club extravaganzas.

Or all LA dining reviews.


Me, with the big macro-lens-and-flash rig.


Mirella gets her crazy on.


Swag! (not that I bought any)

Related posts:

  1. Food as Art: Ludobites 6.0
  2. Food as Art: Hatfield’s part 2
  3. Food as Art: Bistro LQ
  4. Food as Art – N/Naka
  5. Food as Art – Takao
By: agavin
Comments (2)
Posted in: Food
Tagged as: Bouillabaise, California, cerviche, chicken wings, Cooking, Dessert, duck, Foodie Club, Los Angeles, Ludobites, Ludovic Lefebvre, Pizza, popup restaurant, pork, Restaurant, Restaurant Review, salt cod, Squid, vegetarian, Wine

So you want to be a video game programmer? – part 4 – School

Sep01

…CONTINUED from PART 3. Or start at Part 1.

There are two basic approaches: home training and school. Personally I’d recommend both.

Let’s talk school. In my day (1980s) pre-collegiate computer classes barely existed, and if they did they were mostly about Pascal programming and data-structures. They often used p-System pascal, an old-school predecessor to Java!

College Computer Science programs followed (and I imagine they still do) a traditional regimen of stuff like Algorithms, Data-structures, Architecture, Compilers, AI, Theory of Computation etc. They rarely taught or emphasized programming itself. Personally, while I have this training myself (several years at the M.I.T. AI Lab working toward my PhD) I got it long after teaching myself to program and after having 5 published video games on the market.

What I was taught at M.I.T. (1992-94) was way too theoretical to make a good starting place for a young programmer. Don’t get me wrong, I learned a tremendous amount there and it really upped my game. But it was best digested in light of several years practical experience. So I don’t personally think that traditional CS is the way to start. But if you are really serious about computers it is a very solid choice for your higher education. You just need to be ready for it.

And here is the dirty secret about the University Education system: It’s made up of classes. Yep. Your four (or more) year educational experience will just be the summation of eight semesters worth of classes, usually 4-5 per semester. The exact order of these, which topics, and how they are taught will be at the whim of all sorts of varied factors. For example: scheduling, major and general requirements, teacher sabbaticals, friends, personal choice, etc. The school itself will have broad requirements (like you must have 3 science and 2 history classes). You major/department will have more specific ones (like requires 14 classes in the major, with 7 out of the 10 “core” classes — as defined by the department). So everyone’s education is different. That can be a good thing, but it’s less coherent.

And even within a particular class type, like say: Computer Architecture, the classes vary wildly and are rarely designed to work with each other or be taken in a particular order. The school and department might have determined that it should have a Computer Architecture class, but each teacher is free (somewhat) to determine the specific content and style of his or her class. Teachers vary wildly in teaching ability. I mean WILDLY! Even at the best schools. In fact, the teaching quality at M.I.T. was considerably lower than at my undergraduate school, Haverford College. It’s not that the M.I.T. professors weren’t as smart — they were plenty brilliant — but they leaned more toward being famous researchers while Haverford selected people who excelled first and foremost at undergraduate education.

In any case, even within a particular major, say Computer Science, the slate of courses you take might not form a coherent picture. There isn’t much effort made to ensure this. It’s more like, “we need a Compilers course, who wants to teach it?” and then that professor goes off and builds their plan. I’m sure there are constraints and feedback, but it being part of a single coherent program doesn’t seem to be one of them. And teacher style so heavily influences the experience. Now, don’t get me wrong, many of these courses are really good. But they require that you, the student, do a lot of the work integrating the bigger picture. Which really, for first rate minds trying to absorb advanced modalities of thought, is totally fine. It’s just not exactly the same as learning a complex practical field like programming.

But let me speak briefly about the classic topics:

Theory of Computation – Is the cool (but highly esoteric) field of math that endeavors to prove things about what can and not be computed. It includes a lot of discussions about theoretical computers like the Turing Machine and what sorts of computational problems are equivalently complex. This is actually very useful, but only if you have already encountered practical programming tasks. Otherwise it will probably just confuse the bejesus out of you.

Compilers – Is about writing compilers, and how computational semantics are transformed. This is bordering on totally useless for the novice programmer. I myself found it fascinating, but I wrote several compilers. Again, you want to study this several years into your career.

Algorithms – Is the formal study of different methods of problem solving. This is where stuff like the difference between a bubble and an insertion sort goes. Every programmer should know the basic algorithms, but you can read a beginning book fairly early in the learning process and pickup the basics. The college version is much more rigorous. But in the early stages you can lean on libraries which encapsulate these solutions.

Data-structures – These relate closely to Algorithms, but are methods for actually storing data in computers. Different data-structures lend themselves better to different algorithms. The mistake made by a purely academic approach is in thinking that they make a lot of sense without some practical knowledge of the kind of things that you do in normal computing. Still, Algorithms and Data-structures are essential at all levels of programming beyond the totally trivial, and these are the most practical of the classic topics.

AI (Artificial Intelligence) – Can be extremely useful to the game programmer. Games, after all, need enemies that appear intelligent, and in addition have to solve all sorts of big computational problems which use AI techniques (like moving the camera around etc.). But as taught in school it’s pretty theoretical and you need at least a couple years of practical skills first.

Architecture – Is the study of computer hardware, usually micro-processors. A lot of people hate this topic, not being hardware guys. And although you can learn this anytime, you really should. It’s impossible to be a truly great programmer without knowing something about the hardware that makes it all happen. If you are into compilers, this is even more true. I personally loved these classes.

I also want to mention the subject of Programming Languages. Most schools rightfully view the choice of specific programming language as fairly “academic” (or not actually). In the above classes advanced CS guys learn that all normal computer languages are “Turing Complete” and therefore equivalent to each other. Any program in one could be converted to a program in another by automated means (this is what compilers do). Languages all have the same basic features. And if it’s missing one you can write the feature within itself. So who cares which one you use?

This makes a certain academic sense, but in practice, the choice of programming language is vital. And the budding programmer should be introduced to a wide variety of them at a steady yet-not-overwhelming pace so that they learn the fundamentals common to all and do not become one of those lame-ass programmers who are afraid to learn a new programming language. I can be programming in any new language in one day, proficient in a week, expert in a month, master in six. It’s just not that hard.

Schools often have a particular language that they favor. These days it might be Java. In my era it was either Pascal or C. For many schools it’s still probably C/C++. At M.I.T. it was Scheme/Common Lisp! But often professors are also free to just teach a class in a different language. I had an undergraduate AI class all in Prolog. For the gifted student this is a good thing, having a whole class in a new language, as it’s a decent enough emersion to actually learn a new mode of thought (the Prolog class substantially improved my programming even though I’ve not used Prolog since). But also some professors will try the new language for each assignment approach, which is retarded, as there isn’t enough time or depth to master anything, and so the whole assignment becomes about learning the minimum information needed to get it done. The net net is that there is rarely a coherent plan to get you programming and then to have you learn a wide range of practical languages. In said plan, you might start learning with an easier interpreted language like Python, then be taught to master four or five others that are both practical and varied (say C/C++, Java, Javascript, at least one assembly, a “fancy” or two like Ruby/LISP/Scheme/Prolog/Smalltalk etc.) That doesn’t usually happen. You might get lots of Java and a smattering of 10 others.

College professors also don’t usually think that classes that directly and specifically teach programming languages and practical programming are very cool. There is no research or terribly theoretical aspect to them. I.e. the subject isn’t very academic. They are rarely themselves very good programmers (if they were, they’d be off working for Google or whatnot 🙂 but seriously the personality type for “programmer” and “professor” are different — albeit both bookish). This leads to professors rarely adding this kind of class to the curriculum unless someone makes them.

_

Having heard about all these more practical Gaming majors that colleges now have, but which I know nothing about (they didn’t exist 20 years ago), I asked a friend of mine who just finished her CS degree yesterday! Lauren is a fellow blogger, programmer, WOW fan, and budding game designer-programmer. Big congratulations! Her comments:

Having just completed my degree yesterday, I can confirm that not as much has changed in Computer Science education as one might expect, especially given the exponential growth of the field. Aside from the specific languages taught, which for me was mainly Java instead of Pascal, the curriculum is much the same. The breadth of languages taught is still very much dependent on what you choose to seek out yourself; were it not for honors opportunities or research, I never would have become as familiar as I am with functional programming or the MVC architecture.

After the first two years, programming takes a back seat to theory; upper division classes, while useful and offering a degree of specialization, can be light on actual coding. There are still opportunities to improve your skills, though. Project classes, at least at my school, offer a chance to really show your programming chops, so to speak; with the exception of one I personally considered, all required the completion of extensive coding projects in ten weeks or less to the exclusion of lecture material.

The biggest factor that affected the quality and extent of the education I received was the professors. Sometimes, you will get a truly horrible lecturer, someone who isn’t fair or just doesn’t care. For me, this happened more often than not. The best advice I can give is: Be able to teach yourself. To be honest, I didn’t bother attending classes where the professor was incapable of teaching — I don’t want to waste my time. I went home and read the textbook, or taught myself using tutorials or information online.

“Bad” classes will happen, and the most important thing I learned in college, or even before, is that you need to take active control over your education. Even if the teacher sucks, you can’t blame a failing grade on him; you have the power to learn the material and should do so to the best of your ability. This isn’t to say that poor professor performance doesn’t raise my hackles (it does, a lot), just that self-directed learning is a necessity for succeeding as a student and a programmer, especially since the number of future employers that will accept “The teacher sucked!” as an excuse for a failing grade must be pretty small.

Even if you’re taking the so-called “structured” or “formal” education path, no one will hold your hand. You need to look out for yourself, and find opportunities to broaden your knowledge. I learned firsthand that often these opportunities will not be supplied to you, or even pointed out. You need to be responsible for your own education, especially at large universities. Self-directed study and college are not mutually exclusive.

In that spirit, in addition to my CS degree, I also took a Concentration in Game Culture and Design. This was an interdisciplinary program in conjunction with the art school which, did add a nice game “focus” to my studies. I think these types of programs can be helpful, though to say this improved my coding skills would be more than a stretch. Mostly, it gave me a bit more insight into the game pipeline, and the scale of the work that goes into making a game. I’ve gained some skills which I otherwise wouldn’t have been exposed to; for instance, I’m now comfortable finding my way around game design docs and I’ve had practice giving pitches.

While not a value traditionally espoused as part of a CS education, some gaming or art courses can help your creativity. I can’t speak for the more technical games programs out there, I think there is merit in learning a bit about the industry even prior to leaving school.

This fresher opinion confirmed my belief that no school can be as rigorous as GOOD self training like I gave myself, and under no circumstances should you want until you’re 18 (unless you already are!).
The basic message: Start as early as you can, preferable at age 8-12.

Given that college is roughly age 18-22, and adds a lot of value an education begun at home, it can actually dovetail perfectly with said self education. This will be the topic of a later post in this series.

CONTINUED HERE with The Method!

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

Read more from guest blogger Lauren here.

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. So you want to be a video game programmer? – part 2 – Specs
  2. So you want to be a video game programmer? – part 3 – Getting Started
  3. So you want to be a video game programmer? – part 1 – Why
  4. Making Crash Bandicoot – GOOL – part 9
  5. Crash Bandicoot – Teaching an Old Dog New Bits – part 2
By: agavin
Comments (36)
Posted in: Games, Technology
Tagged as: Algorithm, Andy Gavin, Artificial intelligence, Colleges and Universities, Computer architecture, Computer Programming, Computer science, Crash Bandicoot, Data structure, Doctor of Philosophy, Education, Haverford College, Machine learning, Programming, pt_career_advice, Student, Teacher, Theoretical, Video Game Programming

City of Bones

Aug31

Title: City of Bones

Author: Cassandra Clare

Genre: YA urban fantasy

Length: 460 pages, 131,000 words

Read: August 17-19, 2011

Summary: Fun until the end

ANY CHARACTER HERE

City of Bones is the first in a series of fairly typical urban paranormal. We have a girl who thinks she’s nothing special, but she discovers she’s part of this whole world of demon hunters, fairies, vampires, werewolves, etc. And right under our noses in New York City!

Seen that before?

Well yes. Certainly one of my biggest problems with this book is just how similar it is to lots and lots of other late 2000s urban fantasy. It’s much like Holly Black‘s stuff (White Cat, Tithe), but with a bit less atmosphere. In fact, the two authors are friends and share the same agent (coincidence?). But City of Bones is similar to a lot of other things as well. At times there’s a wee bit of a unique feel involving the Shadowhunters (that’s what this book calls the demon hunters clan the protagonist hooks up with). Just a little. There’s certainly very very little rooting in any kind of traditional mythology, but instead a whole hell a lot of stuff stolen from contemporary pop myth. Werewolves and vampires both, and guess what? They hate each other. Author Cassandra Clare started off as a Harry Potter fanfic writer, and that shows because she borrows a lot from HP. But not what you’d think. There’s next to no similarity of feel, no wizard school, etc. Instead City of Bones borrows things like naming conventions and loose bad guy structure. Names like “Pangborn” and the like. The evil guy (who faked his death) is back with a “Circle” (ahem Death Eaters) and their’s more. Clare loves capitalized terms like “The Circle,” “The Uprising,” “The Institute.”

Still, for at least the first 50-60% I really enjoyed reading this novel. It’s well written. Albeit overwritten. I can’t understand how the hell they let her through the gates at 130k words. At least 15% could be cut with just a good line edit and there are long long dialog exchanges that are either datadumps or serve only as barbed chatter between the male and female leads. The POV is a little wonky too, 95% of the time focusing on the female lead (Clary), but occasionally shifting to the male or even a baddy. Clary’s very very typical. She’s pretty, but thinks she isn’t. She dives into crazy life threatening fight scenes time and time again, but has no skills herself. But somehow you don’t mind her. In fact she’s pretty likeable. The male lead (Jace) is less typical. He’s genuinely obnoxious (verbally) but mostly tries to do the right thing in deeds. His aloof self is actually pretty well crafted, although annoying at the same time. There is some good tension in the interpersonal stuff — although not even the whiff of sex, which would have spiced it up.

All this criticism aside, I did actually enjoy the first half of the book. I even said to my wife half way: “I’m reading one of those rare urban fantasy’s that’s actually good.” Truth be told, there’s all sorts of drivel I don’t finish and don’t mention on my blog. City of Bones is a long book, and I flew through it to perhaps the 75% mark. I can’t exactly say what made it enjoyable, but it was. Despite the pretty derivative scenario, the characters were engaging for the most part. Clare’s a good action writer — not perfect, but her action scenes are to the point and clear. There’s a definite urban feel to things. Sometimes a little too much as this is one of those worlds where the fantasy types spend a lot of time at clubs posing as hip weirdos. They have “cool” swirly tattoos too (in this context quotes = sarcasm). There are twists and turns and reveals. Some of the big ones you can see a mile coming. Like the deal with Clary’s father. I guessed that one about page 20. The hints were slathered on like a redhead with the sunblock.

Really the only thing that prevents this book from being a solid guilty pleasure (it was never aimed at classic), and me from starting in on the sequel (which people say is actually better), is the cheesy final showdown. It totally lost me. Mired and tortured me in fifty pages of “bad guy gives lots of Scooby Doo explanation in the middle of a fight.” Yeah, he’s like stabbing with a sword and he has time to get about three pages of dialog in during each stroke. We even have this cheesy flashback from one of the older characters (a werewolf named Lucian — we’ve never seen that before!) to a supposedly crucial scene right around the time of Clary’s birth. A big flashback at the 85% point? It’s the only one in the book too. A couple lines of dialog would have told us what we needed to know. The whole end just felt forced. Clare should have kept the villain off screen or something, because he was so ham-handed he was begging for a slice of pineapple. Which is a shame, because there was enough craft in the other characters that I actually grew to like them.

For more book reviews, click here.

Related posts:

  1. Book Review: City of War
  2. Waterloo & City
  3. Waterloo & City is Victorious
By: agavin
Comments (7)
Posted in: Books
Tagged as: Book Review, Cassandra Clare, City of Bones, Fiction, Harry Potter, Holly Black, New York City, Novel, Shadowhunter, The Mortal Instruments, Urban fantasy, Vampire

Brief Status

Aug31

I’m going to hold off publishing the next installment in my So you want to be a video game programmer series until Thursday September 1. The next chunk is on “School” and I’m doing some additional research. So instead today will be a biz as usual food or media post. Tonight is also the night for my coveted Ludobites 7.0 reservation, so Friday will hopefully be a delicious post on that.

And I’m cranking away on the third second draft (call it a 2.5 draft or something) of Untimed 🙂

By: agavin
Comments (0)
Posted in: Uncategorized

So you want to be a video game programmer? – part 3 – Getting Started

Aug30

…CONTINUED from PART 2. Or start at Part 1.

Some kid is always asking me, “I love video games, how do I learn to program them?”

First of all, a warning. Reaching the skill level to be a professional video games programmer takes years. There are no shortcuts. You can not possibly go from nothing to professional grade skills in less than perhaps 2-3 years — and for that you’d have to be an uber-genius — usually it takes 5-10.

The good news is that you can start very young (8-10 — I started at 10) and you can do it on your own with common equipment and readily available information.

There are two basic approaches: home training and school. And while I personally recommend both, I’m going to use this post to give my own “origin story.” In followups we can apply these lessons to the present (programming itself hasn’t changed all that much in 30 years — there are just more libraries).

[ BTW, if you’re new to the blog and wondering who the hell I am in this context, click ]

Rewind to 1979. Some of my favorite things in the world were Dungeons and Dragons and arcade games. I was really too young to actually play D&D accurately, but I loved reading the books and modules (besides my regular diet of fantasy novels). I went to the Apple Store (not actually owned by Apple or nearly as glamourous as they are today — in fact, the owner resembled Gandalf) and saw the game Akalabeth running on an Apple II (not a + or an e, but an old school II). Boy did that set me to dreaming!

Then in 1980 my science teacher brought into class a Heathkit H8 her husband built (yes built). This early computer ran a lousy version of BASIC and possesed the world’s worst storage device: the audio tape drive. Actually punch cards were worse, but with the tape drive, saving your program bordered on impossible (at least for the sharing audio tapes with the rest of the class) and so you had to type it in repeatedly. We were given a single mimeographed sheet of paper with the BASIC commands. I read this a couple times and then wrote out longhand the first draft of a text-based RPG where you wandered around and fought orcs and trolls for gold and tretchure (this is how I spelled treasure at 10). During lunch I typed in and debugged the game, editing my paper copy as needed. I used my friends as beta-testers. It may seem overly ambitious to try and recreate D&D as one’s first program, but it illustrates the programmer principle of: program what you love.

Then my best friend got himself a brand new Apple II+ (just released). This was a slick update of the Apple II. It had a whole 48k, came with BASIC, and was often (but not always) accompanied by a 143k floppy disk drive! Low low price of $900 just for the floppy drive! In any case, the II+ was so much more awesome than the Heathkit. It even had graphics!

So I began pestering my father for an Apple. This took 9-10 months of continuous harassment — the machine was expensive — and all sorts of creative techniques to convince him. I offered to mow the lawn for free. I explained how various accounting software would make balancing his checkbook a breeze, etc. Once I was victorious (Jan 1981) we got the accounting software, but he never used it, leaving me to my own devices on the machine. And I think I kept getting paid for the lawn. Still, this episode illustrates another important programmer principle: persistence.

After the Apple arrived, I spent nearly all of my free time (perhaps 6-8 hours a day) on the thing for years. This is essential. You must offer up blood onto the alter of the programming gods. Principle: sacrifice. I used this time in many ways. I played a lot of games. I used every piece of software. I taught myself to program. I hacked. Principle: market research. But I couldn’t afford as many games as I wanted and in those early years the available library was small, so I was always trying to make my own.

I wrote totally lame versions of nearly every arcade game ever made. In BASIC at first (we’ll get to the issue of environment later). I would generally spend a day or three banging these out until they were marginally playable and then move on to new projects. Lesson here: practice. I chose more and more ambitious games and would use each one to teach me something new. I did this in incremental steps, mostly 1-2 day projects. By way of example, I might upgrade something or I might add a load/save system (requiring learning about I/O). My early games didn’t have much in the way of collision, later ones did. I started with text, then moved up to lores graphics, then highres, then shape tables, then bits of assembly language subroutines for blitting. Principle here: baby steps.

Baby steps are incredibly important. You can’t learn everything there is to know in computers in one shot. Each little area takes multiple projects and days — at least — to learn and master. Take file I/O. I’m sure I got something up and going the first day or two back in the early 80s when I decided to add a load/save system, but I was still learning about file I/O 25 years later on Jak 3 (of course then I was inventing new ways of doing stream I/O, but it was learning nonetheless). Your first pass might work, but often you barely understand any of the principles involved.

You have to start simple, build up blocks, and go from there. That’s why interpreted languages and text programs are a good way to begin. You need to learn about variables, scope, and flow of control before you can jump into 3D graphics. And forget about complex unforgiving environments like C/C++ or assembly to begin with. Those come later and are just one more thing to spend a series of baby steps on. Just learning about makefiles or projects and compile options could stop a novice dead. So don’t — yet. Each task (and thing to learn) should be broken into some chunk that only takes a couple days at most to digest — or at least make some headway on. This leads to a virtuous feedback loop of progress and learning.

I kept writing those lame little games for about 3 years (100s of them). Of all my friends with computers (we all programmed in that era because computers didn’t do much if you didn’t program) my games were the coolest. I used them to invent all sorts of excuses to develop new skills. I wanted to learn about interpreters so I made an engine to allow the creation of text adventure games using a custom scripting language. Once I got this going I upgraded it to graphic adventures, which proved to be a perfect excuse to implement an idea I had seen in the Sierra games where line drawing and fill commands were used to compress images to a fraction of their raw size. On the Apple II a raw graphics screen was 8k. So a floppy only fit 17. A normal compressor (ancestor of zip) might squeeze this to 3-4k but that is still only 30-35 images. This “save the drawing commands” style made them a fraction of that. But for it to work I not only had to create the “renderer” (including an assembly fill routine) but I also a whole “paint program” to allow the recording/creation of these proprietary images.

However, each of these sub-steps resulted in satisfying progress on its own. Principle: chunking. For example that fill routine. It took several days, and my mastery of recursion in assembly wasn’t the best so it left little corners unfilled, but it was cool in of itself. My first fill routine (in BASIC) took 5 minutes to do a fill, and the assembly one only a second or two. Plus, I was to keep using it in all sorts of programs for years (with improvements). Principle: reuse. Building on the tools you make is essential to programming.

In 1982, I met Jason Rubin. He also programmed. He was an amazing (by the standards of the time and our age) artist and his games LOOKED REALLY COOL. But they crashed a lot. Mine rarely did. From the beginning I hated crashing. Still can’t tolerate it. I have trouble leaving the keyboard if a crash bug is still outstanding. Principle: perfectionism. My programs also did much cooler “programming” stuff. They just didn’t look cool. When we combined our talents, things really took off! Our games now looked cool AND ran decently. Impressive stuff. Lesson: partnership. Not everyone can be good at every aspect of computers. Nor even of programming itself.

CONTINUED with Part 4 – School!

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. So you want to be a video game programmer? – part 2 – Specs
  2. So you want to be a video game programmer? – part 1 – Why
  3. How do I get a job designing video games?
  4. Matsuhisa – Where it all started
  5. Making Crash Bandicoot – GOOL – part 9
By: agavin
Comments (27)
Posted in: Games, Technology
Tagged as: Andy Gavin, Apple, Apple II, Apple II series, Apple Store, BASIC, Computer Programming, Dungeons & Dragons, Floppy disk, Game programming, Heathkit, Origins, Programming, pt_career_advice, Steve Jobs

So you want to be a video game programmer? – part 1 – Why

Aug29

This post is a sequel of sorts to my How do I get a job designing video games. The good new is — if you’re a programmer — that nearly all video game companies are hiring programmers at all times. Demand is never satisfied. And the salaries are very very competitive.

The bad news is that it takes a hell of a lot of work to both be and become a great game programmer. Or maybe that isn’t such bad news, because you absolutely love programming, computers, and video games, right? If not, stop and do not goto 20.

I’m breaking this topic into a number of sub-posts. Although this is the intro, it was posted a day after the second, number 2, on types of game programmers, but I’m backing up and inserting this new number 1 (I’m a programmer, I know how to insert). Other posts will follow on topics like “how to get started” and “the interview.”

_

So why would you want to be a video game programmer?

Let’s start with why you might want to be a programmer:

1. Sorcery. First and foremost, being a programmer is like being a wizard. I always wanted to be a wizard. Given that magic (as in the D&D variety) doesn’t seem to be real (damn!) programming is the next best thing. Computers are everywhere. They’re big, complex, and all sorts of cool everyday devices (like iPhones, set-top boxes, cars, and microwaves) are really basically computers — or at least the brains of them are. 99.9% of people have no idea how this technology works. As the late great Author C. Clarke said, “any sufficiently advanced technology is indistinguishable from magic.” Yay computers! If you actually know the arcane rituals, incantations, and spells to controls these dark powers then you are… drum roll please… a wizard.

2. Career security. Computers are the foundation of the 21st century economy. Nearly every new business is based on them. Knowing the above incantations is secret sauce. All the growth is in high tech (product possibility frontier and all that). Hiring is supply and demand too. The demand is for programmers and other high tech specialists.

3. Even more career security. Programming is hard. It requires a big New Cortex style brain. This means lots of people can’t do it. It takes years of study and practice. I’ve been programming for 30 years and there is still an infinite amount for me to learn. Awesome!

4. It’s a rush. Creating stuff is a rush. Making the infernal machine bend to your warlocky will is a huge thrill. It never gets boring and there is always more to learn (related to #3).

5. It pays really well. This is related to #2 and #3. People need programmers and they can’t get enough, so they have to pay competitively for them. Even in the late 90s early 00s at Naughty Dog it was very rare for us to start ANY programmer at less than $100,000, even ones right out of school. Good ones made a lot more. And if you’re a total kick-ass grand master wizard (nerd) like Bill Gates or Mark Zuckerberg you can even start your own company and make billions. Take that you muscle bound warriors!

6. Solo contributions. You like spending time with machines and find all day dealing with illogical humans at least partially tedious. Sorry to say it, but even though most professional programming is done in teams a lot of time is spent at the keyboard. For some of us, this ain’t a bad thing.

7. Socialization. You need an excuse to hang out with others. On the flip side, because of this team thing you’ll be forced to socialize on and off between coding. This socialization will have certain structural support. This is convenient for the would-be wizard, master of demons but terrifying forces, but afraid of starting conversations.

So why would you want to be a video game programmer specifically?

8. Video game programming is really hard. Probably the hardest of the hard. It combines cutting edge graphics, effects, the latest hardware, artistic constraints, tons of competition, very little memory, and all sorts of difficult goodies. The really serious wizards apply here.

9. Other types. Video game teams have artists, musicians, and designers on them too. Lots of tech jobs don’t (although they sometimes have those pesky marking folks). Artists etc are cool. They know how to draw or compose cool stuff which makes your code look and sound much cooler.

10. Consumer driven. If you make it to work on a professional game they often sell lots of copies and people will have heard of what you do. This is much much cooler than saying “I worked on the backend payment scheme of the Bank of America ATM.” It’s so cool that it might even get you laid — which is an important concern for bookish wizards of both genders.

11. It’s visual. Seeing your creations move about the screen and spatter into bloody bits is way more exciting than that green text on the bank ATM. Talented artists and sound designers will come to you with said bloody bits and all sorts of squishy sounds which will make your coding look 1000x more cool than it would by itself. If you aren’t into bloody bits than you can work on a game where enemies explode into little cartoon rings. It’s all cool.

12. It’s creative. For me, I have to create worlds and characters. I’ve been doing so my whole life. Right now I’m not even programming but I’m writing novels, which is also about creating. Programming in general is pretty creative, but game programming is probably the most so.

13. Love. You love video games so much that working on them 100+ hours a week seems like far less of a chore than any other job you can think of!

I’m sure there are more reasons, but the above seem pretty damn compelling.

CONTINUED HERE with Part 2: “The Specs”

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. So you want to be a video game programmer? – part 2 – Specs
  2. How do I get a job designing video games?
  3. Crash Bandicoot – Teaching an Old Dog New Bits – part 2
  4. Making Crash Bandicoot – part 6
  5. Making Crash Bandicoot – part 5
By: agavin
Comments (56)
Posted in: Games, Technology
Tagged as: Andy Gavin, Bill Gates, Console Platforms, Crash Bandicoot, Game programmer, Game programming, Games, iPhone, Mark Zuckerberg, Naughty Dog, New Cortex, pt_career_advice

So you want to be a video game programmer? – part 2 – Specs

Aug28

…CONTINUED FROM PART 1.

There are a couple of broad categories of programmers working on video game teams. If programmer is your player class, then the following types are your spec. Programmers are all warlocks and mages so instead of “demonology” or “frost” you can choose from below. (NOTE: if you don’t get this joke, you don’t play enough video games) This is the real world however, and many programmers dual (or even triple) spec — i.e. they handle multiple specialties.

1. Gameplay programmer. Programs enemies, characters, interfaces, gameplay setups etc. Probably also does things like AI and collision detection. These programmers are sometimes a little less hardcore technical than some of the other types, but this is the sub-field where the most “art” and experience are often required. Learning how to make a character’s control feel good is not something you can read about in Knuth. It takes the right kind of creative personality and a lot of trial and error. In a lot of ways, this is the heart and soul of game programming, the spec that truly differentiates us from the more engineering programming disciplines.

2. Tools programmer. Works on the extensive tools pipeline that all games have. This is the only branch of game programming where you don’t absolutely have to know and breathe video games inside and out, and it’s a little closer to mainstream applications programming. That being said, life at most video game companies is so intense, you better love them. Tools programmers tend to be very good at practical algorithms, data processing, etc. For some reason, perhaps because it’s more “behind the scenes” this spec is often viewed as less glamourous and there are fewer programmers who want to go into it.

3. Sound programmer. A very specific niche. Here you have to not only know how to program well, but you have to care about the esoteric field of sound. You need the kind of ear that can tell if there is a one sample glitch in some audio loop, and you need to care if the 3D audio spatialization is off or the sound field isn’t balanced. This is often a fairly low level area as audio programming is often done on DSPs.

4. Collision programmer. This is a really specific spec, and often overlaps with Graphics because it involves totally intense amounts of math. You better have taken BC calculus in tenth grade and thought “diffy-q” was the coolest class ever if you want to go into this.

5. Network programmer. In this era of multiplayer and networked gaming there’s a lot of networking going on. And programming across the internet is a bit of a specialty of it’s own. In general, video game programming takes any sub-field of programming to it’s most extreme, pushing the bleeding limits, and networking is no exception. Games often use hairy UDP and peer-to-peer custom protocols where every last bit counts and the slightest packet loss can make for a terrible game experience. If this is your thing, you better know every last nuance of the TCP/IP protocol and be able to read raw packet dumps.

6. Graphics programmer. Some guys really dig graphics and are phenomenal at math. If you don’t shit 4×4 matrices and talk to your mom about shaders, don’t bother. This sub-specialty is often very low-level as graphics programming often involves a lot of optimization. It may involve coming up with a cool new way of environment mapping, some method of packing more vertices through the pipeline, or better smoothing of the quaternions in the character joints (HINT: involves imaginary math — and if you don’t know that that means the square-root of -1 then this sub-field might not be for you).

7. Engine programmer. For some reason, most wannabe video game programmers hold this up as their goal. They want to have created the latest and greatest video game engine with the coolest graphics. Superstars like Tim Sweeney,John Carmack, and even myself are usually seen as falling in this category. The truth is that superstars do all kinds of programming, and are often distinguished by the fact that we are willing and able to handle any sub-type and tie it all together (see lead below). In my mind engine programmers are jacks-of-all-trades, good at building systems and gluing them together. The top guys often blend with Graphics and Lead below. There’s also tons of stuff like compression (nothing uses compression like games, we’d often have 8-10 different custom compressors in a game), multi-threading, load systems (you think seamless loading like in Jak & Daxter is easy?), process management, etc.

8. Lead programmer. People also dream of being the lead. All the great programmers are/were. This is the hardest spec, and no one ever starts out in it. You need to be able to do any of the other specs, or at least judge what approach is best. You need to be able to roll up your sleeves and dive in and fix crap anywhere in the program. You need to live without sleep (4 hours a night every day for years baby!). You need to be able to squint at the screen and guess where the bug is in others people’s code. You need to know how to glue systems together. You need to be able and willing to trim memory footprints and optimize (no one else wants to do it). In fact, you have to know the entire program, even if it is 5-10 million lines of code, and you have to do all the crap that no one else wants to do. Plus, you often have to manage a bevy of other personalities and waste lots and lots of time in meetings. Still want the glory? Being lead is all about responsibility!

CONTINUED with Part 3: Getting Started

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

If you liked this post, follow me at:

My novels: The Darkening Dream and Untimed
or the
video game post depot
or win Crash & Jak giveaways!

Latest hot post: War Stories: Crash Bandicoot

Related posts:

  1. How do I get a job designing video games?
  2. Making Crash Bandicoot – part 3
  3. Making Crash Bandicoot – part 5
  4. Making Crash Bandicoot – GOOL – part 9
  5. Crash Bandicoot – Teaching an Old Dog New Bits – part 2
By: agavin
Comments (43)
Posted in: Games, Technology
Tagged as: Andy Gavin, Artificial intelligence, Character class, Console Platforms, Crash Bandicoot, Digital signal processor, Game design, Game engine, Game programmer, Game programming, Games, History, Jak and Daxter, Programming, pt_career_advice, Video game

Eyeborg – Resistance is Futile

Aug27

As my friends who’ve known me since the 80s will recount, I’ve always been an enthusiastic advocate of upgrading the human race. In fact, before going to M.I.T. to start my PhD (aborted after two years to make Crash Bandicoot), I applied to all sorts of MD/PhD programs in biomedical engineering. I chose M.I.T. (AI Lab) over Johns Hopkins (Bio med eng) partially because I always had more fun with computers than in bio lab (despite having majored neuro-bio) but also because my enthusiasm for “improving” mankind with technology seemed to fall on deaf ears in the medical community. Somehow it’s perfectly alright to talk about giving sight to the blind — which, by the way, I’m all for — but uncool and oh so Dr Neo Cortex to discuss bionic eye upgrades.

In any case, check this guy out!

He’s replaced his eye (albeit already missing) with a camera and transmitter! For real!

Too bad he hasn’t yet overcome the really big hurdle: sending the signal to his brain! That’ll be a while, splicing any kind of video signal into an optic nerve or V1 (the early visual cortex) is, as we used to say at M.I.T.: non-trivial!

Get too it Eyeborg!

More information can be found at the Eyeborg Project’s home page.

By: agavin
Comments (3)
Posted in: Technology
Tagged as: Biomedical engineering, Crash Bandicoot, Cyborg, Doctor of Philosophy, Eyeborgs, Medicine, Neo Cortex, Rob Spence, Technology

Quick Eats – Bar Pinxto

Aug26

Restaurant: Bar Pinxto

Location: 109 Santa Monica Boulevard, Santa Monica, CA. (310) 458-2012

Date: August 19, 2011

Cuisine: Spanish Tapas

Rating: Quick little lunch bargain

ANY CHARACTER HERE

After seeing Fright Night we shopped around Santa Monica for a lunch place and decided to revisit Bar Pinxto. This is a genuine Spanish Tapas Bar, in that it’s a bar first, restaurant second. Still they have a wide variety of traditional Spanish Tapas (as they would in Spain).


There is a small amount of outside seating.


And the cute little interior space.


Being Spanish, olives grace the table. Bar Pinxto has a $15 3 course lunch menu which is an excellent deal and a lot of food.


First course was Gazpacho. This was certainly a good implementation of the classic form of the soup. Not quite as good as the Jose Andres variety at The Bazaar/Saam/Tres, but good. I like the fine pureed texture.


Classic Paella, one of the second courses. This was pretty traditional, with muscles and chorizo. It could have benefited from a few more ingredients, but was respectable.


Squid with squid ink over Spanish rice (basically paella). The squid was soft and tasty, although the portion was smaller than the paella.


Pot du creme, chocolate. This was a damn good chocolate cream/mousse thingy. Damn good. Sort of a chocolate version of Gjelina’s butterscotch one.

Overall, the quick Pinxto $15 lunch is an excellent deal. The food was good and pretty authentically Spanish, and you certainly get a lot for your money.

Click here to see more LA restaurants.

Related posts:

  1. Quick Eats – Wilshire
  2. Quick Eats: Kreation Kafe
  3. Quick Eats: La Cachette Bistro
  4. Quick Eats: Caffe Delfini
  5. Quick Eats: La Serenata
By: agavin
Comments (2)
Posted in: Food
Tagged as: Bar Pinxto, Bazaar, Gazpacho, Los Angeles, Paella, Restaurant, Restaurant Review, Santa Monica California, Spain, Spanish rice

Conan the Barbarian – I live, I love, I slay

Aug25

Title: Conan the Barbarian

Director/Stars: Jason Momoa (Actor), Ron Perlman (Actor), Marcus Nispel (Director)

Genre: Fantasy

Watched: August 24, 2011

Summary: Plot holes galore, but fun!

_

The new Conan is surely a guilty pleasure for the fantasy hound like myself. Yeah, the plot and characterization is a little weak, but it is gorgeous, and the action is comprehensible. I have to admit, I enjoyed it. It’s certainly faster paced than the awesome although slightly dated and admittedly cheesy original — my recent review here.

The casting is decent enough. Jason Momoa lacks a bit of the gravitas he had as Drogo in Game of Thrones, perhaps because he speaks English here. He has charisma, and handles the action well, but the American accent really bugged me, and he plays it with a touch of the comedic. Ron Perlman is fun as dad, although he doesn’t mention Crom, but he does talk about the secret of steel — at least indirectly. Stephen Lang has already proven he makes a good one-dimensional bad guy (although he’s no James Earl Jones). There are a bevy of distinctively made up sub-bosses, although none of them are as cool as Rexor and the other headbanger. Rachel Nichols is a little dull as the screaming victim/love interest, although she’s cute enough. But call me twisted, I thought Rose McGowan was hot and funny as nasty sorcerer-girl daughter of big-bad. Yeah her fivehead is CG, but she’s looking great for 38.

And the world looks awesome! The cities and temples (as seen in overhead shots) look totally kick ass. Funny too that they’re all so close together, as it never seems to take anyone more than an hour to ride/walk between locations. I guess the lack of public transit notwithstanding, the Age of Hyboria predates traffic. This is a fairly authentic (to the 1930s source material) Conan world. It has slave girls. Even George R. R. Martin likes slave girls. Said women in bondage are properly absent their tops.

The action scenes are fun and surprisingly clear. They could have edited this to death like a lot of recent movies, but you can make sense of what’s going on in a physical way. I had the good fortune to see it in 2D, without sunglasses.

Someone also did their medieval torture research. The noseless sub-boss employs a genuine torture device in his nameless workcamp. It’s somewhere between The Head Crusher and the Thumbscrew, but it’s real. I went to a torture museum in Volterra Italy, home of Twilight’s most leather-conscious vampire clan, so I’m all up on this stuff. Later in the movie, Tamara spends some quality time bound to a wheel, which is most reminiscent of this, fortunately for her, she’s way too pretty to break and leave for dead. Big-bad even uses a clever homebrew version of the Lead Sprinkler to harass Conan and dad.

But there are a lot of lost opportunities here. The backstory intro is cheesy as hell and not really necessary. Conan has some friends, but we don’t get to see him meet them, nor do they play a really important role in the story. There’s basically no characterization of anyone, but there could have been. Star Wars and Raiders of the Lost Ark manage to characterize and have plenty of action. We don’t really find out much about the world or any people in it, instead it merely serves as pretty backdrop.

 

But did I mention I really liked skanky sorcerer-girl Marique?

However, I do have a few questions:

Who cut infant Conan’s umbilical cord? Why did the big-bad bother with the whole “torture dad” bit when his little witch-daughter could just sniff out the mask piece anyway?  When Conan and friends role a bunch of boulders down at the slavers, how is it that they miss hitting all the slaves? Imagine the coincidence that after 20 years of searching for the “pure blood”, Conan arrives at the temple on the exact day in which the big-bad finds her. If sub-boss Remo is such a badass, why does he run from Conan the moment he sees him? Why does the big-bad travel with a ship carried on the back of twenty elephants? And given said elephants, why does he need a whipping crew of slaves to pull it too? And given all that, how do they get the ship on and off the elephants without a crane? Why after big-bad and daughter fall for the ancient trick of being taunted to kill their informant (the old priest) do they gloat? Why did not much come of sorcerer-girl’s poison? Why don’t we see sorcerer-girl at the hair salon, obviously this is where she spends most of her time? Why does Conan let the girl go wander in the woods after sex, knowing that the bad guy is looking for her? And where did those woods come from anyway, as they were on a rocky coastline? Oh, and when sorcerer-girl leaves a calling claw, how is it that she has all five a minute later? How does Conan manage to ride all the way to the city of thieves and back to big-bad’s hideout in about an hour? Why does the hideout have a little monster fun pool in the basement? How does Conan get out of said hideout? And how does his thieving friend? Why if sorcerer-girl is so badass, does she fall for a little cat-fight action and not pull out some new magic at the end? Why if this mask is so powerful does it not really help the big-bad any? Or even curse him as payback for his big-badness? After winning, why does Conan drop off the girl at home and ride off into the sunset with hardly a word of explanation? Surely he could have brought her home to his ruined hovel or had at least one more literal roll in the hay!

Overall, though, it’s about 1000 times better than the Clash of the Titans remake.

For my review of the original manly man Arnold version, click here.

For more Film reviews, click here.

 

 

Related posts:

  1. Conan the Barbarian – Lamentation of their women
  2. Thoughts on TV: Lost vs The Love Boat
By: agavin
Comments (1)
Posted in: Movies
Tagged as: Arnold Schwarzenegger, Conan, Conan The Barbarian, Hyborian Age, Jason Momoa, Marcus Nispel, Rachel Nichols, Robert E. Howard, Ron Perlman, Rose McGowan, Stephen Lang

Quick Eats – Wilshire

Aug24

Restaurant: Wilshire

Location: 2454 Wilshire Boulevard Santa Monica, CA 90403-5823. (310) 586-1707

Date: July 23, 2011

Cuisine: New Californian

Rating: Solid

_

Wilshire is a New American in the heart of inland Santa Monica. They belong to the approachable ingredient driven California style popular in recent years (the older LA styles being “asian fusion” and “80s eclectic”).


The unassuming frontage (really sideage) conceals a rather extensive interior with a big bar space and a lovely outside patio. Their website has an up to to date menu.


“Art basil. kanon organic vodka, muddled grapes, basil, lime, ginger ale.” Pretty tasty.


A beet, burrata, and tomato salad with a bit of pesto and balsamic.


“Bacon and eggs. speck, housemade ricotta, poached egg, frisee.” This was a tasty combo, although the egg was just a touch underdone. This is a tricky balance as I like the yolk totally liquid but the white pretty well cooked.


“Scottish salmon. salsify, sprouting broccolini, king trumpet mushrooms, meyer lemon.”


“Braised shortrib. mascarpone polenta, swiss chard, romesco.” A classic short rib combo, as this kind of heavy meat is usually paired with a starch like mashed potatoes, polenta, or risotto. In this case it was the beef gravy that made the polenta, as it often does.


Part of the patio.


The patio bar.

One of the two interior rooms.

I haven’t sampled Wilshire in enough depth to form a really solid opinion. I like the patio area and the food I had was quite tasty, although it didn’t blow me away. Perhaps it seems just a tad too typical New Cal Cuisine. It’s also a hair over priced, but we certainly had a good meal here.

My index of LA Restaurants here.

Related posts:

  1. Quick Eats: Kreation Kafe
  2. Quick Eats: La Cachette Bistro
  3. Quick Eats: Brunch at Tavern
  4. Quick Eats: La Serenata
  5. Quick Eats: Brentwood
By: agavin
Comments (1)
Posted in: Food
Tagged as: California, Eggs, Food, Los Angeles, Restaurant, Restaurant Review, Salmon, Santa Monica California, Short Ribs, Wilshire, Wilshire Boulevard
« Newer Posts
Older Posts »
Watch the Trailer or

Buy it Online!

Buy it Online!

96 of 100 tickets!

Find Andy at:

Follow Me on Pinterest

Subscribe by email:

More posts on:



Complete Archives

Categories

  • Contests (7)
  • Fiction (404)
    • Books (113)
    • Movies (77)
    • Television (123)
    • Writing (115)
      • Darkening Dream (62)
      • Untimed (37)
  • Food (1,785)
  • Games (101)
  • History (13)
  • Technology (21)
  • Uncategorized (16)

Recent Posts

  • Kinjiro Rules
  • Election Night at A.O.C.
  • Good Night at Good Alley
  • Final Miyagi
  • Dirty Dozen at BLVD Steak
  • Sunday Chinese – Hong Kong VIP
  • Westside Family Style
  • Il Corso Palm Desert
  • Workshopping Palm Springs
  • Desert Magic

Favorite Posts

  • I, Author
  • My Novels
  • The Darkening Dream
  • Sample Chapters
  • Untimed
  • Making Crash Bandicoot
  • My Gaming Career
  • Getting a job designing video games
  • Getting a job programming video games
  • Buffy the Vampire Slayer
  • A Game of Thrones
  • 27 Courses of Truffles
  • Ultimate Pizza
  • Eating Italy
  • LA Sushi
  • Foodie Club

Archives

  • July 2025 (3)
  • June 2025 (14)
  • May 2025 (7)
  • April 2025 (4)
  • February 2025 (5)
  • January 2025 (3)
  • December 2024 (13)
  • November 2024 (14)
  • October 2024 (14)
  • September 2024 (15)
  • August 2024 (13)
  • July 2024 (15)
  • June 2024 (14)
  • May 2024 (15)
  • April 2024 (13)
  • March 2024 (9)
  • February 2024 (7)
  • January 2024 (9)
  • December 2023 (8)
  • November 2023 (14)
  • October 2023 (13)
  • September 2023 (9)
  • August 2023 (15)
  • July 2023 (13)
  • June 2023 (14)
  • May 2023 (15)
  • April 2023 (14)
  • March 2023 (12)
  • February 2023 (11)
  • January 2023 (14)
  • December 2022 (11)
  • November 2022 (13)
  • October 2022 (14)
  • September 2022 (14)
  • August 2022 (12)
  • July 2022 (9)
  • June 2022 (6)
  • May 2022 (8)
  • April 2022 (5)
  • March 2022 (4)
  • February 2022 (2)
  • January 2022 (8)
  • December 2021 (6)
  • November 2021 (6)
  • October 2021 (8)
  • September 2021 (4)
  • August 2021 (5)
  • July 2021 (2)
  • June 2021 (3)
  • January 2021 (1)
  • December 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • April 2020 (11)
  • March 2020 (15)
  • February 2020 (13)
  • January 2020 (14)
  • December 2019 (13)
  • November 2019 (12)
  • October 2019 (14)
  • September 2019 (14)
  • August 2019 (13)
  • July 2019 (13)
  • June 2019 (14)
  • May 2019 (13)
  • April 2019 (10)
  • March 2019 (10)
  • February 2019 (11)
  • January 2019 (13)
  • December 2018 (14)
  • November 2018 (11)
  • October 2018 (15)
  • September 2018 (15)
  • August 2018 (15)
  • July 2018 (11)
  • June 2018 (14)
  • May 2018 (13)
  • April 2018 (13)
  • March 2018 (17)
  • February 2018 (12)
  • January 2018 (15)
  • December 2017 (15)
  • November 2017 (13)
  • October 2017 (16)
  • September 2017 (16)
  • August 2017 (16)
  • July 2017 (11)
  • June 2017 (13)
  • May 2017 (6)
  • March 2017 (3)
  • February 2017 (4)
  • January 2017 (7)
  • December 2016 (14)
  • November 2016 (11)
  • October 2016 (11)
  • September 2016 (12)
  • August 2016 (15)
  • July 2016 (13)
  • June 2016 (13)
  • May 2016 (13)
  • April 2016 (12)
  • March 2016 (13)
  • February 2016 (12)
  • January 2016 (13)
  • December 2015 (14)
  • November 2015 (14)
  • October 2015 (13)
  • September 2015 (13)
  • August 2015 (18)
  • July 2015 (16)
  • June 2015 (13)
  • May 2015 (13)
  • April 2015 (14)
  • March 2015 (15)
  • February 2015 (13)
  • January 2015 (13)
  • December 2014 (14)
  • November 2014 (13)
  • October 2014 (13)
  • September 2014 (12)
  • August 2014 (15)
  • July 2014 (13)
  • June 2014 (13)
  • May 2014 (14)
  • April 2014 (14)
  • March 2014 (10)
  • February 2014 (11)
  • January 2014 (13)
  • December 2013 (14)
  • November 2013 (13)
  • October 2013 (14)
  • September 2013 (12)
  • August 2013 (14)
  • July 2013 (10)
  • June 2013 (14)
  • May 2013 (14)
  • April 2013 (14)
  • March 2013 (15)
  • February 2013 (14)
  • January 2013 (13)
  • December 2012 (14)
  • November 2012 (16)
  • October 2012 (13)
  • September 2012 (14)
  • August 2012 (16)
  • July 2012 (12)
  • June 2012 (16)
  • May 2012 (21)
  • April 2012 (18)
  • March 2012 (20)
  • February 2012 (23)
  • January 2012 (31)
  • December 2011 (35)
  • November 2011 (33)
  • October 2011 (32)
  • September 2011 (29)
  • August 2011 (35)
  • July 2011 (33)
  • June 2011 (25)
  • May 2011 (31)
  • April 2011 (30)
  • March 2011 (34)
  • February 2011 (31)
  • January 2011 (33)
  • December 2010 (33)
  • November 2010 (39)
  • October 2010 (26)
All Things Andy Gavin
Copyright © 2025 All Rights Reserved
Programmed by Andy Gavin