
Game Design Portfolio
Hello Im Elina, a first year student in game design and in this page I will show you all the work i have done in programming and animation in the past year.
In this project, our goal was to demonstrate key Object-Oriented Programming (OOP) principles through gameplay elements such as collectables and monsters.
-
Both collectables and monsters inherit common behavior from their respective base classes, which showcases the use of inheritance. This allows us to define shared logic once and reuse it across multiple objects.
-
Each subclass overrides specific methods from the base class to implement its unique behavior. For example, different monsters or collectables may respond differently to collisions or player interactions. This is an example of polymorphism, which enables flexible and dynamic behavior through method overriding.
-
We also used encapsulation by organizing code into classes and using access modifiers like public, private and protected. This helps control which parts of a class are accessible from the outside and keeps internal data safe from unintended interference.
-
Finally, abstraction is used to hide unnecessary complexity. The base classes provide a simple and consistent interface for interacting with monsters and collectables, while the detailed implementation is handled behind the scenes. This makes the code easier to work with and understand.
In this task, we were given a pre-made character and asked to bring it to life by adding our own creative touch. The goal was to, dress up the existing character, animate multiple animations for it and make an environment that fits the character.
- The character is placed in a beach environment and wears a beach outfit appropriate to the setting.
- I created three key animations for the character: idle, running, and jumping. These animations allow the character to respond visually to player input and movement.
- To create the animations, I used the 2D Animation Package, which allowed me to rig the character using bones and apply skeletal animation. This provided flexibility and reusability in how animations were applied to the sprite.
- I also used Inverse Kinematics (IK) to simplify the animation process. This technique made it easier to position limbs naturally and reduced the need to manually animate every frame, improving efficiency and animation quality.
- An Animator Controller was used to manage state transitions between idle, running, and jumping. This enabled the character to respond dynamically to input by switching animations based on conditions such as speed or jumping state.
- To improve visual presentation, I used Cinemachine to create a smooth-follow camera that tracks the player's movement. This helped maintain focus on the character and contributed to an overall polished feel.
- Additionally, I used a sprite shape to create the ground, providing a visually consistent and stylized surface that complements the beach environment.
- Prototype 1: Car Game
- Challenge 1: Car Game - Airplane
- Prototype 2: Feed the Animals
- Challenge 2: Feed the Animals - Play Fetch
- Prototype 3: Run and Jump
- Challenge 3: Run and Jump - Balloons, Bombs & Booleans
- Prototype 4: Sumo Battle
- Challenge 4: Sumo Battle - Play Fetch
- Prototype 5: Quick Click
- Challenge 5: Quick Click- Whack-a-Food
- Prototype 6: Counting Prototype
- Challenge 6: Error Project
- Test: ModTheCube
- Wednesday dance - The Wednesday dance was created using stop-motion animation.
- 12 Animation principles - A story about a robot was created using the 12 principles of animation.
- Pixel art sprite sheet - A sprite sheet with 3 animations was created for my character.
- SquirrelGame - A level was created with a working Cinemachine, carefully designed level layout, and a unique animated character.