Game Designers With a Purpose

Reliance on video game technology is growing for everything from virtual training to design prototyping, and it takes a talented team of engineers to make those realistic worlds a reality.

As engineers on Lockheed Martin’s Mission Systems and Training team, Rana Riad and Kevin Dill support different projects but share a similar goal: create video games with a purpose. 


Rana Riad, an intern on Lockheed Martin’s Prepar3D team, is responsible for everything from system integration to testing and support for the thousands of customers that use the Prepar3D advanced flight simulation software. 

“I’m really lucky; I get to interact with customers every day and capture what they want to see,” she said. “I’m always thinking of how Prepar3D can become a better program and be tweaked to meet every user’s need. Not many people get to say they play video games all day and help them become better.”

Riad was able to apply her Prepar3D integration and support experience to her recent industrial engineering master’s thesis, for which she designed a framework for a safety simulation that teaches people how to properly interact with their environment in emergency situations. With a long-time passion for engineering, math and science, she chose to study industrial engineering because of its interdisciplinary nature.

“In other areas [of engineering], you tend to jump right in and specialize in one area. With industrial engineering, I was able to learn programming, basics in electronics and computer hardware, operational integration, and the business behind engineering,” she said. “I enjoyed that broad view and I like that I’m able to have a broader look on the business.”

As she prepares for a full-time position as part of Lockheed Martin’s Operations Leadership Development Program, Riad is excited to continue to learn and grow her skills.

“I’m really lucky to work in an environment like Lockheed Martin where there are so many people with so much information who are always willing to help,” she said. “When you leave school you think you know everything but when you go into the industry it’s a lot different. [Learning from others] is a great opportunity to build your skillset.”



Kevin Dill, a Lockheed Martin software engineer, knew he wanted to develop computer games.

After serving four years in the U.S. Army, he began focusing his career on artificial intelligence (AI) for games, a feature that makes them truly immersive. One of his first projects was working on the third installment of one of his favorite game series. It was a flop.

“We were overly ambitious and took on too much,” he said. “We weren’t agile. We tried to build all the pieces and have it come together and it just didn’t. We got the game out the door but it wasn’t great.”

Kevin learned from this experience and went on to work 10 years in the gaming industry, with work on games such as Red Dead Redemption, Ironman and Zoo Tycoon 2 and its expansion packs. While he enjoyed the projects, the work was getting repetitive.

“You’re not engaging with the game, you’re engaging with the technology behind the game, and there’s not that much difference in technology from one game to another,” he said. “I wanted to do something broader and with more variety.”

Since joining Lockheed Martin five years ago, Dill has worked on a variety of projects. One of his favorites was a cutting-edge future training environment he had the opportunity to demonstrate with Marines.

“We were asked to build a semi-autonomous character to project onto a wall that the Marines could then interact with,” he said. “The character was designed to respond to their actions in culturally appropriate ways.”

In his role, Dill has worked on everything from storyboarding tools, to economic modeling, to data visualization, but his true passion remains game AI.

“Building AI behavior is a really interesting challenge,” he said. “Game AI is different from traditional AI. It’s not about making smart computers. It’s really about allowing a game designer to author the decision-making logic so they can better control the character reactions, but it also has to be responsive to the situation in the game because you have no control over the player.”


1. Build things. “In order to become a good programmer, you have to program,” said Dill. “You only get good at building things by doing it.”

2. Be a sponge.  “You’ve got to develop a good toolbox of skills when you start out,” said Riad. “Sometimes it takes time. Absorb everything before you specialize.”

3. Think as a software engineer, not just a programmer. “Programmers have the ability to write code that works, and it’s important to learn that,” said Dill, “but software engineers can put together pieces of code and craft them in a way that’s maintainable and extendable. A good exercise is to try to get all of the duplicate code out of your project, combine and encapsulate that capability and reuse it rather than copy it.”

4. Keep an open mind. “Learn as much as you can from your peers and don’t be afraid to stumble,” said Riad. “You learn from failure and being uncomfortable.” 

5. Practice C++ and low-level languages. “C++ is considered an ‘unsafe’ language because it doesn’t manage memory and security for you,” said Dill. “By working with C++, you learn at a gut level what [memory and security] are and how to work with them … you only learn that by working in a language that makes you do it yourself.”