Was suchen potenzielle Arbeitgeber in einem guten Portfolio?


21

Ein Kumpel von der Arbeit und ich wollen in die Indie-Szene für die Spieleentwicklung einsteigen. Ich habe ein paar Tech-Demos gemacht, die verschiedene Ideen und Ansätze für verschiedene Probleme demonstrieren. Jetzt ist es an der Zeit, uns für ein Projekt zu engagieren, um ein Portfolio für später zu entwickeln.

Ich habe große Probleme damit, ein tatsächliches Projekt zu beginnen, genauer gesagt, eine Engine zu erstellen oder ein OTS-Paket zu verwenden, oder eins zu verwenden, dann eins zu erstellen, oder eins zu erstellen, dann eins zu verwenden, usw.

Was sieht für potenzielle Arbeitgeber besser aus? Ein kleineres Portfolio von Spielen, das Ihre Engine enthält, oder ein (möglicherweise) größeres, das mit etwas OTS erstellt wurde?

Ich bin Programmierer. Ich bin kein Künstler. Ich werde den größten Teil der Programmierung für dieses Projekt durchführen. Mein Kumpel ist auch Entwickler, aber er beherrscht auch grafische Werkzeuge (so wird er zum Art-Typ).

Bei der Arbeit sind wir beide .NET-Entwickler (C #). Ich weiß, ich weiß "Na dann benutze XNA", manche werden mich anschreien. Die Demos, die ich bisher fertiggestellt habe, waren in XNA. Ich habe jedoch einige Bedenken hinsichtlich des Aufbaus eines XNA-Portfolios. Es ist zwar schön, DirectX zu abstrahieren, aber ich mache mir Sorgen, dass ich möglicherweise nicht die erforderliche Wissensbasis aufbaue, um problemlos über XNA hinauszugehen. Der Widerspruch zu diesem Argument lautet wahrscheinlich "Sie können nach XNA leichter zu DirectX wechseln", aber lohnt es sich überhaupt, sich derzeit auf XNA zu konzentrieren, da ich von der Geschäftsentwicklung zur Spieleentwicklung wechseln werde? Oder kichern potenzielle Arbeitgeber, wenn ich XNA sage?

Sollte ich die Erfahrung von XNA nutzen, um zu wissen, welche Konzepte und Erkenntnisse sich größtenteils übertragen lassen? Oder meine wertvollste Ressource (Zeit) woanders ausgeben?

Suchen Sie nach Ratschlägen von anderen Industrie-Tierärzten.


Fragen Sie sich, was Sie mehr demonstrieren möchten: Flexibilität oder Liebe zum Detail. Das ist deine Antwort. Persönlich wähle ich Flexibilität.
Chris Burt-Brown

Antworten:


44

Ich bin seit fast vierzehn Jahren Programmierer in der Konsolenspielbranche und war oft an Einstellungsentscheidungen beteiligt.

Wenn ich also als einer dieser potenziellen Arbeitgeber einen möglichen Mitarbeiter bewerte, gibt es drei Dinge, die ich in einer neuen Anstellung suche, und ich suche sie in dieser Reihenfolge.

  1. Wird diese Person in mein Team passen? (Soziales, Hygiene usw.)
  2. Ist diese Person ein schneller Lerner? (Oft falsch formuliert als "Ist diese Person schlau?")
  3. Hat diese Person relevante Erfahrungen, die mir helfen werden?

Nun zur Beantwortung Ihrer Frage. Dieses ganze Thema "Welche Art von Projekt soll ich machen?" Befasst sich mit dem bei weitem unwichtigsten der Kriterien, die mir am Herzen liegen. Es ist mir viel wichtiger, ob Sie sich sozial in mein Team einfügen und wie gut Sie in der Lage sind, schnell neue Dinge zu lernen, als ob Sie in einem früheren Projekt XNA oder Ihre eigene Game-Engine verwendet haben. Im Großen und Ganzen gehe ich davon aus, dass ich Sie in unserer hauseigenen Spiele-Engine trainieren muss, und daher sind Ihre früheren Projekte für mich überhaupt nicht wichtig. Dies gilt natürlich nur, wenn Sie auf magische Weise Erfahrung mit einem bestimmten Tool oder einer bestimmten Technologie haben, von der ich jemanden brauche, über den ich Bescheid wissen kann. Das ist aber ungewöhnlich; In der Regel gehe ich davon aus, dass ich Sie für die Verwendung unserer API schulen muss.

Das alles soll nicht heißen, dass Sie keine Heimprojekte machen sollen. Das tue ich absolut. Aber es interessiert mich nicht wirklich, was diese Projekte sind oder welche Technologien sie verwenden, da sie wahrscheinlich nicht für das relevant sind, was Sie für mich tun müssen, da wir verschiedene Bibliotheken oder APIs verwenden.

Aber ich möchte, dass Sie mir von Ihren Projekten erzählen. Ich möchte sehen, wie begeistert Sie sind, wenn Sie darüber sprechen, denn das sagt mir, was für eine Art von Person Sie sind (siehe Punkt 1 oben). Ich möchte etwas über die Probleme erfahren, auf die Sie gestoßen sind, und darüber, wie Sie sie bei der Entwicklung Ihres Projekts überwunden haben (siehe Punkt 2 oben). Ich möchte unbedingt, dass Sie mindestens ein Projekt abgeschlossen haben - in der Lage zu sein, den Schmerz zu überwinden und tatsächlich etwas zu erledigen, sagt viel über die Art von Person aus, die Sie sind, und sagt mir, dass Sie jemand sind, auf den ich mich verlassen kann auf, wenn ("wann") die Dinge schwierig werden.

Also ist ehrlich gesagt keine Option "besser"; Das Wichtigste ist, etwas zu vervollständigen, irgendetwas. Jede Technologie, die Sie auf Ihrem Weg lernen, ist das i-Tüpfelchen auf dem i-Tüpfelchen, aber ich würde Sie mit ziemlicher Sicherheit nicht einstellen.

(Aber mit allem , was gesagt .. ich werde erwarten Sie in C kompetent sein ++. So oder so, die Sie wirklich C müssen lernen ++ , um in den Mainstream - Spiele - Industrie angestellt werden. Ihr Zuhause Projekte müssen nicht sein müssen in C ++, aber ich erwarte von Ihnen, dass Sie in der Lage sind, fließend damit umzugehen.)


3
Das ist eine fantastische Antwort. Vielen Dank, dass Sie meine Sichtweise auf den Einstellungsprozess geändert haben.
Ultifinitus

Die Möglichkeit, Software von Drittanbietern zu verwenden, ist immer ein großes Plus, das jedoch unter "Schnell lernen" zu finden ist.
Valmond

Ich glaube nicht, dass Sie jemals einen Programmierer treffen werden, der nicht weiß, wie man mit Software von Drittanbietern zusammenarbeitet. Jeder schreibt bereits an eine dokumentierte Drittanbieter-API, sei es libc oder STL oder OpenGL oder DirectX oder die Windows-API oder was auch immer. Es sind die gleichen Fähigkeiten in der kommerziellen Industrie, nur werden oft weniger bekannte Bibliotheken verwendet. :)
Trevor Powell

2
+1 Portfolio-Teile müssen keinen strengen Standards folgen. Der Zweck von ihnen ist es, fast als Gesprächsstoff für ein Interview zu dienen, so dass sie aus Sicht eines Programmierers interessant sind.
ChrisC

1
@ShuvoSarker Für große Unternehmen gilt dies immer noch. EA erwartet nicht, dass Sie ein Experte für ihre Frostbite-Engine sind, wenn sie überlegen, Sie einzustellen. Ubisoft erwartet nicht, dass Sie Snowdrop kennen. Dies hat sich in den sechs Jahren, in denen ich diese Antwort gepostet habe, möglicherweise für kleinere Unternehmen geändert. Unity ist zu einer Kraft geworden, die im kleinen Studio groß genug ist, so dass es sehr realistisch ist, zu glauben, dass Unity Ihre Chancen auf eine Weise verbessern könnte, wie es damals nicht der Fall war, als absolut jeder seine eigenen proprietären Motoren verwendete.
Trevor Powell

12

Eine Sache, die andere noch nicht erwähnt haben, ist, dass es wichtig ist, Ihre Projekte abzuschließen.

Ein Portfolio mit ein paar unfertigen Dingen zu haben, ist bei weitem nicht so beeindruckend wie ein Portfolio mit einem fertigen, gut polierten Ding.

Wenn Sie Ihre Arbeit auf die vorhandenen Arbeiten anderer stützen (z. B. eine Open Source-Engine oder frei verfügbare Kunstobjekte), vergewissern Sie sich, dass Sie in Ihrem Portfolio angeben, welcher Teil Ihnen gehört.


1
Ich bin nicht hundertprozentig sicher, dass wir zustimmen, dass wir eine Menge Leute mit unfertigen Sachen haben. Es kommt sehr häufig vor und es besteht keine große Korrelation mit der Qualität ihrer Sachen. Etwas zu beenden, zeigt Engagement, nicht Können.
Chris Burt-Brown

Ich nehme an, jeder für sich.
Jari Komppa

4

Es scheint mir, dass die Antwort davon abhängt, welche Art von Spieleprogrammierung Sie durchführen möchten.

Wenn Sie ein Engine- oder Grafik-Codierer sein möchten , sollten Sie sich mit der Funktionsweise von Engines vertraut machen. Dies bedeutet nicht, dass Sie XNA oder eine andere Standard-Engine, ein Framework usw. nicht verwenden können. Wenn Sie sich mit den Innereien einer hochwertigen Engine vertraut machen, können Sie auf hervorragende Weise lernen, wie Sie eine hochwertige Engine bauen! Wenn Sie diesen Weg beschreiten, müssen Sie nicht unbedingt auch nur Spiele schreiben. Ein Portfolio von eigenständigen Grafikdemos und / oder nicht trivialen Erweiterungen für eine vorhandene Engine (z. B. die Implementierung eines neuen Shaders in einer Engine oder Ähnlichem) wird Ihnen gute Dienste leisten. Sie können sich hier mein Portfolio an Grafik-Demos ansehen; Es ist ein paar Jahre veraltet, aber genau das hat mich zu einem Grafikprogrammierungsjob in einem Spielestudio gebracht.

Auf der anderen Seite, wenn Sie lieber ein Gameplay-Programmierer sind , einer der Leute, die an der Spielmechanik, den Kontrollen, der feindlichen KI usw. arbeiten, dann wird Ihre Zeit nicht gut damit verbracht, sich mit Direct3D zu befassen. Natürlich ist es hilfreich, ein allgemeines, umfassendes Verständnis der Funktionsweise von Grafiken zu haben, aber in einem professionellen Kontext werden Sie wahrscheinlich nicht sehr oft in direkten Kontakt mit Grafiken auf niedriger Ebene kommen. In diesem Fall würde ich auf jeden Fall empfehlen, eine Standard-Engine zu verwenden, damit Sie Ihre Zeit damit verbringen können, aktuelle Spiele zu entwickeln.

Zusammenfassend kann gesagt werden, dass Sie für das Gameplay nur eine vorhandene Engine verwenden müssen. Wenn du Engine / Grafik machen willst, dann baue deine eigenen Sachen und / oder erweitere eine bestehende Engine.


Ich freue mich über Ihre Antwort. Es gibt mir einen besseren Orientierungssinn. Ich sehe mich eher als Motorprogrammierer. Denken Sie, dass es für die Zeit, die Sie (basierend auf Ihren Erfahrungen) verbracht haben, besser ist, die Abstraktion zu überspringen und in D3D einzutauchen?
Justin Self

1
D3D wäre ein guter Anfang. Später möchten Sie vielleicht auch einige Open-Source-Engines ausprobieren, um ein Gefühl dafür zu bekommen, wie andere die Struktur und Organisation im großen Maßstab gestaltet haben. Es ist auch eine gute Übung, in eine große und unbekannte Codebasis zu springen und zu versuchen, sie zu verstehen, ohne jede Codezeile zu lesen.
Nathan Reed

Ok, deine Antwort in Kombination mit der von Trevor hat mir wirklich das gegeben, was ich brauche. Schade, dass ich nicht zwei Antworten wählen kann; also +1. Danke, Nathan. Ich weiß das wirklich zu schätzen.
Justin Self

2

Als ich gerade mit Uni fertig war, wurde mein Portfolio in diesem Artikel vorgestellt. Es scheint eine gute Idee zu sein, was zu tun ist und was nicht, wenn Sie Ihr Portfolio zusammenstellen

http://leewinder.co.uk/blog/?p=23


1

Machen Sie Ihr Portfolio nicht danach, wie Sie den "Standard" sehen. Sie sollten an Projekten arbeiten, die Sie interessieren . Wenn Sie Spielmechanik mögen, machen Sie ein paar Spiele. Wenn Sie eine interessante KI erstellen möchten, können Sie eine Demo für ein RTS-ähnliches Setup erstellen. Als Beispiel habe ich ein wachsendes Interesse an Grafikprogrammierung und mehr Zeit für das Erlernen von Rendering-Konzepten und deren Anwendung in meiner Engine. (Infolgedessen wurde mein Spielprojekt vorübergehend in das Regal gestellt.)

Wenn Sie hauptsächlich an Dingen arbeiten, die Ihnen gefallen, wird das "Sie" im Portfolio wirklich hervorgehoben. Auf der anderen Seite zeigt mindestens ein abgeschlossenes Spiel, dass Sie die "uninteressanten" Teile eines Spiels durchziehen können. Es ist gut, ein gewisses Maß an Flexibilität zu haben, um in weniger vertrautes Gebiet einzudringen, aber zwingen Sie sich nicht zu viel dazu. Sie können gute Portfolios anhand des Enthusiasmus und des Interesses an der Arbeit beurteilen, und Projekte, die auf Ihren Interessengebieten basieren, werden natürlich am meisten aufpoliert. Was auch immer Ihr Interessengebiet ist, Sie müssen sich irgendwann auf dieses Gebiet der Programmierung für einen Job konzentrieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.