After several attempts to create good looking gifs for my game on Steam, I found Gifski . It is a great FOSS (AGPLv3) tool to create high quality and lightweight gifs. Note: While writing this blog post, I learned so much that I recreated all my store gifs again. This shows once again that writing a blog can be useful in several unexpected ways. Creating the base video Here you can read the…
As of today, I run my phone Google free (at least everywhere I can influence). With pure LineageOS 23.2 No Google account No Google Play Store or compatible clients like AuroraStore No Google Play Services No Google Apps at all, also no Google Maps On the surface it is indeed 100% Google free. But Android is made by Google, therefore some internal services might still phone home. For example I…
My Godot game 99Managers , a sport management game, has a lot of UI and text. All buttons, labels and emails can be translated to reach more players. Godot supports simple csv or the more feature rich gettext for translations. Translation platforms like Weblate instead, allow to translate a game without ever opening Godot. No developer skills needed and everything can be done on a nice and…
I showcased my game 99Managers Futsal Edition already twice. First at GodotFest25 in Munich, where everybody could show their game in a dedicated room. The second time at the IGDA Trentino Game Night , similar to GodotFest25. I really enjoyed both events, especially talking about my open source game. This year I decided to exhibit at the Tempo Libero 2026 (IT) / Freizeit 2026 (DE) , in the city of…
In January 2025 I got my first split keyboard. After seeing so many Vim/Neovim video content creators use them, I also wanted to try. Now more than a year later, I'm happy to share my experience with it. corne v4 I just wanted to try if split keyboards work for me. My first attempt was to buy a corne v4 . It seemed one of the most popular split keyboards I found online. I bought a pre-built…
Also this year I want to celebrate I Love Free Software Day . Thanks to the whole FOSS community for another year of open software and knowledge sharing! Now to the three project I want to thank this year <3 End of 10 This year I made it even more special, by installing Debian on my moms laptop. The main reason for this was that I had the choice between updating Windows 11 or installing Linux. I…
I recently added cross platform save game synchronization to my game. It is designed to work with the Steam Auto-Cloud , without using the SteamSDK. Therefore no SteamSDK specific code is needed in the game. This make the game compatible also with other file synchronization software, such as Syncthing . My game is Open Source and APLv3 licensed and that makes it incompatible with the SteamSDK…
On this exact day 3 years ago, I published my first blog post. Then, I published a new blogpost every month to a total of 38 posts. Enjoy the last post of 2025 about the blog itself! Getting better at writing A big goal when I started this was to get better at writing in English. I think over the time my writing got better. I make less mistakes and can structure my thoughts better into words and…
During the 7 and 8 November I attended again SFSCON 2025 . This was the 25th Edition of the conference about Free and Open Source Software. It was a great event as usual and I really enjoyed the talks and meeting great people! This year I had my 4th talk at this conference, about my game 99Managers Futsal Edition. The abstract and slides can be found on the SFSCON website . The talk covers how the…
This time I want to share how to center a single buffer in Neovim using only Lua and no plugins. I have not found much on this topic on the web, so I hope this helps some people! This only works on Neovim, afaik, because Vim can't yet modify the statuscolumn, like Neovim. Note: I used Neovim v0.10.4 on Debian 13, while writing this blogpost. Statuscolumn was introduced in Neovim v0.10. This won't…
On this exact day one year ago, my journey as a solo game developer began. Here I will share my experiences and what I learned. My effort estimations were wrong A year ago I thought that my game was about 60% complete, missing a few features and visual polish. Now, a full year later, my game is about 60% complete, missing a few features and visual polish. What changed is that I saw the real work…
I started using Godot 3 around 5 years ago. A lot of things changed since then. Godot 4 and GDScript 2.0 are out and I learned a lot about writing better code. Everything here is covered in the official Godot docs and that is the best place to get the correct and up to date information. Said that, I just will point you to the right place in the docs and add my two cents. Note: Godot version 4.4.1…
I have been working on a Thinkpad T470s for about 2 years now. It has 20GB RAM, a 1TB SSD and an i5-7200U with 2 cores and 4 threads. I really love it and using the old mechanical docking stations is a true pleasure. I got it for 120€ from the company I used to work for. Now I will probably use it only when I leave my house or want to work from my sofa. Yesterday I bought a used HP Pro Tower 400…
The more I work with Godot all day, the more edge cases I face. Recently I found out that my game had orphan Nodes that can cause memory leaks . It was not a huge deal, but still with some easy tricks, I could have noticed this much earlier. Note: Godot version 4.4.1 is used here, some things might be different in other versions. Find orphan nodes Godot has already an awesome and easy way to…
I learned programming with Java, a statically typed language. For that reason, I really miss errors at compile time , when programming with GDScript in Godot. GDScript is a dynamically typed language, that makes error detection at compile time nearly impossible. There are many ways to make GDScript more strict , like adding type hints and making it statically typed . Additionally, treating more…
This is the complete blog post to my talk at the Software Developer's Thursday . It is not a word to word transcript, but should cover most I said during the talk with some additional notes. A video will be uploaded to YouTube a few days after the talk and the link will be added here. But I accidentally used the wrong microphone while recording the talk, so the video has horrible sound and is not…
Resources in Godot are really powerful and can make a Game Devs life easier in many ways. If you haven't used them yet, I can only recommend reading the official docs or my blog post about them. Now I use them a lot, especially in bigger projects with many different data models. At some point, you might want to duplicate a resource using the duplicate() method. Here things got complicated for me.…
It's been a long time since I wanted to share a list of FOSS projects I really enjoy. Today is prefect for this, because it's I Love Free Software Day . This list would be enormous, if I would really cover every FOSS project I love and use. So I decided to limit this post to three projects and repeat this process every year on the 14th of February. Lichess The web can be full off ads, privacy…
Since some months now, I'm happily using Neovim as an external editor with Godot Engine 3 and 4. Godot's internal text editor is fine, but my desire to use Neovim was too big. This blog post covers a minimal setup to get Neovim working with Godot. So you can integrate it directly to your existing configuration or use it as a starting point. Please note that some minimal knowledge about Linux and…
To release a game on Steam, it is good to have at least one video trailer about the game. For releasing only the store page, it doesn't really need to be a video about actual game play. It can only be a teaser, where you announce your game. I don't have much experience with video creation and editing, so I started to search the web once again for Open Source video editing tools. The first I found…
This year I started using Sway on my laptop running the latest stable Debian 12 . Sway is a tiling window manager and a i3wm clone for Wayland. As all tiling window managers, you can start, arrange and align windows directly with the keyboard . I didn't find much on the web about how to setup Sway on Debian, therefore I will share my experience here. Getting it running on Debian needs time and…
I was using VSCode and later VSCodium for some years as my editor for everything. They are awesome tools and are getting the job done. But as you might know, VSCode is built by Microsoft, and has in my opinion some issues , like telemetry , proprietary extensions ecosystem and actually not being FOSS . I think Microsoft did really a great job here and VSCode is a great tool. They especially…
I'm excited to announce that today is my first official day as a full time indie game developer . After three years of CI/CD pipelines, several software migrations and bug fixes at NOI Techpark , it was time to say goodbye. The plan It was never my plan to become full time indie dev, because I thought that making games is just a hobby and a nice way to pass my free time. But things have changed…
To use websockets within your Godot game on itch.io, or any other website, a secure websocket connection, aka wss:// , is mandatory. WARNING : This is probably not the correct way to secure Godot's websocket connections. I'm using this setup only for some real-time auction tool I created for personal use only. Please inform yourself, before using this in production. If you know the correct way how…
Yes, it is worth it, if you like writing (or nowadays, prefer to let some fancy VC backed LLM service do the writing). No worries, my blog posts are still written by crystallizing words out of my by brain. All (grammar and syntax errors) inclusive. If you don't like writing at all, I still recommend having a simple personal webpage with at least the list of your created games. It is also great to…
There is now a new and updated FAQ on 99managers.org, the official website of the game. I will keep this blog post online, because why not? It can be funny to read this in some years, when the game took off or crashed miserably :-) Only time will tell... Wishlist now on Steam! Play the beta on itch.io What teams/players will be in the game? There will be no real teams and players in the game.…
GDScript is a dynamic typed language, but you can add type hints, that make it a Static Typed language. This increases performance and helps to avoid bugs. So let's see how to use Static Types and get the most out of them. Hello Godot's typing system Variables can be defined in the following ways # dynamic var a = " hello " # automatic type guess var b := " hello " # static typing var c : String =…
After I missed this year's CSS Naked Day on 9th of April, I'm happy to participate to the JS Naked Day on 24th of April. My website is not yet ready to work without CSS. All images miss static size tags and everything is messed up and is not usable without CSS right now. So hopefully next year, my website will be ready for CSS Naked Day. Why no JS is important? The web should work without…
Flathub is an Open Source and community driven App Store for any GNU/Linux system. Recently I published my two Godot games Ball2Box and Pocket Broomball on Flathub. Both use Godot Engine 3.5 base image, so this post will focus on version 3.5, but you can check for other Godot versions in the BaseApp . Flathub submission You should always read the official submission docs of Flathub, to know the…
In this post I would like to show what impact open sourcing my games had and why you should consider open sourcing your game too. I already presented at SFSCON 2023 what similar effect publishing my games on F-Droid had on my games. More visibility Having games open sourced, gives you a lot of visibility on Github or your favorite git platform. Your repo might pop up on online searches or even…
My 3D Godot game Ball2Box needs some variety, so I created some portals for new levels. This was not trivial to realize, as expected, and still needs some fine-tuning. But the proof of concept finally works now, and it revealed quite easy to realize, if using the correct Godot functions. Note: These are not portals like you might know from the game "Portal", where you can see through the portal to…
To upload a app to the App Store, you need to create a Developer Certificate. The official Apple guide shows you how to do it easily with a Mac device in its official documentation . But it can be done also without a Mac, using a Linux System, following this guide of a Github user. How to do it Generate a private key and certificate signing request: Firs create a private key with openssl openssl…
Also this year I had a talk at SFSCON 2023 about F-Droid. Abstract On F-Droid you can find thousands of FOSS apps and games for Android. F-Droid brings you visibility in the FOSS community that will provide great feedback, open issues and eventually contribute to your FOSS project. This presentation is about my personal experience with my games Ball2Box, Pocket Broomball and Sn4ke published on…
Godot Resources in a nutshell Godot has a lot cool features built in that make game development a joyful ride. One of this awesome features are Custom Resources . Technically all the parts of Godot that save some data extend the Resource class. They are data containers that can contain all sort of data: translations, audio, textures and much more. This are all built-in Resources, but you can…
The main target of the Godot Engine are game developers. But Godot's easy workflow and functional UI elements, makes it also a good fit for non-game applications. There are already some out there you may know, like Pixelorama , an Open Source 2D sprite editor. A Condor is born Recently I also started creating an application made with Godot Engine, named "Condor". It is a mobile and desktop app for…
Happy 30th Birthday Debian! With this blog post I want to thank all Debian contributors, volunteers and people involved in the project. I've been using a Debian based Distro since the first day of my Linux journey around 2013. I started with Ubuntu, then Linux Mint, followed by Manjaro (the only not Debian, I've been using for some time) and again Linux Mint, always with XFCE. And of course, a lot…
After using libGDX, since 2020 I create my games only with Godot Engine. I find Godot easier and faster than libGDX. There is also to say that libGDX is just a Java Framework and Godot is a full Engine. I already wrote a blog post about libGDX vs Godot comparing the main differences and my experience with both. Now I've decided that I will port my old games to Godot, since it might actually be the…
I just bought a refurbished Pixel 5 to upgrade from my Samsung Galaxy S5. The Samsung is still getting updates on LineageOS 18.1 and working fine for simple tasks, but I felt that it was time to change phone. I looked for a while what phone I should buy, since I wanted a compact phone, so there were not many options. A must have is LineageOS 20 support, so I found this awesome page…
With the following two Github Actions you can export a Godot game to HTML and upload it to itch.io godot-html-export itchio-butler-upload First you need to create a game on itch.io with all the needed information, then a first build can be uploaded with this Github Action. With this simple action you can automate the upload on every push. Of course the branch, game names etc. must be changed…
F-Droid is an awesome app that gives you access to thousands of Free and Open Source Software apps and games. It also respects your privacy, requires no login and lets you know if an app has anti-features like tracking, ads, proprietary assets or if it depends on the proprietary Google Play Services. If an app has ads or tracks you, it is marked as AntiFeatures . I was able to publish Ball2Box to…
You can support me by buying my games on Steam . Leaving a honest review also helps me a lot. I also have an account on Liberapay . Donations This are donations I got before deactivating most donation platforms. Anonymous donated 1€ on 21.10.2024 Baffo donated 10€ on 04.09.2024 "Great games, keep it up!" Anonymous is donating 5€ per year since 10.01.2024 Paul donated 4€ on 31.05.2023 "I just…
Last week I implemented dark mode on my website, without using any JS and only modern CSS media queries. It was pretty sure, that dark mode can only be implemented using JS, but a quick online search proved me wrong. Lets make it dark This css one liner can define how your site looks on a device with dark mode set in the browser settings. @ media ( prefers-color-scheme : dark ) Or if your main…
I create games since 2018 and here I want to share my experience with libGDX and Godot . Both are open source and completely free to use with no revenue share or license prices, like other game development environments have. In total, I currently released 3 games with libGDX and 2 with Godot for Android and iOS. I started in 2018 with libGDX because I knew how to code Java and liked the fact that…
To publish a game to Apple App Store or Google Play Store, screenshots of the game are needed. For Android you need screenshots of mobile devices and tablets and for iOS you need a screenshot of each currently supported device. With a little coding this boring and repetitive task can be automated. Of course, it depends a lot on the type of game and its mechanics, if its even possible to automate…
In my last blog post I explained how my Github Action, to automatically export and upload Godot iOS games to the Apple App Store, works. I created the same action for Android and the Google Play Store and in this post I will explain how it works. I'm using also this action already in my Godot games, like PocketBroomball or Ball2Box . You can find the repo of the action on Github . How does this…
Github Actions allow you to automate repetitive tasks, like exporting your game for iOS and uploading it to the App Store. It also brings the advantage that you don't need a Mac at all. So it saves you time and money, if you're not a Mac user. I'm using the action already in my Godot games like Pocket Broomball or Ball2Box . Note: The action steps and versions change over time. Find the latest…
Swipe to shoot the ball into the box in over 100 levels with only one finger. Can you get all three stars on all levels? 🕹️ 100+ levels and more coming soon... 🌈 20+ different styled balls to collect 📡 Offline game 📺 No ads 💸 No In-App purchases 🕵️♀️ No user tracking 🛑 No permissions 👨💻 Created with Godot Engine 3
The coolest winter sport has finally come to your phone! Win the Championship and unlock all the 100+ real world teams of the following leagues: North American Broomball League Maritime Broomball Association Penrith Broombal competition Ontario League Italian Broomball League Swiss Broomball Association A + B International Women League International League If you want to add your team to the game,…