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.
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.
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.
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.
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.
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.
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.
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.
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.
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.