project-image

We Happy Few - Welcome to Wellington Wells, you Saucy Minx

Created by Compulsion Games

A game of paranoia and survival, in a drugged-out, dystopian English city in 1964. From the studio that brought you Contrast.

Latest Updates from Our Project:

Update #33 - Introducing Journal entries
over 10 years ago – Fri, Nov 06, 2015 at 09:10:29 PM

We’ve decided to spice things up a bit! From time to time we would like to take a closer look at certain team members and showcase something cool they are working on. This week, Camille, one of our programmers extraordinaire is going to talk about how she is introducing journal entries into the game :)


Hey all  


Lifting radio silence here to deliver a bit of a peek under the hood of a new UI feature: the Journal.

Observant fans might’ve noticed that one of the icons in the player menu has been disabled for quite some time. That’s about to change, as we’ll be introducing the journal along with more encounters that make use of it in order to introduce a bit more feedback and interactivity about the player’s actions.

The journal serves two basic purposes: keeping a written record of progress made, and tracking goals to be fulfilled in order to achieve that progress. This will come as no surprise to any moderately seasoned game player, so instead of talking about the basics of the journal screen, I’d like to describe some of the considerations and challenges behind the scenes.

Few things are more frustrating in a game than having your progression break because of a mission or quest being stuck in an invalid state. While playing the released version of a game I’d previously worked on, an important NPC simply vanished and no amount of reloading the save would bring him back. I ended up losing a good eight hours of progression and gave up on the game, vowing to never create a system that would allow irreconcilable issues like this.

Unfortunately, it’s not as simple as that! Stability and flexibility are a tradeoff. The more control given to designers, the more powerful the system can be... But the easier it is to make mistakes that bring the whole thing down. I’ve therefore taken some time to study what we’ll need in our quest system and put together a series of tools to make sure that system is both solid and flexible.

Distilled to its very essence, a game quest is simply a series of goals that connect to each other. Some are optional, some are parallel, but ultimately completing them all leads to success... Whereas failing one objective means the quest is over and failed. Most likely we’ll want to update the journal to reflect on the result of this success or failure. All of those things can be abstracted out so it’s not necessary to manually handle an objective, its overarching quest as well as the journal text or objective tracking.

Creating a quest is very simple thanks to Unreal Engine 4’s blueprint system. One simply creates a new Quest blueprint and all the logic for objectives and prerequisites comes with it for free. For instance, I can type in the text that should appear in the journal when the objectives are updated:

Linking objectives together is similarly simple and makes sure to restrict selection to a dropdown menu of existing objectives in order to prevent issues like a typo in the objective name:

Likewise, a very common kind of objective is gathering one or more items from the world. This is also automated through pickup counter objectives:

Now, while this defines the data of a quest, it doesn’t say how that quest will progress within the world. Again, there is the chance of a tradeoff here where something too automated will limit designer freedom but something too freeform will be error prone. Therefore, there are different levels of automation and control available.

At the very basic level, you have the most manual level of control through script functions for UE4’s Blueprint system:

These functions can be used anywhere in script, whether when crossing an area as is the case here, when killing an NPC, when picking up an item, when interacting with an object, etc. The engine’s scripting functionality is incredibly powerful and all it requires on my end is to add a keyword to existing quest management logic in order to make it available to script.

This is fine and dandy, but if that were everything, there’d still be a lot of manual work involved in managing related states. For instance, if an important NPC is only supposed to show during certain parts of a quest, our designers would have to manually watch the status of that quest and toggle the visibility of the NPC as needed. With lots of quests big and small, this can get tedious very fast.

Enter the quest conditional component:

By simply adding this component on a quest-related actor, the designers can simply choose whatever quest that actor should be linked to and let the component automatically drive it. For instance, the component above was added to the Bobby in the An Odd End pawn shop scenario in order to make him go away once the scenario is cleared (i.e.: “Until Finished”).

Furthermore, should simple toggling of visibility not be enough functionality, the component itself has scripting logic of its own. For instance, if I wanted to do something if the player has a cricket bat equipped when an objective is activated:

The vast majority of objectives and quests won’t require this functionality, but it was so easy to include said functionality that it would’ve been a shame not to do it!

That said, there’s still lots of work still remaining in order for the quest system to be fully featured. Namely, I will need to revisit the HUD to make sure clear and proper feedback is provided whenever quests are updated. Not to mention being able to display all of these things on the map with minimal effort so that players can easily get oriented in our vast generated world.

In the meantime, the current pieces of the puzzle are falling into place with a satisfactory first pass:

With all of these tools in place, our designers and writer will now have a lot of work ahead of them filling that journal with lots of interesting encounters, quests and story text.

- Camille

If you enjoyed this kind of spotlight, please let us know below and if so, what other aspect of development would you be interested in reading about :)

Team Compulsion

Update #32 - Pre-alpha progress and Early Access
over 10 years ago – Fri, Oct 30, 2015 at 05:44:29 PM

Hey all,

 

Before we get on with our weekly update, we would like to do a bit of housekeeping. 

BackerKit Surveys!

A lot of backers from Kickstarter and BackerKit still need to fill out their surveys on BackerKit! This is a very important part of us sending your backer rewards to you, and we’d very much like to get as many of these sorted out as we can.

You should have received an email either at the end of our Kickstarter campaign or when you backed us on BackerKit. If that doesn’t ring a bell, try searching your inbox for “BackerKit” or “We Happy Few”. Inside that email will be a link to your survey - please fill it out, so we will be ready to distribute the rewards when they are available. If you are having any problems, please send us an email at [email protected] and we’ll help you out.

Pre-alpha progress and Early Access

As you may know, we’re planning to launch on Early Access and the Microsoft Game Preview program some time in the new year. It’s important to us that pre-alpha players have plenty of time to play and give us feedback before then, as we don’t want anyone to be short changed and not get a chance to contribute before a bigger community joins in. To make sure that doesn’t happen, we will close our crowdfunding campaign / BackerKit page towards the end of this year. So this is advance notice - if you want to get in on the pre-alpha feedback but haven’t had a chance yet, now is the time.

In the meantime, we’d also like to encourage all pre-alpha players to give us feedback on our forums! The feedback so far has been super helpful, but we’re always hungry for more. If you haven’t played it yet, we have recently published Update 9 which has made a number of big changes, and we will publish Update 10 towards the end of November. We’ll write up the focus of Update 10 in either next week or the following week’s update.

Weekly Update

Narrative Team

Alex

To make sure we hit the right level of voice acting quality, we’ve recast the Bobby and the Doctor. I’ll be recording them in Montreal next Friday. We should roughly double the number of things that the Bobby and Doctor can say. Not that the Doctor has shown up yet, mind you, but you’ve seen him! He has a very disarming smile.

Also, after a great deal of pestering, I got Guillaume to sit down and approve the opening scene for the game, and the narrative cutscenes for our its third character’s playthrough. I hope to record both of those in the next few weeks as well. That means I can get Alex Wyndham back in the studio to record all these lovely new Arthur barks I’ve been sitting on. He will, among other things, have a lot more crazy things to say to Wastrels. It’s not just pointy penguins any more. So I’m prepping five recording sessions all in.

As a very minor point, I sketched two maps for Whitney, one of the German invasion of Britain, and one of the situation on the continent. If one of y’all would like to help me design a better historical map, I’m all for it. No, seriously!

Art Team

Marc-Andre

This week I continued working on some buildings for the new biome.

Emmanuel

I worked on buildings for the Hamlyn Village biome

Gameplay Team

J.R.

Hey you guys!

So I focused on fixing feet sliding for NPCs this week. Not super exciting to show just yet, but the game will benefit from that a lot. For those of you testing the game in the pre-alpha, you should notice the difference.

I basically went back on all animations that were previously “in place”, and added root motion to them. What this means is that we now use--extract in code--the wellies’ position in the animation to determine the velocity for their movements. This way, and with the help of Marc’s magic, we’re making sure that our NPCs’ feet will be grounded whenever they move around, in and out of combat. Cheers =]

Marc

I’ve made a lot of small changes in the past few weeks, mostly improvement and polish in a lot of areas: smoothing the player mantling so it feels more natural, adjusted sound and bark volumes, added some barks, added ambient music for the inner city, improved the Bobby’s patrolling logic at night, fixed the perception hud icon when crouching (stealth), etc...

One feature that was added to the combat last week is a block breaking mechanic where you can possibly break weapons of someone blocking if you have a “strong” weapon vs a “weak” one. Of course that applies to the player as well, so fighting can be risky if you don’t have a backup weapon and are just fighting with a branch vs a lead pipe…

This week has been spent improving the NPC animations’ synchronisation so we can avoid too much foot sliding. It’s tricky because the engine is input driven (i.e. it’s the gameplay “physics” that drive the characters) and not animation driven (i.e. where the animation control the displacement), so we need to calculate the movement inside the animations to determine what blend to use to get back the exact displacement needed. It’s looking good, we should end up with the best of both worlds: animations that look correct with the flexibility of adjusting movement speeds without having to touch code or redo the animation.

This weekend is Halloween, yay! Here at Compulsion we LOVE Halloween, so please come show us your costumes, carved pumpkin or Fall recipe on our forum :)

The Team

Update #31 - Pre-Alpha Build 9 is live!
over 10 years ago – Sat, Oct 24, 2015 at 12:04:08 AM

Hey all!

 

This week we rolled out update #9 to our pre-alpha players. If you are interested in reading all the changes that went into it, you can take a look at them here!

We are also really excited to announce that Contrast is on the cover of the book Game Art: Art from 40 video Games and Interviews with Their Creators. It is a beautiful coffee table book that not only contains breathtaking art but also really insightful interviews with both triple A and indie studios. This would be a great Christmas present for any art fiend (or for yourself even, because you know, treat yo’self).

 And no, we don’t get a cut of the sales :) We just think celebrating art is cool.

Last but not least, we are also very excited to announce that Fearless Facade, an artist that specializes in handmade masks, has decided to create the Bobby mask as his next project! His work is incredibly realistic and we cannot wait to see the final results. We will keep you updated :)

Weekly Update

Narrative Team

Alex

I rewrote Arthur’s journal to keep it up to date with the development of the game, and to introduce a small but important epiphany he has. 

I’ve also been finishing up the cutscenes for which I have complete audio and, of course, playing the game — particularly important this week because one of the Wellette lines had slipped into the Wastrellette’s repertoire, leaving Wastrellette’s screaming “You’ll thank me later!” as they beat you up. Only Wellettes are supposed to do that. 

Animation Team

Remi

Hey everyone, this week like most of the other weeks, I have been animating cinematics! Yeah, more top secret stuff! Even though we are really busy with those, I still found some time to update the rig of the First Person Player with the new high resolution mesh. Here is how it was before and now! Thanks to our awesome character artist, Tito:

There’s still a bit of work to do on the materials, but it’s a great improvement.

Programming Team

Camille

I was essentially doing busywork this week. Preparing our slightly belated update, hotfixing some performance and stability issues with the update that came up, as well as preparing the engine for an eventual integration of Unreal Engine 4.9.2.

I’ve also been investigating an objective definition and tracking system as well as the journal and map UI associated with it so we can give the player clearer feedback as to what they need to do in the world. For instance, when encountering the Odds & Ends scenario, you would be given objectives to find the fuses and end the lockdown, just as an extra nudge in the right direction.

Thank you for tuning in!

Compulsion Games

Update #30 - First narrative clue!
over 10 years ago – Sat, Oct 17, 2015 at 11:35:23 PM

Hey everyone,

 

This week, the team continued their work on architecture, environment effects (lighting and fog) and pushing a new update to the pre-alpha community which will we are hoping to release today or early next week!

In addition, this week IGN has put a special spotlight on We Happy Few! This is really great for helping to build awareness of the game, and we’re very lucky to be featured. As you might remember, Guillaume went to San Francisco to talk about We Happy Few, and this is the result of this interview . You can take a look at it here.

We also know that you’ve been itching to know a bit more about the narrative. As part of the IGN spotlight, we took the opportunity to announce our very first player character!

So without further ado, we present you, Arthur Hastings:

Arthur is not your ordinary video game hero. You’ll notice he doesn’t even have stubble. He is weedy and apologetic, and he has never intentionally used a weapon in his life.

He used to be an archivist at City Hall. That means his job used to be erasing records of the uncomfortable past.

Unfortunately, now he’s a Downer. And it’s all coming back to him.

Weekly Update  

Art Team

Whitney

A lot of this week was spent designing architecture sets for our non-intractable buildings for two of our biomes. This means designing buildings in different, iconic styles, then breaking down the building pieces into categories and sets. While creating a set, I need to decide on elements that are iconic to the architecture style (Gothic, Tudor, Georgian, Edwardian, Victorian) but that can be reused to make variation.

Hamlyn Village
Hamlyn Village

Emmanuel

A game is made up of many little, wonderful things. However, sometimes it is not so easy to notice them! This week I worked on improving our fog (to try and emulate better cold English atmosphere), the lighting in our shelters (a longstanding request from our community) and improving the reflections on our windows. I’m hoping these will improve greatly the atmosphere in parts of the game, but not affect performance too much.

Fog effect
Fog effect
Shelter lighting
Shelter lighting
Windows, doors and awnings
Windows, doors and awnings

Marc-Andre  

This week I made a filler building and I started working on modelling a new architecture style (textures and materials yet to be completed).

Programming Team

Camille

Two more weeks have passed of mostly invisible work involving lighting, except indoors this time. After drastically remaking the lighting as we have been, it’s important to make sure it looks good everywhere. And, as it turns out, our indoor lighting had quite a few issues that needed revisiting, especially when factoring in lower graphics settings. For those who experienced pitch black shelters when running low Shadow quality, this is what I’m referring to.

Therefore, I’ve done quite a bit of reworking behind the scenes to try and make this play nicer as well as providing Emmanuel the tools to manually adjust lighting conditions specific to low quality settings. Obviously, it still won’t look as good as maximum quality settings, but at least there shouldn’t be any unplayable situations anymore.

Narrative Team

Alex

Another week editing cutscenes, and cutting out new barks (brief dialog lines) for NPCs. Also, we weren’t happy with a couple of the NPCs’ performances, so I’m recasting them. There’s always a certain amount of carnage in any creative enterprise.

Also, for fun, I named a whole bunch of stores that you will not be able to go into, in the Parade District, and I wrote a whole bunch of signs telling you that the proprietor will be right back, which he won’t.

Finally, if you listened to the latest IGN feature on our game, you now know that Sideburns Guy’s name is Arthur Hastings. Anyone care to guess why he has those two names?

Thank you for tuning in for another week for development updates!

Compulsion Team

Update #29 - AI behaviour, Architecture and new update coming soon!
over 10 years ago – Fri, Oct 09, 2015 at 11:09:16 PM

Hey everyone,

 

This week the team worked on finalizing the last touches for our next build update which we will release next week! Among many cool changes, you will finally see the new lighting changes we’ve been raving about for our day and night cycle. Make sure to take your joy at different times of the day to get the full experience!

This week Guillaume also went to visit IGN in San Francisco to talk about We Happy Few and record some gameplay. So stay tuned starting this monday to read/watch the full coverage!

Contrast now on NVIDIA® SHIELD™

Contrast is coming out on the NVIDIA® SHIELD™ today! A huge thanks for the engineers and publishing team at NVIDIA who patiently and graciously did all the hard work to bring our game to a brand new platform. We are very proud that Contrast is now available on 6 platforms :)

Weekly Update  

Narrative Team

Alex

This week I continued to work on barks, brief lines of dialog that NPC’s and player characters say in different situations. Last week Jose and I recorded Wayne Anthony-Cole and the irrepressible Sammy Lee as a bunch of different characters. My job this week was to cut out the best lines out of several hours of takes using Pro Tools, an audio editing program. Sometimes I put together a “best” take from a couple of different takes. If I did it right, you’ll never notice.

Also, this week we recorded more “grunts.” As you might expect, grunts are noises characters make when they are hitting or getting hit, or being strangled. We record them here in Montreal because I’ve found that Canadians and Brits sound the same when they’re being strangled. Early this week, my wife (and favorite story editor) Lisa Hunter and I went into the sound booth while Jose coached our performances. I suggested she imagine she was hitting her ex-husband. You should soon have a richer combat experience.

Programming Team

Marc

I have done quite a few changes on the AI in the last few weeks.

First the AI spawning system has been reviewed to improve the distribution (no more long empty streets followed by a crowd in the next one) as well as support squad patrols for night behaviours. Bobbies will now patrol in pairs past dusk.

Then a lot of focus on improving feedback. There are a lot of systems that interact in a complicated way and it’s hard to always understand what's happening

Combat: Barks have been improved, attacks frequency has been tuned to make it a bit more fair, the number of AI attacking you at the same time has been reduced, and when there is a mob most of them will stay outside the fight circle and cheer their mates on. It all makes the combat more readable.

Suspicion: Different suspicion stages are clearer and AI will not jump so fast to be hostile (unless you hit them of course, or do something that angers them immediately). We removed the small icon on their head as it is now much easier to understand how they feel by just looking at them, and allows for a much more immersive experience.

And finally some general improvements on various AI behaviours: NPCs can get tired and pause when they run, Bobbies can block in combat and Wellies can now climb through windows when they chase the player.

We also did a big pass on the sounds, to improve occlusion effects, sound mix, attenuation (how sounds are affected by distance), as well as additions and fixes. For instance, the AI footsteps and talking are now much easier to use as feedback as to where they are when you're invading their house.

Art Team  

Marc-Andre

This week I've been working on more buildings and some small props!

Corner buildings
Corner buildings
Props and buildings
Props and buildings

Thank you for tuning in for yet another weekly update and happy thanksgiving weekend to all of our fellow Canadians!

Compulsion Team