Du bist nicht angemeldet.
Hmm, der Chef koennte in "Zufallsabstaenden" (wenn gerade kein Sammy ansteht) ja mitteilen, dass er so guetig war und eine kleine Umfrage finanzierte ...
bye
Ron
@ Kieferer
Ich muss FireCracker zu Gute halten, dass er Dank meiner "Anstachelung" doch mal umfangreicher geantwortet hat.
Aus diesem Beitraeg laesst sich dadurch ein wenig Information ziehen, was er am Spiel nicht toll findet.
@ FireCracker
Ich kann derzeit einfach nicht so viel Zeit in das Spiel investieren, da hier Kinder herumwuseln die einen grossen Batzen der "Tageszeit" auffuttern.
Weiterhin ist fuer mich die Motivation dadurch vorhanden (oder nicht), dass hier im Forum (oder Facebook oder EMail oder...) diskutiert, Ideen ausgetauscht oder Fehler gemeldet werden. Das geschieht die letzten Monate eher weniger (sicher auch ein Henne-Ei-Problem).
Fuer die paar Tausend "anonymer Spieler" ein Spiel zu programmieren / gestalten kann in gewissem Rahmen Spass bringen - viel lieber mache ich das aber fuer die Jungs (und Maedels) die sich bemuehen auch mal ein paar Worte zum Spiel zu verlieren - denn das bringt ja das Spiel erst voran.
Nun zu Deinen Punkten:
@ KI und Sendestationen
Die KI bewertet Sendemasten, Satelliten, Kabelnetze nach ihrem Potential: Was bekomme ich fuer X Zuschauer. Diese Wertung sorgt dafuer, dass sie das fuer sie beste Objekt erwirbt oder mietet.
Natuerlich unterliegt die Berechnung bestimmten Annahmen: Vor allem hier die Gewichtung von Miete (Satellitenuplink und Kabelnetzanbindung) gegen den Einmalkaufpreis der Sendemasten.
Auch kann jede KI fuer sich ihr Budget anders verteilen - sprich nicht jede KI knappst von ihrem Geld die gleiche Menge ab um irgendwann Sendestationen ranzuholen.
Wenn die KI dann noch im Hintertreffen war, dann ist es fuer sie um so schwerer an Geld ranzukommen - und aufzuholen.
Ist aber jetzt auch nicht schlimmm, da ein Spiel ueber die Laufzeit von 20 Jahren (oder 15) vielleicht gar nicht angedacht sein sollte. Immerhin waere Betty dann schon lange im "Kumpelmodus" und von Hochzeit nicht mehr zu reden ;-)
Weiter ist fraglich, wieso Du die KI in TVTower bemaengelst - es aber ja als "Remake" von Mad TV siehst. Dessen KI waere also auf gleichem Niveau zu kritisieren.
Die Computergegner in Mad TV haben sich aber ja nun auch nicht mit Ruhm bekleckert. Auch ist es ein leichtes, der KI bessere Quoten zuzuschustern - nur gibt's das bei TVTower nicht. Ob KI oder Mensch, jeder hat die gleichen Moeglichkeiten und auch Anforderungen. Bei Mad TV ist meines Erachtens nach kein Raumbesuch erforderlich auch ist fraglich ob die KI aus der gleichen Filmauswahl raussuchen muss oder wie ihr sonst noch unter die Arme gegriffen wird.
@ Fazit und Kritik
Es geht um die Worte. Ich verlange hier keine Sandwichmethode (Lob, Kritik, Lob) aber hier ein paar Zeilen "hinzuschreiben" und sie einzuleiten mit "Sehr schlechtes Remake!" zeugt nicht davon, dass es Dein Anliegen ist, den Zustand des Spiels zu verbessern/aendern.
Dir geht es da einfach nur darum mich als Entwickler als "zu bloed ein ordentliches Spiel zu machen" hinzustellen. Und das ist, was mir sauer aufstoesst.
Ich verlange keineswegs kritiktechnisch mit Samthandschuhen angefasst zu werden. Halbwegs "sachlich" vorgetragene Kritikpunkte sind mir lieber als nur Lobhudelei. Wie gesagt sind es ja Fehlermeldungen, Diskussionen und auch Kritiken an Spielelementen das, was am Ende zu einer Weiterentwicklung fuehrt - vielleicht auch in die Richtung der Kritiker.
@ Ein Jahr seit letzter Version
Hier gibt es genuegend Entwicklerversionen fuer "ganz interessierte". Und mit der neuen Version macht dann die KI auch obig beschriebenes Verhalten (Satellitenuplinkanmietung etc).
Vielleicht probierst Du mal eine der aktuellen Fassungen - vielleicht ist die KI dort ein wenig besser.
@ KI
Die KI kann einfach noch nicht alle Spielfunktionen nutzen - da ja eh noch einige Spielfunktionen fehlen und vor allem weil noch einiges an Balancing zu erledigen ist.
Wir haben auch einige Threads zum Thema "Spielweise" - die Spielweise anderer koennte helfen der KI einige dieser Spielertricks beizubringen (die sie optional nutzen koennen).
Auch hier ist aber zu erwaehnen, dass ich die KI schreibe - und wenn ich an der KI drehe, kann ich an diesem Abend nicht am Spiel selbst programmieren.
Wenn ich nicht am Spiel arbeite, kommen aber auch andere hier aktive Nutzer und woellten doch gern einen Spieleditor - Editoren mit viel interaktiver Funktionalitaet sind allerdings auch nicht an einem Wochenende herunterprogrammiert. Vor allem nicht, wenn man wie wir bei TVTower sehr dynamische Spielobjekte erstellen kann (Also das ein Film Nachrichten ausloest, dass eine Nachricht Schauspieler bekannter macht, ...).
@ Original verdient so ein Tribute nicht
Dann verdient es das eben nicht. Viel Spass mit Mud TV und wie die anderen TV-Simulationsspiele alle heissen.
Ich kenne _kein_ anderes an Mad TV "angelehntes/sich orientierendes" Spiel was so offen auf Spielerwuensche eingeht, was so Spieler an der Entwicklung beteiligen laesst und noch einiges mehr.
@ Trailer
Die Trailer sind auch eine Art von Notnagel - denn ein Chef kann sich doch ueber Sendeausfall aufregen. Er verliert dann ein wenig die Geduld - und zumindest derzeit die Motivation Kredite zu verteilen. Spaeter koennte dies auch zum Rauswurf fuehren.
Entsprechend ist die KI so angelegt, dass sie zumindest irgendwas sendet. Und wenn die KI keine passende Werbung hat (und auch keine beim Makler findet), dann sendet sie eben Trailer.
Nichtsdestotrotz ist die Programmgestaltung seit einigen Tagen von mir in Ueberarbeitung (da sie sehr CPU-intensiv ist - und vielleicht auch verbesserungs/-aenderungswuerdig).
@ Verlierst Du nur noch Zuschauer
Hast Du Satelliten? Bist Du bei ALLEN Satelliten eingebucht?
Nutzer wechseln Satelliten (besserer Empfang, bessere "Technik" ...). Entsprechend schwinden deine Zuschauerzahlen (oder koennen auch steigen).
Das die KI nicht mithaelt ist ein bekanntes Problem - Endgame und "Balancing" sind hier noch Baustellen.
Deswegen sind Erfahrungen von "Langspiel"-Spielern wichtig - ab welchem Zeitpunkt es zu leicht wird, ob man kuenstliche Schwierigkeiten einbauen sollte ("Rattengift im Archiv zerstoert 4 Deiner Filme").
Kannst Dich dazu ja gerne aeussern.
Denn trotz Deiner Unkerei scheinst Du ja nicht nur 10 Minuten gespielt - sondern mehrere Stunden im Spiel verbracht zu haben.
PS: Sarkasmus und Zynismus habe ich in meinem Vorpost nicht gekennzeichnet - lies den ersten Absatz - unter dieser Praemisse - durchaus erneut ;-)
bye
Ron
Die letzten Dev-Versionen beinhalten schon die Funktionalitaet um aktuelle Senderimages (Zielgruppen und Lobbygruppierungen) zu archivieren.
Das Archivieren von Trends (Programmgenre / Flags) koennte auf die gleiche Art und Weise umgesetzt werden.
Auch die Grundzuege fuer die Darstellung im neuen Statistikbereich sind schon geschaffen - da fehlt aber noch einiges, vor allem dank der flexiblen Zeitabstaende ("Zoom"). Muss ja alles selbst programmiert werden ;(
Kurzum fehlt nur noch der Schritt, dass die Ausstrahlung einer Sendung den Effekt ausloesen kann, die aktuellen Imagewerte zu archivieren.
Es gaebe derzeit der Einfachheit halber keine Ungenauigkeiten sondern die exakten Werte zu diesem Zeitpunkt.
Die Ungenauigkeit waere also ein moegliches TODO fuer "spaeter mal".
Im Thread wurden ja diverse Moeglichkeiten angesprochen:
- "Im Trend" -> Offenbart Trendwerte von Genres und Flags ("FSK18", "Trash")
- "TED am Abend/Morgen" -> Offenbart Senderimage bei Zielgruppen und Lobbygruppierungen
Zusaetzlich koennte aller X Tage ja der Chef eine Umfrage starten?
Oder im Statistikbereich einen Button einbauen: "Umfrage fuer XX.000 Euro starten" (Preis abhaengig von der Sendergroesse?)?
Oder das Thema "Tageszeitung" waere nochmal aufgegriffen und dort kommt aller X Tage eine Umfrage zum Vorschein - neben "Top Quoten von gestern"-Berichten und anderem Krimskrams.
bye
Ron
In diesem Thread (es war eigentlich vorher mal als Antwort im "aktuelle Versions"-Thread angedacht) koennt ihr gerne diskutieren, was ihr davon haltet ... und/oder Beispiele geben, wann ihr ein Programm einschalten/wegschalten wuerdet - oder garnicht erst einschalten:
- Programmende nach X Uhr ("Fruehstuecksfernsehen von 9-15 Uhr", Film von 22-3 Uhr)
- Programmstart vor X Uhr ("Film von 19-21 Uhr")
Denn wenn im Vorhinein klar ist, dass ein Film nicht zuende geguckt werden kann, schalten wohl weniger ein (Ausnahme, alle anderen Sender bringen auch so lange Filme ;-)).
Entsprechend sind solche "Fehler" in der Programmplanung eher mit einem Malus zur empfundenen Programmaattraktivitaet versehen. Fuer einen "Bonus" faellt mir jetzt kein Grund ein.
bye
Ron
Was ich auch noch als kleine Idee im Kopf herumschwirren habe ist:
Die Blocklaenge eines Programmes sollte die empfundene Attraktivitaet beeinflussen: in Abhaengigkeit der Sendezeit.
- Filmende nach Mitternacht? Abzuege
- Filmbeginn vor Primetime aber Filmende in Primetime? Abzuege
- vormittags/nachmittags werden 1-Block-Sendungen bevorzugt (man hat nicht immer 2 Stunden "am Stueck" Zeit ...)
- Abends werden 2-3-Block-Sendungen bevorzugt
Das ganze muesste eigentlich sogar nach Zielgruppen unterteilt werden: Rentner und Manager bevorzugen kurze Sendungen, Arbeitslose haben auch nix gegen laengere Bloecke etc.
Ausnahmen waeren "Live-Programme" oder Programme die irgendwie "Kurzweilcharakter" habe (Eventuell koennte man denen einen "Flag" mitgeben oder einen "Mod" der den Zeitslot-Einfluss ausschaltet/abmildert - oder gar verstaerkt).
Warum? Nehmen wir die Fruehstuecksfernsehsendungen oder Mittagsmagazine. Die Inhalte dieser Sendungen wiederholen sich teils und generell sind die Inhalte nur wenige Minuten lang und man kann jederzeit dazuschalten oder -abschalten.
Das heisst, jedes Programm koennte einen Wert bekommen, der beschreibt wie "zusammenhaengend" die Sendebloecke sind. Je zusammenhaengender, desto wichtiger ist es, das Programm zu einer passenden Sendezeit zu bringen ("Filme abends oder am Wochenende").
Wir koennten somit individuell fuer jedes Programm (falls vom "Grundtyp" abweichend) definieren zu welchem Sehverhalten sie passt.
Dann koennten wir fuer die Uhrzeiten / Programmslots definieren, was fuer ein Sehverhalten da angenommen wird (vormittags: loses Program, abends Zusammenhaengendes, ...)
Waere natuerlich noch fraglich, ob man irgendwie in den Programmdatenblaettern die Information unterbringen muesste - oder ob man das aus dem "Gefuehl" heraus mitbekommt. Filme = zusammenhaengend, Trash-TV = lose, "Fruehstuecks-TV" = lose, ...
STARSCrazy hatte damals (2013) im Thread Spieldesign: Feedback und Hinweise zur Zuschauerberechnung die Fernsehfamilie in's Spiel gebracht. Vielleicht sollte sie indirekte Hinweise geben: "Genau zur richtigen Zeit", "Ganz schoen frueh fuer den Film", "Ich glaub ich schalt gleich weg").
Das interessante daran ist: Ein zusammenhaengendes Programm sollte es schwer haben "neue" Zuschauer ranzubekommen ("Film fing schon an"), egal ob da zur Folgestunde 5 Millionen neuer potentieller Zuschauer ihre TV-Kiste anschalten oder nicht.
Entsprechend wuerde durch den Einsatz eben obig beschriebener Programmeigenschaft der Effekt offensichtlich, dass man einen Film halt nicht 19 Uhr sondern 20 Uhr beginnt.
Fuer die KI wuerde das natuerlich ein harter Brocken (je nach Gewichtung / Einfluss dieses Aspektes) und sie muss das in ihre eigene Attaktivitaetsberechnung mit reinnehmen.
bye
Ron
Die KI kann einfach noch keine Eigenproduktionen ;-)
Filmauktionen waeren denke ich machbar (rudimentaer) aber solange sie mit dem Grundprogramm noch nicht ordentlich Gewinne einfaehrt, sind die Baustellen noch anderweitig zu suchen.
@ Wiederholungen
Ich ueberarbeite ja derzeit eh die KI ein wenig (da sie an manchen Stellen viel CPU-Zeit verbraucht). Ich habe da bei der "was koennte ich zu dieser Zeit senden?"-Stelle schon ein bisschen herumgeschraubt - da ist aber noch einiges an Potential rauszuholen.
Weiterhin gab es einen Fehler bezueglich zu kaufender Filme. Die KI schaut was sie fuer Programme hat und schreibt sich sozusagen eine Einkaufsliste "Brauche einen Film mit der Qualitaet X-Y fuer Sendezeit xx:00". Brauchte sie die gleiche Qualitaet nochmal (andere Sendezeit), gab es einen neuen Eintrag in der Einkaufsliste.
Der Fehler war nun, dass sie beim Haendler dann einen passenden Film fuer "Eintrag 1" fand und kaufte. Danach wollte sie einen Film fuer "Eintrag 2" raussuchen ... und nahm ihre alte Liste zur Hilfe, auf der nun noch der vorherige Film eingetragen war. Kauf dieses Filmes schlug natuerlich fehl. Auf der Einkaufsliste werden aber nur gekaufte Filme korrekt die "Eintraege" entfernen ...
Der Fix korrigiert dies dahingehend, dass nun bei einem Filmhaendlerbesuch auch "Eintrag 2" (usw.) korrekt abgearbeitet werden koennen.
Dies koennte ein klein wenig den Wiederholungs"irrsinn" abmildern. Mehr Einfluss hat aber natuerlich obig beschriebene "was koennte passen"-Funktion.
Eventuell sollte ich an dieser Stelle ("kein passendes Programm gefunden") die besagte Einkaufsliste erweitern ...
Weiterhin hat hier noch eine andere Funktion Einfluss: die Programmplanoptimierung. Die Optimierung schaut sich an, was an diesem Slot am Besten (nach _jetzigem Wissenstand) reinpassen koennte. Hier werden dann fuer Prime-Time schon Werbesendungen abgeschwaecht usw.
Generell koennten wir der KI beibringen, dass "vormittags/nachmittags" andere Programmgenre vorzuziehen sind - dies vielleicht auch abhaengig von dem KI-Spielcharakter ("Filmsender", "Normalo TV", ...). Sprich neben der dem Programm innewohnenden "Attraktivitaet" (Genre, Uhrzeit, Qualitaet des Programmes, ... Trends...) koennte die KI auch ein wenig Klischeedenken anwenden: vormittags Trash, mittags Dokus, Abends Filme .. oder aehnliches.
Sprich jede KI bekommt ein paar Gewichtungen mitgegeben die die Attraktivitaet der Programme ein wenig manipulieren.
bye
Ron
Danke fuer deine konstruktive Kritik.
@ Hauptsender verliert Zuschauer
Du musst natuerlich Programm senden.
Mit Fortschreiten des Kalenders (Startjahr wichtig) verliert man als "Antennen"-Sender Zuschauer (die Wechseln zunehmend auf Satellit / Kabel).
Warum aus diesem Grund kein Konkurrenzkampf moeglich sein soll, erschliesst sich mir trotz deiner mannigfaltig aufgebrachten Notizen noch nicht.
@ Non-Stop pleite
Die KI (und das Spiel) sind quelloffen, wenn sie Dir noch nicht genug spielt, einfach im Texteditor Deiner Wahl die Lua-Skripte der KI oeffnen, Zeug anpassen, speichern und Spiel einladen. Die KI kann dann mit deinen Geniestreichen dem Spieler das Leben schwer machen. Unsere KI "schummelt" nicht - sie muss wie der Spieler in die Raeume, muss Quoten abschaetzen etc. - entsprechend kann es schnell bei der KI zu weniger Einnahmen kommen (viel zu wenig Zuschauer einkalkuliert), die KI kann es mal nicht ins Buero schaffen (kann Werbung nicht mehr mit besserer austauschen). Manchmal bekommt sie einfach nicht die passende Werbung (betrifft oft den schlechtesten Spieler :-)). ... mit Schummeln ("von ueberall Filme kaufen", "Exakte Quotenschaetzung", ...) waere die KI sicher ein ganzes Stueck schwerer.
Es gibt im Spiel immer ein paar KI die "pleite gehen", manche andere laufen aber ein paar Spieltage mehr als nur 12 Spieltage.
Vielleicht solltest Du aber auch einfach nicht cheaten und es somit der KI erschweren.
@ Remake
Wir sind eher ein "Tribute" als ein Remake. Eventuell bist Du ja so gross geworden, aber ich finde es ein wenig unfein von Dir, hier bei mir aufzuschlagen und in der einleitenden Phrase ein so desastroeses "Fazit" zu ziehen.
Kritik zu aeussern ist wichtig und auch richtig - nur ist hier der Ton meines Erachtens nach ein wenig daneben.
bye
Ron
Ah ja, Captchas - kannst Dich gerne registrieren und umgehst damit diese Eingaben (und Du kannst Deine Beitraege korrigieren, falls doch mal der Rechtschreibteufel zugeschlagen haben sollte).
@ Windows ME/Me
Offiziell wohl "Me" (verkuerzt zum Sinne von "Meine"). Allerdings stand und steht es immer noch fuer "Windows Millenium Edition". Das Akronym koennte also auch "M.E." sein (oder "ME").
@ Legacy.freeaudio
Ja, den "rtAudio"-Bug habe ich behoben, beim naechsten Release sollte also eine (wenn auch vlt anders genannte) "TVTower.Win32.legacy.rtAudio.exe" funktionieren.
bye
Ron
Du benutzt die Entwicklung von TVTower also als Lern- bzw. Weiterbildungs-Projekt.
Das "also" versteh ich zwar nicht, dennoch stimmt das generell. Jedes meiner Softwareprojekte nutze ich zum Lernen/Weiterbilden in bestimmten Bereichen. Mache ich an einem Programmierwettbewerb mit, dann will ich mich immer in einem bestimmten Bereich ausprobieren oder verbessern (Umgang mit "Blender", Tools, Gameplay ...).
@ 32 MB GPU
Ja, mit 8 MB koennte es eng werden - es muessen ja nicht nur die 800x600x16bit reinpassen sondern viel mehr die genutzten Texturen. Passen sie nicht, kommt es zu dauerndem "Neuhochladen" der Texturen -> FPS besucht den Keller.
Meintest Du aber nicht, dass da eine Kernel-Meldung unter Windows ME kam? tritt die in der Devversion nicht mehr auf? Oder nur bei "legacy" nicht aber bei "ng" immer noch?
Wenn Du nur mit DX7 spielst, dann vermute ich mal die "legacy" - in NG ist der DX7-Pfad eigentlich deaktiviert (bzw dort von den Bibliotheken her nicht "supported")
@ DX 7
Freilich _kann_ das von uns genutzte Spektrum an Techniken mit DX7 abgebildet werden - manches nutzt aber vielleicht Umwege und verliert ein paar FPS - anderes hingegen koennte auch einfacher funktionieren und das aufwiegen ... keine Ahnung.
p.s. wo bin ich heute
Ich spiele zwar mit meinen Kindern gerne "Ich sehe was, was Du nicht siehst", dennoch erschliesst sich mir nicht, wie ich aus Deinem Beitrag einen Ort herauslesen koennen soll.
bye
Ron
F12 macht einen Screenshot (landet im TVTower-Verzeichnis).
Fehler kann ich nachvollziehen: einfach den 1 von 2 auf einen spaeteren Slot ziehen und es bleibt bei 1/2 - statt zu wechseln.
Die Ursache ist aber ganz einfach: Der angezeigte Text wird als "Textur" zwischengespeichert (damit ich nicht jeden Buchstabe jedes mal "rendere" - so rendere ich den gesamten Text "mit einmal"). Das war frueher noch nicht so ... und der Fehler ist der, dass das Programm nicht korrekt die Textaenderung mitbekommt (und den Cache verwirft).
Und dort ist nicht das "Mitbekommen" der Fehler - sondern einfach eine schusselige und falsche Verknuepfung von Bedingungen meinerseits.
Ich verwerfe den Cache wenn sich die Textlaenge aendert _und_ der Textinhalt (Laengenvergleich ist schneller als ein Textvergleich). Wenn da aus "1/2" ein "2/2" wird, aendert sich zwar der Textinhalt aber die Textlaenge blieb gleich.
Mit anderen Worten: Du hast einen Bug gefunden und Dir wieder einmal eine Erwaehnung im Aenderungslog verdient ;-)
bye
Ron
Kannst du das nochmal in anderen Worten - oder mit einem Screenshot zeigen?
Ich verstehe jetzt nicht genau wo es zu dem von dir beschriebenen
XY 1/4
XY 3/4
XY 4/4
kommt.
bye
Ron
Die Batchdateien sind fuer die "Hab ausversehen die Einstellungen verstellt und will die settings.xml nicht von Hand anpassen". Kann da gern die DX7-Batch entfernen, dachte die paar Bytes machen das Kraut nicht fett :-)
Strafbar macht sich keiner. Nur ist der DX7-Renderpfad in neueren Windowsversionen glaube gar nicht mehr am Start.
Generell hat das Entwicklerteam (1-Mann-Abenteuer) derzeit nicht die Staerke um alle OS-spezifischen Probleme immer gleich angehen zu koennen.
Du benutzt ja Linux - und ich versuche gern das dort zum Laufen zu bekommen (da das Linux "aktuell" ist) aber fuer 20 Jahre Windowsversionen ... weiss nicht so recht.
@ Forderung
Nun, wenn jemand mehr als nur "anmerkt", dass auf einem sehr betagtem Computer ein Spiel nicht mehr laeuft, dessen Entwicklung erst nach Herstellung dieses Computers begann, dann kann man davon ausgehen dass dies schon ein wenig nach "aber ich haette es schon gern, wenns laeuft" klingt. Wie weiter unten noch erklaert, sind zwischen "v0.2" und "v0.5" enorm viele Funktionen hinzugekommen.
Du bist mir ja auch noch die Antwort schuldig, wie die CPU-Auslastung bei TVTower ausschaut - ist die bei 100%, dann erklaert das die FPS-Werte.
Das Startmenue sollte aber eigentlich trotzdem schneller laufen - da passiert (logisch und auch grafisch) weniger als im Spiel (ausser ganz am Anfang, wenn noch die Ressourcen/Grafiken/Sounds... laden).
@ 64 bit
Ubuntu will neuere Fassungen nur noch mit 64Bit anbieten (somit 2023 Supportauslauf fuer die letzten Ubuntu 32Bit-Varianten).
Mac OS X Mojave und Folgevarianten laeuteten das Ende fuer 32 Bit auf dem Mac ein (fuer die "Nicht-Dev-Pakete" kompiliere ich auch Mac-Binaries).
Lieber _kann_ ich fuer 64Bit kompilieren als es nicht zu koennen ("Zukunft"). Wenn Interesse da ist, stelle ich sowohl 64 als auch 32 Bit fuer Linux/Windows zur Verfuegung, fuer Mac wohl nur noch 64 Bit.
Da hier aber ja derzeit "Testversionen" bereitgestellt werden, hatte ich mich darauf beschraenkt, dass die Windowsfassungen dabei sind - Macuser sind gerade keine aktiv im Forum (aktive = derzeit an einer Hand abzaehlbar).
@ DX9
DX9 ist performanter und ermoeglicht das nutzen einiger Hardwarefunktionen. Vielleicht werden Treiber auch besser optimiert.
Gerade auf alter Hardware hatte ich bspweise immer Probleme mit OpenGL und weniger FPS mit DX7 - DX9 hatte da ein paar Prozent mehr.
@ Hardwarevoraussetzungen (Amiga oder PC?)
a ) kein 320x200 mehr -> mehr GPU-Leistung erforderlich (800x600 ist doch schon fuer "2000er Computer" ganz gut?)
b ) mehr als 256 Farben
c ) Semitransparenzen ("Anti-Aliasing")
d ) Modbarkeit (mit Dynamik kommen ein paar CPU-Kosten)
e ) KI schummelt nicht (sie muss sich alles selbst ermitteln/abwaegen) -> KI braucht (weit) mehr CPU
f ) Simulation der Umwelt (Wettereinfluss, Sport, ...) -> ein wenig mehr CPU
g ) Weit umfangreichere Quotenberechnung (Audience-Flow, Genretrends, Schauspielertrends, ...) -> mehr CPU
Generell zur Vergiss nicht: alpha blitting (also "Weiche Schatten", "Halbtransparenzen" etc). Das und Skalierung, Rotation ... laeuft damit hardwarebeschleunigt
Bei mir sieht es so nach einem neu angefangenem Spiel aus:
Passiert dir das mit allen .exe-Versionen? Vielleicht verschluckt wirklich irgendwas bei Dir Informationen - erst manche Mausklicks und nun die Sortierung :-)
bye
Ron
Habe heute angefangen damit zu experimentieren, die KI in Threads auslagern zu koennen.
Damit muss die KI "asynchron" werden, dass heisst statt direkt die KI-Funktion "OnMinute" (Eine Ingame-Minute ist um) aufzurufen, bekommt sie nur noch die Information auf einen Stapel und muss sich selbst um das Abarbeiten dieser Stapel kuemmern.
Kurzum wuerde die KI also in einer Dauerschleife den "Stapel" ueberwachen statt direkt den Zettel in die Hand zu bekommen und dann just in diesem Moment darauf zu reagieren.
Ich denke das ist notwendig, da vor allem Dinge wie die Programmplanung doch manchmal ein paar mehr Millisekunden brauchen als verfuegbar (bei 60 Logikupdates pro Sekunde bleiben also 15ms fuer die ganze Spiellogik eines Updates - da passen die bei mir teils 40ms fuer die Planoptimierung nicht rein und es fuehrt zu kurzem ... Ruckeln).
Das bedeutet aber, man muss alle moeglichen Stellen beachten um das "KI Programm" (Thread) zu beenden (Spielende, Spielerbankrott, ...), zu pausieren (wenn Menu aufgerufen etc).
Auch muessen zeitgleiche Zugriffe beachtet werden (ki 2 fuegt film in den Plan waehrend die Hauptlogik gerade den Plan auswertet).
Problematisch waere denke ich auch der Schnellvorlauf. Was ist, wenn die KI nicht ganz "hinterherkommt" und sich was aufstaut.
Ich schaetze man muss noch Befehle einbauen die dann doch auf die KI "warten", so dass sie - falls noetig - Zeit bekommt angemessen auf Dinge zu reagieren. Hoffe das ist vermeidbar, da es dem Prinzip der asynchronen Vorgehensweise widerspricht.
Alles in allem ein Garant fuer Fehler. Mal schauen.
bye
Ron
DX7. Bei allen anderen wird es noch langsamer.
Es ist allerdings richtig daß ich eine ältere Version
hatte, bei der die Frame-Rate deutlich höher war. Ich weiß
nur leider im Moment nicht mehr genau welche das war:
es könnte Version 0.21 oder 0.26 gewesen sein. *?
Generell geringe FPS oder nur "im Spiel" (hatte ich in einem vorherigen Beitrag schon angefragt)
Falls nur im Spiel und immer wieder sporadisch: Deaktiviere doch mal per F11 die KI.
Ich habe aber auch keine Lust ältere Versionen von
deinem Spiel zu spielen.
Aber ich soll Lust haben, es fuer die "Randgruppe" der Alt-Computer-Enthusiasten zu optimieren?
Vergiss nicht, wir sind in Zeiten in denen Mac OS die 32 Bit-Kompatibilitaet aussortiert, in denen Unicode-Support durch das OS bereitgestellt wird (unicows - nachgereicht bei Win2000 und XP) etc.
Den Renderpfad "DirectX 7" noch zu supporten ist... nunja, interessant, aber sollte vielleicht nicht hoechste Prioritaet haben.
@ Windows ME
Nach Win98 (und vorher DOS, Win3.11, Win95) kam bei mir XP und blieb soweit es moeglich war. Win7 und Win10 ist nur drauf damit ich es dort fuer das Gros der Leute testen kann.
bye
Ron
@ DirkW
Manchmal ist es das Interesse, auf alten Maschinen etwas zum laufen zu bekommen.
Ich habe hier Notebooks von in etwa 2006 - und darauf laeuft TVTower, wenn auch nicht immer mit 60fps (aber im Schnitt 30).
Solange ich das Spiel "programmiertechnisch" alleine realisiere, sehe ich aber keinen Grund, viel Energie in die Optimierung der Rendervorgaenge zu stecken. Ich habe schon einiges an Verbesserungen eingebaut (Rendern von Schrift-Glyphen/Zeichen auf eine Textur - anstatt bei Text jedes Zeichen einzeln zur GPU zu schicken) aber manches Bedarf entweder einer langsamen Softwareloesung (so aehnlich handhabe ich es jetzt) oder die GPU muss bestimmte Befehle verstehen (da waere die Matrox G450, die Radeon 7000 - oder die IGP meines aeltesten Notebooks raus).
Bin mir nicht sicher, aber irgendwo konnte man im Hochhaus auch die Wettereffekte, Wolken ... abschalten. Meines Erachtens nach war die FPS aber immer in der Senderkarte und im Programmplaner am niedrigsten.
Derzeit sollte das Rendering in TVTower auf nicht-archaeologisch-wertvoller Hardware (sagen wir also mal "bis zu 10 Jahre") ausreichend schnell rendern (GPU). Auch die CPU-Auslastung sollte im Schnitt niedrig sein - nur macht die KI halt manchmal aufwaendiges Zeug und diese "Ausrutscher" sorgen dann fuer das visuelle "ruckeln/stehenbleiben".
Entweder man schreibt alle Zugriffe der KI um ("Threadsicherheit") und packt die KI dann in eigene Threads - oder man teilt die Aufgaben der KI in kleinere Haeppchen, so dass sich die "Peaks" auf mehrere Zyklen verteilen und somit nicht mehr auffallen.
bye
Ron
Ich kann Dir auch eine 32 Bit Linux-Fassung anbieten ... Hatte bisher nur keiner angefragt und da hatte ich mir das "erspart".
Wie in meinen Beitraegen vielleicht schon erkennbar, habe ich derzeit ein Problem mit "legacy + freeaudio + Linux". Der Legacy Compiler kann nur 32 Bit.... entsprechend habe ich ein Problem mit dem alten Compiler, der 32Bit Fassung des Spiels und dem neuen Audio-Streamer. Die 32Bit-Fassung mit "rtAudio" laeuft hier unter Linux, fordert aber PulseAudio als Abhaengigkeit ein.
@ 5-6 fps
OpenGL, gl2sdl, dx9... Welcher Renderer ist eingestellt?
Ist die CPU-Auslastung am Limit? Wie sind die FPS im Startmenu (keine AI am werkeln)?
Welche (alte) Fassung hatte bei Dir noch gute FPS? Welcher Renderer? Eventuell muss ich die DX7-Schnittstelle fuer Dich entstauben.
@ Windows ME
Glaub da kann ich erstmal nix dran aendern.
Ich verstehe das Interesse, dieses Spiel auch auf aelterer Hardware und aelteren Betriebssystemen zum laufen zu bekommen - dennoch wirkt es ein wenig "trollig" von einem Spiel mit aufwaendiger Spiellogik (die Grafik ist nicht "State of 2019" aber die Spiellogik ist umfangreich) zu verlangen, dass sie auf Hardware von 2001 (Radeon 7000) fluessig laeuft.
Das Spiel selbst nutzt Alpha-Blitting an nahezu jeder Stelle - das kostet einiges an GPU-Leistung. Ich hatte damals schon mit einem Pentium 3 und einer SIS 641 Probleme dreistellige FPS-Werte hinzubekommen und hier koennte die Hardware noch schlechter aussehen - und _damals_ war noch nicht viel im Spiel integriert (weit weniger CPU-Auslastung).
Bye
Ron
Also "ng.rtaudio" stuerzte auf einem Windows10 hier auch ab - Neukompiliert (mit aktuellen Dateien) und ... funktionierte.
Bin aber noch an einem Problem fuer "legacy.freeaudio" unter Linux dran - da kommt unerklaerlicherweise ein Fehler (bei gleichem Basis-Quellcode fuer "ng" und "legacy").
bye
Ron
Also der i5 sollte schnell genug sein :-)
Werde versuchen Dir neue .exe-Dateien bereitzustellen.
Fuer "freeaudio" mit groesserem Audiobuffer (vielleicht liegt es daran) und anderen Fixes (legacy-Speicherstand-erstellen etc).
bye
Ron
Danke fuer das zuegige Feedback.
Das Ruckeln zum Start liegt daran, dass "NG" die ganzen Grafiken in einem anderen Thread laedt - es sollte also ein wenig "schneller" den "Einzelspielerbutton" freigeben. "legacy" (zumindest in dieser Variante hier) nutzt keine Threads.
Normalerweise muesste es also eher andersherum sein ("nicht ruckeln"). Ist mir auch mal aufgefallen und muss ich mir mal anschauen.
Verwunderlich ist, dass bei dir unter NG "rtAudio" die rtAudio-Variante abstuerzt. Kann an was anderem liegen, oder vielleicht hab ich nicht sauber kompiliert - schauen.
@ unsauberer Sound
Das bedeutet eigentlich, dass das Spiel den Soundbuffer (sozusagen ein Soundschnipsel) nicht schnell genug mit neuen Daten fuellen kann - oder dass fehlerhafte Daten reingeschrieben werden (die dann als "Klick" oder "Krkr" zu hoeren sind). Vielleicht laeuft TVTower mit "NG" (bzw dem "SDL"-Grundgeruest) etwas langsamer bei Dir und Du warst vorher schon nah an der "Grenze" - moeglich waere es, da Du ja im spaeteren Spielverlauf von unschoenen Rucklern berichtet hattest.
Was hast Du fuer eine CPU im Spielcomputer?
@ Speicherstand
Die "legacy"-Varianten nutzen "libxml" und einen Stand der "Reflection" (Code kann Informationen ueber Codeklassen, Variablen, ... abfragen) der aelter als die von NG sind. NG nutzt statt "libxml" zum Speichern/Laden der Konfigurationen, Speicherstaende, ... "mini xml" (spart Platz und ist teils schneller).
Ich haette also verstanden, wenn es zwischen NG und legacy Probleme gaebe. Warum aber "freeaudio" und "rtAudio" fuer Probleme sorgen sollten... ? Hmm komisch.
Vielleicht kann ich es aber hier an einem Windows-Computer nachvollziehen.
Edit: jepp, nachvollzogen.
bye
Ron
Hier ein Komplettpaket zum testen (von Audio und Co):
TVTower_v0.6.2-dev_20190616.zip
Beinhaltet:
TVTower_Linux64.ng.freeaudio
TVTower_Linux64.ng.rtaudio
TVTower_Win32.legacy.rtaudio.exe
TVTower_Win32.legacy.freeaudio.exe
TVTower_Win32.ng.rtaudio.exe
TVTower_Win32.ng.freeaudio.exe
legacy: alter Compiler
ng: neuer (64bit-faehiger) Compiler
rtAudio: rtAudio-basierende Audiostreams (Drittanbieter)
freeaudio: freeaudio-basierende Audiostreams (von mir)
Unter Linux sollte die "freeaudio"-Loesung etwas netter sein, falls man kein PulseAudio installiert hat (fuer Gast2 und sein nicht mehr verwendetes Knoppix ;-)).
Bei mir funktionieren alle, aber das kann bei Euch ja anders aussehen.
Die Ruckler durch die KI ... gehe ich als naechstes an, erstmal eine Protokollfunktion integrieren um zu sehen ob es wirklich daran liegt.
bye
Ron
Das "Ruckeln" ab und zu habe ich bei einigen KI-Aktionen beobachten koennen. Allerdings betraf das fast nur meine virtuelle XP Maschine (1GB Ram, 1 CPU-Kern). auf meiner echten Hardware (i3 Notebook und AMD LLano - beide von ca 2011) ist es an sich nicht spuerbar.
Dennoch werde ich also wohl die Berechnungen auf mehrere Zyklen aufbrechen muessen (sozusagen statt 10 Filme in einem Rutsch zu begutachten, wird immer nur 1er angeguckt).
Eventuell kann es auch notwendig sein, die ganze KI in einen anderen Thread auszulagern (bedarf aber einiger Umprogrammierung).
Auch muss ich noch schauen, wieso ein Kompilat von meinem Notebook mit meiner Audioengine laeuft, waehrend das Kompilat aus der VM (eigentlich gleicher Compiler/Libs) Probleme bereitete (betrifft nur den alten Compiler).
Ansonsten liegen jetzt schon mal paar .exe Dateien bereit - leider sind die Kinder jetzt beide wieder wach und es geht erst heute Abend weiter.
bye
Ron
om
... offizieller Mitarbeiter der Staatssicherheit?
... old man?
... Obermeister?
... ?
@ Windows ME
Ja, die Funktion gibt es wohl erst ab 2000/XP.
Die Fassung die dirkw anspricht (32 bit) koennte eventuell ab Win98 funktionieren.
@ dirkw
Spieltechnisch hat sich wenig getan (maximal im Statistikbereich bzw Bugfixes im Compiler der 64-Bit-Fassungen, dort aber nicht an den fuer dich notwendigen Stellen).
Bin gerade am durchkompilieren verschiedener Fassungen - hoffen wir mal, es kommt mir kein Nachwuchs dazwischen.
bye
Ron
@ Janko
Bilderuploads: imgurl.com, abload.de ...
Was ist das fuer ein Windows? Welche Fassung hast Du probiert?
bye
Ron