Du bist nicht angemeldet.
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.1MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.5MB): TVTower.DevPatch.Linux.7z
Geaendert:
- Popularity/Trend nun nach Bedarf erstellt (erspart notwendige Reinitialisierung bei Spielneustart)
- KI erwirbt Startprogramm (wenn mit definiertem Budget moeglich) - wieviel gebt ihr fuer Startprogramm aus?
- wichtig wichtig! Die Nachricht "Es wird wieder hell" erscheint erst am Folgetag
- Nachrichtengenre unterliegen nun Trends
- ronny.xml mit neuen News/Beispielen (Nachrichtenketten)
- Kult-Markierung beeinflusst nun konsistent die Aktualitaet (war anders bei Alter >20 Jahre)
bye
Ron
Offline
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.1MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.5MB): TVTower.DevPatch.Linux.7z
Geaendert:
- KI: BrainSpeed und dynamische Startprogrammanzahl eingefuehrt (jede KI kann zwischen 1 und 3 "Aktionen" pro Tick ausfuehren).
- KI: Optimiert nun Dauerwerbesendungen (falls die Dauerwerbsesendung geloescht wuerde, da vorher alle Werbespots ausgestrahlt wuerden), auch versucht sie im Nachmittags- und Primetimeprogramm richtiges Programm auszustrahlen)
- "0er" Dauerwerbesendungseinnahmen fuehren nicht mehr zu einer Programmmeldung (die KI sollte sie nun auch versuchen zu vermeiden, auch ist das Minimum der Einnahmen nun bei 10% des Basis-TKP statt wie vorher auf 0 zurueckgehen zu koennen)
- News: Aktualitaet ("Abnutzung") wird nun zur Quotenberechnung mit hinzugezogen, gleiches gilt fuer andere Mods (vorher wurde einfach vom Vorprogramm uebernommen --- grober Fehler).
Mit dem DevPatch sollte es sich nun lohnen, "frische" News zu senden. Die KI wird sicher kein "schoenes" Programm ausstrahlen, das liegt daran, dass nicht alle Sender ein "Ramschprogramm" nach Wahl gekauft bekommen - fuer einen ist immer "zuwenig" Auswahl da (zu wenig von dem, was die KI gern haette). Und mit nur einem Programm im Arsenal...naja, da plant es sich nicht so doll.
Immerhin tauscht sie nun Dauerwerbsendungen aus, die - wenn alles "klappt" - zum Zeitpunkt der Ausstrahlung nicht mehr verfuegbar waeren (da vorher Vertrag abgelaufen oder erfuellt).
Weiterhin optimiert sie die Dauerwerbesendungen in Abhaengigkeit ihrer Einnahmen. Das hat folgenden Grund: eine Ausstrahlung von Dauerwerbesendung X zieht ja bei allen Spielern die Aktualitaet dieser DW herunter - und somit auch die moeglichen Gewinne (der TKP sinkt). die KI tauscht dann solche DW mit anderen aus.
Wer will, kann sich gerne "TaskSchedule.lua" genauer angucken - Einstiegspunkte sind die "Tick()"-Funktionen :-)
bye
Ron
Offline
Ich habe jetzt (kommt also mit dem naechsten DevPatch) etwas "uneindeutiges" im Zeitmanagement "TworldTime" korrigiert. Vorher lieferte "GetDay()" den Tag zurueck, den wir spielen ("1. Tag") nun liefert es korrekt "0" zurueck (da wir am 0.Tag um XX:uhr sind).
Dementsprechend mussten einige Funktionen angepasst werden (vor allem "Heutiger Tag"-Textanzeigen). Ich habe noch "GetOnDay()" erzeugt - an dem Tag "befinden wir uns" (also bei Tag 0 ist das dann 1, bei Tag 5 dann 6 ... ist so in etwa wie mit den Lebensjahren bei Menschen... "im ersten Lebensjahr" ist man ja vor dem "1. Geburtstag").
Auch konnten dadurch einige Datenzugriffe um ein "-1" verkuerzt werden (Listen/Arrays fangen bei "0" an - also erste Zeile = "0").
Eventuell habe ich da nun irgendwo Sachen nicht richtig erwischt und neue Fehler eingebunden - also das dann mit im Hinterkopf behalten.
Gefunden habe ich das, dank Teppics Hinweis auf sein fehlendes Sandmaennchenprogramm ... ich wollte eine Befehlszeile optimieren und habe gemerkt, dass unterschiedliche Zeitangaben generiert worden sind ... und dann tat sich das grosse Fass auf ;-)
Nun, den von mir aufgespuerten Weg (Archiv, Programm nach Ausstrahlung on xx:55-xx:59 entnehmen und Raum verlassen - dann entfernt es das eigentlich ausgestrahlte Programm vom Planer) versperren.
bye
Ron
Offline
Danke nochmal an Teppic und seinen unermuedlichen Fehlersucheeinsatz.
Denn beim Beheben bzw Suchen der Fehlerquelle - stosse ich so manches mal auch an andere Fehler.
So habe ich das "Tageswechselprogramm" ueberschrieben, wenn eine Werbung 2 Bloeckeginge (einfach die falsche Variable ueberschrieben...tzttz). Ist zum Glueck noch nicht verwendet worden (weswegen es wohl nie auffiel) - da aber durch einen anderen Umstand (Teppics gefundener Fehler) eben doch die Funktion mitgenutzt worde, erzeugte es einen Bug (Block 2 eines "Ueber-Mitternacht-Programms" wurde nicht im Planer angezeigt - aber ausgestrahlt).
Naja, und da die Werbung irgendwie bei ihm unsichtbar wurde, habe ich gleich noch entdeckt, dass eine "Shift"-Werbekopie die falsche "x/y"-Anzeige hat - was einfach an einem falschen Parameter lag (-1 statt "0").
Und weil das nicht reicht, habe ich beim "haendischen Ueberpruefen" noch gesehen, dass ja Dauerwerbesendungen nach dem Aufheben auch nicht die richtige "x/y"-Anzeige besitzen ... was dem Umstand geschuldet war, dass dann die "visuelle Anzeige" auf "Werbung" zurueckfiel - und somit eine andere Berechnung der Spots angewendet wird.
Kurzum: wieder 2 Bugs weniger.
bye
Ron
Offline
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.1MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.5MB): TVTower.DevPatch.Linux.7z
Geaendert:
- Erweiterter Quotendetailtooltip nun automatisch nach 1.5 Sekunden angezeigt
- Fix: Programmplaner: Per "Shift"-kopierte Werbung zeigt nun korrekte Spotnummer an. Gleiches gilt fuer aufgehobene Dauerwerbesendungen. (Vorher: Ein per "Shift" kopierter Werbeblock zeigte die gleiche Spot/Spotzusenden-Zeile an, wie sein Original. Eine aufgehobene Dauerwerbesendung zeigte die Spot/Spotzusenden-Zeile an, die fuer diese Uhrzeit anfiele. Ursache war der falsche "hour"-Parameter bei der "GetAdvertisementsCount()"-Funktion)
- Fix: DB + WorldTime. (DB: einige fehlerhafte News-Trigger geaendert (Fort-Nachrichtenkette). WorldTime: GetDayOfYear() +1 entfernt, SetStartYear() -1 entfernt)
- Fix: Fehlerhaft zurueckgelassene Programme/Werbung wird nun entfernt. Report: Teppic. (Es wird nur entfernt, wenn der Spieler den Programmplan aufsucht und dort Aenderungen durchfuehrt (bzw die GUI-Objekte erneuert). Das sollte reichen, da davon auszugehen ist, dass es sich um ein GUI-erzeugtes Problem handelt. Andernfalls muessten wir mit Regelmaessigkeit die "RemoveBrokenObjekts()"-Funktion fuer alle Spieler aufrufen (bspweise xx:05 und xx:55))
- Fix: TWorldTime: "GetDay" korrigiert (war +1). Archiventnahme eines laufenden Programmes ab letzter Werbung moeglich (Report: Teppic). Damit einhergehend wurden alle darauf beruhenden Funktionen angepasst (bspweise GetPlayerFinance()) und deren Interna korrigiert (Arrayzugriff)
Gerade der letzte Punkt kann einiges irgendwo durcheinanderhauen - also irgendwas kann noch mit dem "Fehler" rechnen ... und da es ihn nun nicht mehr gibt, verrutscht alles um 1 Element...sowas in der Art.
Bitte mal den DevPatch ausprobieren -- damit wir rechtzeitig neuentstandene Fehler bis zum Monatsrelease entfernen koennen.
bye
Ron
Offline
Feedback zu zwei Versionen. Die vom 12.09: Bei den Auktionen werden nach Jahreswechsel die Filme nicht getauscht. Hat zwei Effekte. Die Filme sind in der Auktion dann teilweise teurer, als im normalen Verkauf. Die Aktualität, die Du hier eingebaut hast, greift dann auf Dauer nicht.
In der letzten Version habe ich am ersten Tag direkt diverse Fehler wieder gehabt.
Mausklick bei Windows funktioniert nicht mehr. Das kam einfach so mitten drin. Beim Werbehändler und beim Filmhändler. Ich bekomme die Texte nicht mehr angezeigt und kann nur noch per Taste S speichern und dann über die Taskleiste das Spielbeenden.
Dann hatte ich wieder im Programmplaner auf einmal das Programm eines anderen Senders in der "Hand". Da kam ich auch nicht mehr raus.
Komme momentan leider nicht so zum testen.
@Gast2 Deine Serien sind in mache.
Edit:
Noch etwas ist mir aufgefallen. Bei dem Wert für die Darsteller, funktioniert bei mir z.B. Moderator. Wenn ich noch Gäste dazu anlege, dann tauchen die nicht mit auf. Ich habe dann nur einen Moderator. Bei mir hat also 16 und 64 bisher nicht funktioniert. Da weiß ich aber inzwischen, dass das nicht am Code liegen muß...
Edit:
Ich bekomme auch in der neuen Version den Fehler mit dem Programm in die Hand und fliege dann mit der Fehlermeldung aus dem Spiel. Passiert bei mir wieder am ersten Tag.
Wenn ich damit alleine bin, dann teste ich gerne mal das letzte Vorgehen. Also alles neu in einem neuen Ordner.
Beitrag geändert von TheRob (17.09.2015 20:19)
Offline
Feedback zu zwei Versionen. Die vom 12.09: Bei den Auktionen werden nach Jahreswechsel die Filme nicht getauscht. Hat zwei Effekte. Die Filme sind in der Auktion dann teilweise teurer, als im normalen Verkauf. Die Aktualität, die Du hier eingebaut hast, greift dann auf Dauer nicht.
Wie sollen wir das loesen? Ich kann zwar statt einem "Preis" auch einen Multiplikator einfuehren, der dann pro Tag "sinkt" ... aber wir haben so oder so folgendes Problem:
Wenn wir den Jahreswechsel ignorieren und einen Startpreis immer weiter absenken, so bezahlt der Spieler mehr, als das Ding wert ist (nicht sooo schlimm, aber unschoen)
Wenn wir den Jahreswechsel einbeziehen und den Preis senken - was machen wir, sollen wir die "Differenz" den Spielern erstatten? Sollte machbar sein, aber "logisch" ist das auch nicht unbedingt.
@Texte nicht mehr angezeigt
das bedeutet, dass die Figur nicht als "im Raum" (bzw "Screen") angesehen wird - und dadurch die ganzen Aktionen (Rechtsklick, wo ist die Maus drueber) nicht abgerufen werden.
Eventuell kann mit "K" (alle aus den Raeumen kicken) das Problem umgangen werden, hab ich noch nicht probiert.
@Moderator + Gast
das bekomm ich hin :-)
@Programm in die Hand
Welche Fehlermeldung (eine Memory Access Violation?)
bye
Ron
Offline
@ Moderator _und_ Gast
Das Problem ist, dass wir nicht beliebig viele Leute dort auflisten koennen.
Aus diesem Grund habe ich das limitiert auf:
Regisseur
und
Schauspieler oder Drehbuchschreiber oder Musiker. Betonung liegt auf "ODER".
Wir haben halt nur 3 Zeilen Platz die Leute aufzuzaehlen. Ich koennte maximal versuchen "bis zu drei Berufsgruppen" aufzuzaehlen (falls die jeweils in eine Zeile passen ...).
Edit:
Vorschlag:
Ist etwas weniger uebersichtlich als die alte
Regisseur: Mister X
Darsteller: Misses Y, Madame Z, Mister mit langem
Nachnamen
bye
Ron
Offline
@Moderator und Gast: Lass mal. Ich probiere mal ein bisschen mehr. Und dann motze ich zielgerichtet. Ich hatte den Eindruck, dass dann eher nur Regie und Moderator gelistet werden und der Rest abgeschnitten wird. Aber lass mich mal spielen und dann wird es zielgerichteter.
@Auktion: Nicht wirklich etwas ändern. Deine Logik finde ich persönlich sehr gut. Ich bin der Meinung in der Nacht von z.B. 12/80 auf 1/81 gehört das Auktionsprogramm einfach nur "refreshed" Dann fliegen die 1979/78er Programme raus und werden durch 1980/79 ersetzt. Mit einer neuen Auktionspreiskalkulation. Die Logik ist doch schon aus der Startsequenz da.
Offline
Ich habe meinen obigen Beitrag noch bearbeitet (Bilder eingefuegt) ... ich koennte mich auch damit anfreunden.
@Auktionen
Achso ... Programme ohne Gebote rausnehmen, damit der "Alters-Preisverfall" nicht zuschlaegt.
Das kann ich tun japp.
bye
Ron
Offline
So...endlich hatte ich auch mal ploetzlich Programme in der Hand ... nur hatte ich mir vorher schon eine "Log"-Erweiterung vorbereitet.
[23:15:06] DEBUG | PLAYERPROGRAMMEPLAN.REMOVEOBJECT(): Plan #4 removed object "Haslan Autocars" (owner=4) from PROGRAMMES, index=47, programmedDay=23820, programmedHour=23.
[23:15:06] DEBUG | : Plan #4 removed object "Der Schwarzmarkt" (owner=4) from PROGRAMMES, index=48, programmedDay=23821, programmedHour=0.
Genau diesen Werbespot und diesen Film hatte ich nun ploetzlich in der Hand ... obwohl sie Spieler 4 ("owner = 4") gehoert haben ...
Mal sehen ob ich da was fixen kann ... so richtig "nachvollziehen" laesst sich das ja noch nicht :-)
Edit: ok, laesst sich doch nachvollziehen :-)
Ich habe im Programmplan auf einen Event reagiert: "ProgrammePlan.AddObject". Es wurde ein GUI-Objekt angelegt -- aber nur, wenn das betreffende Programm ("object") ein "Ueber-Mitternacht"-Programm war (index 47 ist 23 uhr ... und 48 dann 0 Uhr an Spieltag 2).
Dem kann aber abgeholfen werden: einfach nur reagieren, wenn es der eigene Programmplan ist...
hmmmpf... :-)
bye
Ron
Offline
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.1MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.5MB): TVTower.DevPatch.Linux.7z
Geaendert:
- Besetzungs-Bereich im Datenblatt nun "Fliesstext" (damit passen mehr Leute rein - kann das aber auch wieder "zurueckaendern")
- FIX: wenn man im Programmplaner war waehrend die KI ein "ueber 0 Uhr"-Programm (bspw. 22-1Uhr) entfernte, wird nicht laenger der entsprechende fremde Programmblock in die Hand gelegt (Danke @TheRob)
- Fix: OnDay-Ereignisse nutzen nun Eventzeitpunkt, nicht aktuelle Zeit (relevant beim Schnelldurchlauf mehrerer Tage, wo es zu "Rucklern" dank CPU-Auslastung kommen kann)
- mehr LOG-Texte - bspweise jede Programmplanaenderung
- KI sendet Notfallwerbung nur noch, wenn sie auch Werbung hat (sollte nur ein Schnelldurchlauf-Problem gewesen sein)
bye
Ron
Offline
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.0MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.4MB): TVTower.DevPatch.Linux.7z
geaendert
- Tuerkische Uebersetzung eingebunden
- Tooltips (Maus ueber Tuer, Maus ueber Computer...) ueberarbeitet: Textdimensionen nun korrekt berechnet (verhindert Ueberschneidung von Tooltiphintergrund und Text)
- InGame-Nachrichten ("Toastmessages"): Textdimensionen werden nun korrekt berechnet (beim Chefbesuch ueberschnitt sich beispielsweise der "Klick"-Hinweis und die fettgedruckte Nachricht)
Thanks XtrmPrgrmmr.
bye
Ron
Offline
Der neue DEV Patch schreibt bei mir nur die DW Einnahmen auf das Konto. Erfüllte Werbung wird dem Konto nicht gut geschrieben. Was die Kontoentwicklung nachhaltig negativ beeinflusst.
Offline
Japp, kann ich reproduzieren.
Schaetze das liegt an meiner "TWorldTime"-Aenderung (sagte ja, da wird sicher hier und da was "kaputtgehen").
Edit: Es lag einfach an einer Aenderung, Zahlungen dem Moment ihrer Entstehung zuzuschreiben - statt dem aktuellen Zeitpunkt. Habe da statt "getDay()" "GetOnDay()" genutzt... ersteres liefert waehrend Spieltag 1 eine 0 zurueck, letzteres eine 1 (siehe "1. Geburtstag versus im ersten Lebensjahr").
Dadurch sind Zahlungen "morgen" passiert ;-)
bye
Ron
Offline
Nee... ich schieb gleich eine Version nach ... Speicherstandinkompatibel (paar Sachen entfernt, das gibt Schluckauf beim Einladen, falls dort per Zufall die Objektreferenz hinterlegt war).
bye
Ron
Offline
Neuer DevPatch:
Fuer Windows und Linux (mit PulseAudio, 3.0MB): TVTower.DevPatch.7z
Nur Linux (fuer Gast2 ohne PulseAudio, 1.4MB): TVTower.DevPatch.Linux.7z
Geaendert:
- mehr tuerkisch dank XtrmPrgrmmr (der ohne Vokale auskommt )
- Zeitfehler in "BroadcastCommon" und einer KI-Funktion entfernt ("day" als Jahresparameter genutzt)
- "Noname"-Personen koennen nun Promis werden (nach X Produktionen)
- (DevPatch-)Fix: Werbung wird wieder entlohnt
@Gast2
Ohne den Werbefix waerest Du sicherlich nur mit cheaten ueber die Runden gekommen (in deinem Langzeittest).
bye
Ron
Offline
That's right
Offline
Erstes Feedback von mir zur neuen Version.
"Fehler": Der Bau des Sendemasts wird erst am nächsten Tag fertig gestellt. Wie vorher bei der Auszahlung der Werbung. Ich muss aber auch sagen, dass ich die Verlängerung der Bauzeit an und für sich gut finde. Kann man die vielleicht auf 12 Stunden einstellen? Macht das Spiel etwas planungsintensiver. Kurz vor DW, Hoher Werbung oder CallIn zu investieren funktioniert dann nicht mehr.
Sendeausfall mit Traumquoten. Ich verliere in der Primetime gegen Sendeausfälle. Die haben bessere Quoten, als meine Erstausstrahlung die mehr als 200k gekostet hat und recht gute Werte hat.18,94 und 19,95 % für Sendeausfälle.
Mir gefallen viele neue Kleinigkeiten. Am Besten die Detailquoten im Bereich der Zuschauer. Sehr gut für den schnellen Überblick.
Ansonsten ist das Spiel deutlich schwerer geworden. Durch den langen Bau der Sendemasten, der etwas schmaleren Werbeeinnahmen und den inzwischen sehr teuren Nachrichten.
Die KI ist besser geworden. scheffelt auch eifrig Geld. Nur auf neue Programme hat sie keine Lust. Aber im Bereich Geld verdienen, ist das beste KI, die ich bisher bei dem Spiel erlebt habe.
Insgesamt. Sehr gute neue Version.
Offline
Ich muss erstemal Mäkeln:
Version 0.2.6 aus #95
Wenn ich einen mit der Version angelegten Spielstand lade und dann die Tasten "5" bis "8" zum Zeitbeschleunigen benutze, stürzt das Spiel zum Desktop ab.
Bei anderen Tastenkürzeln funktioniert alles normal.
Wiederholbar.
Offline
Absturz: Reproduziert, fix ich gleich.
Edit: es stuerzt bei mir nicht wegen der Tasten ab, sondern bei Programmstart (hat was mit den "Personen" zu tun die da informiert werden)
@Sendemasten
Geplant ist, dass ein Sendemast zur naechsten "Sendung" einsatzbereit ist. Vorgemerkt ist aber eh schon, das Sendemasten individuelle Fertigstellungszeitpunkte haben koennen (bzw deaktiviert). Ich hatte angedacht, dass die Bauzeit in Abhaengigkeit von der Reichweite ist ("Groesse des Mastes").
Wir koennen aber jetzt gern testweise die Bauzeit auf "Mindestens 1 Stunde" erhoheen:
18:34 gebaut -> fruehestens 20:00 einsatzbereit
19:01 gebaut -> fruehestens 20:05 einsatzbereit
...
bye
Ron
Offline
So Fehler gefunden... ist vorher nur noch nicht aufgefallen, da wir die Personen nicht "bearbeitet" haben.
Problem war: um den Speicherstand kleiner zu halten, habe ich fuer einfachere Objekte den "automatischen Export"
<TProgrammeRole ref="2SZAMW">
<field name="id" type="int">2060</field>
<field name="GUID" type="string">script-roles-swe-003</field>
<field name="firstName" type="string">Filip</field>
<field name="lastName" type="string">Jönsson</field>
<field name="title" type="string"/>
<field name="gender" type="int">1</field>
<field name="country" type="string">SWE</field>
<field name="fictional" type="int">0</field>
</TProgrammeRole>
in einen manuellen verpackt - der mit weniger Platz auskommen sollte:
<TProgrammePersonBase ref="2TWXRC">
<serialized>Elliot::Lucy::::0::0::1::1::::</serialized>
</TProgrammePersonBase>
Bei den Programmen hatte ich allerdings vergessen, die GUID/IDs mit zu serialisieren - beim Einladen bekamen dann alle Personen neue Kennungen, und tja...dann wurden sie nicht mehr in der Datenbank gefunden (auf was ich vertraute) und peng... Absturz.
Neuer DevPatch kommt dann gleich.
bye
Ron
Offline