I’ve been just a little bit busy with other things the last couple of months to get any serious work done on the project, but don’t worry, I’m still very much working on it.
I’ve been using the Designer tool in the latest version of CryEngine to make the model for the Beach Resort and its looking really good. Right now im just blocking out details, so its untextured and not very precise, so im holding of showing any of the main structure, but i will show a few new-ish shots of the starting beach.
For the Resort, I’m trying to retain some details and the overall layout from the original game, while expanding and elaborating as much as i can, to make it look more like how you’d expect a half-finsihed resort to look, and to somewhat resemble the design on the billboard that Anne reads.
The structure will be pretty intact, with not much in the way of damage. The island hasn’t been abandoned for that long, so realistically the structure wouldn’t have started to crumble, but being a tropical island prone to storms, the rough weather will be responsible for a dirty aged look, with plenty of debris and overgrowth. Construction sites are usually cleared first and all big trees removed, but we can assume that InGen has decided to keep some of the larger more established trees to give a more natural setting. So i suppose that can excuse the larger trees seen throughout the construction site.
Here are some pics:
The shots above are 100% unedited. I simply added some linear depth of field via the Time Of Day editor.
Things might look a bit different, and that’s because some changes have taken place, but they are for the better. I think its looking better than ever, and will only improve as i start to work on the lighting and add some more vegetation and other details. At the moment the lighting uses a completely unedited Time Of Day, so there lots of room for improvement.
For an upcoming post ill show illustrations from these Dinosaur books. These books feature some artwork that is quite obviously the inspiration for Trespassers colourful dino designs. The books will be very handy for creating authentic looking textures for new species. That is of course if i retain the colourful designs, or stick with something closer to the movie. I like the coloured designs though, as it helps define and identify the species.
I posted a while back about being contacted by someone who told me they had written a proposal for the AI system in Trespasser. I held back from publishing the comment on the blog, in case they were willing to elaborate more on their experience, so i could share it here with you. It was already an interesting comment, but being a fan of the game and always wanting to hear more about Trespasser, i knew you guys would want to hear more as well.
Its a very interesting read and helps sheds some light on the early days of Trespassers development.
SNAPSHOT: MY TRESPASSER BIRTHDAY ADVENTURE
What follows is an account of my experience interviewing for a job as the AI programmer for Trespasser. To the best of my recollection, this interview took place for the better part of one day in early March of ’96. Unbeknownst to those involved, it was my birthday that day, so I’m much more certain about the date than anything else. At the request of Larry Ellis I have written a very detailed account of this little adventure, but that doesn’t mean it’s accurate. I think I’ve got the events right but probably not their order. Keep in mind this is just a one-day snapshot of the Trespasser team and their work.
What was my situation at the time of the interview?
I was a computer science graduate student at a southern California university working on a doctorate. I was about four years in. I had specialized in Artificial Intelligence and more specifically neural networks and neural models of cognition. I was making about $20K a year as a research and/or teaching assistant. Yes, that wasn’t much even then, and yes it was (and probably still is) a form of indentured servitude. The upside was doing interesting work. My research involved reading neuroscience papers and building simulations of brain circuitry. The goal was to derive novel algorithms and new hypotheses about brain function. I had built up a number of results to include in a dissertation so I was progressing pretty well on paper, and I wasn’t actually looking for a job.
How did I end up applying for the Trespasser job?
Like any good adventure should, this one began with a call from a guy named Bob. Bob was a fellow graduate student who had already finished his doctorate. He had a job with a local game company. This was a bit surprising to me because Bob was an enormously competent guy who could have had a professorship if he’d wanted it. However, the irony of grinding through the work and politics of getting a doctorate is that you can end up hating academia. Such was the case I think with Bob and a number of other students in our program who had bailed out with master’s degrees and headed for industry. Back then it seemed like most of the industry jobs available to AI specialists were in either defense or game development. This was before the internet was being used widely to connect human opponents, so most games needed to provide good AI opponents. Bob was having a great time automating Klingon attack patterns for a Star Trek game and even meeting original cast members along the way. When he called me to say he had a possible job opportunity I was torn. I was definitely in the doldrums with my dissertation work and the prospect of working on a game and making some decent money sounded awesome, however I didn’t want to throw away four years of work. Luckily, Bob said I wouldn’t have to because this job was supposed to be just a six month gig, so it was shaping up to be a kind of vacation! When the suggested interview date fell on my birthday I thought well why not – a birthday adventure!
What did I know about the job ahead of time?
At first I was assuming this was work at Bob’s company, but actually he had been asked by his boss if he could recommend someone for a project at Dreamworks. So it was industry networking. Except Dreamworks wasn’t really a game company, so I guess you’d have to call it cross-industry networking. In any event, I was told that this would be a dinosaur game that would be released in conjunction with the new Jurassic Park movie, and that the guy who was heading the project had built a Microsoft flight simulator that was very well-respected for its realistic physics engine. I think I was also told it would pay about $65K annual.
How did my background prepare me for this work?
I hadn’t worked on any commercial games so I think by today’s standards I wouldn’t count as very experienced at all. However, I had actually done a lot of work with a friend on a Doom-style graphics engine. Like so many programmers back then, the 3D first-person perspective of Doom blew us away when it came out, and we were determined to figure out how they managed it with so little computing power. Thanks to Michael Abrash graphics articles and a lot of experimentation we eventually made a decent engine and my friend, who to be fair did most of the work, used it as his resume’ when he bailed out of graduate school and went to work at the same company as Bob. So I had some experience developing a game engine in C++ for the PC, but ironically I hadn’t been programming much at all for six months before the interview because I was mostly reading neuroscience papers and writing my dissertation. I was dreading that there would be a bunch of esoteric programming questions aimed at filtering out all but the most elite of programming guru’s. I had heard horror stories. I was tempted to study up on such things, but I didn’t have much time, so I decided to put my best foot forward and show up with a specific proposal for how to implement the AI engine. Afterall, simulating the behavior of biological systems was my area of expertise.
What sort of AI system did I suggest?
I called it a “Drama Engine” and I had a diagram which is long gone now. It was at heart an animal behavior simulator where each animal had its own simple “brain” and associated sensorium that enabled it to act independently with its own unique personality. Back in the mid-90’s this felt like a departure from typical game AI systems that used god-like views to control characters en mass. The mass approach is more efficient if you’re controlling a large number of elements that all behave according to the same rules, like a large flock of birds or a school of fish. But if you want each element to have a unique personality, I think the god-view mass approach can start working against you, especially in the structure of the code. I think you’d start out with some very fast performing group behaviors, like dinosaurs moving together in a heard, and feel very good about your engine. However, as the game designers push for ever more interesting game play, you’ll end up adding ever more rules for subsets of the animals or even individuals in various situations. Keeping all the rules for different situations and animal groupings operating smoothly together sounds tough. And if you add adaptation and learning it gets even worse. So the primary theme behind my approach was to create behaviors for individuals, not groups, and try to keep the behaviors simple.
Why keep the behaviors simple? To produce complex-looking behavior without a lot of computation. A robotics researcher named Rodney Brooks showed that very simple rules embedded in robots give rise to sophisticated-looking behaviors. For example, a Rumba robot vacuums your house quite well using a small set of simple rules and sensors, instead of an accurate map of your house and a full vision system. In terms of coding, you would have a class per type of animal that includes all of its stimulus-response pairs and then vary behavioral parameters per instantiated individual to get different personalities (e.g., the maximum speed parameter on a walking routine could be set low for an old animal). The general categories of behaviors were exploration, target pursuit, target attack, and target consumption, and pursuer escape. Each sensory modality (e.g., hearing, smell, vision) in an animal has an individualized range and triggers for its threats and prey. To have made the predator/prey detection system computationally efficient I would not have explicitly simulated a sensory system per individual – this would have been about as efficient as ray tracing. Instead I would have maintained coordinates for all the animals and delivered event detection alerts to all animals in range. Delivered how? Treat the event as a point on the map and the sensorium per animal as a circle on the map centered on the animal. Now detect which circles enclose the point – these are the animals that hear it.
So it was all fine and good to orient the AI around individuals instead of groups, but would this have created dramatic situations? Would the animals coming together with their unique personalities have created interesting scenes and compelling game play or would they just mill around? This all depends on the rules allocated to the animals. For example, a raptor stalking prey could have called for help triggering other raptors within range to join in, and a herbivore sounding an alarm would have triggered other herbivore males to help defend, leading to a dramatic gang fight. So how do you decide on the rules to create such drama? Trial and error is the most direct way, and I would have put the tweaking power directly in the hands of designers, not just programmers, with a special character editing interface. Designing the gameplay would become like casting a reality TV show – the drama emerges from the mix of personalities. The downside would have been that you couldn’t explicitly script interactions, at least not easily, and at the end of the day this might have been a fatal flaw. So this approach definitely has its risks.
What was the interview like?
Boy it was a hot hot day in the Valley, and it seemed like I had to drive forever to get there. As I remember it, the Trespasser team was working out of a building down the street from Universal City, and there was a lot of construction work underway on the street. This made the traffic extra fun. But I was too excited and admittedly too nervous to mind about any of that. At that time I hadn’t done any job interviews for years so I was definitely feeling out of practice.
The Tour: I think I met Brady Bell first. I believe it was he who had contacted Bob’s boss which led to my doing the interview. He seemed sort of corporate – cool and contained. Next came Seamus. If memory serves, he was a tall skinny guy with an earring at the time. He seemed charged with nervous energy, perhaps a bit over-caffeinated, but quite nice and very sharp. He was also super busy so we took a kind of tour which seemed to me like I was tagging along while he took care of a bunch of errands, but that was great, because I ended up visiting all the departments and seeing Seamus in management mode. I remember meeting a small group of artists and seeing some of the cool graphics they were working on. To be honest, I got a bit worried about Seamus at that point because he had a pretty acrimonious interaction with someone there who hadn’t done something he wanted. I was worried that he might be a bit of tyrant at times. However, I knew this team had been working together already for a while so there was bound to be a lot of history among them, and he was pretty consistently nice to people the rest of the day. Next I think I accompanied him on a walk up to Universal City to get coffee or go to the bank or something. He walked so fast that I started to wonder if keeping up was some sort of test! We chatted along the way about our backgrounds. That’s when I learned that he had been a graduate student too studying physics in Arizona, so he understood quite a lot about my situation. While at Universal City he ran into various Hollywood industry types he seemed to know, and his personality shifted. He was able to talk to these folks as easily as programmers, which was encouraging since he seemed to be the only person who met with Spielberg regularly about the game. I got the impression that holding Spielberg’s attention was a bit difficult.
The Programmer Interviews: So Seamus sat me down with a couple of programmers and took off to handle other matters. I had a discussion with the programmers about my background and what they would want me to do and their background. One surprising thing that came out was that these guys were on loan from Microsoft. I kind of groaned inwardly about this because Microsoft was notorious for emphasizing tricky test questions in interviews – gotchas, so to speak. I remember one of the guys seemed to be very much into formal OOP theory and the other was more into graphics programming across various types of hardware (a big concern in those days). But before they got around to testing me they let me share with them my proposal for the game AI. That seemed to go over pretty well and generated a lot of discussion. The OOP guy gave me a test that, no surprise, had some gotchas, so I don’t think I impressed him much. The graphics guy and I were able to talk algorithms pretty well given my Doom-style engine experience, although I painfully flubbed one of his simple questions by over-thinking it. Wish I’d forgotten that. In the end, I think they cut me some slack since I was rusty on my programming, and maybe they saw some potential in my proposal.
The Seamus Interview: Having passed muster (barely I think) with the programmers, I ran off with Seamus for a lunchtime interview. We walked to a Mexican place and again I had a hard time keeping up! The Mexican place was packed so we ended up eating our burritos on the sidewalk standing on either side of a big utility box that served as a makeshift table. It was fun! As a physicist he seemed accustomed to modeling phenomena en-mass with equations that represent aggregate behavior, like fluid flow in a flight simulator. I remember he asked me how I would model a freeway system. I told him if there weren’t too many cars I would do them individually. So it was the biology modeling approach meets the physics modeling approach and it was an interesting discussion. In the end he seemed intrigued with my proposal but I think he wanted to be sure I knew that theory wan’t enough and he had a great line towards this end: put your code where your mouth is. I said of course. We also discussed all the work that was on-going in Trespasser and even coding style. He mentioned that he was a big fan of operator overloading in C++ for his physics code. It makes coding closer to writing equations so I wasn’t surprised to hear this from a physicist. However, as I heard more and more about all the new technology he was developing for this game I got worried. I had been through years of trying to deliver code to live up to the promises made by professors in presentations and grants. Delivering software on time even when you’re using proven technologies can be hard enough, but when you throw in the development of new technologies along the way, you have to get very very lucky to succeed. I remember telling Seamus that I love what he is doing but it sounds more like a research project than a game, and it will be difficult to finish on time.
The Conclusion: So they offered me the job but we all agreed it was going to take more than six months. I wasn’t ready to abandon my graduate work yet, being four years in, so I chose to decline. For all I know, they may have decided I wasn’t qualified and were letting me down gently. If so, that was very kind of them. I didn’t mention it at that time, but I also wasn’t ready for yet another research project with an impossible deadline. I knew how incredibly ugly and stressful that can get as the deadlines come and go. My stomach knots up just thinking about it. This wasn’t going to be the “vacation” I’d been hoping for. But that’s just my shell shock talking. I think it certainly turned out to have been a fight worth fighting and kudos to them for finishing. Look at all the advances that came out of Trespasser. I liken it to the Tucker car, which itself failed, but raised the bar for a whole industry. People just need to see something better is possible and their off to the races. I finished my dissertation two years later about the same time the game came out and I’ve been working mostly in neuroscience ever since, but I look back on this interview as a great birthday adventure.