Crowd Considerations

August 26, 2016

The upcoming Sleuthhounds Halloween adventure game is set during a rooftop Halloween party. That’s an easy sentence to write into a design document, but it does come with a fair number of technical challenges to realize. Crowd scenes are tricky enough to do just as illustrations, add in the gaming requirement of interactivity and it becomes an even more significant task.

[Early, rough draft rooftop.]
Early, rough draft rooftop.
(Click for larger.)

Early on in development, way back in March, I put together a rough line art version of the roof and populated it with sprites from the previous Sleuthhounds games. This was done to get a sense of how crowded the roof should be, the placement of both the crowd characters and the main characters, and to find any game play challenges with having a bunch of background extras.

My primary focus in developing the game since that time has been to fill in all the critical and non-critical actions a player can perform in the game and to generate the bulk of the animations required for the game. The crowd was always a secondary, if not tertiary, consideration.

[Rooftop with a proper crowd.]
Rooftop with a proper crowd.
(Click for larger.)

The past week and a half I’ve finally given full attention to the rooftop crowd itself. Gone are the placeholder sprites and in their place, crisp new designs, coloured and lit to fit an updated version of the rooftop scene.

Design

In the second Sleuthhounds game, The Cursed Cannon, there existed a scene that incorporated a small crowd of onlookers. This crowd was nicely contained to one corner of the screen and was seen from the back.

[The crowd from The Cursed Cannon.]
The crowd from The Cursed Cannon.

The limited view on this crowd meant that the characters in it could be quite generic. For the most part, it’s suits and dresses and since the characters are only seen from the back, no specific facial details were required.

[A selection of crowd members.]
A selection of crowd members.
(Click for larger.)

With the Halloween game, the characters are distributed across the roof. Furthermore, to fit the holiday, they’re all dressed in Halloween costumes. This meant that generic suits and dresses couldn’t be used. Instead, each background character required a distinct and recognizable costume.

In addition to Pureluck Homes and Jane Ampson, the game features seven main characters and twelve crowd characters for a total of nineteen new character designs. That’s more full designs than I’ve done in the previous three games combined. And yet, that’s what the setting required so that’s what had to be done.

Lighting

One of my concerns with having so many distinct background characters was that players needed to be able to recognize which characters were not background characters to know who to interact with during the game. Given that the background characters outnumber the main characters in the game by almost two-to-one I knew I had to do something to make the main characters stand out more.

[Lighting main and crowd characters differently.]
Lighting main and crowd characters differently.

The solution I chose to go with was to play around with the lighting of the characters. Here we can see two of the main characters in the foreground much more brightly lit than the two background crowd characters. The eye is definitely drawn to the main characters over the crowd characters, which is good. However, I still need to do a bit more playing around with the brightness of the main characters, as they seem out of place when set against the full background.

I also need to play with the colours of the main vampire-costumed character. I drew his sprite long before settling on the colours for the background, which influenced the lighting of the crowd characters. The vampire-costumed character’s regularly lit colours are too close to the background shades being used so that he’s not as prominent as he should be.

Navigation

One of the challenges of having a crowded rooftop is to have it look crowded without it impeding players’ ability to play the game. Even though all the characters of the crowd are background characters, and so ultimately unimportant to the case the Sleuthhounds are on, I still felt they needed to be fully realized hotspots that could be interacted with. I find it annoying when adventure games include detailed areas or characters that are just stamped on the screen but can’t be interacted with. If something appears interesting, then a player should be able to interact with it even if those interactions don’t further the game in any way.

The problem is that if the crowd is too dense then it makes it difficult to navigate about the scene. This is especially the case with the rooftop, which is an extra wide scene that requires horizontal scrolling in the game to see it all. For the most part, I’ve placed the crowd characters to the sides, or to the rear of the rooftop.

There are a couple crowd characters who are still problematically placed that I’m planning to adjust. As well, there are a number of fiddly adjustments to some of the other characters that need to be made to allow some of the cutscenes that need to take place on the rooftop to do so without being obscured by those background characters.

Interactions

As mentioned above, I very much wanted to have all the crowd characters be fully realized hotspots. This means that a player should be able to walk up to any of those characters and examine them, attempt to talk to them, or offer them a game inventory item.

With twelve crowd characters, writing a suite of individual responses for each potential action a player could try for each character would have been a significant undertaking. Especially since, as pointed out, these are background characters and there are no interactions with them necessary for completing the game.

It’s taken a bit of thinking, but I’ve devised a series of responses to the player actions that minimizes the number of character specific responses. For the most part, performing the same action on two different crowd characters will give the same response. It’s not a completely generic response as it is still specific to interacting with the crowd as a whole (as opposed to interacting with a table, for example). I find it a nice compromise between having completely generic responses and having to write specific responses for each background character.

Animation

Currently only some of the crowd characters are animated. Those characters engaged in bobbing for apples or carving pumpkins have animations showing them doing exactly that. However, the rest of the gathered crowd characters just stand rooted to the spot staring off into space.

It’s at the top of the “nice to have” list for the game to add animations to the remaining static crowd characters. Even simple things like giving them talking heads or hand gestures would go a long way to adding life the party. Of course, adding these animations in will require more art assets to be created and consequently more development time. Once I get into the final development stretch of the game I’ll take stock of things to see if adding more crowd animations can be a production reality or not.

Conclusion

I’ve long been a proponent of story shaping the design and implementation of a game rather than the other way around. When I set the Halloween adventure’s story against the backdrop of a rooftop party, I knew that would add in various production challenges. Having those challenges now (mostly) resolved, it’s definitely been worth it. This latest Sleuthhounds adventure feels like a much more “lived in” environment than previous adventures, which is something I’ve been wanting to accomplish since the very beginning.

So, to wrap up, insert cheesy line about the party being crowded, but you, faithful game player, already have a spot reserved. Won’t you join us?