Televism
← All posts

Full Throttle into a Dead End

The heart of my TV game rewarded, of all things, boredom. The concept lab let me fix that faster than ever before – so fast that at some point I no longer noticed where the journey was actually going.

The Most Boring Optimum in the World

Scheduling the program is the heart of Televism. This is where the player makes their decisions, and this is where it’s supposed to be interesting and varied. And it was exactly this heart that, in the first test games, produced a result that sobered me up quite a bit: the best strategy was more of the same.

Why It Was Boring

There are several target groups – kids, housewives, workers, managers and so on – who watch TV at different times and have different tastes. There are titles that fit those tastes more or less well. What attracts one group puts off another, and higher quality makes a title better – and more expensive.

For a viewer to pick my channel, two things have to be right: the title has to appeal to them, and they have to know it’s on. That visibility grows with the profile, which builds up slowly, over many days of broadcasting. This was supposed to give rise to the core mechanic: am I investing in my profile right now, in the future that is, or do I grab the maximum ratings of today? Strategy versus tactics.

Except that the first model didn’t have this trade-off at all. The profile was tied to the genre, and a good title delivered ratings and profile at the same time. Building a profile cost nothing; strategy and tactics always pointed in the same direction. What looked good on paper didn’t hold up in reality.

The Lab Is Born

Turning a few constants wasn’t going to fix that. In the production code, though, the core was tangled up with other rules, a database and a lot of surrounding machinery. So we cut the heart out, stripped it down radically and rebuilt it as a small simulation tool in the browser – with all kinds of charts that let me turn constants and see the result immediately. The concept lab was born.

What followed were two intense, busy weeks. “I need a visualisation of the profile over time.” Bam, there it is. “The curve should rise flat at first, then steeply, then saturate.” – “You need a sigmoid.”

In the end the curves looked good. It was the right first step – but I realised it isn’t enough to judge the core loop by whether I like a chart. “Looks good” isn’t a verdict, it’s a feeling, and my feeling shifted a little with every new curve.

An Algorithm That Rates the Algorithm

In the second iteration the lab learned to rate itself. A solver searches for the best program plan for an entire season, hour by hour, starting from zero profile. That best solution is then checked against my criteria:

  • Is the best solution varied? Or does even the perfect player stubbornly air the same thing again?
  • Is good, forward-looking play rewarded? Whoever plans ahead has to be clearly ahead of the one who only looks at today’s ratings, and that one in turn ahead of the one airing nonsense.
  • Are there several play styles that are equally good?

On top of that came a few rules that simply describe how I want the game to feel:

  • that blockbuster titles don’t pay for themselves and are only good for chasing records,
  • that a change of strategy hurts first before it pays off,
  • that the viewer numbers stay comprehensible.

Throwing More Algorithms at It

If an algorithm can rate my viewer algorithm, then an algorithm can optimise it too. The workflow went like this: I define the rating. Claude adjusts constants and formulas based on it and has hundreds of variants computed. I then look at the result in the concept lab and check whether it holds up to my gut feeling.

These were the best sessions I’ve had with my agent so far. Solver, optimiser, metrics, visualisations – everything was up and running in no time. Had I been forced to program all of it myself, I’d have spent weeks on it. Every idea was implemented in minutes, every question answered in minutes. A rush – and nowhere a point where I would have had to stop and think.

Except the beautiful algorithms didn’t hold up. Sometimes it made sense to air the best titles at the fringes of the day. Mathematically entirely consistent, but hard to explain. Then focusing on one target group was hopelessly inferior to spreading out across several. Then you could get rich with any old nonsense.

And once again it looked good on paper: 12 out of 14 metrics met.

Losing Control

In practice the next weeks went by, and I didn’t manage to get all my goals to fit together even in the rating – let alone get curves I actually liked. At some point I had lost myself in my optimisations. “Claude, adjust the rating like this.” “Claude, optimise.” “Claude, why isn’t this working?” And then came an explanation I no longer understood. What does “regime” mean in this context? What exactly is a “tactician” again?

The problem was that my concept couldn’t carry all those lovely goals. I didn’t notice, and neither did my agent – instead it kept reassuring me that paradise was waiting behind the next optimisation. And because every new idea was implemented so quickly, a lot had piled up without me noticing: different target groups with different gameplay, extended concepts like the audience flow, different play styles that were all supposed to be balanced against each other – and all of it at once. In all that productivity I had long since lost control without realising it.

When I did realise it, it was time to slam on the brakes. I had to scale everything back to a level of complexity I can actually handle. All target groups are now completely symmetric: they have different tastes and different viewing times, but under those conditions they all play the same. The audience flow is on ice for now. And instead of many equally good play styles, I’m focusing on the one that’s supposed to be varied.

That hurt, because there were great ideas among them that had taken a lot of time and brainpower. But not everything fit together, and I had charged ahead too fast to control the spirits I had summoned.

What Came Out of It

I’m now at a point where I have a play style that applies equally to all six target groups. When I look at the solver’s best program (the truly optimal one can’t be found in finite computing time), I see variety in the daily schedule and, in the vast majority of cases, I understand what is aired when and why. The few surprises at least show me that there’s still something to discover.

Three views from the concept lab show what that looks like today. They all belong to the same season: 42 days starting from zero profile. Every 14 days, advertisers pay double the contact price for a different target group – first for kids, then for workers, then for pensioners.

Program grid of the best plan over 42 days: columns are days, rows are hours, the colour shows the target group. In the first two weeks kids dominate, with managers during the day; from day 15 workers and, in the afternoon, pensioners; from day 29 almost only pensioners and workers, with a narrow band of housewives in the morning.
The best plan's program: one column per day, one row per hour. The colour shows the target group. Over the day, the program switches in a few clear steps. The plan reacts to the changing advertising prices and builds up the profile for the next lucrative target group weeks in advance.
Profile per target group over 42 days: kids rise to just under 0.8 within a week and fall after day 14, managers rise to 0.6 and fall as well; workers and pensioners rise from day 10 to 14 to between 0.7 and 0.8 and then show a clear zigzag pattern.
The profile per target group: how visible the channel is to it, from 0 to 1. The profile builds up over days and fades again once a group is no longer served. The zigzags show the daily switch between building the profile and harvesting reach through hype.
Profit per day over 42 days for five players: the best strategy found climbs to around 240,000 within a week, drops sharply on day 15, recovers and then sits at around 260,000. The worker specialist jumps to around 240,000 in the workers' phase and falls back afterwards; the manager specialist and the short-sighted player hover around 100,000, the tactician below that.
The best plan's daily profit compared with simpler play styles. A change of strategy costs money at first – on day 15 the profit collapses before the investment pays off. Whoever only optimises today's ratings falls behind in the long run.

That’s no proof yet that Televism is fun. But it is a model whose decisions I can follow and whose results match what I set out to achieve. Above all, building the profile over weeks now works the way I imagined it.

What I Learned

Along the way I learned a few things:

  • Game designer is a profession of its own for good reason. There’s a lot of craft behind it that you first have to acquire.
  • Starting small applies to game design, too. Get one thing working first, then raise the goals step by step.
  • Speed is no substitute for an overview. When every idea is implemented in minutes, the natural brake that otherwise forces you to think is missing. My agent was a real help in many places, but whether the direction was right was something I had to notice myself – and it couldn’t make up for my lack of experience in this field.

I set out to fix a core loop that rewarded doing the same thing over and over. It is fixed – but only after I deliberately took my foot off the gas. A faster tool gets you ahead faster. It just also gets you into a dead end faster.