Biography

Behind the Code

Paul Kocian

Hello, I'm Paul Kocian

aka OrangoMango

I am currently a first-year student at the University of Pisa, and a graduate of Liceo Filippo Buonarroti.

My coding journey started around the age of 13 with Python, building a simple calculator and GUI apps. By 14, I discovered Java, and I started making new games, tools and applications.

Verruca

Rocca della Verruca, 19 Apr 2025

Malbacco

Malbacco, 26 Oct 2025

Academic Journey

University of Pisa

First Year Student

On my way trying to understand computer science fundamentals, algorithms, and mathematics.

Liceo Filippo Buonarroti

Graduated with 97/100

Where I started coding my 3D engine and most of my stuff on weekends and in the free time.

Why "From Scratch"?

I avoid pre-made game engines like Unity because I love understanding how things work on a low level. My inspiration was Minecraft (built in Java), which led me to create my own 3D engine using JavaFX and to implement all the maths that I learned through the time.

"If something looks easy, then you are doing it wrong."

The Raspberry Pi Challenge

Unlike developers with NASA computers, I build my 3D engine on a Raspberry Pi 4B with only 2GB of RAM. This constraint forces me to write incredibly efficient code.

  • Hardware: Raspberry Pi 4B (2GB)
  • OS: Linux
  • IDE: Geany (Very lightweight)

The Mathematics of 3D

Building a game engine from scratch is the next step in linear algebra and computer graphics. Without external libraries, I had to implement the core 3D math manually:

  • Matrices & Vectors: Handling translation, rotation, and projection matrices to convert 3D coordinates into 2D screen pixels.
  • Texture Rendering: Implementing UV mapping and affine texture mapping to apply images onto 3D surfaces correctly.
  • Efficiency: I'm still working on this, but the main goal here is writing highly optimized loops for rasterization to maintain playable framerates on low-end hardware like the Raspberry Pi.