
Project description
A 2D game project inspired by the classic Ice Climber. Originally built years ago and recently updated to showcase modern tooling with LibGDX and TeaVM. The game features vertical climbing mechanics, destructible blocks, simple enemy AI, and Box2D-based lighting. It includes three full levels, JSON score persistence, and a modular architecture that runs on desktop and in the browser. Textures were created in Adobe Illustrator.
Key features
Textures and graphic assets made in Adobe Illustrator
Realistic 2D physics using the integrated Box2D engine
Real-time dynamic lighting with Box2DLights
Three playable worlds with difficulty progression and animated transitions
Cross-compilation to JavaScript for plugin-free browser play
High-score and record persistence in JSON
Custom UI (Freezing UI) built with Scene2D
Automated CI/CD deployment to GitHub Pages
Enemy AI (Yeti and Bear) powered by gdx-ai
Challenges and solutions
Web portability with TeaVM
The hardest part was migrating legacy Java to the web. I used TeaVM to transpile bytecode to JavaScript, fixing reflection issues and tuning asset loading for network environments.
Maintenance and refactoring
I upgraded the project to LibGDX 1.14.0 and Gradle 9.4.0 with a modular layout (core, desktop, teavm) separating business logic from platform-specific rendering.
2D physics and lighting
I wired a simplified day/night cycle (Sun + RayHandler) to the Box2D world for an immersive winter atmosphere.
Screenshots



Technologies used
Other projects

Leberp — ERP ecosystem
B2B cloud ERP (sales, warehouse, logistics, treasury, purchasing, analytics, and POS): React SPA, Electron desktop client, and .NET backend on Azure.

Beauty website — lash extensions
Static marketing site for a beauty business: services, pricing, contact, map, and bilingual content (English / Spanish).