Portfolio
The Cooking Game VR
Platform: VR (SteamVR, Meta Link PC, Meta Quest)
Stack: Unity, OpenXR, Wwise, URP, Netcode for GameObjects
- Developed interactive and immersive virtual reality (VR) experiences using Unity game engine
- Created advanced gameplay mechanics and systems for VR project
- Collaborated with artists and designers to implement models, animations, and visual effects into Unity
- Optimized performance and ensured smooth frame rates by implementing efficient coding techniques
- Integrated audio with WwiseSDK.
- Debugged and resolved technical issues and bugs within the game
COVID-19: The Beginning
Platform: Web, Windows
Stack: Unity, DOTween, Post-Processing Version 2, Input System
This game was created in 96 hours for the GMTK Game Jam 2024 with the theme 'Built to Scale' by a team of six. As the team lead, I developed and implemented most of the mechanics while working closely with the artists. I also assigned responsibilities and tasks within the team. As of August 22, the game is ranked in the top 43 out of more than 7,500 projects.
Asset Pipeline
Platform: PC, Android
Stack: C++, Zlib
In game development, raw resources, such as graphics, audio, and other multimedia elements, are often not initially optimized for efficient usage within games. These resources may come in high-resolution formats or sizes that can impact the game's performance, increase loading times, and consume unnecessary storage space.
The Asset Pipeline module addresses this challenge by serving as a vital intermediary step in the development process. It takes raw, unoptimized resources and transforms them into a format suitable for seamless integration and optimal performance within the game.
Wind
Platform: PC
Stack: C++, Boost, OpenGL, Ultralight, TypeScript, React
Written in C++, is the most complex project I have developed, a large ecosystem of various modules and tools. During the development, I encountered many different problems, which significantly increased my level as a specialist. And the most difficult challenge was to develop the right architecture for such a project, which was intended to be as flexible as possible.
Into The Abyss
Platform: Android
Stack: Unity, DOTween, UI Toolkit, Github Actions with GameCI
The main goal of this project was to study CI/CD. The project architecture is based on the Model-View-Presenter pattern along with the Services pattern for better separation of concerns. Continuous Integration and Continuous Deployment pipelines are set up using GitHub Actions and Game CI, automating the build and testing processes for efficient development workflows.
Depths-of-Darkness
Platform: PC, Android
Stack: Unity, Zenject, DOTween, UI Toolkit, Netcode for GameObjects, Unity Relay
This project follows best practices and utilizes various technologies to create a robust and maintainable game application. The project architecture is based on the Model-View-Presenter pattern along with the Services pattern for better separation of concerns. Zenject is used as the dependency injection framework to manage object composition and support the Inversion of Control (IoC) principle. The project leverages Netcodes for GameObjects, facilitating seamless multiplayer functionality. Netcodes provides a robust framework for synchronizing game state across networked clients, enabling a smooth and responsive multiplayer experience.
Dino
Platform: Android
Stack: Java, LibGDX, Google AdMob, Python
The game was developed in a couple of days during my first-year vacation in collage. Interestingly, for the leaderboards, I decided to write my own service in Python, which I then hosted on Heroku. There are several locations that unlock as you progress, but otherwise, it’s just the usual dino game.
Brainfuck JIT on LLVM
Platform: PC
Stack: C++, LLVM
"Brainfuck JIT on LLVM" is a project aimed at creating a Just-In-Time (JIT) compiler for the Brainfuck programming language, utilizing C++ and LLVM (Low Level Virtual Machine) for efficient code execution and optimization.
Life is Beautiful
Platform: PC
Stack: C++, UDP/IP, OpenGL, SDL2
The multiplayer feature based on UDP is implemented through a server and clients that exchange data without establishing a connection, providing fast information transfer, although with less reliability compared to TCP. The server receives and sends data to the clients, synchronizing the game state in real-time. Clients connect to the server, send their data, and update their state based on the received information.
Two Color
Platform: PC
Stack: C++, SFML, TGUI
Using C++ as the core programming language ensures high performance and control over system resources. SFML's simplicity and power make it an excellent choice for handling graphics, audio, and input. TGUI complements SFML by streamlining the creation of user interfaces, allowing developers to focus more on gameplay and mechanics rather than UI intricacies.
Minecraft Clone
Platform: PC
Stack: C++, OpenGL, SDL2
A procedurally generated, blocky world made up of various types of blocks that players can mine and place. Utilizes OpenGL for rendering the voxel-based world, providing smooth and efficient visual performance.
Magician Adventure
Platform: PC
Stack: Unity
One of my first games developed using Unity is a simple classic platformer designed for the PC. Players navigate through levels by jumping over obstacles, running across platforms, and avoiding hazards.The game features various enemies and environmental hazards that players must overcome to progress.
Tank World
Platform: PC
Stack: C++, SDL2
One of my first more or less finished games, which I wrote in 8th grade. At that time, I wrote my first game engine for it, which I later used to develop a few smaller games. In this game, rendering was done through SDLRenderer, but over time, I transitioned the engine to OpenGL.
Space Home
Platform: Web
Stack: JS
In "Space Home" players face a series of challenges as they work to safeguard Earth. Players control defenses or weapons to protect Earth from incoming asteroids. Shoot asteroids before they collide with the planet. Players can enhance their spaceship with various upgrades, such as improved weapons, attack speed, or move speed. These upgrades are crucial for dealing with increasing threats.
Planets
Platform: PC
Stack: C++, SDL2
In "Planets" players must strategically occupy planets in space, focusing on expansion, resource management, and tactical decision-making. Procedurally generated planets and star systems ensure a unique experience in every playthrough.
Find or to lose
Platform: PC
Stack: C++, SFML
In "Find or to lose," players control a character navigating through a maze, collecting items while avoiding enemies. Collectible power-ups provide temporary advantages, such as increased speed or invincibility, aiding in the player's quest. Various enemies patrol the maze, and players must avoid or outsmart them to survive.
Cloud's dungeon
Platform: PC
Stack: C++, OpenGL, SDL2
In "Cloud's Dungeon" players explore procedurally generated dungeons filled with monsters and treasures. As a roguelike, the game features permadeath, where each playthrough is an opportunity to improve and learn from previous runs.
Checkers
Platform: PC
Stack: Python, PyGame
"Checkers" is a PC game developed using Python with PyGame, a popular library for creating games and multimedia applications. This game was a commissioned project and represents my first experience receiving payment for a game development project.
Tic Tac Toe
Platform: PC
Stack: C++, OpenGL, ECS
"Tic Tac Toe" is a PC game developed using C++ with OpenGL for rendering and an Entity Component System (ECS) architecture for managing game entities and their behaviors. This classic game is brought to life with modern graphics and efficient code organization.
Tower Defender
Platform: PC
Stack: C++, OpenGL, SDL2, Box2D
In "Tower Defender," players focus on defending their base from waves of incoming enemies by strategically placing various types of towers. Players place different types of towers along a path to attack and slow down enemy units.
Pseudo 3D Maze
Platform: Web
Stack: JS
Game is a web-based game developed using JavaScript. This game likely employs techniques to simulate a 3D environment using 2D rendering methods, creating an immersive experience for players navigating through a maze.
Asteroids
Platform: PC
Stack: C++, OpenGL, SDL2, Box2D
In "Asteroids," players control a spaceship in an asteroid field, aiming to destroy asteroids and avoid collisions.
Game of Life
Platform: PC
Stack: C++, SDL2
In "Game of Life," players observe the evolution of patterns within a grid based on a set of complex rules. The game follows the principles of cellular automata, where each cell in a grid evolves based on specific rules and interactions with neighboring cells. The simulation employs advanced rulesets that go beyond the basic principles of Conway’s Game of Life, leading to more intricate and varied patterns.