Archive

GameNight is out of beta, and your poker night can be played online

GameNight is out of beta. Version 1.0.0 went up on 21 September, and the build counter that used to sit in the footer went with it. First commit was 31 March, so it took a shade under six months of real game nights to earn a release number.

Three more releases followed it inside two days. Two of those are worth a post.

The timer you build yourself

The designable board is out of beta too. It is the Tournament Timer now, and the original full-screen clock is Tournament Timer Classic.

What makes the new one worth the switch is that you lay it out yourself. Cells for the clock, the blinds, the payout table, the chip counts, a welcome ticker along the bottom, a live video feed if the room wants half an eye on one. Every cell takes its share of the screen from the row and column weights, so nothing ever covers the clock or hangs off the edge. And a layout is the whole board, not the paint on it: what is up there, where it sits, what takes over during breaks, and what the phones get when somebody scans the QR code off the TV.

If you would rather not start from a blank board, there are six ready-made ones to import. Neon Nights, Dusty Trail Saloon, Zen Minimal, Emerald High Roller, Pixel Arcade, and Snowman Poker League at Griff's, which carries a phone screen of its own for whoever scans that code. Watch Party makes seven, built around the video cell, with the stream down one side and the clock up the other. Each file brings its own artwork and sounds along with it, so importing one is the entire setup, and they land in your library to hack about afterwards. Old links, bookmarks and second screens already casting the clock all still go to the right page.

FinalTable

This one has not come up here before. FinalTable is a poker server I have been building alongside GameNight, and it runs the kind of tournament you already run in a kitchen.

A FinalTable table in a browser: eight seats around a green oval, the blind level and countdown at the top, hole cards and the fold/call/raise bar at the bottom

People register by code or by link. The game starts at a time you set, on a blind structure you picked or edited, antes and breaks included. Tables balance and break as players bust, and the field merges down to one final table. Late registration, re-entry and an add-on at the first break are all there if the host turns them on. Payouts get worked out for you, and the bubble is played hand for hand. The host can pause, step the level, move somebody to another seat, or take them out of the game.

The FinalTable waiting room: the tournament name, a five-character join code with copy buttons, the list of registered players, and the structure summarised underneath

The parts that matter on a real night are duller than any of that. Lose your connection or reload the page and you come back to your seat with your stack. A seat that has gone quiet never gets played for you: it sits out, checks when checking is free, folds to a bet, and blinds down until you come back or bust. Restart the server in the middle of a tournament and the field comes back too, because it gets written down between hands. Anybody can watch from a rail link. And if you want to see it move before you invite a soul, the create form will fill the table with demo bots that call far too much.

The same table on a phone, one screen, with the level, the seats and the action buttons

GameNight sets the table up, and gets the night back

The two are joined now. That is v1.2.0.

A poker tournament in the event editor has a Played choice: in person, or online at a connected app. Pick online and the event page grows a Played online at section. Before the table exists, you and your managers see what is going to be sent. The guest list (you host, every approved invitee with an account goes, and anybody without one is named as not sent), the blind schedule, chips, seats, buy-in and re-entry. Under it sits a Set up the table button.

One press makes the game on FinalTable with your roster and your blinds, then tells everyone on the guest list where to play. The join link arrives as an ordinary GameNight notification. Nobody has to make a second account. FinalTable's sign-in page is a Sign in with GameNight button, and you get seated under the name you already use.

After that, the section is the table's status, refreshed every fifteen seconds while the tab is open. Registering with its start time, then the level, the blinds, the time to the next level and how many players are left. Paused, if somebody paused it. An emptied room, if everyone wandered off. Play at FinalTable shows for anyone with a seat and Watch for anyone who can see the event, with copy buttons next to both. Managers also get Start now, Pause, Resume, Take out of play beside each seated player, and Cancel the game. When FinalTable refuses one of those, you get its refusal in its own words instead of a shrug.

What comes back is the half I care about. FinalTable reports the game while it is happening: the clock starting, every level and break, every pause, every bust-out and re-entry, and the finish. GameNight writes all of it the way you would have written it by hand on Manage Game. A bust-out becomes a finishing position, provisional until late registration and re-entry close. A re-entry clears that position and counts as a rebuy. The finish records every place, marks who actually played as bought in, sets the session to finished, and runs the same hook the Finish button runs. So payouts, points, bounties and entry tickets come out of this event's payout structure, and the league table picks the night up like any other. FinalTable's own prize figures stay on the status line, where they cannot argue with yours.

Delete an event with a live table and the game gets called off first. Remove somebody from a league, or delete their account, and they are signed out of every FinalTable that holds a key. After a finish or a cancel, you can set the table up again.

Connecting the two takes about a minute. FinalTable's administrator makes a game key on its Admin page, which is shown once. A GameNight admin pastes it into that app's Game key field under Site Settings → Connected Apps, where it is stored encrypted and shown afterwards only as Set or Not set. There is a Test button beside it that makes two requests which create nothing, and it reports FinalTable's own answer when the key is wrong.

What is next

On the FinalTable side, the big one is games other than Hold'em. The engine deals two cards and makes the best five out of seven, and that assumption runs all the way down into the hand evaluator. Omaha changes the deal and adds the must-use-two rule. Stud changes the street structure entirely. Draw needs a discard phase that has no equivalent anywhere in the code. I would rather do that once, properly, on the shape of the engine than bolt four special cases onto a Hold'em loop, so it is going to take a while.

On the GameNight side, WhatsApp comes out of alpha next, with two-way RSVP to match what SMS already does, and a preferred-channel setting so people hear from you where they actually read things. After that the work is about handing the site to strangers who are not me: settings driven from the environment instead of assuming one install, registration and access controls, an onboarding wizard for a fresh site, and two-factor for admins. Then push notifications through the PWA, and calendar integrations, which is the request that comes up most.


Both are open source: GameNight and FinalTable. The running site is gamenight.poker. If you get a table going on a real night, say how it went in the comments.

Sign in to leave a comment.

New in the GameNight timer: put a live stream on the board

The classic GameNight timer has had a streaming panel for a while: paste a link, a video shows up next to the clock. The new layout engine launched without it. As of v0.2111 it's there, and the layout version is the better one.

Paste a YouTube, Twitch, Vimeo or Kick link into any cell and the player renders right inside the layout. A video is a cell like any other. It gets its share of the screen from the row and column weights, which means it can never cover the clock and never hang off the edge of the TV — the flexbox engine that keeps text honest keeps video honest too. Want the stream bigger? Give its box more weight, same as anything else.

The details came along for the ride:

  • Level chimes and the last-minute countdown duck the video's audio, then bring it back a few seconds later. YouTube and Vimeo only — they're the players that allow it. Twitch just keeps talking, same as it did on the classic timer.
  • Twitch links figure out the right parent domain on their own, so a layout file built on one install plays on another.
  • A link the timer doesn't recognize draws a dashed placeholder instead of an embed. Layouts are files people share, and nobody gets to smuggle an arbitrary iframe onto your wall through one.

Watch Party

Main screen, TV and phone:

Watch Party layout on a TV: video panel on the left, clock and blinds on the right

Watch Party layout on a phone

Built around the new cell to show what it's for. The stream takes the left half with a LIVE tag under it, the clock, level and blinds stack up the right side, and the numbers worth glancing at — players, average stack, pot, next break, rebuys — run in a bar across the bottom. The clock goes amber on break, gray when paused, red at GAME OVER. One screen everywhere; on a phone it just squeezes down, as the second shot shows. Quiet by design: a chime at each new level and a tick through the last minute, both of which dip the video's volume instead of fighting it.

The placeholder in the screenshots is the first video ever uploaded to YouTube. Nineteen seconds of elephants. Click the cell in the editor and swap in your table cam, the final-table broadcast, or whatever the room wants half an eye on.

Download Watch Party (4 KB)


Wiring it into a layout you already have takes four clicks: open it in Timer Layouts, click a cell, hit Use a video stream instead, paste the link. The field checks the link as you type and warns in red when it's one the display won't load. The video cell needs GameNight v0.2111 or newer; the Watch Party file imports like the six from the last post — Timer Layouts → Import, pick the file. If you point one of these at something good on a game night, post it in the comments.

Sign in to leave a comment.

Six ready-to-steal tournament timer layouts for GameNight

The GameNight tournament timer got a full layout editor last week. Here are six ready-made themes built with it, screenshots and all, with the layout files free to grab at the bottom of each section.

Quick primer if you haven't touched the new timer yet. A layout isn't just a skin, it's the whole board: what's on it, where it sits, what screen takes over during breaks, and what the phones see when someone scans the QR code off the TV. Each file below carries its own artwork and sounds inside it, so importing one is the entire setup. Open Timer Layouts in GameNight, hit Import, pick the file, done.

For each layout you get the full tour: the main screen and the break screen, each shown twice, once as the TV sees it and once as a phone sees it. That's not four designs, it's one layout deciding what to show based on the game state and what kind of screen is looking at it. Neatest trick in the whole feature.

Neon Nights

Main screen, TV and phone:

Neon Nights main screen on a TV

Neon Nights main screen on a phone

Break screen, same pair:

Neon Nights break screen on a TV

Neon Nights break screen on a phone

Vegas at 2am. Cyan clock in a glowing frame, magenta blinds panel, everything floating on near-black purple, and the break screen tells everyone to TAKE FIVE. This is also the loudest of the six by a mile: it plays a horn and literally announces the new blinds out loud at every level, ticks and flashes through the last minute, and hits a casino fanfare when break starts. If your bar is already noisy, this one can shout over it.

Download Neon Nights (7 KB)

Dusty Trail Saloon

Main screen, TV and phone:

Dusty Trail Saloon main screen on a TV

Dusty Trail Saloon main screen on a phone

Break screen, same pair:

Dusty Trail Saloon break screen on a TV

Dusty Trail Saloon break screen on a phone

Wood planks, cream lettering, gold double borders. The blinds are THE STAKES, the players left are outlaws still standing, and the payouts are BOUNTIES, because once you commit to a theme you commit. The break screen calls LAST CALL AT THE BAR, which in an actual bar is just useful information. Sound-wise it's polite, a chime on level changes and a soft one at break.

Download Dusty Trail Saloon (140 KB)

Zen Minimal

Main screen, TV and phone:

Zen Minimal main screen on a TV

Zen Minimal main screen on a phone

Break screen, same pair:

Zen Minimal break screen on a TV

Zen Minimal break screen on a phone

The opposite of everything above. Black screen, big clock, the blinds, one small line of level and player count. The break screen is the word "break" in lowercase gray and nothing else. No QR, no panels, no sounds, no nothing. Made for rooms where a flashing casino screen would feel wrong. Two kilobytes. The whole thing is two kilobytes.

Download Zen Minimal (2 KB)

Emerald High Roller

Main screen, TV and phone:

Emerald High Roller main screen on a TV

Emerald High Roller main screen on a phone

Break screen, same pair:

Emerald High Roller break screen on a TV

Emerald High Roller break screen on a phone

Deep green felt, thin gold rules, and the prize pool gets equal billing with the blinds, which tells you who this one is for. The break screen says INTERMISSION like it's the opera, and keeps a QR code up so latecomers can join the watch party mid-break. Quiet triggers: a chime each level, and one single fanfare when the table gets down to its last nine.

Download Emerald High Roller (28 KB)

Pixel Arcade

Main screen, TV and phone:

Pixel Arcade main screen on a TV

Pixel Arcade main screen on a phone

Break screen, same pair:

Pixel Arcade break screen on a TV

Pixel Arcade break screen on a phone

Hard-edged 8-bit blocks in colors that should not work together and somehow do. LVL and POT cartridges across the top, a green CRT clock, payouts listed as HI-SCORES, and the break screen just says INSERT COIN. The paused clock literally says PAUSED like the game froze. Countdown sound and a screen flash in the last minute, and it says "game over" out loud when someone wins.

Download Pixel Arcade (5 KB)

Snowman Poker League at Griff's

Main screen and break screen on the TV:

Snowman Poker League main screen on a TV

Snowman Poker League break screen on a TV

This one has a third screen the others don't: a dedicated phone screen. Anyone who scans the QR gets this stripped-down view instead of a squeezed copy of the TV, and during breaks it flips its own break banner up top. During play, then on break:

Snowman Poker League phone screen during play

Snowman Poker League phone screen during a break

And this one's different in another way: it's a real skin for a real league that plays at a real pub, included as the "here's what your bar could look like" example. Glossy plates with the labels painted right into the artwork, the pub's actual wall mural on the break screen, neon clovers down the wall edges, and the league's snowman mascot parked on the points bar. It's a free league that plays for points, so the bottom bar tracks points instead of cash. Heaviest file of the six because all that artwork rides along inside it.

Download Snowman Poker League (916 KB)


All six import into any GameNight install running v0.2089 or newer. They land in your own library, so hack away at them in the editor: recolor, reword, swap the artwork, steal one screen out of one and bolt it onto another. If you build something good out of these, post it in the comments.

Sign in to leave a comment.

GameNight Update

GameNight - what's new (May 24–29)


A run of timer updates this week, with a lean toward iPad/touch and streaming. Here's the rundown.


Circular countdown clocks

The clock now has a Style setting. Classic MM:SS is still the default, but you can switch to:

- Radial ring - a circle that drains as the level counts down, time in the center. Read the level at a glance from across the room.

- Radial with checks -  same idea, but split into segments that check off one by one. Pick how many segments you want.


Both keep the green → amber → red color cues (and the final-seconds pulse), and you can set ring thickness and sweep direction.


Cleaner layout editor

Entering edit mode used to dump every element onto the screen at low opacity, including the ones you'd hidden. Now there's an Objects panel down the side that lists every element with a show/hide eye. Hidden elements stay hidden - one only ghosts onto the canvas while you've got it selected to nudge it into place, then tucks away again.


Preset theme library

A built-in gallery of timer themes you can load in one click  no more downloading and re-importing files. Six to start: Classic Dark, Default Blue-green, Casino Red & Gold, Emerald Felt, High Contrast, Midnight Purple. Admins can upload/delete presets.


Streaming on remote displays

- Fixed: the embedded video stream now actually shows up on the remote/TV display (it was being dropped on remote views entirely).

- Admins can now allow extra stream hosts (Settings → General → Tournament Timer) beyond the built-in providers - handy for a self-hosted stream. Supports *.example.com wildcards.


iPad / touch fixes

- Snap toggle - button to turn off snapping for fine positioning (Shift still works if you have a keyboard, but iPad couldn't).

- No more white edges - the theme background now paints behind the whole page, so iPads no longer flash white at the screen edges or during the Safari toolbar transition.


 - Editor polish

The layout-edit pill's Cancel is now Close, and it no longer flashes the old theme on exit if you'd loaded a different one mid-edit.


Everything theme-related (clock style, ring settings, what's shown/hidden, positions) saves as part of your theme and travels with export/import. Older themes are untouched - they just show the classic text clock as before.


Try it at https://gamenight.poker.


Sign in to leave a comment.

New in the GameNight timer: circular countdown clocks and a cleaner editor

If you run your poker nights on the GameNight tournament timer, the clock just got a lot more interesting. This release adds circular countdown clocks and a cleaner layout editor, both aimed at making the big screen at your table look exactly how you want it.

A countdown that goes in circles (on purpose)

The classic MM:SS clock isn't going anywhere. It's still the default. But when you're customizing your timer, the clock now has a Style setting with two new looks:

  • Radial ring: a circular ring that drains as the blind level counts down, with the time in the center. At a glance from across the room you can see how much of the level is left without reading a single digit.
  • Radial with checks: the same idea, but the ring is split into segments that "check off" one by one as the level elapses. Pick how many segments you want (12 is a nice default; bump it to 20 for a finer read).
Radial ring countdown clock, half elapsed, showing 10:00 in the center

Radial ring at the halfway mark.

Segmented radial countdown clock with twelve segments, six lit

The "radial with checks" style, 12 segments.

Both styles keep the color cues you already rely on: the ring is green through most of the level, turns amber as the warning threshold approaches, and goes red (with a pulse) in the final seconds. You can dial in the ring thickness and which direction it sweeps, too.

The layout editor got out of its own way

When you customize a timer's layout, you can show or hide any element on screen: the clock, blinds, prize pool, player count, payouts, a QR code for remote viewing, a logo, even a live stream embed. Previously, the moment you entered edit mode every element popped onto the screen at low opacity, including the ones you'd deliberately turned off. It worked, but it was cluttered.

Now there's a tidy Objects panel down the side of the editor. It lists every element with a show/hide eye and lets you click any one to select it, including hidden ones. A hidden element only appears on the canvas while you've got it selected, so you can nudge it into place, then it tucks itself away again. Your screen stays clean while you work.

It all travels with your theme

Everything here (the clock style, ring settings, what's shown or hidden, and where each piece sits) is saved as part of your timer theme. That means you can set it up once and reuse it, and it rides along when you export a theme to a file or import one someone shared with you. Older saved themes are completely safe: anything that predates this update simply shows the classic text clock, exactly as before.

How to try it

  1. Open a tournament timer at gamenight.poker and tap the Theme button to enter edit mode.
  2. Click the clock (or pick it from the new Objects panel).
  3. In the inspector, change Style to Radial ring or Radial with checks.
  4. Tweak thickness, direction, and segments to taste, then Save your theme.

That's it. The same reliable countdown your table already trusts, now with a look you can make your own. Run your next tournament on it at gamenight.poker.

Sign in to leave a comment.