Headlined is a competitive browser game where two snipers face off in a procedurally generated sunset city. Players enter the same urban arena, battle in real time, and leave behind AI-generated headlines that retell the story of their match.
Play now: https://headlined.fun
- 1v1 real-time sniper duels
- Shared procedural city layout per match
- Dynamic enemy waves and sniper mechanics
- Custom newspaper headlines based on gameplay performance
- Earn NFT badges and weapons as digital trophies
Players enter the same city, generated from a shared seed. Every match is unique yet fair — both players see the same city, same enemies, and the same RNG.
Players can mint sniper rifles and earn digital badges through on-chain actions:
- Sniper rifles minted via Solana + Metaplex. Pick the one with attributes you like!
- After matches, check out your arsenal! You might be eligible for a badge.
- NFTs are minted through a collection only accessible through a PDA. No external weapons can participate in the game!
Thanks to Typescript + Railway, we're built for browser-based, 2d entertainment.
- Frontend: TypeScript, Three.js, React Framework
- Backend: Socket.IO, Supabase, Railway
- Blockchain: Solana, Anchor, Metaplex, vanilla Rust
- Deployment: Hosted at headlined.fun
- Compatible with most Solana wallets. Particularly optimized for Solflare and Phantom.
- Phantom Users Only: Red Transaction Simulation does not internally work on some browsers. This will not affect the transaction.
- Why aren't my shots hitting when I'm not aiming? Because to win, you have to aim... :)
- I have come across an odd error I would like to be addressed?
- Reach out to us at headlined77@gmail.com. I would love to hear from you and will fix it immidiately. (And shoutout you)
git clone https://github.com/yourusername/headlined.git
cd headlined
npm install
npm run dev