Inside the Vault: Jean-Sylvere Simonet

new blog pics 001.jpg

Bonjour! Today’s Inside the Vault is with Jean-Sylvere Simonet, our resident French programmer. I took four years of French in high school, so to make him feel more at home, I often converse with Jean in his native tongue.

Ashley: Bonjour!

Jean: Bonjour!

Ashley: Je m’apelle Alain! (Alain was my “french” name in Madame Boucher’s class)

Jean: <French stuff>

Ashley: Bonjour!


What’s your job at Bethesda?.
I am one of the AI Programmers and I am responsible for Pathfinding, that is, figuring out how NPCs navigate around the world. Considering how organic our environments are and the huge variance in scales of our NPCs, pathfinding has turned out to be quite a challenge. Add to that huge explosions that move/destroy everything around, and you get the idea of how complicated it becomes. As a consequence, my work involves a lot of 2d/3d math, writing search algorithms and dealing with multithreaded optimizations.

What other games have you worked on?
My first shipped game was BloodRayne 2 (Terminal Reality, Dallas, TX). That was a lot of fun. I worked on a number of special effects, but mostly, I made blood: gushing blood, dripping blood and staining blood, blood pools, blood sprays and blood storms. That’s right, a tornado of blood that filled the entire screen and turns enemies into, you guessed it, more blood…

The next game I worked on was Aeon Flux (based on the 2005 movie with Charlize Theron). Again I was doing special effects, but this time I was much more focused on explosions: Small explosions, Large explosions, and Nuclear explosions, red explosions, green explosions and, yes, blue explosions. Explosions with mini explosions inside and explosions with stuff shooting off, explosions with… you get the idea.

That’s when I came on board with Bethesda. Oblivion was nearing completion already, so my involvement was fairly minimal. I think my biggest contribution was to give NPCs shifty eyes.

What is the best part about working as a programmer? The worst part?
The best part about being a programmer has got to be the ability to patronize every other discipline in the company. Since no one else can possibly understand the complexity of what you’re working on, it means you can get away with not doing your job and then blame others, telling them they are just not using your system properly. It’s great!

No, seriously, that’s actually the one thing you have to be very careful of: your ego. The fact is, it IS harder for other disciplines to understand the intricacies of your work, and so it becomes very easy to just dismiss them, assume they don’t get it, and have an air of superiority. And let me tell you, it is even harder for me, being French and all.

People are often surprised when I say that, but the best part of my job is the creativity that it requires. I might not create monsters or environments, but I can create entire systems or behaviors. I can’t use modeling software, but I *could* make one. I can’t usually think of a really original story, but I can make a system that will let others create their own. And then every problem is different, every problem requires ingenuity, and there is always something new to be implemented and sometimes even, something to be invented. It is a great feeling when you finally figure out how to make such or such feature happen. And the best part is that the sky is the limit, really, as a programmer, you an incredible freedom. Of course, you have to deal with a number of things, like time and space complexity (CPU time and Memory space that is), or risk vs. reward and silly things like deadlines, but the fact is, you get to create the cool features, and you get to make the technology that the rest of the team uses…

…Which brings me to the worst part of being a programmer: No down-time. As a programmer, you have to work extra hard at the beginning of a new project, to get the tech up and running, and then at the end of the project, to fix all the bugs. It comes with the territory, obviously: the reason that you enjoy so much freedom is the exact same reason your systems are going to be abused, but the constant rushing does tend to wear you down.

How did you get into the industry? Do you have any tips for breaking in?
It took me about a year between my first applications and actually getting a job, so I guess the first tip I’ll give is not to give up. What also really helped me was having something to show, and so that’s definitely what I’d recommend the most. If you’re looking to get into game programming, try to make a game of some sort. Avoid just making a graphical demo if possible. Unless you have a specific feature to show off (like maybe something you wrote a thesis on), you’ll just end up with something mediocre compared to what companies are using. Instead, pick a simple game idea, and see it through to the end.

It’s unbelievable the amount of stuff you’ll learn by just trying to write a complete game. Most game programming courses now involve some sort of semester long game project. Take advantage of it! If you’re lucky, you’ll find game art or game design students that can contribute and make your project look good. And if you can’t find any, spend a little extra time generating assets for your game. Nobody likes programmer art and the fact that you went out of your comfort zone, maybe learned Photoshop or even Max to help make your game look good will show your commitment and dedication to potential employers.

What would you say is your personal favorite game of all time?
The first Dune game, not the RTS, the other one, where you played Paul Atreides. I had just gotten my first PC with a sound card and VGA graphics, so it was quite a shock. From the world map, where you could see your influence to wandering in the desert with Chani to using an Ornithopter for the first time — those were awesome experiences. And the music, really, the music was like the most amazing thing.

I remember this silly feature, where you could walk into your mother’s bedroom and look at yourself in the mirror. There was no real point to it, except that after a while, you could see your eyes getting bluer and bluer. How cool was that?

What games are you looking forward to?
Spore: Whether or not it turns out to be an actual ‘game’, I can’t wait to mess around with the creature and vehicle builder. I remember when 4k and 64k demos were all the craze, and somehow the fact that most everything in this game is procedurally generated blows my mind.

Half-Life 2: Episode 3: I can’t wait to use that portal gun in a Half Life environment. I mean, come on, you know that’s what’s they’re going to do, right?

Force Unleashed: Let alone the fact that I’m a sucker for Star Wars, I’d like to see Euphoria (AI-driven animation) and DMM (Breakable/Soft body simulation) in action. The tech demos look incredible and so I really want to see them in a game. I am anxious to see if they make the game more fun or if they end up being just eye candy.

What makes you get out of bed in the morning?
The sweet smell of coffee that my wife makes every morning! Not just any coffee, either, imported coffee. Yeah, I try not to, but deep down I’m still an uptight Frenchman with high-brow taste, especially when it comes to coffee. I of course prefer French coffee (and no!, that doesn’t mean French roast), but I’ll settle for Italian, or more generally, for anything Arabica — preferably espresso.

Any other hobbies and interests? What do you enjoy doing in your spare time?
I love robots, and electronics in general, so that’s what I mess around with. There is something very satisfying in building something tangible like a robot. And even programming those is a different beast. For starters, if your code crashes, your robot doesn’t just not work, but rather, you can end up breaking parts or blowing up components. Then even putting smarts into those things is a completely different paradigm. Everything is so much more analog that you can’t just write things like:

if (Distance(Target) > 100)
MoveForward();

Because that distance you measure, for instance, is imprecise, your sensor data noisy and the environment could be playing trick on you. Everything has to be a lot more organic. It’s really fascinating…

Reader Comments

  1. I got the first Dune game some time ago from an abandonware site and it was really nice. In the time it was released it must have been a blast! The music is superb! Incredible stuff! Sign of the Worm… just WOW!
    Though, one of the first games (besides some jump n’ runs) I ever played was Dune II. I saw the intro and was addicted…

    Greetz! Darina

    PS: lol

  2. Imported coffee… *dreamy* I read this article just after I woke up, so I’m off to have my morning coffee. Not imported, but it is a blend I like from a small company in a nearby county. It has nice qualities too. :) Probably not as bracing as your French import though (certainly not as much as espresso!!)

    I liked AI programming the best when I took it in college. I didn’t like programming in general when I did it for a company, and went into tech support instead. But I always wished I was doing AI programming instead. At that time there was no application for it other than robotics. Hmmm…now you’ve got me all interested again.

  3. Did you get any qualifications at Uni or anything like that, if so, how helpfull was it?

    Would you say that getting a CS qualification is necessary?

  4. @Yacoby: Having a degree in anything related to CS is definitely a plus, as it’ll help you get past the initial HR screening, but it’s not as important as your actual programming skills. Lots of companies will make you take a test when you apply, and those will usually test your knowledge of the fundamentals (bitwise logic, 3d math, processor architectures, etc…), so learning that stuff any way you can is definitely a must. After that, it’s really just bonus. I mean, if you know how a planner works or you can write HLSL code, you’ll definitely score points, but the basics are what you absolutely must have, and, yes, school is probably the best place to acquire those.
    I myself majored in EE, not CS, and I had never used DirectX or OpenGL when I got my first job. However, I knew what a ligthing equation was, I knew my containers and sorting algorithms, I had a good understanding of C++ pitfalls, that sort of stuff. For my game demo, I used a 2D rendering library and my game had no AI or networking, but it was a complete game, with splash screen, menus, scores, credits, all that stuff. (Picture here: http://www.flipcode.com/archives/07-19-2002.shtml)
    So, yeah, start a small project, and try to finish it; you’ll learn a ton of stuff in the process, including whether or not that’s what you really want to do.

  5. [ I made blood: gushing blood, dripping blood and staining blood, blood pools, blood sprays and blood storms. That’s right, a tornado of blood that filled the entire screen and turns enemies into, you guessed it, more blood…]

    Oh my goodness! Your the greatest!

    [Oblivion was nearing completion already, so my involvement was fairly minimal. I think my biggest contribution was to give NPCs shifty eyes.]

    Truly a master of mind numbing terrifying subtle atmosphere. You must really know how to stare em down in a crowd :D

    [What is the best part about working as a programmer? The worst part?
    The best part about being a programmer has got to be the ability to patronize every other discipline in the company. Since no one else can possibly understand the complexity of what you’re working on, it means you can get away with not doing your job and then blame others, telling them they are just not using your system properly. It’s great!]

    No wonder Gary Noonan is working weekends. You go you slickster you!

    [People are often surprised when I say that, but the best part of my job is the creativity that it requires. I might not create monsters or environments, but I can create entire systems or behaviors.]

    Now we know who created THE MATRIX and the code of life in those killing machines known as Terminators.

    [Any other hobbies and interests? What do you enjoy doing in your spare time?
    I love robots, and electronics in general, so that’s what I mess around with. There is something very satisfying in building something tangible like a robot. And even programming those is a different beast. For starters, if your code crashes, your robot doesn’t just not work, but rather, you can end up breaking parts or blowing up components. Then even putting smarts into those things is a completely different paradigm. Everything is so much more analog that you can’t just write things like:

    if (Distance(Target) > 100)
    MoveForward();

    Because that distance you measure, for instance, is imprecise, your sensor data noisy and the environment could be playing trick on you. Everything has to be a lot more organic. It’s really fascinating…]

    Mucho techno magico! Japanese are creating some awesome lifelike robots with facial and body movements designed on the psychological effects it would have on a human to make them feel more alive so they can be used for companionship.

  6. Salut Jean, toujours surprenant de voir un franchy là-bas, j’espère que tu ne souffres pas trop de la gastronomie de l’oncle Sam (déjà vu le film/doc “supersize me” ? ;).
    Au fait, pourrais-tu vérifier pour moi si cet ours de Dane Olds utilise bien mon site ?
    Bon courage à toi et toute l’équipe !

  7. Vive la France! lol

    Je suis admiratif de voir un français dans une des meilleures boites de développement videoludique, comme j’aimerai faire parti de l’equipe … :p

    Bon courage pour tout et à tous (même si la plupart des personnes qui vont lire ce message ne vont pas comprendre.^^)

    Et vive Bethesda Softwork!