Thema:
Re: 1/2 OT: Frage an programmieraffine User flat
Autor: Beauregard
Datum:09.05.20 23:15
Antwort auf:Re: 1/2 OT: Frage an programmieraffine User von b0b

>was du auch nicht mit dem ipad machen kannst, ist programmieren - also leg das teil weg, fange an zu lernen und mach dem traurigen umstand ein ende ;)
>auf auf zum atom!


Ich und Programmieren? Du wirst im Maniacforum keinen Unfähigeren finden;)

>
>nun, ja, ich habe keine festen beweise dafür, ist halt meine theorie. und was wahres wird schon dran sein.
>ich bin selber nicht in der branche tätig. ja, IT und programmieren etc. aber nichts von meiner arbeit hat mit spielen zu tun. ich beschäftige mich damit aber gerne als hobby wenn ich mal freie zeit dafür finde.
>
>während meiner studienzeit war ich aber echt erstaunt wie sich meine kommilitonen mit dem thema beschäftigen. also sagen wir mal, alle haben gezockt, ich würde sagen über der hälfte hatten den wunsch ein eigenes spielchen zu machen. programmiererfahrung war dann mehr oder weniger bei vielen auch da (mal gut mal schlecht; wenn der wunsch groß genug wäre, hätten sich einige durchaus durchbeißen können)
>die meisten haben diablo, warcraft (3), dann WoW, fallout, D&D etc gespielt, meist nur auf PC. Konsolen waren da nie soo häufig (bestimmt auch weil Deu ein PC land ist/war). bei den "cooleren" war es Quake3 gegen UT (Q3 natürlich!). und dann hat ich auch dass gefühl, dass ausser mir alle "Go" und "Magic" (das Kartenspiel) etc kannten und liebten.
>Sportspiele waren nicht einmal ein "Thema". informatiker halt ;)


Damn it. Eine neue Generation von „Informatikern“ muss her, sofort ranzüchten!

>
>ja bei den shootern ist die KI einfacher. Klar hat die sich da auch weiterentwickelt. aus wegpunkten wurden navigationsmeshes, rudimentäre teamplay elemente kamen hinzu. Seit Q3 ca auch "fuzzy logic" (in bestimmten intervalen verhalten sich die KI-agenten absichtlich doof, fallen in den Abgrund o.ä. - macht sie etwas "echter") usw usw. Aber im grunde ist punkt A (wo du bist) und punkt b (wo der gegner ist) - zwischen den punkten eine gerade ziehen, bissel abweichung (jeh nach schwierigkeitsgrad) hinzufügen => und es wird geballert...
>dazu kommt noch dass du in der hitze des gefechts die fehler weniger wahr nimmst. die eingeschränkte perspektive (1st person ~90 fov) spielt sicherlich auch noch eine rolle...
>ausserdem - wenn die gegner zu schlau sind, ballern sie dich eh immer weg - und spieler sind ja möchtegern-rambos -> es hat vll nicht den gewünschten effekt XD
>
>die KI muss nie perfekt sein, sie soll dir nur die Illusion vermitteln, dass sie was taugt. bei "Fear" zb haben viele die KI als gut empfunden - aber laut entwicklern war es v.a. wegen der gespräche zwischen den kontrahenten. die haben einander etwas zugerufen (ohne es aber zu machen) - spieler empfanden es als "intelligent". reine ablenkung also :D
>


>
>nun ja, doch doch - sie ist mitgewachsen. nur ist es hier evtl nicht so offensichtlich. bei manschaftssportarten siehst du ja meist das geschehen von (schräg) oben, d.h. du siehst eine mehrzahl von KI-agenten gleichzeitig. den spieler abzulenken wird hier schwieriger ;)
>
>sieh es vll etwas historisch. wie lange haben wir 2D-grafik - seit die menschen in den höhlen zeichnen lernten.
>wie lange sound/musik? der computer ist nur ein instrument, die kunst selbst gabs ja davor schon.
>
>bleiben also 3D-grafik und KI als die grossen pfeiler:
>3d-grafik? die meisten algorithmen sind uralt, also 50er, 60er usw. rechner waren nur nicht schnell genug. raytracing ist eins der ersten methoden - war aber nie schnell genug für echtzeit-darstellung. schau dir mal wie alt die algorithmen für texturfiltering, antialising usw usw sind. das alles profitiert in erster linie von der besseren, schnelleren hardware. 3d-grafik soll ja auch deterministisch sein (bei der gleichen eingabe ist auch die ausgabe immer gleich, stumpfes "durchackern", keine "wenn-dann-sonst-oder-was-anderes geschichten")
>
>KI sollte aber möglichst nicht deterministisch sein, damit es sich realer anfühlt. fehler machen ist auch intelligent.
>informatik ist ja im grunde "mathematik+psychologie". der ganze "theoretische info"-bereich ist im grunde "logik" aus der psychologie.
>[https://de.wikipedia.org/wiki/Turing-Test]
>
>chatbots wie ELIZA ([https://de.wikipedia.org/wiki/ELIZA]) gibt es ja schon seit den 60ern... wann besteht denn ein chatbot etwa den turing-test?
>Siri, Alexa, das dingens von google - sind ja im eigentlich alles glorifizierte chatbots die dazu noch was im internet nachlesen können. Kannst du dich noch an die ersten versionen von diesen erinnern? deine eingabe wird zu den servern gesendet, falls es da keine antwort findet, kommt es in eine database und menschliche mitarbeiter antworten dann - sprich, das "wissen" das "gehirn" musste ja erst gefüllt werden... aber auch wenn sie richtige antworten geben können - würdest du sagen, sie wären "intelligent"?
>
>selbstfahrende autos? alleine das erkennen von objekten ist mega aufwändig.
>hmm übrigens - rennspiele KI. du fährst die strecke mehrmals selbst und speicherst aller paar meter deine aktuelle position und geschwindigkeit ab. das wäre dann deine "eingabe". also im prinzip ein "ghost". das wäre schon mal die simpelste KI XD. willst du mehr aufwand, bastelst du ein neuronales netz und fütterst diese mit deinem "ghost". der probiert dann viele viele varianten aus (mal schneller in kurve, mal langsamer), wobei nur die "verbesserungen" zählen... nach vielen varianten hast du es "traniert"... bleibt jetzt "nur" noch dicht-auffahren, pressen, überholen, ausbremsen, überholung antäuschen etc etc etc XD
>(bäh ist es kompliziert -> machen wir lieber doch den gummiband-effekt)
>
>
>schnellere hardware hilft hier nicht soviel, wenn du es nicht implementieren kannst
>


>
>KI-verhalten wird ja meist mittels "entscheidungs-bäumen" implementiert (-> zustandsautomat).
>[https://t2informatik.de/wissen-kompakt/zustandsdiagramm/]
>versuche mal einen zustandsautomaten mit den nötigen abzweigungen (falls dies, dann dies, falls dies dann mit ~70% wahrscheinlichkeit das, ansonsten das etc etc) aufzuzeichnen. wo erreichst du den punkt wo es dir selbst zu kompliziert wird? und dann implementier das. und dann lösche alles und mach es alles neu, damit es auch schnell genug ist ;)
>
>brauchst wahrscheinlich eh mind. 2 "gehirne" - eines managed die mannschaft (also quasi der trainer, was die taktik angibt) und das andere (bzw mehrere) für die individuellen spieler.
>
>als beispiel "Alien: Isolation": das alien hat zwei gehirne. eins steuert das alien selbst, ist immer aktiv, läuft die umgebung ab und scannt nach dem spieler. das zweite wird nach bestimmten intervalen (oder ereignisen) aktiviert und gibt dem anderen gehirn kleine "tips" wo sich der spieler gerade in etwa aufhält - dann bewegt es sich erst zielgerichtet dahin...
>


>
>ist sehr aufwendig.
>preis/leistung/wirkung/zeitaufwand - da spiele eh nur ein paar monate für vollpreis laufen (ausser nintendo) - wie sehr lohnt sich das?
>klar wird an der ki immer mal entwickelt was dann für nachfolger verwendet wird, aber es ist nun mal minimal sichtbar.


Es gab einen PES-Teil,bei dem konnte man für jede Mannschaft einstellen, zu welchem Zeitpunkt welche Taktik gespielt wird. Das war aufwändig, hat aber sehr gut funktioniert. Das wurde wieder rausgenommen. Ka, warum.

>
>zu "schlamperei":
>ja, das wort (lazy devs) wird ja immer mal um sich geworfen. wie gesagt, ich bin nicht in der branche selbst tätig, aber ich bin da relativ sicher dass sie hier schon das bestmögliche versuchen, was in der zustehenden zeit machbar ist. auch wenn es "nur" videospiele sind - die programmierer in der branche gehören schon zum besten von besten. stell dir mal vor programmierer von office anwendungen würden spiele schreiben - ladezeiten von > 10 min, 5 fps sind doch schnell XD. und jetzt lassen wir mal die webentwickler (frontend, backend, und die von microservices noch mit) mal ran... pile of garbage XD
>
>auch wenn in der gaming-branche nichts weltbewegendes erfunden wird - das passiert immer noch in der forschung/unis etc etc. - die finden durchaus wege es schnell genug zu machen. soll heißen: die wissenschaftlichen paper können etwas neues nutzvolles beschreiben, die dazugehörige beispiel-implementierung ist oftmals nicht gerade wertig. theorie <-> praxis
>
>-> carmack nutzte BSP-bäume - ich glaub das war auch die erste schnelle implementierung (das paper dazu war alt)
>-> j. blow (braid, witness) hat selber noch einige paper geschrieben, meist gings um terrain rendering (noch zu zeiten wo es auf CPU gemacht wurde; ende 90er, anfang 2000er)
>


>
>in den allermeisten fällen - ja
>konkurenz gibt's da ja auch nicht
>die kaufen's doch eh


Ja, so wird’s leider sein.

>
>ich hab übrigens mittlerweilen es auch kompiliert bekommen. das originale ist echt mühsam zu bauen - eigenartige abhängigkeiten etc. habs schnell gelassen. das von google ging recht problemlos.
>
>nach einem kurzen "drüberfliegen" - google hat an dem kern nicht soo viel gemacht bisher. die haben es ein wenig aufgeräumt und die benutzten bibliotheken anders eingebunden (was das zusammenbauen viel einfacher macht), sonst aber nicht allzu viel verändert.
>das meiste von google betrifft einen "bot" in python geschrieben (der kern des spiels ist C++). so wie ich es sehe, ist deren ziel eher einen bot zu schreiben, der dann statt eines menschlichen spielers das spiel spielt. der bot sieht das gleiche interface wie ein mensch - also knöpfe die etwas tun -> er "drückt" dann die knöpfe. ich hoffe du weisst was ich meine XD


So halb erahne ich, was du meinst.

>
>also etwas wie ein selbstfahrendes auto
>
>
>... ausserdem... es ist google... nach einem jahr (oder zwei) geben die das doch eh wieder auf XD


;)

gesendet mit m!client für iOS


< antworten >