Skip to content

KonradKrol/sjsim-2026

Repository files navigation

Sj.Sim Predazzo Edition

Sj.Sim Predazzo Edition is a continuation of the ski jumping simulator series Sj.Sim. The player takes the role of a coach or director during competitions in Predazzo, Italy in 2026.

The game is part of a challenge to build a complex ski jumping simulator in the shortest possible time, while showing the capabilities of modern AI tools (used: Cursor, ChatGPT). The plan was to finish the game in 24 hours, but version 1.0.0 was released after about 53 hours due to early bugs.

Main features

  • About 90 male jumpers and 50 female jumpers
  • Hills: 🇯🇵 Sapporo HS137, 🇮🇹 Predazzo HS107, HS147
  • Detailed competition schedule inspired by the 2026 Winter Olympics
  • Individual, mixed team, and duet competitions
  • Custom team selection for Sapporo and full control over squads for training, trial rounds, mixed, and duet events
  • Automatic AI team selections
  • Automatic gate and wind changes
  • Gate control in director mode, and the option to lower the gate for your athletes in coach mode
  • Modern dashboard-style UI with results archive
  • Small story elements like current “favorite”, “dark horse”, and “biggest disappointment”
  • Relatively realistic jump simulation based on athlete skills, wind, and probability, inspired by another game by the author — Ski Jump Draft
  • Save and load game progress

Screenshots

image image image image image

For developers

Monorepo for the Sj.Sim Predazzo Edition ski jumping simulator. The project uses Electron for the desktop app, React + Vite for the UI, and TypeScript in all packages.

About the creation process

I don't even know what TypeScript workspace is or how to build a custom component in React. Almost everything has been written by Cursor/ChatGPT. As the game developer, I focused on a conceptual work and "putting everything together".

Workspaces

  • @sjsim/core – shared logic and dependencies
  • @sjsim/ui – React UI (Vite, Zustand)
  • @sjsim/app – Electron app
  • @sjsim/infra – future integrations and storage

Getting started

npm install npm run dev

Scripts

  • npm run dev – start app with hot reload
  • npm run build – build all packages
  • npm run typecheck – check types
  • npm run lint – run ESLint
  • npm run format[:write] – check or fix formatting
  • npm run clean – remove build files

Release builds

Built with Electron Builder:

  • build all packages
  • copy UI build to app
  • apply fake names (release only)
  • package app

Commands:

  • npm run release:linux – Linux (AppImage + .deb)
  • npm run release:win – Windows installer
  • npm run release:mac – macOS (requires macOS)

Installing

Windows: Download .exe and run it. If SmartScreen warns, choose More info → Run anyway.

Linux:

  • AppImage: chmod +x ...AppImage then run
  • Debian/Ubuntu: sudo dpkg -i ...deb

macOS: Download .dmg, move to Applications, run it.
If blocked, allow it in System Settings → Privacy & Security.

Developer logs

console.log does not appear in terminal during npm run dev.

Check logs in:

  • Electron: View → Toggle Developer Tools → Console
  • Browser: open http://localhost:5173 → F12 → Console

Look for:

  • [SJSIM] – simulation logs
  • [SJSIM-CALLUPS] – AI selection logs

About

Sj.Sim Predazzo 2026 Edition brings back the 2023 ski jumping results simulator (Sj.Sim, Qt Widgets). The remake was meant to be finished in 24 hours to show off AI capabilities, but it actually took 2–5 days depending on the version due to early bugs.

Topics

Resources

License

Stars

Watchers

Forks

Contributors