Du bist nicht angemeldet.

Werbeanzeige

1

16.08.2019, 04:49

Der Weg zum Spielentwickler als Quereinsteiger. Nebenfrage bzgl. Lizenz.

Sehr geehrtes Forum,

ich habe ein paar Fragen die mir auf dem Herzen liegen, es wäre schön wenn Ihr mir helfen könntet.
Also ich beschreibe mal kurz meinen bisherigen "Werdegang".

Leider hatte ich mir nie wirklich Gedanken über meinen beruflichen Weg gemacht und dachte, dass eine halbwegs vernünftige Ausbildung reicht um den Lebensweg zu bestreiten. Egal ob man Spaß daran hat oder nicht.

Seit meiner Kindheit habe ich gerne Computerspiele gespielt. Damals noch Gameboy/N64 etc. Als ich dann meinen ersten PC hatte, habe ich unzählige Super Nintendo auf einem Emulator gespielt und so weiter.
Dementsprechend kam auch mal der Gedanke, sich in diese Richtung beruflich zu erkundigen. Aber irgendwie ist an mir die Ausbildung als Fachinformatiker komplett vorbeigegangen und ich dachte man müsste auf jedenfall Studieren und das hatte ich mir nicht zugetraut. Das war ca. mit 15 nach meinem Hauptschulabschluss. Als ich dann die mittlere Reife fertig hatte
(mit 20, da ich nach der Hauptschule mich nicht um eine weiterführende Schule gekümmert hatte,
musste ich 1 Jahr auf dem BVJ parken und noch ein Jahr auf die mittlere Reife, da sonst das Zeugnis nicht gut gewesen wäre..soviel dazu)

habe ich mich zum einem auf Ausbildungsstellen beworben und auf ein Berufskolleg für Elektrotechnik und Informatik. Ich bekam dann ein Praktikum als Bürokaufmann, welches letztendlich in eine Ausbildung mündete die ich jetzt auch in der Tasche habe. Vor der Ausbildung kam parallel noch die Zusage von dem Berufskolleg, aber da ich langsam schauen musste wo ich bleibe, hatte ich mich fuer die Ausbildung entschieden. Das ging auch alles gut und ich wurde mit einer kleineren Verzögerung, bei der selben Firma fest angestellt und habe dann fast 3 Jahre dort gearbeitet. Allerdings hat mir die Arbeit nicht gut getan und musste letztendlich auf Grund von Gesundheitlichen Problemen kündigen. Da sich das angebahnt hatte, machte ich mir selbstverständlich Gedanken über Alternativen und kam wieder auf die Informatik. Ca. 2 Monate vor dem Ausscheiden hatte ich mir dann das unten erwähnte Buch zugelegt und es angefangen zu lernen.

Mein Plan war es dann, in der Zeit in der ich Arbeitslos war sich entweder als Fachinformatiker in Ausbildung zu bewerben oder auf meinen alten Beruf, obwohl ich das ehrlich gesagt ungern gemacht habe, da ich mittlerweile eine tiefen Gräul auf meinen alten Beruf hege. An für sich ist der Beruf nicht so schlimm aber die konkrete Arbeitssituation geht mir kurz gesagt auf den Zwirn. Desweiteren sehe ich in mir viel mehr Produktivität wenn ich etwas mache, dass mir auch Spaß macht.

Nun zurück zur Informatik. Bewerbungen als Fachinformatiker zeigten keinen Erfolg, es gab ein paar Bewerbungsgespräche, aber nichts weiterführendes. Währenddessen hatte ich mir ein paar Bücher zugelegt. Über die Programmiersprache C von Jürgen Wolf. Eine wirkliche Orientierung hatte ich nicht. Ich hatte von C mal gehört, da es ja auch recht häufig in der Spielentwicklung verwendet wird. Neben dem Buch hatte ich mir viel auf Youtube angeschaut und ein bisschen auch auf Udemy mich rumgetrieben. Gegen Ende des Jahres habe ich in QT dann ein Programm geschrieben, welches als eine Art Schnittstelle für Kundenreklamationen bei einen Möbelhaus fungieren hätte können. Ich wusste aber das meine Kenntnisse noch viel zu dürftig waren um es als richtige Software irgendwie an den man zu bringen, aber als Ziel hat es gereicht.
Das Programm hat halbwegs Funktioniert aber ich hatte damals noch keine Ahnung von Lizenzen und habe mir auch bzgl. Release und Debug Version zwar etwas angeschaut, es aber noch nicht wirklich verstanden.

Ich versuche jetzt ein bisschen Abzukürzen.

Mein nächstes Projekt war dann ein Spiel(Buch Heiko Kalista C++, Youtube, SFML), welches ich bis Heute programmiere. Mittlerweile bin ich ironischer weise auf dem Berufskolleg auf dem ich mich vor zehn Jahren beworben habe und bin nächstes Jahr Technischer Assistent.

Nun etwas kurz zu meinen Programmier "Künsten";
Es fällt mir wirklich schwer mich einzuschätzen, in der Schule kann ich mich natürlich nicht mit den anderen Schülern vergleichen. Wir benutzen in der Schule Java, Ohne zu lernen habe ich in Praktisch und Theoretisch eine 1 obwohl ich mir davor Java noch nie angeschaut hatte(Ich schätze da hat mir der Einstig bei C ganz gut geholfen). Gegen Ende des Jahres hat unser Lehrer dann mit 2D Kollisionen angefangen. War auch sehr easy da ich es schon mehrmals in meinem Spiel durch hatte. Am besten gefällt mir wirklich C++. Mein Spiel ist in C++ und SFML geschrieben.
Da ich aber irgendwie das Gefühl hatte oder immer noch habe, dass es SFML mir viel zu leicht macht, habe ich mir zwischendurch ein ein wenig OpenGL angeschaut. Bzw. mit Glew ein bisschen rumgespielt. Aber nichts großartiges. Shader habe ich mittlerweile nach dem 3ten Anlauf verstanden und kann halbwegs damit umgehen. Bei C++ gehts bei mir bis zu den Templates. Also OOp kann ich,Vererbung, STL kenne ich und ist Super.
Shared Pointer/Unique Pointer weiss ich zu benutzen. Const habe ich mittlerweile auch kapiert. Streams verstehe ich auch, bzw. hatte ich in der Schule in Java mit einem Klassenkameraden einen kleinen Netzwerkchat programmiert in dem ich "string" Streams verwendet habe. Bzgl. Filestreams habe ich mir für mein Spiel eine Klasse geschrieben die meine Ressourcen Binär speichert und auch wieder lesen kann.

Entschuldigt wenn das doof ist wie ich das alles beschreibe aber ich weis nicht wie ich sonst beschrieben soll was ich kann :wacko:

MFC habe ich nur den Teil aus dem Buch von Heiko Kalista gemacht ^^. SDL habe ich dementsprechend auch durch aber habe nichts damit gemacht nur ein kleines Pong und das Beispiel aus dem Buch abprogrammiert.
Algorithmen kenne ich leider nicht viele. Die üblichen halt. Bubble,Small, Selection-Sort die könnte ich auch locker runterprogrammieren aber ich denke das ist nichts besonderes.
AStern habe ich mir zu Gemüte geführt und kann den jetzt auch locker von der Hand. Zumindest in 2D. Also ich denke in 3D hat der Wegpunkt dann halt noch die Z Koordinate, bloß ist dann die Frage wie groß dann das "Feld" ist. Die alternative wären dann Quader die in alle Richtungen testen. Aber da dies ja viel mehr Leistung benötigt, sollte man vielleicht an den Quadtree denken. Den habe ich mal angefangen aber hab es noch nicht verstanden. Tilemaps habe ich gefressen. Verkettete Listen oder Binäre Bäume sind mir auch geläufig. Erst vor kurzem habe ich einen Binary Heap für meinen AStern Algorithmus verwendet. Aber den muss ich noch auswendig lernen.

Mittlerweile kann ich auch ziemlich gut mit Microsoft Visual Studio umgehen. Libs hinzufügen, Breakpoints benutzen, Leistungsanalyse mit dem Profiler, ich verstehe den Debugger in 95% der Fälle.

Ansonsten könnte man noch erwähnen das ich viel mit Asesprite mache, also das Programm ist wirklich super und ich kann es auch gut benutzen. Nur leider bin ich kein Künstler. Also für 32x32 Feuergolem Gegner oder mit viel Anstrengung ein CharacterSpritesheet mit unrealistischer Belichtung reicht es.

Von der Schule nehme ich von diesem Jahr das bisschen Java mit. In "Computer" haben wir viel mit Linux gemacht. Also was heißt viel, uns wurde gezeigt wie man die Virtualbox benutzt, Festplatten einhaengt, Festplatten verschlüsselt, Benutzer einrichten, Rechte, Server einrichten mit Https und noch ein paar andere Sachen. Das ist viel aber irgendwie hätte ich mir Tiefgang gewünscht. Aber vielleicht nächstes Jahr. Dann habe wir noch HTML und CSS gemacht. Nächstes Jahr kommt dann noch PHP und SQL hinzu. SQL kenne ich schon ein wenig.

Nun zu meinen Fragen.

1. Die nächsten Schritte, Ausbildung ja oder nein
Leider bin ich jetzt schon alt (29 Jahre) und würde zwar für meinen Traumberufsweg zur Not auch noch eine Ausbildung zum Fachinformatiker machen.
Allerdings bin ich fast der Meinung, dass ich mittlerweile es soweit drauf habe, dass ich es vielleicht als Junior Entwickler zumindest versuchen könnte. Zumal einige Lehrer bei uns an der Schule meinen, dass wir Schultechnisch bzgl. Programmieren, genau das selbe machen wie die Fachinformatiker. Bloß die haben dann je nach Firmenspezifikation eine bestimmte stärke.
Und den BWL teil vom Fachinformatiker habe ich von meiner Kaufmann Ausbildung bereits gedeckt.

Denkt Ihr ich hätte die Chance irgendwie ohne noch eine Ausbildung zu machen, ein Stelle als Softwareentwickler oder optimaler weise als Spielentwickler zu bekommen?
Wenn ja was wären die nächstbesten Schritte? 1 Jahr habe ich noch zeit um Sachen zu lernen. Ich hätte mich jetzt zwischen 3 Sachen Entschieden.

1. Ein zweites Spiel komplett in OpenGl evtl. 3D um sich mit 3D Grafikprogrammierung schon einmal anzufreunden.
2. Mit Unity oder Unreal anfreunden und da ein Spiel machen. Hat den Vorteil das es sehr viel Abnimmt aber ich denk mir dann immer, dass ich die Finger von Engines lassen sollte solange ich nicht komplett den Kern verstehe. Also OpenGL oder DirectX.
3. Spielentwicklung erst einmal zurückstellen und in Richtung MFC Windows Programmierung gehen und auch in Richtung Hacking. Also Trainer/Addons/Hacks für Spiele Schreiben. Ich habe schon ein bisschen Assembly gelernt und kann Cheat Engine & OllyDB benutzen.


Jetzt erst einmal wollte ich schauen das ich mein Spiel halbwegs fertig bekomme damit ich es als Repertoire auf Github hochladen kann. Also es ist schon hochgeladen aber privat.
Und da kommen wir zur nächstens Frage. Die eigentlich nicht direkt ins das Forum passt. Ich hätte es vielleicht doch in 2 Threads aufteilen sollen. Entschuldigt.

2. Unter Welcher Lizenz stelle ich mein Spiel mit Texturen die mit CC Lizenz versehen sind
Ich habe mich schon mehrmals über Lizenzen belesen aber bekomme es trotzdem nicht auf die Reihe bzw. habe ich Angst das ich etwas falsch mache.
Also die Grafiken/Sounds etc. in meinem Spiel sind entweder von Opengameart.com oder von mir selbst versucht zu zeichnen oder produziert.
Ich habe extra geschaut das bei den Grafiken von OpengameArt alle Texturen mit der CC Lizenz versehen sind. Die CC ist die "schwächste" Lizenz von allen, wenn ich das richtig verstanden habe. Also ich kann mit den Texturen machen was ich möchte, auch einfach nehmen und verkaufen Theoretisch. SFML dachte ich wäre GPL oder LGPL aber als ich eben nachgeschaut habe, sah ich die zlib/libpng License. Kannte ich bisher noch nicht aber scheint auch ziemlich frei zu sein.
Nochmal kurz zur LGPL und GPL. Qt ist zum beispiel unter GPL zu haben. Wenn ich ein Programm unter GPL herausbringe, dann kann ich es verkaufen aber muss Code öffentlich machen und muss Dynamisch linken. Hätte QT LGPL wäre Linken egal und Code müsste auch nicht öffentlich sein. Stimmt das so halbwegs?
Und was muss ich jetzt genau machen, wenn ich mein Spiel auf Github hochlade? Also ich hätte mir jetzt eigentlich eine LGPL eines anderen Spieles gesucht und die auf mich angepasst und die als Textdatei mit hochgeladen. Da SFML jetzt aber unter eine anderen Lizenz läuft müsste ich mir diese zlib nochmal durchlesen.
Das ganze betrifft das Spiel aber nur Codetechnisch, wie sieht es mit den Texturen aus? Also da ich überhaupt froh bin überhaupt etwas zum zeigen auf Github zu haben, wäre es mir eigentlich egal. Allerdings habe ich mir bei manchen eigenen Texturen schon mühe gegeben und ich würde mich schon ärgern wenn die jemand im Unity Store vertickt weil ich die falsche Lizenz genommen habe.
Wie sicher ich mich dahingehend ab? Zumal ich um dem vorzubeugen alle meine Texturen Binär als Datei beifüge, somit könnte man sich die Texturen nur mit einem gewissen Know How rippen.


3. Quantität oder Qualität beim Repertoire
Es ist ja, wie ich gehört habe, gut ein gewissen Maß an Projekten auf Github zu haben. Wäre es besser viele kleine Programme zu haben oder z.B 2 halbwegs große Spiele?
Leider ist bei mir die Github-Aktivität erst in den letzten Monaten ein wenig angestiegen, davor habe ich es gemieden mit Github zu arbeiten. Ist das schlimm?

Und zum Schluss hätte ich euch liebend gerne etwas von meinem Spiel gezeigt. Aber das ist wie gesagt bis jetzt nur Privat auf Github da es noch keine Lizenz hat.
Es ist ein Kachelbasiertes Topdown 2D RPG Game. Die Beschreibung trifft es ganz gut. Bis jetzt kann man einige Zauber wirken. Feuerball Blizzard etc, Level aufsteigen, Stärker werden, Verschiedene Waffen anziehen die auch sichtbar sind, Gegner Kaputt machen, für Atmosphäre springen ein paar Katzen Vögel und Schmetterlinge manchmal in der Gegend rum und Musik hat sich auch schon eingefunden.

Entschuldigt die lange Einleitung, ich hoffe ihr langweilt euch nicht bis zum Fragen Teil :/. EDIT: Naja ein Screenshot konnte ich noch kurz machen :p. Ist nichts besonderes aber ja ^^
Der Charakter hat gerade die Augen zu, nicht wundern :D. Und es ist auch nicht üblich das bei mir Funtkionen z.B Collide2 heißen. Die Entity Class muss noch noch komplett überarbeitet werden... :rolleyes:

return 1;
»Zwen++« hat folgendes Bild angehängt:
  • showcasefieryoflife.png

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Zwen++« (16.08.2019, 05:18)


TGGC

1x Rätselkönig

Beiträge: 1 812

Beruf: Software Entwickler

  • Private Nachricht senden

2

16.08.2019, 10:13

Bewirb dich halt einfach auf ein paar Stellen mit deinen Referenzen. Wenn du gut bist, besteht auch immer die Chance, das du genommen wirst. Bei Interesse such ich dir auch ein paar Sachen bei Ubisoft raus.

3

18.08.2019, 04:48

Danke für die schnellen Antworten.

Hm ich bin wirklich hin und her gerissen und kann mich nicht entscheiden. Aber ich wäre jetzt eigentlich eher in die Richtung Hacking/ Softwareentwicklung gegangen. Andererseits die Vorstellung mit Unity sich sehr viel Arbeit zu sparen und darin einen Workflow zu bekommen, bestimmt auch nicht zu verachten.

Ich habe gestern Nacht noch ein kleines Showcase Video von meinem Spiel gemacht. Es ist aber eher als Scherz zu verstehen bzw. soll es keine Spielmechanik sein das 100te von Katzen rumlaufen.

Wenn ich mein Projekt ohne Lizenz auf Github hochlade, dann muss ich höchstens befürchten, dass mir jemand Code klaut oder gibt es da mehr Risiken?

Hier das Video.
https://www.youtube.com/watch?v=lsFxNB9CFts&t=51s

Gruss Zwen

Tiles

Treue Seele

Beiträge: 167

Beruf: Rentner

  • Private Nachricht senden

4

18.08.2019, 09:14

Wer sollte denn deine Anfängerprojekte klauen wollen? :)

Code egal welcher Lizenz steht in Deutschland bzw der EU eigentlich automatisch erst mal unter dem Urheberrecht. Das gilt auch für andere Sachen wie Icons oder Texturen oder enthaltene Modelle. Das Projekt ist auf Github dann halt öffentlich. Und da kann dann natürlich jeder reinsehen. Das ist ja der Zweck von Github, Code zu teilen. Die Verwendung kannst du durch entsprechende Lizenzen regeln. Sind keine Lizenzen angegeben gilt das Urheberrecht. Sprich legal darf man den Code dann gar nicht weiteverwerten. Selbst wenn du den Code mit einem Klick forken kannst.

https://choosealicense.com/no-permission/

Aber da soll ja kein kommerzielles Projekt mit closed Source rein, sondern ein Vorzeigeprojekt zur Eigenwerbung. Oder bei deinem Kenntnisstand eher als Lernprojekt um deine eigenen Fähigkeiten zu verbessern.

Zum Thema Unity, da musst du halt wissen wo du hinwillst. Entweder willst du auf schnellstem und einfachsten Weg ein Spiel entwickeln. Dann Unity oder Unreal oder was auch immer es an vorgefertigten Engines und Frameworks gibt die dir das Leben erleichtern. Oder du willst programmieren. Das sind grundsätzlich mal zwei komplett unterschiedliche Ziele.

LG Tiles
Free Game Graphics, Freeware Games http://www.reinerstilesets.de

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tiles« (18.08.2019, 09:24)


Sacaldur

Community-Fossil

Beiträge: 2 320

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

5

04.09.2019, 15:39

Worauf genau beziehst du dich wenn du schreibst, dass du noch 1 Jahr Zeit hättest, um Dinge zu lernen? Heißt das, dass du erst nach diesem Jahr Arbeit suchen kannst?

Solltest du schon jetzt Arbeit suchen können, dann kannst du das ja machen. Solltest du nicht erfolgreich sein, dann sollte es kein Problem sein sich 1 Jahr später mit neuen Kenntnissen nochmal zu bewerben.

Was du Lernen solltest:
Kurz gesagt kommt es drauf an. Wenn es dir bei den Bewerbungen helfen soll, dann könntest du entweder direkt in die Richtung gehen, die gebraucht wird. Was das ist, kommt auf das jeweilige Unternehmen an, allerdings wird Unity und Unreal in der Industrie von vielen verwendet, entsprechend kann eine der beiden dir bei Bewerbungen definitiv helfen.
Andererseits kannst du auch ohne Engine an Themen vorbeikommen, die allgemein für Spieleentwicklung (bzw. Software Entwicklung allgemein) relevant sind wie Softwarearchitektur (Design Patterns). Mit dem Hacking/Trainer schreiben würdest du zwar in eine sehr spezielle Richtung gehen, die so zwar nur bedingt gebraucht wird, allerdings würde ein Arbeitgeber dadurch auch eher sehen, dass du das ganze Zeug auch leidenschaftlich machst, einfach weil das längerfristig sich damit beschäftigen genug Ausdauer erfordert.

Allgemein solltest du bei Bewerbungen beachten, dass du dem Arbeitgeber mitteilen willst, dass du ihm einen Mehrwert bringst, es sich für ihn also lohnt, dich zu bezahlen. Was das am ehesten ausdrückt ist aber nicht so einfach zu sagen. Wie schon angedeutet ist Passion für das, was man macht, meist ein gutes Zeichen für einen Arbeitgeber. Genauso kann es ein gutes Zeichen sein, wenn zu sehen ist, dass angefangene Dinge auch abgeschlossen werden -> nicht zu viele offenen Projekte, idealerweise auch das eine oder andere abgeschlossene. Weiterhin ist die Spieleentwicklung interdisziplinär, man wird also mit Leuten aus anderen Bereichen zu tun haben, die andere Denkmuster und Vorgehensweisen haben. Wenn also zu sehen ist, dass man sich ebenfalls für andere Bereiche interessiert, dürfte das auch gut angesehen werden. (Du könntest bspw. bei deinen Spielen darauf achten, dass sie - im Rahmen deiner Möglichkeiten - ein wenig Polishing abbekommen, also Fadings, Transformationen, Einfärbungen, Partikeleffekte, etc.)

Wie geschrieben ist es grundsätzlich gut, wenn auch mal etwas fertig gebracht wird. Es wäre also eine Überlegung wert, dass du dir ein sehr einfaches Spielkonzept (bspw. für Mobile) überlegst, welches du dann umsetzt und fertigstellst, und im besten Fall auch irgendwo veröffentlichst. Super Hexagon wäre ein Beispiel für ein vermutlich ausreichend kleines Spiel, welches grafisch machbar sein sollte. Du könntest auch bei kenney.nl (Seite mit vielen frei verwendbaren Assets) schauen, ob du dort ein Paket findest, mit dem alleine du ein Spiel umsetzen könntest.


Ausbildung:
Ich denke nicht, dass es notwendig sein sollte. Die Aussage, ob ein FIAN das gleiche lernt, kann ich gerade nicht beurteilen (vielleicht hätte ich sorgfältiger lesen müssen). Abgesehen davon besteht noch die Möglichkeit eines Studiums. In Berlin bspw. gibt es §11 BerlHG wonach man "beruflich qualifiziert" studieren kann. Meines Wissens geht das auch für fachlich nicht-ähnliche Studiengänge, was zusätzlich eine Zugangsprüfung (oder so) erfordert. Allerdings dürften die Fristen für WS 19/20 bereits abgelaufen sein.
Bedenke aber, dass auch das nicht unbedingt für einen Berufseinstieg erforderlich sein muss (abhängig von dir), und dass du während des Studiums erstmal kein Geld verdienst, und es ebenfalls >= 3 Jahre dauern würde.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige