
Thoughts
In this Project we were four programmers and two 2D artists, so I got to focus on what I liked and knew more about. That was code that had to do with the artwork and the background.
This lead to me discussing a lot of what the artists wanted out of the game and helped them implment some of what they thought would work. It also lead to me getting to experiment with concepts that I liked, like some way to light the 2D characters in a cool way, which was very fun.
Since this was our first project in FutureGames, the code is a bit outdated.
Still, I wanted to highlight the idea of what I wanted and also the progress I made since then.
A lot of it is commented in detail, for my own reflection and also for the teachers to see my thought process.
Details
Year of production: 2019 September.
Rules: Combine at least two classic arcade games.
Time: Two weeks.
Team size: six.
Contribution
Unity
Tech Art
Gameplay Programming
About
Help the Hammer Hermit climb the harsh mountain with the help of a friend. With the Tetris gods aiding you, create a stairway up. But beware the fiends and obstacles on the way.
But don't forget to gather points for a high score on the way!
Demo of clouds in the level.
Cloud Creator
We wanted to have moving elements in the background and one if these is the cloud creator.
It creates clouds in different layers and heights of the background.

UI for the cloud generator.
UI
The clouds needed to be randomly generated, but I also wanted the user to be able to specify the randomness of everything.
I would change some elements now to be more readable since a lot of the naming is confusing.
The depth of the clouds is a multiplier of how fast the clouds move.
Cloud Depth
The depth of the clouds are bound to the movement speed. This is to give a visual representation on how fast they are going to move and also add parallax.
Script
The full detail of the classes and code is shown when pressing the button.
Demo of the background animated objects.







The different objects that can spawn.
Background Spawner
This script creates random objects on specified positions in the background.

UI for the Background Element Spawner Class
UI
Each of the three different background transitions has its own attributes to set. This was the fastest way to make the system at the time.
In there you can set which prefabs to use, in the prefab list, and also which positions to use, which is the position list.
Additionally, I put controls for a color multiplier and a sorting order range. This way the system is not automatic, but you still get to control al different elements in an easy way.
Markers
For this, I made simple prefab as marker for the positions and set those manually in the world together with the artists, to determine where they wanted things to spawn.
The red positions are there for the objects that are not randomized and are fixed.
In hindsight, I would make this automatic when adding Items to the list and The script itself keeps track of the positions you need.

Demo of the spawn point objects. The purple are for randomized objects and the red are for the fixed ones.
Script
The full detail of the classes and code is shown when pressing the button.
When the sunlight starts to be visible, the light on some of the sprites would change accordingly.
Lighting
We wanted to try to add and learn dynamic lighting to our game. This was a fun experiment to do, which in the end added some extra flair to the game.
Script
The lighting is controlled by the same background script, to ensure that it transitions at specific points of the background image.
It is bound to the Y position of the background, so when the background scrolls to a certain point, the intensity of the lights will increase.
The background movement itself is bound to how high up the player is in the game.
This script also move the pillars with an offset, just to give a parallax to it.
Click the Background button to see the script in detail.

+

=


A prototype of the idea. The highlights would go on top of the original sprite.
Final prototype in Unity for highlighting.
Highlighting
The original idea for the lighting was that it would give the sprites highlighting only, so we setup a manual way to do this. Sadly we ran out of time and did not have time to implement this fully.
Masking
To control where the light would go, together with a 2D artist, Oscar, created new sprites with masked parts which we overlay over the sprites. this was done for all animations as well.
Problems
The problem that made us drop this concept was that we needed to make sprites for both walking to the left and to the right sides.
For that, we needed to change how the player movement works, which was too much to do on the last day of the project.
What we have right now is that the sprite inverts when turning to the right. That makes the highlighting also change side, which does not look good.