Anita Ghoddoomi-Zadeh

Game Developer ·

Hello and welcome to my portfolio! I am a game developer who mostly works with Unity/C#.
I also have a passion for game design and art, and am always eager to improve my skills.

Professional Work


Here are some examples of different choices that were implemented in the game:

When your mother asks what you would like for breakfast, a long scrollable list will appear. If you are making breakfast for yourself, you will only see a few simple options, contrasting the number of choices. In the second image, (when looking through your room for items to take with you), there are also quite a few choices for the player, but their positioning is much less orderly, representing the clutter of the room. The fourth image is the first choice using the colours of black and white to distinguish between the morally ‘good’ and ‘bad’ choice, something which will return with the same implication at other points of the game.

The choice in the second image above occurs when the player is taking a test at school. The answer for each question flies across the screen amongst other incorrect answers, representing the anxiety of tests and the fact that the character has many answers flying in their head. In the third choice, the button gradually shrinks over time, mirroring the scene as your friend walks away from you. The last image is an example of a choice which expects a different type of input - the player can decide to put the pieces of the heart together before the time runs out, or keep them separated.
Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project. Just a day is a REALLY cool project.

To start the game, the player is prompted to collect a single blue pickup, which then starts the plotting of the movements. Each time, they have to start with the blue pickup, and when they collect it, another pickup will then turn blue, signifying it is the next in the sequence. This is what guides the player in a certain path. The routine was purposefully designed, starting with simple planar movements, and moving on to 3D movements including waves, and a helix shape (initial implementation shown below). Each movement was also designed to transition into the next one gracefully.

The largest challenge of this game was presenting a sense of depth. A number of measures were taken to make the understanding of depth easier for the player:
- A grid texture was added to the walls.
- Shadows and projections were added so the player could see the position of their ‘hand’ in relation to the pickups on every axis.
- A line renderer was added which emitted lines from the hand in every direction, hitting the walls.
- Only a few pickups were shown at a time (to avoid clutter and to ensure that the player was not confused by the position of many pickups at once).

Further methods which were explored or considered:
- Changing the size or colour of the pickups depending on how far away they were from the camera or the player.
- Testing various angles to see which aided the perception of depth.

Because the game is simple in concept, the visuals and polish were important in creating a good experience. This was done through the use of textures, particle effects, lighting, and the models and appearance of the pickups and the ‘hand’. Additionally, a note will play every time the player collects a pickup. These notes join together to create a melody as the player completes the movements.

The map is created from ‘rooms’ and ‘corridors’. The rooms must have at least one tile of boundary around them, and must not clash with the boundary of the overall grid. Each room must then be connected to at least one other room. This was implemented by having a list of rooms, and cyclicly connecting them from centre to centre. When the corridors were being created, I had to avoid corridors running alongside rooms and other corridors (which could make strange shaped rooms and paths in the game). This was fixed by making sure that the centre of each room was created only on even x and y points in the grid.

Buttons and locks were also designed to match with the game’s colour palette and aesthetic. Each room was assigned as a different type (one room to be locked by red locks, one room to hold the red button etc). I ensured that the players were not spawned in locked rooms (and had to only ‘unlock’ rooms to reach more collectibles). Although it was unlikely with the number of rooms on each layer in the final game, more work could have been done to minimise deadlock situations which could lead to rooms being inaccessible.

The pickups were designed and randomly distributed across the map. There are 20 on each layer. The players can move down to the next layer if they all vote to move down. However, if they move to another layer, the score multiplier will reset. The score multiplier increases exponentially to provide greater incentive for players to stay on one map and to collect all/ most of the pickups instead of jumping layers straight away and ignoring locked pickups. Collaboration comes from helping each other to open locks to access more pickups, deciding as a group when to move to the next layer, and ensuring that you don’t block paths for each other.

For this game, I wanted an actual spherical planet for the player to explore, where they are free to walk the entire space without any walls or boundaries. I created a simple 3D model for the planet in Blender.

I then placed the planet within a much larger sphere which would act as the skybox, and inverted the normals of the skybox sphere so that it could be seen from within (from the player’s viewpoint on the planet).

Once the planet was set up in Unity, I had to create a spherical gravity that would pull all objects towards the centre of the planet. I wrote a script which would do this automatically for me for each object I wanted to place. To find the direction that the object’s normal should rotate to, I found the vector by subtracting the position of the (centre of) the planet by the position of the object. The script rotated the object appropriately, and then positioned it on the surface of the planet using the planet’s radius (and a height offset to take into account that the pivot point/ centre of the object might not be at the bottom).

I also added some water to the planet by adding a sphere to the scene, and applying a standard water material (turned orange to represent toxicity). The sphere was made a little smaller than the planet. When the sphere and the planet were overlapped, only the parts of the planet with dips revealed the water.

I then experimented with area triggers as I wanted different events to occur as the player moved around the planet (for example, playing sound effects when walking over certain areas). I set up some text triggers to give appropriate messages based on where the player is in the game and what they are doing, with a priority system set up in case more than one message triggers at once.

After the planet was set up, I placed an object on the planet which was to represent the Monolith the player had to search for. I worked together with my brother to create an adaptive soundtrack, where the song would build up with more instruments as the player neared their objective. This type of adaptive soundtrack also allows the player to have more understanding of how they are doing. For example, if they start to go backwards, the music will become simple again and they can realise they are going in the wrong direction. Since the player and Monolith are on a sphere, I used the ‘great circle formula’ to calculate the spherical distance between them, taking into account the radius of the planet.

The final ‘cutscene' plays when the player finally discovers and touches the monolith. To give a cutscene effect, I disabled the player input so they are unable to move the camera around. I then change the transform of the camera, making it move back and rotate to slowly look up at the Monolith. The text (contact from the ship) will become distorted and the game will slowly fade to black, signalling the end, perhaps implying something mysterious has happened.

Game Jams


bitsy bitsy