Dev Blog Update #1

Leaving the school project vibe behind us

Even though we’re working hard on the sequel called ‘We Were Here Too’, we haven’t forgot about We Were Here. Now, six months after the release, the game is still being played by more and more gamers worldwide. So we thought it was time to give the game a performance upgrade, allowing more gamers with lower-end setups to enjoy our game. Read all about how we achieved this as our programmers Sam and Thomas explain the fine details.

Since We Were Here started out as a school project and had to be developed in less than three months, there wasn’t too much time to optimize properly. Shortcuts in code were taken, unnecessary amounts of polygons were drawn and multiple lighting systems were stacked upon each other. Four major goals were set when starting with this overhaul:

  • Increasing overall performance (Especially for lower-end systems)
  • Less hiccups / frame drops
  • Solving frequently reported bugs
  • Preparing the game for future ports to other platforms

Spreading the load

A seamless game experience is an important part of the game. Upon entering the actual gameplay phase just after the matchmaking, a system called Dynamic Mesh Filter System (DMFS) was developed to simply split up different parts of the game (e.g. the theater and dungeon) and only enable those where the player is walking. This makes game-breaking loading screens in between puzzles obsolete. However, toggling large amounts of game objects at the same time caused hiccups as well. To improve this system, Sam redesigned it from scratch. He came up with an asynchronous recursive depth-first traversal algorithm that essentially spreads the load by enabling game objects within an area over time. In the example video you can see the player walking through the dungeon. As he walks past corners, the DMFS starts loading the area he is heading towards, and disabling those he left. This improved system, together with Occlusion Culling, makes for a smooth gameplay experience

Dynamic mash filter system demo in We Were Here

Spring cleaning the castle

We realised that refactoring our code base wasn’t the magic bullet to increase performance. There was more work that had to be done. Using the Overdraw feature in Unity, we noticed a considerable amount of unnecessary drawn meshes. Thomas took on the tedious job of detecting and removing all of these spots throughout the game. In the image below you can see a before and after photo of one of the worst cases he found.

A screenshot of the obvious changes between the dungeon colliders

One other major performance booster can be found when we took on the lighting system. Trading most of the Realtime for Baked lights to avoid stacking multiple systems and better tweaking the representation for each quality settings resulted in actual more frames per second when selecting a lower quality setting in the options menu.

We want proof

So let’s talk real numbers. To back this all up we benchmarked both the old and new improved version of the game in terms of frames per second. For this test we took a low-end and high-end setup:

High end test setup:

  • CPU: Intel(R) Core(TM) i7-6700HQ 2.60GHz
  • GPU: NVIDIA Geforce GTX 1060
  • Screen Resolution: 3200 x 1800

Low end setup:

  • CPU: Intel(R) Core(TM) i7-3610QM 2.30GHz
  • GPU: Intel(R) HD Graphics 4000
  • Screen Resolution: 1920 x 1080

The in-game graphics options were set to the highest values for the high end, and to the lowest on the low end setup.

Screenshots on the low-end system

Screenshots on the high-end system

Overall we are pretty thrilled about the results. We almost doubled the FPS for low end gaming setups (from 15 to 24). The results on our high end setup show only a slight performance increase. We see it just as a nice addition as we originally only aimed at boosting performance for gamers playing on lower end setups. We hope you will enjoy We Were Here even better now with this remastered version and keep an eye out for an all-new adventure coming soon with We Were Here Too. Don’t forget to put the sequel on your wishlist on Steampowered.com when the page is online!

Cheers,

Sam & Thomas

4 Responses
  1. Rodrigo

    I and my friend had an issue while playing. We can’t talk with walkie-talkies ’cause I don’t hear him! He hears me but i don’t 🙁 Plz fix that or give me a response.

  2. Zorz

    Hey guys, first I want to say it is a great game. Me and my friends really like the concept of games like this one and “Keep talking and nobody explodes”. I know it is a bit early, but is it possible in some of the future updates (doesn’t have to be near future, I understand that it is a lot of work) we get some random room generation? I’ve played your game with couple of friends, and we took both roles. Once you get to labyrinth you don’t need instructions anymore if you solved it already. So maybe adding different layouts, or place handles and gates at different positions.

    Keep up the good work!

    1. Total Mayhem Games

      Hey Zorz!

      We can’t promise random rooms, we build the game around the story of Castle Rock. BUT in the all new sequel the puzzles will be randomly generated! So the same puzzle, but different solutions! Awesome right?

      Thanks for the comment! ~Lucia

Leave a Reply

Recent posts

Newsletter