Posted on March 14, 2023

Peer-to-peer communication with WebRTC

The internet typically relies on a client-server model, where a server hosts websites or applications, and users access them through their devices. However, this model may not be suitable for certain functions, such as file sharing or video calls. That’s where peer-to-peer communication comes in, enabling users to directly connect and communicate without a server. To make building peer-to-peer applications easier, developers created the WebRTC protocol.

Posted on December 4, 2022

Legal and moral issues of AI creativity

Humanity is making art since the dawn of time. With the improvement in technology, the entry barriers for starting a creative endeavor had been steadily lowering: what used to require lifetime training can now be achieved by hobbyists. Most recently, machine learning models have entered the scene, distilling the experience of generations of artists into a set of weights everyone can download and use.

Posted on November 11, 2022

Android apps

Mobile devices currently generate most of the traffic on the Internet, with Android being the most popular mobile operating system. I find it amazing that the whole ecosystem is open, and one can write applications for everyone with free tools. While I don’t write mobile apps professionally anymore, I still occasionally create small programs for personal use.

Posted on October 18, 2022

Importing 3D characters workflow

In my point-and-click adventure game, I use 3D characters. They are easier to get online than 2D ones, and modifying them or adding animations is also easier. On the other hand, the whole process, from downloading the free assets to getting them into Godot is quite involved, so I decided to document it here.

Posted on July 17, 2022

Environment design in Blender

Recently, I got into creating 3D environments in Blender. While it involves a lot of artistic elements, there are some rules and workflows that make the process easier. I watched dozens of youtube tutorials about the topic and wrote down the lessons I learned in this post. Warning: this is a long read.

Posted on May 22, 2022

Cloud computing

In recent years, cloud computing became very popular: it is both used on single pages with CVs and governments’ apps worth hundreds of millions. As I wanted to publish online a couple of smaller projects, I played with a number of cloud-based services to see how easy to use and costly are they for a hobby project.

Posted on April 18, 2022

Geometry nodes

Blender recently introduced a new way of manipulating 3D meshes: geometry nodes. It combines a standard node-based UI (similar to the one used for constructing materials) with a script-like expressiveness to control each vertex arbitrarily. I learned the basics of geometry nodes and did a simple project using the new mechanism to try them out.

Posted on March 23, 2022

Bézier curves and 3D modelling

To improve my 3d modeling skills in Blender, I made models for a set of chess pieces. Given their rotational symmetry, I constructed them as traces that Bézier curves leave when they are rotated around an axis.

Posted on March 13, 2022

Historia jednej paczki

Here goes a story of a package with private items that I sent before moving from Switzerland to Poland. One may be surprised that this mundane topic is granted a blogpost, but the story is filled with absurdities. As I am afraid they would not be understandable if I tried to express the drama in English, this post is exceptionally written in Polish.

Posted on December 1, 2021

Physically-based rendering: materials

3D scenes consist of objects, each of which has a shape and a material. The shape is defined through a mesh: a collection of vertices, edges, and faces living in a 3D world. The material describes the color of the object and how it reflects and transmits light. In this post, I inspect a popular way of expressing the material: a principled BSDF to see how its numerous parameters influence the look of an object.

Posted on November 28, 2021

Physically-based rendering 101

Posted on October 27, 2021

Easy-to-use text-to-speech

Posted on October 22, 2021

Learning Blender

Posted on September 29, 2021

T.I.M.E stories expansion graphic workflow

Posted on September 6, 2021

Life after MIM UW analysis: making of

Posted on July 6, 2021

Tax residency for fun and profit

Posted on June 20, 2021

Compressed inserts for board games

Posted on May 9, 2021

Digital painting exercises

Posted on April 5, 2021

Choosing game engine

Posted on January 30, 2021

Starting with digital painting

Posted on December 7, 2020

Escape from Auschwitz: a fan T.I.M.E stories scenario

Posted on October 10, 2020

Rushing through Proko courses

Posted on July 11, 2020

Drawabox: 14 months later

Posted on June 19, 2020

Digital version of T.I.M.E stories

Posted on March 24, 2016

--init