AI Game Programmer Firas Hosn knew early on that the future was in his hands. The Game Boy he got for his eighth birthday was his introduction to the wonderful world of gaming, and he took it with him wherever he went. That year that he told himself "when I grow up I want to make video games".
He got his first game programming job at Silicon Knights, and later moved to Ubisoft where he worked on Far Cry 3/4/5, Assassin's Creed 3, Your Shape, Splinter Cell: Blacklist, Far Cry Primal, and Watchdogs 2/3. Firas is now at a UK start-up called Build a Rocket Boy, and shares his expertise with students in the Game Programming Diploma.
Firas tells how he got his job doing artificial intelligence for video games, and offers tips on how to become a Video Game Programmer.
Firas, how did you get into game programming in the first place?
Growing up with siblings/cousins of a similar age, there was no shortage of board games and video games around. I loved the challenge and the gratifying feeling of completing a game, along with the bonding experience and joy games brought us. I enjoyed problem solving which led me to focus on math in school, which in turn got me into programming. From the very first time I got a pixel to change colours and an object to move around the screen, I knew game development was what I wanted to do.
Firas worked on several titles including Assassin's Creed 3 while working as an AI Game Programmer at Ubisoft
How did you get a job as a game programmer at Silicon Knights?
I had just finished my computer science degree at Ryerson University, saw a job posting for an AI programming position and went for it. Having put together a game in my last year at Uni gave me the confidence to apply and the knowledge to ace the interview. In this job I was responsible for the AI on a project that unfortunately got cancelled, but while there I also helped with Too Human.
What exactly are you responsible for as a lead AI programmer?
My job responsibilities these days are to implement core systems, interview and hire AI Programmers to join the team, and mentor team members.
In your opinion, what are the coolest developments in game artificial intelligence at the moment?
Game AI is unlike traditional AI in the sense that while traditional AI may be solving a problem like image recognition or self driving cars, game AI is meant to provide an experience, something that can immerse the player and make the designer's game idea come to life.
Currently some of the coolest developments in game AI do involve a bit of machine learning to navigate an environment and even play as you would play if your online connection drops. I think the possibilities of a self aware agent are never ending, but as my first point highlighted it may take away control from design, so the coolest thing is to somehow make a tuneable self aware agent.
Firas worked on a game a year while at working at Ubisoft in Montreal and Toronto, including Far Cry 5
What are the top 3 elements of a brilliant video game?
In my opinion 3 elements of a brilliant game are uniqueness, attention to detail and the 3Cs (Character, Camera, Control).
All three points really centre around the player never breaking out of character. A brilliant game makes you believe the game world you are in. Attention to detail is a great part of that. Assassin's Creed, GTA, Watch Dogs; these games display massive cities built with an incredible attention to detail. You feel as though you are in the city while playing them. It takes a large team to make them, so for a game to take on that challenge they have to make sure to meet the bar which at the moment is set very high. Lastly, and this should actually be primarily, the camera is telling the story, it has to be able to guide you through the experience in the best way. Likewise for the avatar the player is controlling, exploring the world has to be enjoyable and not a chore.
In an ever growing market, you have to make sure your game stands out. It may be tough to be unique, but you can take an existing element in a lot of games and give it a different spin. Whatever it is, the game has to sell it with a confidence that totally immerses the player.
Firas worked on Watch Dogs 2 and 3 at Ubisoft
What's it like having a game programming job at a massive company like Ubisoft versus at a start-up like Build a Rocket Boy? Was it hard to shift gears?
You definitely learn a lot from working in a big company. They don't get to that size and put out quality content without years of experience and knowing what they are doing and doing it really well. You definitely can take some things a big company has for granted, but the challenge of building up a start-up to that size is great and very rewarding. I've always adapted to any situation I've been in so shifting gears wasn't an issue.
Why did you become a CG Spectrum mentor and what can students expect from your online programming course?
I became a mentor at CG Spectrum because I love the game industry, I have a lot of knowledge and experience in said industry and I am passionate about sharing it. I love to see the industry grow and believe sharing experiences and teaching others will help produce more and more quality content.
Where do you feel the future of AI in video games is headed?
I feel the future of video game AI is moving towards customizing player experiences. More reactive artificial intelligence that can play differently from one player to the next; this creates an experience that will get gamers sharing their playthroughs.
What's one piece of advice you would give students in your game programming course?
Start coding. You're going to be coding in my class and throughout your career in games, so don't wait to get a job to start doing it. Think of a small goal that you want to achieve and go for it, the more you practice the easier things will be.
To learn more about game development, check out these articles:
Online Game Programming Courses to Get You Started in the Industry!
CG Spectrum game development school is the place to get 1-on-1 mentorship from talented industry mentors like Firas. Besides mastering game programming software and techniques, you'll also learn invaluable industry lessons that can't be found in a book. Enroll now and see discover what it takes to become a Game Programmer!