English | ะ ัััะบะธะน
Full-featured multi-format game engine for hosting local quiz games in the "SIGame" format.
Now supporting both manual folder structures and standard .siq packages. Just drag and drop your existing packs and play!
Full vibe-coded project for hosting local quiz games in the "SIGame" format (similar to "What? Where? When?").
Project is a complete game engine for hosting your own game in offline mode, where participants interact with the host directly, without using mobile devices or apps. Participants only need to be present in the room, and the host needs two screens: one with the admin panel for managing the game, and the second for displaying questions and information to players.
-
Download the game:
-
Open the game:
- Double-click
SIGame.htmlto open it in your browser - this will be the admin panel for the host
- Double-click
-
Open the TV screen for players:
- Click the "Open TV Screen" button in the admin panel
- Or open
SIGame.html?screen=gamein a new browser window/tab - This window should be displayed on a second screen/projector so players can see the questions
-
Set up the game:
- Load a question pack (you can use a ready .siq package or a folder with questions)
- Add players/teams through the admin panel
- Start the game by selecting questions from the grid
- Screen 1 (Admin Panel): Host's laptop/computer - here the host manages the game
- Screen 2 (TV Screen): Projector/large monitor for players - here players see questions and scores
Important: Both screens should be open in the same browser (can be on different devices on the same network, but BroadcastChannel API only works within the same browser/profile). For cross-device operation, additional synchronization setup will be required.
Left: Players View | Right: Admin View
Left: Players View | Right: Admin View
The Host manages the game through the admin panel:
- Loads question packs
- Adds players/teams
- Selects questions from the grid
- Controls content display (shows questions, answers, media)
- Awards/deducts points
- Controls audio and video playback
Players see on the large screen (TV screen):
- Question grid
- Current question with media content
- Player/team scores
- Animations and visual effects
All synchronization between the admin panel and player screen happens automatically via BroadcastChannel API in real-time.
- ๐ฎ Admin panel for game management
- ๐บ Player screen with real-time synchronization
- ๐ต### Supported formats
- Text: Classic text questions.
- Image: Visual questions.
- Audio: Music and sound questions (mp3, wav).
- Video: Video clips (mp4, webm).
- Mashup: Questions with hidden music/text revealed on click.
- Select: Multiple-choice questions with answer options.
- ๐ Synchronization between admin panel and player screen
- โ๏ธ Holiday effects (snow, garlands)
- ๐ Animated Results Screen
- ๐ Confetti animations
- ๐ฏ Special cards (cat in a bag, bet, auction)
src/
โโโ types/ # TypeScript types and interfaces
โโโ state/ # State management
โโโ services/ # Business logic services
โ โโโ StorageService.ts
โ โโโ SyncService.ts
โ โโโ FileService.ts
โโโ ui/ # UI components
โ โโโ BaseUI.ts
โ โโโ AdminUI.ts
โ โโโ TVScreen.ts
โโโ media/ # Media controllers
โ โโโ AudioController.ts
โ โโโ VideoController.ts
โโโ utils/ # Utility functions
โ โโโ helpers.ts
โ โโโ fileDetector.ts
โ โโโ i18n.ts
โโโ app.ts # Main application entry point
โโโ styles.css # Application styles
npm install# Development mode with hot reload
npm run dev
# Build for production
npm run build
# Type checking
npm run type-check
# Serve built files
npm run serveThe project uses Webpack to bundle everything into a single HTML file:
npm run buildThe output will be in SIGame.html - a single, self-contained HTML file that can be opened in any browser.
root/
โโโ round1/
โ โโโ Topic1 - 100/
โ โ โโโ audio.mp3
โ โ โโโ image1.jpg
โ โ โโโ image2.jpg
โ โโโ Cat in a Bag - 200/
โ โ โโโ special.txt
โ โ โโโ audio.mp3
โ โ โโโ question.txt
โ โ โโโ answer.txt
โ โโโ ...
โโโ round2/
โโโ ...
Important:
- Question folder name must contain the score in points (e.g.,
Topic1 - 100,Cat in a Bag - 200) - Round name is the first-level folder name
- Category name is extracted from the question folder name (part before
-)
Definition: Audio file + 2+ images, without question.txt
File structure:
Topic - 100/
โโโ audio.mp3 (or .wav, .ogg, .m4a)
โโโ image1.jpg (first image - music part of mashup)
โโโ image2.jpg (second image - text part of mashup)
Features:
- Players must guess two parts of the track
- Images gradually open (parts of the track)
- Answer (mashup name) is shown at the end
Answer: Specified in answer.txt or taken from audio file name
Definition: Audio file + question.txt + answer.txt
File structure:
Topic - 100/
โโโ audio.mp3 (or .wav, .ogg, .m4a)
โโโ question.txt (question text)
โโโ answer.txt (answer text)
Additional media (exact file names):
For questions:
questionImage.jpg(or.png,.jpeg,.webp) - image for questionquestionVideo.mp4(or.webm,.avi,.mov) - video for questionquestionAudio.mp3(or.wav,.ogg,.m4a) - additional audio for question
For answers (hidden until "Show Answer" is pressed):
answerImage.jpg(or.png,.jpeg,.webp) - image for answeranswerVideo.mp4(or.webm,.avi,.mov) - video for answeranswerAudio.mp3(or.wav,.ogg,.m4a) - audio for answer
Example with media:
Topic - 100/
โโโ audio.mp3
โโโ question.txt
โโโ questionImage.jpg (image for question)
โโโ answer.txt
โโโ answerVideo.mp4 (video with answer)
Definition: Video file + question.txt + answer.txt
File structure:
Topic - 100/
โโโ video.mp4 (or .webm, .avi, .mov)
โโโ question.txt (question text)
โโโ answer.txt (answer text)
Additional media (exact file names):
For questions:
questionImage.jpg(or.png,.jpeg,.webp) - image for questionquestionVideo.mp4(or.webm,.avi,.mov) - additional video for questionquestionAudio.mp3(or.wav,.ogg,.m4a) - audio for question
For answers:
answerImage.jpg(or.png,.jpeg,.webp) - image for answeranswerVideo.mp4(or.webm,.avi,.mov) - video for answeranswerAudio.mp3(or.wav,.ogg,.m4a) - audio for answer
Example with media:
Topic - 100/
โโโ video.mp4
โโโ question.txt
โโโ answer.txt
โโโ answerImage.jpg (image with answer)
Definition: question.txt + answer.txt, without audio/video files
File structure:
Topic - 100/
โโโ question.txt (question text)
โโโ answer.txt (answer text)
Additional media (exact file names):
For questions:
questionImage.jpg(or.png,.jpeg,.webp) - image for question (recommended!)questionVideo.mp4(or.webm,.avi,.mov) - video for questionquestionAudio.mp3(or.wav,.ogg,.m4a) - audio for question
For answers:
answerImage.jpg(or.png,.jpeg,.webp) - image for answeranswerVideo.mp4(or.webm,.avi,.mov) - video for answeranswerAudio.mp3(or.wav,.ogg,.m4a) - audio for answer
Example with media:
Topic - 100/
โโโ question.txt
โโโ questionImage.jpg (image for question)
โโโ answer.txt
โโโ answerImage.jpg (image with answer)
Create a special.txt file in the question folder to create a special card.
special.txt format:
cat
Special card description
Can be multiple lines
Special card types:
cat- Cat in a Bagbet- Betauction- Auctionspecial- Special
Example:
Cat in a Bag - 300/
โโโ special.txt
โโโ audio.mp3
โโโ question.txt
โโโ answer.txt
special.txt content:
cat
This question can be passed to another team (description of what you want to show players on the cat in a bag screen)
Important: For all question types (audio, video, text), you can add media to answers. Answer media is hidden on the player screen until the "Show Answer" button is pressed in the admin panel.
Display priority: Image > Video > Audio
๐ฆ Example pack: Example Question Pack - a ready-made example pack structure with various question types and special cards.
MyGamePack/
โโโ Round 1 - Music/
โ โโโ Pop - 100/ # Audio question
โ โ โโโ audio.mp3
โ โ โโโ question.txt
โ โ โโโ questionImage.jpg
โ โ โโโ answer.txt
โ โ โโโ answerImage.jpg
โ โ
โ โโโ Pop - 200/ # Mashup question
โ โ โโโ audio.mp3
โ โ โโโ image1.jpg # First image (music)
โ โ โโโ image2.jpg # Second image (text)
โ โ โโโ answer.txt
โ โ
โ โโโ Pop - 300/ # Audio question with video in answer
โ โ โโโ audio.mp3
โ โ โโโ question.txt
โ โ โโโ answer.txt
โ โ โโโ answerVideo.mp4
โ โ
โ โโโ Pop - 400/ # Audio question with audio in answer
โ โ โโโ audio.mp3
โ โ โโโ question.txt
โ โ โโโ answer.txt
โ โ โโโ answerAudio.mp3
โ โ
โ โโโ Pop - 500/
โ โโโ Rock - 100/
โ โโโ Rock - 200/
โ โโโ Rock - 300/ # Cat in a Bag (special: cat)
โ โ โโโ special.txt # Contains: "cat\nDescription of cat in a bag round"
โ โ โโโ audio.mp3
โ โ โโโ question.txt
โ โ โโโ answer.txt
โ โโโ Rock - 400/
โ โโโ Rock - 500/
โโโ Round 2 - Video/
โ โโโ Movies - 100/ # Simple Video question
โ โ โโโ video.mp4
โ โ โโโ question.txt
โ โ โโโ answer.txt
โ โ
โ โโโ Movies - 200/ # Video question with media
โ โ โโโ video.mp4
โ โ โโโ question.txt
โ โ โโโ questionImage.jpg
โ โ โโโ answer.txt
โ โ โโโ answerVideo.mp4
โ โโโ Movies - 300/
โ โโโ Movies - 400/
โ โโโ Movies - 500/
โ โ
โ โโโ TV Shows - 100/
โ โ
โ ...
โ โโโ TV Shows - 500/
โ
โโโ Round 3 - Text/
โโโ History - 100/ # Simple Text question
โ โโโ question.txt
โ โโโ answer.txt
โ
โโโ History - 200/ # Text question with image
โ โโโ question.txt
โ โโโ questionImage.jpg # Image in question
โ โโโ answer.txt
โ โโโ answerImage.jpg # Image in answer
....
Folder structure:
- Round name = first-level folder (
Round 1 - Music) - Category name = part of question folder name before
-(Pop,Rock,History) - Score = number after
-(100,200,300,400,500)
File sizes:
- Try to optimize media files for fast loading
- Recommended image size: up to 2MB
- Recommended video size: up to 50MB
Text files:
- Use UTF-8 encoding
- Line breaks are supported
- HTML tags can be used (carefully!)
MIT
Full license text is available in the LICENSE file.
Contributions are welcome! Please feel free to submit a Pull Request.



