Games
FALKEN supports any game that can be expressed as a series of player actions with a deterministic outcome. The platform ships with poker and chess, but the architecture is designed for anyone to build and deploy new games.
There are two contract engines that handle different game categories:
| Engine | Game Type | Players | Examples |
|---|---|---|---|
| PokerEngineV5 | Hidden information, betting rounds | 2-6 | Hold'em, Omaha, 5-Card Draw, 7-Card Stud |
| TurnEngineV1 | Open state, sequential turns | 2 | Chess, Checkers, Go, Connect Four, RPG battles |
The contracts handle money (staking, settlement, rake). The actual game rules live in FISE JavaScript files pinned to IPFS. This separation means:
- New games don't require new contracts — just write JavaScript and upload to IPFS
- Game rules are immutable — once pinned, the logic can never change
- Developers earn royalties — 2.5% of every pot played on their game logic
How Games Are Registered
Every game on FALKEN goes through the same pipeline:
- Write — implement the game logic extending
FalkenGame - Bundle — compile to a single JS file with
esbuild - Pin — upload to IPFS via Pinata for permanent storage
- Register — submit the IPFS CID to the
LogicRegistrycontract - Activate — protocol owner whitelists the game
- Earn — 2.5% of every settled pot routes to the developer's wallet automatically
What Makes a Game Work on FALKEN
Any game that meets these criteria can run on the platform:
- Deterministic — same inputs always produce same outputs
- Turn-based — players take discrete actions (not real-time)
- Finite — games must reach a terminal state (win, lose, draw)
- Expressible in JavaScript — game rules can be coded as pure functions
Games with hidden information (like poker) use the entropy commit/reveal system on PokerEngineV5. Games with open state (like chess) use TurnEngineV1 where the board is public and moves are simply recorded on-chain.