Cozy Ship
A small "cozy" game I created in early 2025 over the course of a few days as part of a recruitment task. Its purpose was to showcase my coding standards and project architecture.
The project uses an MVC architecture combined with Dependency Injection (Zenject), and I also spent some time experimenting with custom water shaders. The repository contains detailed
documentation describing all implemented systems. The second slide includes a video demonstrating the input mapping system (built with the new Input System), allowing simultaneous
support for both keyboard and gamepad controls.
Source code on GitHub
Recruitment task description
Last Barricade VR
I am currently developing a small cooperative VR FPS game with Tower Defense elements. The multiplayer will be built using Photon Fusion and I also plan
to create additional multiplayer implementations using FishNet or PurrNet for comparison and learning purposes. The project is being developed using a Bootstrapper Scene, State Machine, Service Locator,
and an architecture based on the Actor Model. The architecture combines ideas inspired by ECS and Unreal Engine's Actor-Component model, providing modularity, loose coupling
between systems, and easy scalability of game logic.
I will update this section soon with new screenshots and a more detailed project description.
Mesh Combiner
An asset I released for free on the Unity Asset Store. It has received many positive reviews, and I may expand it with additional features in the future.
It is designed for combining meshes and their materials, allowing developers to optimize their games by reducing CPU usage and decreasing the number of draw calls in a scene.
Download on Asset Store
Source code on GitHub
Cross the Hell
A full version of game created at Ludum Dare 43 game jam in 2 days, which theme was "Sacrifices must be made".
This is a 2D puzzle-arcade platform game, in which player has to move from one point to another moving from first to
second dimension, to overcome obstacles.
The gameplay difficulty is not easy and requires from player to remember the invisible objects being in another dimension
(unless the player chooses an easy difficulty level - then the second dimension is visible in the form of flying particles
in the right color).
Play in the browser
My Ludum Dare 43 submission
Source code on GitHub
Catcher
An arcade game for mobile devices in which the player has to catch spawning elements with different properties
(
red - normal,
black - heavy and when touches the platform can not be catched again,
green - jelly and sticks to the platform,
blue - shrinking/disappearing) and place them on the platform.
In game also is a cooperative mode in which 2 players can work together by connecting in a local network. For network communication
I used TCP/UDP sockets and UNet.
Game is not ready yet. Some features are not finished, for instance loggin into the players account or weekly competition for
special skins. UI will be redesign and I need to reduce e.g. the number of clouds for the weaker devices, because
after some time they have a CPU throttling and the FPS number drops from 60 to ~25.
Ubermarket SIM 2017
An online simulator which allows the player be a businessman who has his own shops network. After a match the player can
see graphs with data which was collected on whole gameplay. Based on collected data the player can deduce why he was doing worse than another players.
The players (max 5 on the server) at beginning of the gameplay choose the right terrain to buy and build their first shop on.
The each terrain has its own parameters which define its profitability, for instance an area security or terrain size (on the bigger terrain we can build bigger store
(or expand an existing one) and parking). Next the players order the goods which have different prices and expiration date in different warehouses. After that
the players set own prices, employ employees and improve the store.
The simulator was created for my engineering work. All of its elements were created from scratch (not including trees from Asset Store and icons/images).
I created all 3D models in Blender. The graphics were made quickly for lack of time and is not very beautiful, but it was not important at all here.
The simulator/game (like you see on screenshots) is only in Polish language.

▶
Jelly Auto-Creator
A tool which changes normal/solid mesh (uses a Mesh Filter and a Mesh Renderer components) into "jelly" mesh (skinned mesh,
uses a Skinned Mesh Renderer) without need to do it yourself from scratch.
I created it to speed up the process of creating sticky jelly elements in my above game "Catcher".
The tool is in the "alpha" version and requires a little more work to work with all the more complex mesh shapes.
Effects created in Visual Effect Graph
A "set" of effects created in Unity with "Visual Effect Graph". Currently, only 1 effect is available.
In the future, I may update the GitHub repository below and add new effects.
Source code on GitHub
Sims AI Demo
A small demo which was a recruitment task for one company. I had to create an artificial intelligence and a room with items that it will use.
The player can choose what the character in the game have to do or press the task prioritize button, which will set the interactions according to the needs of
artificial intelligence. If the player doesn't do anything, then after 5 seconds the AI randomly starts interacting with items (if the AI is hungry then is
a bigger chance it will go to the fridge to eat something). A more detailed description of the project is in the link below on GitHub.
Play in the browser
Source code on GitHub
Remote Rewinder
A client-server application which allows remote control of a computer keyboard. I created it for myself
to don't have to get out of bed while watching a movie to rewind or pause/resume.
The client is written on Android using Java language. The phone's physical volume keys are used to send commands to the PC (the server written in C#/.NET)
on WiFi network, so the user can comfortably rewind the movie without looking at the screen of their smartphone. The application runs in the background
without any problems when the phone screen is asleep.
The perfect solution for those who do not have a wireless keyboard on hand ;).
Source code on GitHub
Ultra Binary Calc
My "super" calculator on Android in which the user can simultaneously calculate numbers in different number systems.
This is my first app that I released on Google Play, in 2015. I planned to make some improvements to the UI in the future and slightly adjust the interface
layout to make it more user-friendly
Download on Google Play
PoE Trade Online Status
A little bot which refreshes your online status on
poe.trade
platform where you can trade items in "Path of Exile" game. Thanks to that the other players know that they can write to us for trade in the game.
I created this program for me and my friends because we did not want to use programs in which is required use the game account's login and password
(here you have to use only your link assigned to your account on the aforementioned platform).
I used the "jsoup" library for HTTP communication.
Source code on GitHub
Potato Sender
A bot which sent messages with links to images on the wykop.pl website where was a charity campaign.
At the event, people had to share pictures of potatoes under the #charytatywnapyra tag (ang. #charitypotato). For each sent post
you earned 1zł (later 3zł) for equipment for sick kids. The website rules did not prohibit use the programs that do the automatic
work for me, so I created one :).
The program uses the "Selenium WebDriver" library which allows to create a bot that uses different browsers like Chrome or Firefox.
Source code on GitHub
V-Poster
My first created bot. It allowed sent one post to several websites simultaneously. This could be useful mainly
for people who want to share their links to videos on forums.
It uses the "Selenium WebDriver" library which uses simultaneously different browsers, depending to to which forum it sends the message.
Some websites support the "light-weight" browser which has not interface - "Ghost Driver/PhantomJS". Its advantage is that it is fast,
but unfortunately it does not work on all websites. Firefox is used to support more "demanding" websites. If some website will require to
rewrite reCAPTCHA from a image then user has to rewrite it in the program or in the browser (when using Firefox).
The bot uses too the "SQLite" library to operate on a data base. It is used, among others to save the history of sent messages.
Thanks to that the user can find previously sent post, edit it (for instance update the links) and send post again as a new one.
The program of course was created for educational purposes and was not used to share illegal files :).
OpenGL ES - Android Demo
A small project created in college, using the "OpenGL ES" framework which allows create 3D visualizations and games
for mobile devices. The entire project was created from scratch in Java for Android, using the
Google documentation
and some tips we got in the labs/lessons.
We had to do a terrain with trees and buildings (that is, create objects/meshes from scratch - from individual triangles),
add lighting, create material that reflects lighting (a new shader for water), add the ability to move on created curved terrain
(in the second video the player is teleported to the center if tries to go outside the borders of available area), etc.
Signal Visualization
A program which was expanded from laboratories to laboratories in college (on the subject "Fundamentals of Data Transmission").
It was created to visualize signals of different types depending on the entered data.
I didn't have to use external libraries to create charts, because the .NET Framework already has one (the program was written in C#).
N-Queens Puzzle
A chess and mathematical problem. This is the problem of placing N chess queens on an N×N chessboard
so that no two queens threaten each other. A solution requires that no two queens share the same row, column, or diagonal (more information
here).
I created this program in college on the subject "Introduction to Artificial Intelligence", in Java. It deploys in sequence the queens,
using a recursion/recurrence on the chessboard and checks "beats" between them. If the "beats" exists then algorithm comebacks to the last
queen and move her to the one field further.
Genetic Algorithm
A program (created for next labs on the subject "Introduction to Artificial Intelligence") which uses the genetic
algorithm to select the best chromosome from the randomly generated population (with a size of 10) through 100 generations. In this case the
best chromosome is the queen without collisions/"beats" on the 4x4 chessboard (value of the best chromosome without collisions: [2413]).
Used selection algorithm name is a "tournament selection". You can read more about genetic algorithm
here (PL) and
here (ENG)).
The program was written in Java and uses the "JFreeChart" library to draw charts (you can also select data on the chart, zoom in, print, etc.).
Fractal - Mandelbrot Set
A program written in C++ (a small exception to the other programs mentioned above) on the subject "Concurrent Programming".
It creates a popular "Mandelbrot Set" fractal.
A user chooses resolution in which file will be create - the image in .bmp format (the program uses a library for drawing and exporting
.bmp files from a my friend).
Below is a link to the generated fractal in 28800x16200 resolution which weighed 1.4GB as the .bmp file. It was converted to .png and the black
sides of the image were cut off. Thanks to this, the file now weighs 16 MB. I do not recommend watching it in your browser because it takes a long
time to load. Instead, I recommend download the picture to your computer.
Fractal 28800x16200