Überhaupt realistisch?
-
Zur Demo müsste man natürlich den Code beilegen, und ein paar Fragen dazu beantworten.
@Cooky: Also wir hatten im Studium (technische Informatik and er FH) schon einige Sachen, die man bei Spieleprogrammierung brauchen kann: lineare Algebra, Projetplanung, Physik, Iterative Verfahren, Algorithmen (zb. Suchen, Sortieren Baumtraversion usw.), Concurrency (zwar bei digitaler Schaltungstechnik, aber das Grundproblem ist ja das ähnlich), Spiele und Simulationen (als Wahlpflichtfach), Objektorientierung (aber nur Vererbung, keine schönen Patterns), und vermutlich noch ein paar Sachen, an die ich mich wahrscheinlich nicht mehr erinner, ist schon was her.
Das heisst natürlich nicht, dass man das nicht alles problemlos ohne Studium lernen kann, aber das ist heutzutage ja bei fast allem so.
-
Ein bisschen
Es wird sehr viel davon gebraucht. Moderne Spiele, dabei rede ich nicht von Flashspielen bei Facebook, sind etwa so komplex wie moderne Betriebssysteme (oder schlimmer). Darueber hinaus ist ein Spiel auch ein Softwareprodukt und hat deswegen auch nicht weniger Anforderungen. Kleiner Ergaenzung zu deiner Liste: Multithreading, Physik(simulation), Authentifizierung, Datenbanken, Verteilte Systeme, Fehlertolerante Systeme, Optimierung, Preadiktion, Statistik, ...
Naturlich wird nicht alles bei beispielsweise Siedler oder Anno zu finden sein, aber bei den Online-Rollenspiele findet sich die ganze Palette.
-
Und professionelle Spieleprogrammierer sind in JEDEM dieser Bereiche (angefangen von AIs, über Netzwerk-Programmierung, Physik, 3d, ...) fit? Keine rethorische Frage, ich weiß es ja nicht. Aber wenn dem so ist, wird es wohl kaum möglich sein, da man, bis man alles auf professionellem Niveau beherrscht, ja eine halbe Ewigkeit braucht.
-
knivil schrieb:
Preadiktion
Was'n das? :xmas1:
-
Mechanics schrieb:
Amateure neigen oft dazu, sich zu überschätzen.
Studienabsolventen die es irgendwie geschafft haben nen Abschluss zu bekommen, aber genau zu nix nutze sind, neigen auch oft dazu sich zu überschätzen.
Das ist nicht von der Ausbildung abhängig, sondern davon was man für eine Persönlichkeit hat und vor allem wie viel man kann. Je weniger man kann, desto eher überschätzt man sich.Auch ich habe mich als Schüler ziemlich überschätzt, auf jeden Fall hab ich im Studium noch sehr viel dazu gelernt. Nicht nur durch das Studium allein, auch durch die frewilligen Praktikas und Projekte, Werkstudentenjobs, einfach Sachen, die ich mir sebst angeschaut habe, aber ohne das Studium nicht auf die Idee gekommen wäre, sie mir anzuschauen...
Du schliesst von dir auf andere. Ist dir während deines Studiums nicht aufgefallen dass da eine Menge Leute dabei sind denen es einfach nur darum geht sich für schlau halten zu dürfen und dann irgendwann ihren Abschluss zu bekommen? Und die sich eben nicht wirklich für die Sache interessieren, keine freiwilligen Praktika und dergleichen machen?
Und klar lernt man viel durch Praktikas und Projekte (WENN man sie macht). Man kann aber auch privat Projekte machen, und das was man im Praktikum im Studium gelernt hat bekommt man innerhalb des ersten Jahres in der Arbeitswelt genau so mit. Von daher sehe ich hier kein KO Kriterium für Leute die nicht studiert haben.
Ich hab' auf jeden Fall schon mindestens so viele Studienabsolventen kennengelernt mit denen man gar nix anfangen kann, wie ich welche kennengelernt habe die wirklich was drauf haben. Und wenn ich mit den "nicht-studierten" vergleiche ist der Unterschied da nicht all zu gross. Tendenziell gibt es bei den "nicht-studierten" ein paar mehr die wenig bis nix können, aber ich meine hallo... wofür gibt's denn Bewerbungsgespräche und Probezeit?
-
Dobi schrieb:
Zur Demo müsste man natürlich den Code beilegen, und ein paar Fragen dazu beantworten.
@Cooky: Also wir hatten im Studium (technische Informatik and er FH) schon einige Sachen, die man bei Spieleprogrammierung brauchen kann: lineare Algebra, Projetplanung, Physik, Iterative Verfahren, Algorithmen (zb. Suchen, Sortieren Baumtraversion usw.), Concurrency (zwar bei digitaler Schaltungstechnik, aber das Grundproblem ist ja das ähnlich), Spiele und Simulationen (als Wahlpflichtfach), Objektorientierung (aber nur Vererbung, keine schönen Patterns).
Das ist ja eine unglaubliche Liste von Buzzwords. Jeder der zu mir kommt und meint er kann das alles ist schon unten durch, da unglaubwürdig.
Ich weiss aus eigener Erfahrung, dass den Inhalt ungeliebter Vorlesungen schnell wieder vergisst. Von einem studierten Bewerber verlange ich neben dem Handwerkszeug (wie z.B. eben Vererbung*) vor allem sich in neue Dinge effizient und schnell einarbeiten zu können. Für diese Fähigkeit muss man natürlich kein Absolvent sein, die Wahrscheinlichkeit diese bei einem Absolventen zu finden ist aber höher, denn sonst wäre er nur schwer durchs Studium gekommen oder ist halt unheimlich fleissig gewesen (was ja auch nicht schlecht ist).
Alles weitere zeigt dann die Probezeit.*)Speziell Vererbung ist so ein Reizwort für mich. Dies zähle ich zum Handwerkszeug und man kann mit Fragen danach schnell die Spreu vom Weizen trennen. Auf die Frage Vererbung bekannt ist, kommt immer die Antwort "jawoll". Oftmals bringt aber schon die Frage "Wofür ist eigentlich das Schlüsselwort virtual da?" Leute ins schwimmen. Von der grundlegenden Frage "wozu eigentlich Vererbung?" mal abgesehen.
-
cooky451 schrieb:
knivil schrieb:
Preadiktion
Was'n das? :xmas1:
Ein Buchstabendreher. Ach ja: Datenkompression fehlt noch.
-
@Maxxon: Sorry, wenn es sich so laß, als ob ich meinte, dass man sowas nach dem Studium wirklich alles kann, hab ich mich falsch ausgedrückt. Ich wollte lediglich die Sachen aufzählen, die man eventuell bei Spieleentwicklung gebrauchen kann, und die im Studium angerissen werden. So wie ich meine Kommilitonen von damals einschätze, wissen die meisten vermutlich nicht, was virtual, obwohl wir auch c++ "hatten".
-
Jeder der zu mir kommt und meint er kann das alles ist schon unten durch, da unglaubwürdig.
Du bist zu voreingenommen. Es zaehlen Fakten. Wenn also die Faehigkeiten belegt werden koennen, also mit tatsaechlichen geloesten Problemen aus der Berufswelt und nicht nur mit Vorlesungen, warum nicht?
Und wenn ihr Leute als C++ Entwickler zum Vorstellungsgespraech einladet, die nichtmal virtual kennen, dann ist euer Bewerbungsprozess wohl kacke. Normalerweise: Bewerbung, kleines Programmierproblem als Hausaufgabe, Vorstellungsgespraech. Wahlweise mit Telefoninterview dazwischen. dabei ist nicht zu vergessen, dass der Interviewer sich genauso auf das Vorstellungsgespraech vorbereiten sollte wie der Interviewte.
-
knivil schrieb:
dabei ist nicht zu vergessen, dass der Interviewer sich genauso auf das Vorstellungsgespraech vorbereiten sollte wie der Interviewte.
ein schlechter/anfänger vllt. mit etwas übung zerlegt man jeden bewerber der nichts drauf hat, ehe er sich gesetzt hat
-
ehe er sich gesetzt hat
Arroganz pur, Dummheit pur. Warum wurde er dann eingeladen? Schon mal ueber den Zweck eines Bewerbungsgespraeches nachgedacht? Anscheinend nicht.
-
@knivil
oO ist ein Idiot und .oO ist sein Prophet.
-
knivil schrieb:
Jeder der zu mir kommt und meint er kann das alles ist schon unten durch, da unglaubwürdig.
Du bist zu voreingenommen. Es zaehlen Fakten.
Wie ich schon sagte, es ist kein Problem etwas *nicht* zu können. Wissenslücken selbst beheben zu können ist eine wünschenswerte Eigenschaft, die man aber nur anwenden kann wenn man zuvor sich selbst eingestehen kann, dass man überhaupt welche hat. Denn etwas wirklich zu beherrschen lernt man aber nur durch ständige Anwendung.
Wenn jemand tatsächlich behauptet er würde alles aus dem Studium absolut perfekt beherrschen, dann halte ich das mit hoher Warscheinlichkeit für Selbstüberschätzung. Schon alleine weil man sich auch im Studium nicht alles aussuchen kann und auch ungeliebte Vorlesungen machen muss.Wenn also die Faehigkeiten belegt werden koennen, also mit tatsaechlichen geloesten Problemen aus der Berufswelt und nicht nur mit Vorlesungen, warum nicht?
Der Bewerber bekommt ja dann in der Probezeit Gelegenheit dazu.
Und wenn ihr Leute als C++ Entwickler zum Vorstellungsgespraech einladet, die nichtmal virtual kennen, dann ist euer Bewerbungsprozess wohl kacke.
Das traurige ist ja, dass es überhaupt Absolventen gibt, die das nicht kennen. Bzw "gehört" hat es meist jeder schonmal, nur benutzen kann es nicht jeder.
-
knivil schrieb:
Ein Buchstabendreher. Ach ja: Datenkompression fehlt noch.
Hm, also Prädiktion, quasi von prediction? Aber trotzdem würde ich mal sagen, bei dem was bis jetzt genannt wurde, steckt nirgends so viel Mathematik dahinter, als dass man es sich nicht schnell zusammen googeln könnte. Außer bei Authentifizierung/Verschlüsselung, aber wirklich verstehen warum etwas sicher ist, muss man wohl auch nicht. Ich würde immernoch 90% des Studiums als für diesen Bereich einigermaßen nutzlos einstufen. Allerdings habe ich auch noch nicht 90% des Studiums hinter mir, bin also gespannt.
-
vieles klingt einfach, das heisst aber nicht dass es das ist wenn man es erstmal anwenden muss. zudem kommt, dass programmieren oft ein problemloesungs job ist, und gerade beim spieleentwickeln hat man probleme die nicht trivial zu ergooglen sind.
wenn man da kein grundwissen hat, kann man eventuel nichtmal die richtigen keywords bei google eintippen. zudem ist grundwissen wichtig um dinge richtig anzuwenden bzw einzuschaetzen, fehlt grundwissen, weiss man nichtmal das es fehlt ;). hat man viel grundwissen, loest man probleme vielleicht kreativer und besser als die 08/15 loesungen die bei google oben stehen, weil man ein detail ausnutzt, dass bei der 08/15 methode nicht zur verfuegung stand.z.b. wieso CRC32 nicht ausreicht um alle dateien im zip archive zu indizieren. hat man sich mit der 'cryptographie' und desgleichen nicht beschaeftigt, probiert man es aus, funzt, fertig. wir werden ja nicht mehr als 4Mrd dateien haben...
ich sage nicht dass studium wichtig oder unwichtig ist, am ende kommt auf die individuellen personen an. im team ist es am ende wichtig dass jeder bereich seinen experten hat.
-
Um mal meine Meinung zu Studenten einzuwerfen:
Ein Kollege meinerseits studiert Info, ich nicht. Neulich gings drum, dass er meinte, es gäbe keinen Rechner der die zweifache Fakultät einer Zahl ab einem gewissen Grad berechnen kann, da Integer einfach zu klein ist. Immerhin wäre die zweifache Fakultät von beispielsweise 6 schon 720!, was schon eine nicht ganz so kleine Zahl ist.Ich hab mich dann hingesetzt, dachte mir sofort ".NET bietet mir eine native BigInt-Klasse, also schreiben wirs fix in C#". Natürlich lässt sich der Student das nicht gefallen und musste kurzerhand einen kleinen Konkurrenzkampf anfangen; da er der Meinung ist, C ist die Lösung für Welthunger, Krieg und sowieso Allem auf dieser Welt, hat er sich für C entschieden.
Ein so kleines Programm enthält kein wirkliches Design. Aber ich habe es einfach gehalten: eine Funktion geschrieben für die Fakultät, und in der Ausgabe dann diese Funktion einfach verschachtelt aufgerufen (also: fak(fak(6)). Schien mir im ersten Moment der einfachste und schönste Weg zu sein.
Mein Kollege löste es anders: er berechnete die Fakultät via zwei aufeinander folgenden For-Schleifen. Und wenn die eingegebene Zahl größer als der verfügbare Bereich für Integer wird, hat sich sein Programm verabschiedet.Als er dann fertig war, beharrte er felsenfest darauf, dass seine Lösung die bessere sei. Zum ersten weil es in C ist und zweitens weil es zweckerfüllend ist.
Als ich ihn fragte, ob er weiß, was "DRY" bedeutet, meinte er nur "Scheiß auf DRY".Fazit: abgesehen davon, dass sein Programm nicht wirklich zweckerfüllend ist (es konnte ja nicht mehr als ein 0815 Taschenrechner, bei zu großen Zahlen gings in die Knie), entsprang es auch keiner "überlegten Idee". Wenn ich die dreifache Fak wissen will, muss ich eine Zeile modifizieren - er muss die For-Schleife nochmals kopieren und kriegt noch mehr sinnlosem Quellcode.
Ein Programm zur Berechnen von irgendwelchen Fakultäten hat natürlich nichts mit Spieleprogrammierung zu tun. Ich habe nur gesehen, dass er sich als Student strikt an die Uni-Vorgaben hat, und fernab von realistischem Vorgehen arbeitet (nebenbei: "Schöner Quellcode" ist für ihn lediglich exakt richtig formatierter Quellcode, sonst nichts).
Ich habe nicht studiert. Ich habe es aus finanziellen Gründen auch nicht vor. Ich weiß, dass meine Entscheidungen und Lösungen nicht immer zu 100% richtig sind und ich Fehler mache - logisch, mir trichtert das Ganze auch keiner ein. Und selbst dann würde ich die Richtigkeit anzweifeln, sofern ich nicht weiß, dass mein Vortragender kein Gott ist. Aber ich überlege was ich mache. Ich wähle nicht willkürlich eine Sprache, nur weil irgendwer mal gesagt, "Das ist die beste Sprache der Welt!". Ich überlege meinen Quellcode. Ich überlege meinen Lösungsweg. Wenn ich fertig bin, versuche ich ihn zu optimieren. Ein "Quellcode" ist für mich i.d.R. nicht als "fertig" anzusehen, nur weil er das macht, was er tun soll.Und genau bei solchen Fällen zweifle ich an der "Wichtigkeit" eines Studiums. Das Wissen, dass man vermittelt bekommt, ist sicherlich für viele Bereiche relevant und kann, wenn man sich richtig dafür interessiert, auch viele Türen öffnen. Aber wäre ich Chef einer Software-Firma und suche einen neuen Programmierer, würde ich hier - ohne jetzt selbstverherrlichend zu sein - eher den Kerl ohne Studium wählen. Er hat zwar nicht von einem dreifach Doktor und vierfach Professor erklärt bekommen, was die Hamming-Distance ist - aber ich weiß, er hat genug Hirn und hat sich das selbst beigebracht - weil es ihn interessiert. Der auf seine Meinung versteifte Student, der glaubt, dass selbst Carmack könnte von ihm noch gut was lernen, könnte sich, trotz seines tollen akademischen Grades, irgendwo anders einen Job suchen... Ich bräuchte sowas nicht in meiner Firma.
-
@cooky: Es reicht weiterhin nicht aus, diese Teilbereich zu "beherrschen", sie muessen auch verknueft werden. Softwaerearchitektur wird auch gelehrt.
steckt nirgends so viel Mathematik dahinter, als dass man es sich nicht schnell zusammen googeln könnte.
a) Was ist viel?
b) Warum muss es mathelastig sein, es geht doch um Informatik?
-
knivil schrieb:
a) Was ist viel?
Viel sind insbesondere Beweise. Aber eigentlich zählen auch schon kompliziertere Umformungen.
knivil schrieb:
b) Warum muss es mathelastig sein, es geht doch um Informatik?
Also mein Studienplan besteht im Wesentlichen aus Mathe (Automaten/Graphen etc. zähle ich mal dazu), Technik und etwas Programmieren. Zum Programmieren in der Uni sage ich mal nichts :D, bei Technik geht es größtenteils um Hardware (was zum Spieleentwickeln recht uninteressant ist) und die Dinge die bei Mathe den größten Teil einnehmen sind halt Beweise. Ergo scheint mir der überwiegende Teil meines Studiums nicht relevant für die Spieleentwicklung zu sein. Ich will damit weder sagen das Studium sei doof, noch Spieleentwicklung sei simpel. Die Schnittmenge ist halt einfach nicht besonders groß.
Milon schrieb:
selbst Carmack könnte von ihm noch gut was lernen
Ein kleiner C++ Kurs würde sicher nicht schaden.
-
Nun, bist du noch im Grundstudium? Oder wie sagt man heute: Bachelor?
-
[meta]Kann es sein, dass Teil A von uns Teil B von uns davon überzeugen will, dass ein Studium nicht zum Spieleprogrammieren nötig ist, und dass Teil B Teil A davon überzeugen will, dass im Studium Dinge vorkommen, die man auch bei Spieleprogrammierung gebrauchen kann? Also dass die beiden Aussagen, die versucht werden, sich gegenseitig zu vermitteln, vom jeweiligen Empfänger gar nicht angezweifelt werden, man sich also eigentlich gar nicht uneinig ist, sondern eher etwas aneinander vorbeiredet? Zumindest kommts mir so vor.
Edit: Dazu scheint mir als Motivation noch zu kommen, dass manche hier schonmal den ein oder anderen arroganten Studierten angetroffen haben und die anderen schonmal den ein oder anderen arroganten Nichtstudierten. :xmas2:[/meta]Generell ist ein Studium ja auch nicht unbedingt dafür da, die Leute für einen Beruf perfekt vorzubereiten. Das ist eher Sache der Ausbildung. An Unis gehts ja eher um die Wissenschaft (in dem Fall Informatik) also solche, zumindest sollte es das. Dass Firmen ein Studium als Voraussetzung für nen Programmierjob hinschreiben ist halt wie schon gesagt eher ne Heuristik des Personalwesens, mit der es sich sich das Leben leichter macht.
Achja (Achtung, blöde Sportmetapher voraus! :D), mathematische Beweise haben auf den ersten Blick bestimmt wenig mit Softwareentwicklung zu tun, aber das selbe denkt man vielleicht auch über Klimmzüge und 100m-Sprint. Trotzdem trainieren Weltklassesprinter Klimmzüge nicht nur, damit die dicken Arme im Fernsehn besser aussehen.