Behaviour Interactive

.bmc18-nav–item {
display: block;
font-family: sans-serif;
line-height: 1em;
.bmc18-nav {
margin-bottom: 1em;
.bmc18-banner–main {
display: block;
width: 100%;
border-bottom: solid 0.25em #fff;
.bmc18-nav–item {
text-align: center;
padding: 0.5em;
font-weight: bold;
text-decoration: none;
background-color: #ec3b9a;
color: #fff;
border-bottom: solid 0.25em #fff;
transition-property: background-color;
transition-duration: 0.2s;
.bmc18-nav–item:hover {
background-color: #39b54a;
color: #fff;
@media screen and (min-width: 480px) {
.bmc18-nav {
display: table;
width: 100%;
table-layout: fixed;
.bmc18-banner–main {
/*border-bottom: solid 0.5em #fff;*/
.bmc18-nav–row {
display: table-row;
.bmc18-nav–item {
display: table-cell;
vertical-align: middle;
border: solid 0.5em #fff;
.bmc18-nav–row > .bmc18-nav–item:first-child {
border-left: 0;
.bmc18-nav–row > .bmc18-nav–item:last-child {
border-right: 0;

Behaviour’s offices are dynamic—no one stays at a desk for longer than a month or two (Courtesy of Stéphane Brügger/Behaviour Interactive)

Making video games for a living may sound like a pretty good gig, but it’s actually notoriously arduous, with long hours, intense deadlines and little downtime. In fact, “crunch time” (the weeks leading up to a game’s release date, when everyone involved logs exhaustive overtime) has long been standard practice across the industry. But not at Montreal-based Behaviour Interactive—at least, not anymore.

“You always feel that there’s more to do in a game, and things you can improve; it’s not a product that is ever done, even after it’s been released,” says Rémi Racine, Behaviour Interactive’s CEO and executive producer. As a result, his team often pulled all-nighters and spent many weekends at their desks. “I felt that we were working hard in terms of time, but we weren’t necessarily making better products as a result.”

Racine began his company’s cultural shift by banning sleeping at the office. Next, he convinced his managers that their respective teams could work more efficiently during weekdays so that there was no need to work on weekends. It took him 10 years, but with rigorous planning and efficiently allocating resources, like moving staff around to support more labour-intensive projects, he finally put an end to overtime. “It’s amazing, and it’s how we attract people to the company,” Racine says. His 600 employees are encouraged to work intensely during the day, to make every minute count. “Sometimes when we bring in new people, they’re surprised that there are no ping-pong tables in our offices. But I tell them, ‘You’ll be home at a reasonable hour and you can play ping-pong then.’ ”

Thanks largely to this company-wide embrace of work-life balance, Behaviour was named one of the Best Places to Work in Canada by in 2018. In 2019, it was recognized as one of the fastest-growing technology companies in North America by the Deloitte Technology Fast 50 program. Racine attributes this recent growth spurt to the award-winning Dead by Daylight game, an asymmetrical multiplayer horror game that celebrated 12 million players in 2019. (When the game was first created, there were 25 people working on the project—now there are 200.)

Founded in 1992, Behaviour has sold more than 70 million games across every platform. “This is an industry where innovation is everything,” Racine says. “It’s a tough market and there’s always a start-up next door trying to beat you at what you do.” Success, Racine says, requires employees who are both disciplined and creative. To that end, Behaviour’s offices are dynamic, collaborative and efficient—no one stays at one desk for longer than a month or two. “We move people around all the time as the progress of what they’re doing changes, and also so they’re close to the other people they need to work with.”

Racine is proud of the fact that his company has a high retention rate and says he’s happiest when his employees are happy. “You have to find a challenge for everybody that they like, not that we like,” he says. “If someone isn’t feeling fulfilled anymore in what they’re working on, we’re quick to find them another challenge within the company—otherwise, they will leave.”

Developing video games takes passion, Racine adds, and if the developer isn’t into it, it will be reflected in the end product. “It’s not easy to entertain people, especially interactively,” he says. “People play video games because it’s fun, and a product like this needs extra passion to succeed, even more so than TV or movies.” Even when a new game finally hits the market, new features are developed and added, kinks are worked out. The goal is to keep players engaged for as long as possible, which in turn attracts new players. “Our key task is to be innovative in the company, and in order to do that you have to listen to everybody’s opinions and keep pushing boundaries.”

Racine was a gamer before he became an entrepreneur, and he still loves to play video games. He plays Behaviour’s games to test them out, as well as those of competitors when they’re released, just to keep himself informed. The next challenge for Behaviour, he says, is to create another game that will keep players engaged for years, just as Dead by Daylight has (the company has two contenders in production right now). He’ll know he has a winner by watching the reactions of other people playing. “It’s about all about emotion—that’s why people come back to a game.”

a.bmc18-actionlink {
display: block;
text-align: center;
padding: .8em;
font-size: 1.2em;
font-family: sans-serif;
color: #fff;
background-color: #EC3B9A;
font-weight: 700;
text-decoration: none;
border-radius: 4px;
transition-property: background-color;
transition-duration: .2s

a.bmc18-actionlink:hover {
background-color: #39b54a

Even more of Canada’s Best Managed Companies »

// API calls for recent posts to the ‘best-managed-companies’ tag. Grabs five of the given posts at random. NOTE: Post IDs are hard-coded below in `eligiblePosts`
‘use strict’;
var bodyClass = document.getElementsByTagName(‘body’)[0].getAttribute(‘class’);
var container = document.querySelector(‘#dynamicPosts’);
// tag id for ‘best-managed-companies’
// var tagID = 351657;
var postCount = 5;
var exclude = parseInt(( bodyClass.indexOf(‘postid’) >= 0 ? isolateID(bodyClass)[1] : 0));
var eligiblePosts = [1079843,1079845,1079849,1079851,1079853,1079855,1079857,1079859,1079861,1079863,1079865,1079867,1079869,1079873,1079875,1079877,1079879,1079881,1079885,1079887,1079889,1079891,1079893,1079895,1079897,1079899,1079901,1079903,1079905,1079907,1079909,1079911,1079913,1079915,1079917,1079919,1079921,1079925,1079923,1079927,1079929,1079931,1079933,1079935];
var chosenPosts = arrayRandomSubset(eligiblePosts, postCount, exclude); // subset of eligiblePosts, see function below
var endpoint = ‘’;
endpoint += ‘include=’ + chosenPosts.join(‘,’);
endpoint += ‘&_embed’;

fetch ( endpoint )
return response.json();
.then( function(data){
.catch(function( err ){

function postsRender(data){

// Define Post Elements
// post container
var thePost = document.createElement(‘div’);
// visual holder
var theVisual = document.createElement(‘div’);
// visual link
var theImgLink = document.createElement(‘a’);
// text holder
var theText = document.createElement(‘div’);
// the image
var theImage = document.createElement(‘img’);
theImage.setAttribute(‘src’, post._embedded[‘wp:featuredmedia’][0].source_url);
theImage.setAttribute(‘alt’, post._embedded[‘wp:featuredmedia’][0].alt_text);
// the headline
var theHed = document.createElement(‘h1’);
theHed.innerHTML = ‘‘ + post.title.rendered + ‘‘;
// the dek
var theDek = document.createElement(‘div’);
theDek.innerHTML = post.excerpt.rendered;
// the spacer
var theDivider = document.createElement(‘hr’);
//tack it all together

// return the wordpress postID from the body class
function isolateID( string ){
var pattern = /postid-(d+)?/;
return string.match(pattern);

* From a given array, provide a subset
* @param arr — the array from which to read the values
* @param n — the number of results required
* @param excl — a value to exclude from the results

function arrayRandomSubset(arr, n, excl){
let out = [];
// for the specified count, loop over the given array, select values randomly, and add them to the output array, but only if they aren’t already included.
// NOTE: we temporarily increase the length of the loop to output an array of length n + 1. This is so that if there is an `excl` value provided
for ( var i = 0; i < n + 1; i++ ){
// select a random position in the array
let r = parseInt( Math.random() * arr.length );
// if the value at position `r` isn’t already in the output, add it
if ( out.indexOf(arr[r]) < 0 ) {
// if the value IS already in the output, decrement the loop to try again.
} else {
// if the excluded value is not in the output, just trim to `n` results
if ( out.indexOf(excl) < 0 ) {
return out.splice(0, n);
// if it IS in the output, remove it.
} else {
let e = out.splice(out.indexOf(excl), 1);
return out;

The post Behaviour Interactive appeared first on Canadian Business – Your Source For Business News.


Please enter your comment!
Please enter your name here