Andev Labs

Labs

Personal projects and experiments that are not only games: an engine, physics, a card game and this very site.

andevengine

  • Active
  • 2026

The small 2D TypeScript engine behind the games on this site. It is small on purpose: just enough to understand every piece.

What I explored

  • A requestAnimationFrame loop with delta time in seconds
  • Keyboard and mouse input as a set of pressed keys
  • 2D vectors and, in each game, AABB, circle–rectangle and restitution-based collisions
  • A linearly interpolated camera in Angry Blocks
private readonly loop = (currentTime: number): void => {
  const deltaTime = (currentTime - this.previousTime) / 1000;
  this.previousTime = currentTime;

  this.update(deltaTime);
  this.render();

  this.animationFrameId = requestAnimationFrame(this.loop);
};
The engine loop

andrepatrinicola.com

  • Active
  • 2026

This site. Static, but with per-language routes, themes and a home page that turns its own text into a game level.

What I explored

  • Pre-rendering every route with React Router, served from S3 and CloudFront
  • Three languages with typed dictionaries and their own URLs
  • Light and dark themes with light-dark() and no flash on load
  • A ball colliding with DOM text boxes on the home page
  • React Router
  • TypeScript
  • Vite
  • AWS S3
  • CloudFront
  • GitHub Actions

Truco

  • In progress
  • 2026

The Brazilian card game, for desktop, in Lua with the LÖVE framework.

What I explored

  • Lua classes with the classic library
  • Deck, hands, table and round resolution with a timer
  • Card sprites drawn with nearest-neighbour filtering, no smoothing

GamePhysics

  • Experiment

Four short game-physics experiments: bounce, gravity, projectile and orbit.

What I explored

  • Integrating velocity and position every frame with delta time
  • An orbit driven by inverse-square attraction