Du bist nicht angemeldet.

#26 13.09.2015 16:42

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Schaut mal in "config/programmedatamods.xml"

<flag id="128" name="paidprograming" outcome-mod="0" review-mod="0.2" speed-mod="0.8">
	<timeMods>
		<timeMod time="0" value="1.0"/>
		<timeMod time="1" value="1.3"/>
		<timeMod time="2" value="1.2"/>
		<timeMod time="3" value="1.1"/>
		<timeMod time="4" value="1.0"/>
		<timeMod time="5" value="0.9"/>
		<timeMod time="6" value="0.6"/>
		<timeMod time="7" value="0.6"/>
		<timeMod time="8" value="0.7"/>
		<timeMod time="9" value="0.7"/>
		<timeMod time="10" value="0.8"/>
		<timeMod time="11" value="1.0"/>
		<timeMod time="12" value="1.0"/>
		<timeMod time="13" value="1.1"/>
		<timeMod time="14" value="1.2"/>
		<timeMod time="15" value="1.0"/>
		<timeMod time="16" value="1.0"/>
		<timeMod time="17" value="0.9"/>
		<timeMod time="18" value="0.8"/>
		<timeMod time="19" value="0.6"/>
		<timeMod time="20" value="0.6"/>
		<timeMod time="21" value="0.6"/>
		<timeMod time="22" value="0.7"/>
		<timeMod time="23" value="0.9"/>
	</timeMods>
	<audienceAttractions>
		<audienceAttraction id="Children" value="-0.9" />
		<audienceAttraction id="Teenagers" value="-0.8" />
		<audienceAttraction id="HouseWives" value="0.2" />
		<audienceAttraction id="Employees" value="-0.5" />
		<audienceAttraction id="Unemployed" value="0.1" />
		<audienceAttraction id="Manager" value="-0.8" />
		<audienceAttraction id="Pensioners" value="-0.6" />
		<audienceAttraction id="Women" value="0.3" />
		<audienceAttraction id="Men" value="-0.3" />
	</audienceAttractions>			
</flag>

Vielleicht sollten die Werte noch weiter nach unten gesetzt werden?
Ich vermute bei "HouseWives" und "Unemployed" muessten wir auch negative Zahlen nehmen - sind sonst einfach "zuviele" (grosser Anteil in Bevoelkerung).


-> Weniger Zuschauer = weniger Geld.

Der reine "TKP" kann ja taeuschen :-) (hohe Zahlen, aber weniger Zuschauer als der "Dauerwerbesendungsschnitt").


Beachtet auch die "outcome-mod" etc. - die besagen, welches Attribut fuer diese Art von Sendung gut ist.

bye
Ron


sigimg2.php?id=1

Offline

#27 22.09.2015 00:26

Teppic
TVTower-Testteam
Registriert: 05.08.2015
Beiträge: 420

Re: Spieldesign - Call-In, Dauerwerbung

Habe das mit der DW und Call-In mal bei 5Mio potentiellen Zuschauern getestet und
das Ergebnis ist an einem Tag 75% meiner Einnahmen aus Call-In: 17 Mio. allein durch 3 Sendeblöcke 21-24h, da tangiert der Name Kurven der Welt sogar den mathematischen Inhalt des exponetiellen Wachstums. ALso da kann das Management
über den Tag mit den Werbeverträgen noch so gut sein, das kriegt man nicht eingeholt...

Offline

#28 22.09.2015 00:50

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Teppic schrieb:

ALso da kann das Management über den Tag mit den Werbeverträgen noch so gut sein, das kriegt man nicht eingeholt...


Wasser auf meine Mühlen.

So gut die Idee mit den Call-Ins war, so hinkefüßig grinsend spiked sie jetzt durch's Spiel...

Allein mit den normalen Mitteln für andere Sendungen ist das Viech echt nicht passend zu bügeln. Das muss noch ernsthaft zugeritten werden. smile


Die einzige Möglichkeit, die ich derzeit als realistisch sehe, ist ein zeitabhängiger Abzug.
Je höher die Zahl der fernsehbereiten Zuschauer, desto stärker die Quotenbegrenzung für CI und DW.
z.B. gäb's nachts 100% und dann gestaffelt runter bis in die Abendszeit wo halt nur 5% der Quote, diese Unsendungen eigentlich erzielen könnten, angerechnet werden.
Und das solange, bis wir eine bessere Lösung haben.


Andere (Übergangs-) Vorschläge?

Offline

#29 22.09.2015 09:04

Teppic
TVTower-Testteam
Registriert: 05.08.2015
Beiträge: 420

Re: Spieldesign - Call-In, Dauerwerbung

Ich dand die Idee für DW mit der GrundEinkommen durch die Vermietung
des Sendeplatzes gut. Ein wesentlich kleinerer Teil kann dann durch die
Quote bestritten werden.
Die nächste Lösung die da noch angesprochen wurde ist das Abschöpfen
der Call-In Einnahmen durch den Chef. Je oller je doller.
So kann man zwar richtig Kohle machen, aber nur 1 max. 2 mal.
Ich würde es also auch abhängig von den Einnahmen machen, je besser
die Call-In Sendung ist, desto mehr will der Chef also haben,
etwa ein bischen so wie das Finanzamt im RL.

Insgesamt ist dieses Feature sehr gut um den Wiederspielwert zu erhöhen.
Abschaffen würde ich es auf keinen Fall.

Beitrag geändert von Teppic (22.09.2015 09:05)

Offline

#30 22.09.2015 09:23

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Ich dand die Idee für DW mit der GrundEinkommen durch die Vermietung
des Sendeplatzes gut

Und wie willst Du visualisieren, wie viel "Grundeinkommen" ein Zeitslot repraesentiert.
Wenn wir fuer alle Slots die gleiche Grundsumme veranschlagen, wuerde kaum noch wer am Abend DW senden (gut!) aber so richtig "realistisch" ist das nicht (schlecht!).

Eine individuelle Slot-Grundeinkommens-Regelung sorgt fuer eine Mausschubsorgie (alle Slots abklappern und schauen ob es sich dort lohnt).


Die "einfachste" Variante ist es, der DW einfach eine schlechtere Attraktivitaet zu geben - sprich das Programm uninteressanter fuer die Zuschauer zu machen.

Austesten koennt Ihr das ja mittels "programmedatamods.xml":

			<flag id="128" name="paidprograming" outcome-mod="0" review-mod="0.2" speed-mod="0.8">
				<timeMods>
					<timeMod time="0" value="1.0"/>
					<timeMod time="1" value="1.3"/>
					<timeMod time="2" value="1.2"/>
					<timeMod time="3" value="1.1"/>
					<timeMod time="4" value="1.0"/>
					<timeMod time="5" value="0.9"/>
					<timeMod time="6" value="0.6"/>
					<timeMod time="7" value="0.6"/>
					<timeMod time="8" value="0.7"/>
					<timeMod time="9" value="0.7"/>
					<timeMod time="10" value="0.8"/>
					<timeMod time="11" value="1.0"/>
					<timeMod time="12" value="1.0"/>
					<timeMod time="13" value="1.1"/>
					<timeMod time="14" value="1.2"/>
					<timeMod time="15" value="1.0"/>
					<timeMod time="16" value="1.0"/>
					<timeMod time="17" value="0.9"/>
					<timeMod time="18" value="0.8"/>
					<timeMod time="19" value="0.6"/>
					<timeMod time="20" value="0.6"/>
					<timeMod time="21" value="0.6"/>
					<timeMod time="22" value="0.7"/>
					<timeMod time="23" value="0.9"/>
				</timeMods>
				<audienceAttractions>
					<audienceAttraction id="Children" value="-0.9" />
					<audienceAttraction id="Teenagers" value="-0.8" />
					<audienceAttraction id="HouseWives" value="0.2" />
					<audienceAttraction id="Employees" value="-0.5" />
					<audienceAttraction id="Unemployed" value="0.1" />
					<audienceAttraction id="Manager" value="-0.8" />
					<audienceAttraction id="Pensioners" value="-0.6" />
					<audienceAttraction id="Women" value="0.3" />
					<audienceAttraction id="Men" value="-0.3" />
				</audienceAttractions>			
			</flag>

Dort muessen wir einfach bei Hausfrauen und Arbeitslosen auch das Interesse absenken (denke ich mal - kommt auf die erreichten Quoten an).



bye
Ron


sigimg2.php?id=1

Offline

#31 22.09.2015 10:34

Teppic
TVTower-Testteam
Registriert: 05.08.2015
Beiträge: 420

Re: Spieldesign - Call-In, Dauerwerbung

@ Mausschuborgie wegen Wert des Sendeplatzes
Naja, man kann den Ertrag durch die Werbeeinahmen
der letzten Tage nehmen und einen Durchschnitt bilden.

Bei Tag 1 hat jeder Sendeplatz entsprechend dem
niedrigen Image eine sehr schlechtes Einkommen,
nämlich dem Mindestsatz also dem für die Nachtstunden.
Da überlegt man sich das ganz sicher ob man seine
Prime-Time für weggibt, nur um über Quote/1000 mehr
einzufahren als über sein Programm-Werbung.

Eine Visualisierung überlege ich mir noch...
Orientiere mich dabei an den Einschüben für die
SpartenWerbung (z.B.: Sonstiges+Renter)

Offline

#32 24.09.2015 11:37

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

@Visualisierung

Der Programmplaner ist doch im unbearbeiteten Zustand dermaßen was von leer, daß es eigentlich kein Problem wäre, da einige Informationen zu platzieren.

Da könnten eigentlich sogar die Quoten vom Vortag angedeutet sein.

Offline

#33 24.09.2015 13:04

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Das Problem ist aber, eine DW auf einem "halbgefuellten" Plan zu platzieren - wenn ich wissen will, ob ich Werbung statt einem bereits platzierten Objekt sende, sehe ich ja die Info nicht, die ein leerer Programmplatz darstellen wuerde.

Es ist aber etwas anderes, die Informationen irgendwie anders darzustellen - bspweise an der "?"-Text-Stelle koennte abhaengig vom "unterm Mauscursor"-liegenden Programmslot Text dargestellt werden.
Es sollten aber nur "Hilfsinformationen" sein, da eine "programmentscheidende" Information dort etwas "zu klein" geraten sein sollte.
Eine "Vortagesquote" kann bspweise dort landen - da sie eventuell auch ueber ein "vortag Auswaehlen, ueber Programm gehen und Info abrufen" einsehbar waere (bzw Statistikbildschirm).

Ein "Soviel waere die DW dort wert" gaenge auch, sofern die gleiche Information auch im Datenblatt einer platzierten DW zu finden ist.

Kurzum: Abkuerzungen Okay, exklusive Infos nicht.



bye
Ron


sigimg2.php?id=1

Offline

#34 07.10.2015 02:27

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Da ich gerne eine umfassende


Würde gerne auch die Dauerwerbungsqualität gleich mit einbeziehen.

Überlege in dem Zusammenhang auch eine Strafenregelung, die an die Dauerwerbungsqualität angebunden ist.
Vorschläge, Hinweise?

Offline

#35 07.10.2015 08:17

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Gast2 schrieb:

Da ich gerne eine umfassende


Würde gerne auch die Dauerwerbungsqualität gleich mit einbeziehen.

Bin gespannt wo Du den Rest des Satzes niedergeschrieben hast :-)



Generell verstehe ich nicht ganz, was Du meinst, also bitte etwas tiefergehend ausfuehren.


bye
Ron


sigimg2.php?id=1

Offline

#36 07.10.2015 08:28

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Ups, der ist noch im Werbeprämien-Strang verblieben, schätze ich. Wollte ganz ordentlich sein.


Geht um die Eigenschaftstabelle für die Werbeprämien.

Es geht doch darum, daß die Strafe einer Werbung höher sein soll, je mehr Kohle über die Dauerwerbesendung erzielt werden kann.

Nun, da böte sich doch an die Strafe, direkt an die Qualität zu koppeln. Also die Qualität als Faktor einzuführen.

Das aber nicht vom Programm ausrechnen zu lassen, sondern nur für meine lustige Tabelle. Ich würde das dann händisch übertragen.

Als Frage bleibt dann also übrig:
Welche Qualität der Dauerwerbesendung ergibt welche Einkünfte und wie oft?

Vielleicht hat ja wer schon damit Erfahrung. Ich selbst habe die Dauerwerbesendungen beim Spielen/Testen bisher außen vor gelassen.
Oder läßt sich das derzeit irgend rechnerisch ableiten?

Offline

#37 07.10.2015 08:43

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Natuerlich laesst sich das berechnen, wieviel 1000 Zuschauer "wert" sind.

game.programme.adcontract.bmx

	'what to earn each hour for each viewer
	'(broadcasted as "infomercial")
	Method GetPerViewerRevenue:Float() {_exposeToLua}
		if not IsInfomercialAllowed() then return 0.0

		local result:float = 0.0

		'calculate
		result = GetInfomercialProfit()
		'cut down to the price of 1 viewer (assume a CPM price)
		result :* 0.001

		'less revenue with less topicality
		'by default think of no topicality at
		local topicalityDecrease:Float = 1.0
		if base.GetMaxInfomercialTopicality() > 0
			topicalityDecrease = 1.0 - (base.infomercialTopicality / base.GetMaxInfomercialTopicality())
		endif
		'cut by maximum 90%
		result :* (0.1 + 0.9 * (1.0 - topicalityDecrease))

		return result
	End Method


	Method GetInfomercialProfit:Int(playerID:Int= -1) {_exposeToLua}
		'already calculated and data for owner requested
		If playerID=-1 and infomercialProfit >= 0 Then Return infomercialProfit

		local result:float
		'return fixed or calculated profit
		if base.fixedInfomercialProfit
			result = base.infomercialProfitBase
		else
			result = CalculatePrices(base.infomercialProfitBase, playerID)
		endif

		'DEV:
		'by which factor do we cut the profit when send as infomercial
		'compared to the profit a single ad would generate
		result :* GameRules.devConfig.GetFloat("DEV_INFOMERCIALCUTFACTOR", 1.0)

		return result
	End Method

Kurzum:

ergebnis = GetInfomercialProfit() * 0.001
ergebnis = ergebnis * (0.1 + 0.9 * (DW-Aktualitaet/DW-Max-Aktualitaet))


GetInfomercialProfit() berechnet sich auf die gleiche Art wie Profit/Strafe. Modifiziert mit einem potentiellen DEV.xml-Modifikator.



bye
Ron


sigimg2.php?id=1

Offline

#38 07.10.2015 09:01

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

ergebnis = ergebnis * (0.1 + 0.9 * (DW-Aktualitaet/DW-Max-Aktualitaet))


Wo kann ich das Sinken der Aktualität ablesen?
Wie oft lädt sich die Aktualität auf, wenn ich die Werbung sagen wir 3 Tage zur Verfügung habe?

Ich muss ja, wenn ich die Strafe für die Werbung festlegen will, irgend klar kriegen, wieviel sich da maximal mit der Dauerwerbesendung verdienen lässt.



GetInfomercialProfit() berechnet sich auf die gleiche Art wie Profit/Strafe.


Also bei GetInfomercialProfit auch eine TKP angeben?
(Oder stehe ich mir jetzt auf der Leitung?)

Offline

#39 07.10.2015 11:08

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Ja.. auch tkp angeben.

Die aktualitaet... findest du bei "method gettopicality:float()"... hab das grad ne im Kopf.

Bye
Ron


sigimg2.php?id=1

Offline

#40 12.10.2015 13:39

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

<data infomercial="1" quality="28"  infomercial_profit="22" fix_infomercial_profit="1"/>

quality --- meint einfach die Qualität der Werbesendung, also welche Quoten erreicht werden.

infomercial_profit --- Das meint eine TKP?
Da gibt's auch Werbungen, wo das gar nicht angegeben ist. Was dann?


fix_infomercial_profit="1"   --- da war ich krank gw_smiley_zwinkern

Offline

#41 12.10.2015 15:40

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Quality - Qualitaet der Werbung
Wird derzeit nur fuer Dauerwerbesendungen herangezogen. Koennte aber spaeter auch fuer "Die Lustigsten/Besten Werbespots"-Sendungen oder so herhalten ...


infomercial_profit
Aehnlich "profit" eine TKP-Angabe. Fehlt sie, wird 10% vom "profit"-Wert angenommen.

fix_infomercial_profit
Aehnlich "fix_profit" legt dies fest, ob es sich bei "infomercial_profit" um einen TKP- oder Fix-Wert handelt.


bye
Ron


sigimg2.php?id=1

Offline

#42 12.10.2015 22:01

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Gut, dann ändere ich an dem ganzen Sinnzusammenhang erstmal nichts

Offline

#43 21.10.2015 13:45

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

@Strafenstaffelung


Ich werde wohl eine Berechnung einführen. Zumindest für meine lokale Tabelle.

Einfließen werden
Durationes, TKP, Quality

Dazu noch in einer - bisher mir schleierhaften - Form die Zeit für die Sendung und die topicality.


@topicality

Ist die irgendwo schon aufgeführt?
In der database_ads.xml fand ich nix.

Offline

#44 21.10.2015 14:33

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Die Aktualitaet gibt es doch nur fuer DW ? Abnutzung aehnlich normaler Programme/Trailer.


bye
Ron


sigimg2.php?id=1

Offline

#45 21.10.2015 15:55

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Aktualität

Na, Du meintest doch zuletzt, daß Du die Abnutzung für Dauerwerbungen verstärkt hättest. So nahm ich an, daß das irgend zugänglich wäre.
Ist aber ein Wert für alle Dauerwerbungen? Nicht abhängig von qualität oder so?

Ist die irgendwo als Faktor vorhanden? Als Zahlenwert oder so?
(Geht nur drum, wenn ich die Strafen berechnen will, daß ich da einen Wert habe.)

Offline

#46 21.10.2015 16:22

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Die Abnutzung der DW ist nun abhaengig von den erreichten Zuschauern ... also keine fixen 10%, sondern ueber eine nichtlineare Funktion.

contract.base.CutInfomercialTopicality(GetInfomercialTopicalityCutModifier( audienceResult.GetWholeMarketAudienceQuotePercentage()))
...


Method CutInfomercialTopicality:Int(cutModifier:float=1.0) {_private}
	local changeValue:float = infomercialTopicality
	changeValue :* cutModifier
	changeValue :* GetAdContractBaseCollection().infomercialWearoffFactor
	changeValue :* GetInfomercialWearoffModifier()
	changeValue = infomercialTopicality - changeValue

	'cut by at least 5%, limit to 0-max
	infomercialTopicality = MathHelper.Clamp(infomercialTopicality - Max(0.05, changeValue), 0.0, GetMaxInfomercialTopicality())
End Method



Method GetInfomercialTopicalityCutModifier:float( audienceQuote:float = 0.5 ) {_exposeToLua}
	'by default, all infomercials would cut their topicality by
	'100% when broadcasted on 100% audience watching
	'but instead of a linear growth, we use the logistical influence
	'to grow fast at the beginning (near 0%), and
	'to grow slower at the end (near 100%)
	return 1.0 - THelper.LogisticalInfluence_Euler(audienceQuote, 1)
End Method

(Maximum von 5% -oder- "X-Prozent * AnteilZuschauerVonMaxZuschauern-Effekt").

Die Qualitaet spielt also _derzeit_ noch keine Rolle, sie kann aber jederzeit in die Funktion "CutInfomercialTopicality()" integriert werden (100% infomercialQualitaet wuerde dann den Verringerungs-Wert um bis zu X Prozent abschwaechen).


bye
Ron


sigimg2.php?id=1

Offline

#47 22.10.2015 06:20

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

Ohjeh, jetzt habe ich auch noch eine Verschleierung, statt Aufklärung bewirkt...

Nun, ich werde dann wohl einfach testen, wie ich das irgend abschätzbar mache.

Offline

#48 22.10.2015 08:04

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

Kurz: nach jeder Ausstrahlung wird "CutTopicality()" (bzw bei DW "CutInfomercialTopicality()") aufgerufen.

Als Parameter bekommt die Funktion einen Modifikator mitgegeben. Der Modifikator macht aus dem linearen "Quotenquotient" (bspweise 30% MA) einen nichtlinearen Wert zwischen 0-1 (nur halt bspweise "schnell ansteigend, dann abflachend" - oder andersherum).

Innerhalb von CutTopicality() wird dann mit einer allgemeinen (fuer alle DW) gueltigen Abnutzung multipliziert, und dann mit einer spezifisch fuer diesen DW-Vertrag gueltigen Abnutzung (der Modifikator wird per XML von Euch festgelegt ("topicality::infomercialWearoff")).

Am Ende wird geschaut, dass um mindestens 5% abgesenkt wird.


Was also gemacht wird ist: je weniger zuschauen, desto geringer die Abnutzung (aber mind. 5%).

bye
Ron


sigimg2.php?id=1

Offline

#49 22.10.2015 10:18

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.276

Re: Spieldesign - Call-In, Dauerwerbung

5% vom Ausgangswert oder vom jeweiligen Aktualitätswert?

Offline

#50 22.10.2015 10:47

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.709
Webseite

Re: Spieldesign - Call-In, Dauerwerbung

vom jeweiligen... also es wird ein Mod ausgerechnet (bspweise 0.98) und dann mindestens auf 0.95 runtergegangen.


bye
Ron


sigimg2.php?id=1

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Bist Du ein Mensch oder ein Roboter ?

Verifizierung, dass diese Aktion durch eine reale Person vorgenommen wird und nicht von einem Programm.