Polarity Shift is a co-op platformer featuring two golems
exploring the ruins of an ancient civilization. The players traverse this dark
and atmospherical environment together by using their powers of attraction and
repulsion interacting with objects in their environment and each other.
There is no correct way to make it through the level but instead left up to the
players to use the environment and their abilities as they want to find the
solution that fits them.
Taking the level from conceptual idea to finished product.
Building the level up from whiteboxing to finished product
through several iterations. Puzzle design.
Collaborated on the lighting and set
dressing with the artists.
Scripting and Gameplay
Level functionality like doors and checkpoints in
blueprints.
Worked with the programmers iterating on the
attraction/repulsion mechanics and player
controls.
Audio - Editing, Mastering and Implementing all
Audio via blueprints.
General - Technical support for any issues with Version Control
and Unreal Engine. Performance fixes. Brought cookies.
Polarity Shift is all about finding the solutions that fits you and your
friend best. Use your abilities to experiment and find your own solutions.
Will you do the obvious?.
..or find a solution that fit you better?
There is no correct solution!
Work together to make your way through the game...
Extend your range together with your co-op partner to reach hard to
reach spheres. Help your partner by lifting him up Trust your co-op partner to catch you when you fall...! ...or throw him off a cliff when he gets too annoying.
The blueprint part of the checkpoint system, containing the animation, vfx and
audio triggers. Also every part of the level containing a puzzle is located in
its own sublevel and is reloaded via the Reset Puzzle Event.
The checkpoint in action (audio).
Simple blueprint for snapping the box to the switch and playing
animations/vfx/audio and then informing the door what to do depending on if the
door is already open or not.
The Door blueprint, checking wether we have activated enough switches to trigger
the door opening and cues for animation/vfx/audio.
The door in action (audio).
All the audio was set up with simple sound cues having a couple of different
sounds blended together and mixed at random pitches and volumes to attempt to
avoid repeating any one sound too much.
Polarity Shift was my second game project at Future Games and we went into it
with the theme being "Emergent Gameplay". Meaning we needed to
design something relatively simple that can be used in many different ways.
Initially the project was meant to be done with 12 developers but we lost one
permanently the first week and then the entire project was
plagued by illness and we were missing 3-6 people every day
which led to some additional stress and needing to scale down our
scope mid-project.
I had not worked with any of the people in my team at the start
of the project and we spent the first day getting to know each other a little
bit trying to figure out what skill sets we have, what type of game we would
like to make etc.
The entire first week of the project we dedicated to
pre-production, discussing, trying to include everybody in the
team in the discussion when finding our game concept. Creating moodboards
finding our visual style. By the end of the week we had a clear idea for what we
wanted to make within the scope of the project and a minor prototype was made.
During the first week I helped setting up Unreal, version
control and all the practical parts of setting up the project
inside the engine. Creating a folder structure, naming conventions, set up level
streaming and started on a GDD.
The second week was the big production week. We improved on our
prototype and added the beam mechanic as it added a whole other
dimension to what the players can do.
During this week I made most of the level design that was going
to be used in the final version of the game. Spent much time on tweaking the
core mechanics together with the programmers, testing everything looking for
bugs attempting to make sure our core mechanic is as polished
as possible.
At the start of the third week I realized I spent too much time trying to keep
the GDD up to speed. It became an impossible task to keep it up
to date due to the nature of the rapid development and it quickly became
unreliable and can't be used as a reference for the team.
I finalized the level design so the 3D artists could start
dressing the level and shifted my focus to polishing the
mechanics and cleaning up some blueprints improving the code.
We had a big hiccup in the middle of the week as our programmers decided to
refactor the code for the player character in order to make the
code more readable and easier to bugfix but forgot to branch
the project. So for the next ~5 days the latest version of the project did not
work. I was still sitting on an older version and decided not to update before
they were done so I could still do playtesting and iterate on the level and do
set dressing.
At this point we had the worst luck with illness and had half
the team missing for a part of the final weeks.
I felt that the final week would become stressful for those of
us who were healthy so I spent my sunday created a sprint
document for the final week detailing our focus for the week. What
to prioritize, what can be cut if we don't have time, what parts of the game
needs some additional polish and how to achieve it with audio,
vfx etc. More than what made it into the game in the end.
The week for me started with getting all of the audio into the
game. So I spent some time going through my sound library and searching through
some online libraries looking for the audio I wanted. Once I found one I brought
it into Audacity, cut it if needed, made multiple versions of
the same audio with some variations and normalized them. By wednesday I had
everything implemented in the engine with sound cues hooked up to events in
blueprints and shifted my focus entirely to polish.
For the level design, I didn't want to change much this late so I only did very
minor changes, fixing spots where the player could get stuck
and adding some visual queues for where the edges are to make it more clear
where you need to jump. I also spent time doing set dressing
adding additional detail, replacing the final placeholders. I took
responsibility to find the best light bake settings and doing
the final light build the night before our deadline.
Thursday, the final day of the project we set a deadline for 18:00 sharp and we
got done with everything we really needed to do in time. I spent some time doing
a little bit of extra work, adding an end screen, an ambient wind sound effect
and not making any changes that could potentially break the game this late. I
made several different builds of the game testing the game as much as I could to
find any bug or issue that could show up for our pitch & presentation the next
day.
The first 2D game I have worked on. Got to do some
research on designing for 2D.
Creating levels in 2D, for platforming and
puzzles.
My first co-op game, learned a lot about design for
co-op.
I improved my communication skills, being more vocal
with how I would like to do things.
I learned first hand why you should branch your project
when doing big changes to the code.
Keeping a project in scope even when losing members of
the team unexpectedly.
Adapting to multiple team members becoming
sick. Making sure anyone can access and pick up and
continue on that persons work if needed.
Working in a team with programmers coding C++ for the
first time. Learned a lot about how programmers work on games, how they
work together with designers and roughly what types of tasks the
programmer could be expected to perform.
Platform - PC (Local Multiplayer)
Number of Players - 2
Engine - Unreal Engine 4.2
Language - Blueprints and C++
Development Time - 4 Weeks
Team Size - 11