2022-07

WebAssembly Video Editor

This is one of my better projects that I finished. The problem with current video editors is that you either have to download big (few gigabytes) paid software or use an online service, where you upload your videos and then download the final cut video (and also have some limiting factors, because these services have to make money somehow). It was either of those two variants. And if I wanted to just crop and combine a few videos, none of these options were particularly good. For the first option, video editors, they are complex software which have a big suite of tools that are not really needed for most people. The second option, the web video editors, require you to upload videos, which in my case is sometimes a problem if you don't have a good internet connection (also they come with other limitation like only letting you create a 5 min video until you have to pay). But I found out that it is now possible to use FFMPEG through Web Assembly, which allows for almost native performace through the browser. This lets me create simple videos without having to download large software or have my videos uploaded somewhere.

Also works nicely as a simple video format converter!

The project itself works pretty ok (most of the videos in this page are made with this tool), quite good performance for a video editing software in the browser. If I ever make a next iteration of this project, I would most likely try to make it with React Native, rather than Vue, because that would allow me to make it into a mobile app too.



WASM-Vedit
Video Editor

2022-02

Interactive Trianglify

I created this project because I wanted a nice background for this page. I really liked trianglify.io, but it was only created for static, non interactive images. I decided to improve on that, created lots of configurable parameters and made that same concept interactive. It looks pretty cool :)



Interactive Trianglify
Interactive Trianglify

2021-07

Keyboard Havoc

This game was made in one week for "Brackeys Game Jam 2021.2". The theme was "let there be chaos". It is quite difficult to make something chaotic and also playable at the same time, but I think me and my friends were quite successful, because we ended up in the 21st plase based on "Theme". Main goal of the game is to score as many points as possible, but every few seconds the controls are swapped, which causes chaos to the player, making it difficult to proceed further. The other challenge was learning and making the game In Godot Game Engine. None of us used that engine before, so we had to learn and make the game in one week.



Keyboard Havoc
Game DEMO

2021-??

This game was made in one week for "GMTK Game Jam 2021". The theme was "joined together". This was our first game jam and there were only 2 days to make the game. The game was made with Unity, mostly because I had the most experience with it. The main idea of the game is that there are 2 characters the player controls, but the player can only control one of them every few seconds. To complete the level, the player needs to get both characters to the end. The 2 days that were given went quite fast and the game needs quite some polish, but it's' nice that we had made something from start to finish in such a short time.



Spiritual link
Game DEMO

2021-05

Procedural scene generation

One of the more difficult project I made. I made this project for my bachelor's degree final work. The main goal was to create a program/game that has procedurally generated levels. At first the problem felt very complex, because I had no idea where to even begin, but after some research I finally set myself in the right direction. You start by making somewhat predefined assets/rooms that have points inside them, that define connections. The program randomly chooses a room and connects it by those points. To make the project more dynamic, I updated the program to also connect the rooms by using A* search algorithm, which allows the scene to have more different paths. Technology: Unity


Procedural scene generation
Game DEMO

2021-??

Pixi heatmap

I had a challenge at work to make a heatmap display on an pixi.js canvas. There already are some libraries that make heatmaps, but the problem was that none of them work with pixi (or the enviroment I was working with). So that was the challenge, to make a heatmap from scratch. There aren't many resources on how to do it, but I managed to do it. Upon entering a value, a black circle is placed, that fades away at its edges. Circles that are close to each other, their alpha values blend together, becoming darker and darker. After the circles are placed, using a shader, based on the alpha values a pixel has, a color is assigned from a color spectrum.


2020-??

Simple Unity C# games

I recently completed an online course and learned how to use Unity. The games I made are simple and unfinished, but they are a great start for me.

Block Hopper - Most difficult challenge for me was creating pixel art rather than programming. Learning art is a completely different experience for me, but with a lot of time I finally grasped the basics of how to make something decent (at least for me).


Block Hopper
Game DEMO


Labyrinth crawler - was a group project for my university, I was responsible of programming the game. Main goal of the game is to find a way out of the labyrinth using various tool and fighting simple enemies. This was my first real project after completing the online course.


Labirynth Crawler
Game git repository
Game DEMO

Flower Plant

This is a project I have been working for quite a while. It is a automated gardening system made with Arduino. Not only you can water the plants, but also collect data about the plant, then monitor and maintain plants wirelessly!

Features:

  • Check moisture of a plant
  • Water plants using a pump
  • Check if the water tank is empty
  • Track how much water was poured
  • Send sensor data to server (moisture, amounts of water, water tank status)
  • Automatically connect to wifi (without embedding wifi name and password into code)
  • Monitor and maintain the system wirelessly:
    • Initiate watering of all plants
    • Change the interval on how often the moisture should be checked
    • Immediately check current plant moisture status
    • Plant analysis - analyse how ofter the plant was watered during which period and etc. (in progress)
  • Supports up to 8 plants! (currently, but it is possible to have even more!)

    A lot has been done in this project, but there is still a lot more to be done: cleaner code, better appearance (phisycal and digital), better analysis and other. My final goal is to make this system look like a full product.

2021-07

Assignment syncer

not finished

Long story short, downloading students assignments from "Moodle" is very time consuming. You have to download assingnments one by one, unzip them and open them in a program of your choice (code editor). That is the problem this program solves. It syncs all assignments, unzips them upon downloading and lets you open it with a program of your choice from the same place. There are a lot of improvements to make (especially UI), but it gets the problem solved. Technologies: React, Typescript, Electron, Next


Simple websites

After learning how to make websites and create web designs I was able to make a little bit of money by making few simple static websites.



Inovtechna
Link to website


Domimeda
Link to website

Java To Do App

One of my bigger projects in university was a to do list made in java using various technologies like:

  • Hibernate
  • Spring MVC
  • Android

This is a more complex to do list that has users, project, tasks and companies. Projects can have users and tasks, companies can have users and projects. It is more like a group project management system, where every user in the project (or company) can see tasks, finish them, edit, create etc. This project has a dektop application, Web server and an Android application.


Program for desktop


Android app


To Do List git repository

Ascii Art Land

Ascii art land - is a similar project that I build during my online course. It is a dynamic website, that lets user login, create new posts, edit and delete them (CRUD). My future goal for this project is to add a fully working online ascii art editor. Something similar to "Paint", but for text art.



Ascii art land
Link to website (DEMO)

2018-??

C++ Console Tower Defence Game

This was a university project, created together with my groupmate. As I look back at this project, I find it quite amazing. We created our own graphics library, we created a mouse interactive editor inside a console window. You could create, save and load your created maps, save/load games. Also the game itself. There are towers, enemies, you spawn and delete towers. Considering how little we knew about programming back then, it turned out to be a better project then some of my later projects. The most amazing thing is that it works in the console and we did everything from scratch (no framework or anything, everything from the ground up).



Tower Defence
Github