Jonas

Welcome
Hello there. Looks like you've found yourself on quite website, eh? This my personal website where I show off some of my projects and skills. You can also find my contact info at the bottom of the page at any time. Take a look around and you might find something of interest. Feel free to send me an e-mail if you've got any questions.
Happy exploring!
Oh, and if you're looking for my *shudder* old page, it's right here.
Everything made with ❤ by Jonas Costa - Contact
About

About me
Hey, that's me! Surprisingly, the whole site will be mostly about me. I'm currently a 22-year-old CS student working on a bachelor's degree in Winterthur. As a result, programming is my greatest strength. I really enjoy automating things, looking at existing code and making order out of disorder. (e. g. refactoring) My first adventures into the digital world consisted of installing various Linux distributions with my dad, messing around with pre-installed programs and, of course, playing computer games. It's no secret that I'm very passionate about all things video games. From planning to the final product, I find the whole process interesting and fun. I find video games to be more like an artform instead of just a pastime. Of course, playing video games will always be easier than creating them. Fortunately, I enjoy both. Being a solo game developer requires a lot of different skills. Thanks to Switzerland's amazing educational system, I've been able to acquire most of the necessary abilities needed for game development.

Skills
During my time as a mediamatician, I've learned how to do photography, image manipulation, filming, video editing, logo design, typography, print design, web design and development, basic finances and various economy related topics. While much of that is very relevant to game development, much of it translates well to other fields such as web development and application programming. In 2021, I used a spare PC that I had lying around to start my own home lab server. After a lot of trial and error, I now host my own GitHub-like web interface, game server service, password manager and soon a cloud and streaming service. During that time, I've learnt a lot about server management and how to work with various Linux distributions. I've also started looking into Arch Linux and getting it to run on my work machine.

Next up
On this page you'll be able to find my various projects that I've completed so far. Some are quite old, but I firmly believe those older projects are worth showing to prove how I've grown as a programmer, artist and person. You'll also find my gallery from back when I still did photography in my free time. I intend to return to that hobby sometime in the future. I'm currently mostly occupied with more technical hobbies like my home lab.
Happy exploring!
- Jonas
Projects

multibin
Since I'm an avid Arch Linux user (btw), I occasionally make use of the AUR to install obscure software. However, keeping AUR packages up-to-date is kind of tedious and slows down the general system upgrade process. I started this little project as very basic script that could only build metapackages. Soon, it became a Docker container. Then, I added more features and checks to the script that make it more flexible. Now it's a pretty nice docker image that just builds my most used AUR packages every night. Even -git packages.
Link: https://codeberg.org/ChiliEater/multibin
2024

EnergyCleaners
Energy Cleaners is a tower-defense game revolving around the destruction of evil robots to save the planet. Strategically place machines and upgrade them to secure victory! This was our big semester assignment in 2023 with me as the project lead. We developed it in the Godot game engine with C#. Since we also had some formal requirements, we also implemented a CI/CD pipeline, tests, documentation and proper agile project management. While it may not be a greatest game ever made, it still was an immensely valuable project for us. We learned a lot about Godot and everything that came with it. Thanks to the amazing team we were able to knock out a top grade in the end.
Link: https://codeberg.org/CodeGoats/energy-cleaners
2023

openstack-ccp
This is a simple bash script that automates the creation, deletion and login of VMs for the Cloud COmputing 2 labs. The maintainers of the infrastructure have requested that all VMs and IPs be released when not in use, especially IPs. Doing that manually every week is a bit tedious so I made this script. I mostly created it to practice my Bash skills. To make it a bit easier to use, it's capable of automatically generating access tokens. This is done by first extracting the session tokens from Firefox to download the instance's endpoint information. Then, password authentication is used to log into the API and generate an access token. This token is then stored and used on subsequent launches of the script.
Link: https://codeberg.org/ChiliEater/openstack-ccp
2023 - 2024

This Page
My most recent project is this very page. The old site looked like it was in dire need of a fresh coat of paint. I already had dreamt up a certain design a few years ago, so planning it didn't take too long. As a challenge, I limited myself to not use any external dependencies except for icons, fonts and audio assets. Every script and all the stylesheets are written entirely by me. I did this to force myself to properly learn JavaScript and to better understand how other libraries and frameworks are built. It was also a nice coding exercise. I honestly think it turned out great. It's certainly nice that I don't have to worry about IE nowadays.
2022 - current

Ikitomo
During the second semester of my computer science major, I was tasked with the developing any Java application as long as it made use of the JavaFX library. This was to be done in groups of four. Together with my friends we made Ikitomo, a virtual pet that lives on your desktop. It's essentially an animal that runs around on your desktop and follows your mouse pointer. Occasionally it sleeps too. Ikitomo was heavily inspired by Neko. In fact, when one of my friends discovered a Linux port of this Neko program, I found that it appears to be tradition to port Neko to newer platforms to keep the "spirit" of Neko alive. We then had the idea to do the same in Java for our project. When we pledged the idea to our teammates, they took a liking to the idea and the project started. I also enjoyed my time with it as I was also able to flex my sprite work muscles a little.
You can find the source code on our GitHub repository: https://github.com/CodeBreweryReloaded/ikitomo
2022

Glime
This was my very first public game jam that I participated in. My friends from college told that they wanted to make a game together at some point during the curriculum. To gather some experience, we decided to participate in the Mini Jame Gam #8. The rules were very simple: create a game within a weekend themed around magic and involving bottles. When the theme was revealed, we started to conjure up various ideas and concepts until we settled on a type of tower defense game. The goal is to protect your van from waves of monsters by preparing a set of potions and hurling them towards your enemies. These potions are freely craftable by mixing different herbs that each have unique effects and interactions with each other. I was mainly busy with creating graphics for the enemies, herbs, backgrounds and UI. My other two friends took it upon themselves to develop the game logic. As this was our first time working with the Unity game engine in a team, there were a lot of quirks to work out before we could start work on the game which lost us a bunch of time. Time, as it turned out, that we desperately needed. We tried to finish the game to the best of our abilities, but our hands were tied and we had to submit a quite unfinished product. While we obviously didn't win, that was never the goal. We learned a lot during this project and we also had a lot of fun.
The end result is on Itch: https://chilieater.itch.io/glime
2022
Gallery





































