Spieleprogrammieren hauptberuflich?

Previous topic - Next topic

Schranz0r

Vor 10 Jahren C angefangen?
5 Jahre gemacht?

Hast in DX und openGL keine ahnung...(deine Worte)

Lass mich zusammenfassen:

Du Hast mit sagen wir 13-15 Jahren C angefangen zu programmieren, bist aber über die Konsole raus noch nicht weiter gekommen.... Ne spass bei seite!

Ausser kluge Sprüche, von dir noch nichts gesehen! ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Sebe

Ich hab mit 12 Jahren angefangen C zu programmieren, hauptsächlich WinAPI für die Schule (Matheprogramme, Physikberechnungen für Referate etc.). Ich bin also durchaus schon "über die Konsole raus" gekommen. Nur eben nicht in den 3D Bereich (obwohl, es gab da mal ein Paar klägliche Versuche mit Irrlicht und C++, aber das waren wirklich nur Versuche).

Dass du von mir noch nicht viel gesehen hast ist nicht meine Schuld, ich hab ne Sound Recording DLL gemacht, diverse BlitzMax Mods (z.B. Zahlensysteme) einen experimentellen Chat mit eigener Verschlüsselung und 3 kleine Shoot em Ups. Allerdings halt nix davon mit GLBasic.

@Gernot: Ich bin halt einfach ein Entity/Scene-Node System gewohnt. Die meisten modernen Engines funktionieren so, während GLBasic praktisch nicht viel mehr ist als der Name sagt: OpenGL als Basic halt. Ich hab mal mit den NeHe Tutorials angefangen und der erste Gedanke der mir kam: das ist ja wie bei GLBasic. Du hast in die Sprache viele Funktionen gepackt, viele Features und so weiter. Aber von [EngineXYZ] zu GLBasic ist der ganz grosse Unterschied eigentlich immer, dass GLBasic kein Entity System hat. Wer mit GLBasic anfängt wird damit wahrscheinlich keine Probleme haben, aber ich hab neben Blitz3D schon so einige andere Engines und Sprachen gesehen und fast alle verwenden so ein System. Wahrscheinlich tue ich mich deshalb mit GLBasic sehr schwer sobald es über 2D hinaus geht.

Schranz0r

Ist überhaupt nicht schwer, wenn du statt den Namen einfach eine Zahl nimmst ;)
Gut GLB ist sehr aufs wesentliche gemacht, aber es ist doch schon einiges damit möglich.
Man könnte ja im Prinzip ein Entitysystem bauen wie bei Blitz, aber wieso sollte man das machen, wenn es so auch schon geht ;)
War auch mal bei BB aber nur 2D, zu 3D hats damals noch net gereicht :(

Finde aber das BB haufen Befehle hat, die sehr nützlich sind, grade im 3D Bereich, die wohl auch in Kombination mit dem Entitysystem richtig  klasse sind.
Andererseits ist BB auch total überladen mit Befehlen für den A.....(Ast)!

Wie immer, ist das aber geschmackssache.
Die einen sagen: "Boah geil ein haufen Befehle zum experimentieren", die anderen "Was ein mist, da blick ich ja überhaupt net durch"...

Aber was ich bei GLB Klasse finde sind die schnellen Types!
(Bin da auch ein bisschen stolz drauf, da Quasi geholfen zu haben, in Form von ideen/der gedanke dahinter)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

So ein Entity System ist doch nur paar Zeilen zu schreiben.
Sekunde ich mach da mal was...

Schranz0r

^^ Gernot wieder ^^

Man muss den ganzen sch...schund ja nur in Types packen
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Baggi

Um nochmal zum Thema zurückzukommen, mir ging die Geschichte mit x-pressive nicht ausm Kopf, lebt er nun davon oder nicht? Also hab ich eben ein kleines E-Mail Interview mit Mike Dogan abgehalten:
Quote from: BaggiWieviele Entwickler seid ihr?
Quote from: MDEiner (ganz recht)  ;)
Quote from: BaggiSind die Aufgabenbereiche Programmierung, Grafik, Sound usw. getrennt? Das heißt habt ihr speziell Programmierer, Grafiker, Musiker, usw.?
Quote from: MDAlle Bereiche (Sound, Coding, Grafik, PR, Management, Verträge) werden von einer Person abgedeckt.
Quote from: BaggiKönnt ihr von der Entwicklung von Computerspielen leben?
Quote from: MDJa -seit ca. zehn Jahren. In einem Team aus mehreren Leuten wäre das allerdings ungleich schwieriger. Nur alleine kann man die Kosten auch über Durststrecken relativ gering halten. Ich habe in den letzten zehn Jahren reihenweise Teams pleite gehen sehen, die aus mehreren Leuten mit einem festen Gehalt bestanden. Die laufenden Kosten reduzieren und so gering wie möglich halten zu können, ist die oberste Grundregel des Überlebens in der Branche. Ebenso sollte man sich auf jeden Fall ein gutes finanzielles Polster für den Notfall schaffen.
Quote from: BaggiWie funktioniert so eine Firmengründung?
Quote from: MDEinfach auf's Gewerbeamt, Gewerbe anmelden, beim Finanzamt Kleinunternehmerregelung beantragen (falls möglich) zwecks Umsatzsteuerbefreiung (vereinfacht die Buchhaltung).
Quote from: BaggiFalls ihr hauptberuflich Spiele programmiert, wie war der Übergang vom "alten" Job zum "neuen"? Habt ihr schon Spiele in eurer Freizeit fertig gestellt und konntet die dann über die Firmengründung vermarkten, oder habt ihr die Firma gegründet, euch hingesetzt, und Spiele programmiert? Wenn letzteres zutrifft, wie habt ihr euch finanziert?
Quote from: MDEs ist selbstverständlich IMMER vernünftig, sich die Grundlagen zuerst "nebenbei" beizubringen bzw. einen Grundstock an Spielen zu schaffen und erst DANN ins kalte Wasser zu springen, wenn man sich sicher genug fühlt. Selbstständigkeit hat immer ein höheres Risiko, als ein fester Job.
Quote from: BaggiWie seht ihr die Chancen auf dem Spielemarkt?
Quote from: MDUnabhängige Entwickler müssen sich schon aus Zeit- und Finanzgründen auf kleinere Spiele (Casual Games) konzentrieren -und genau hier liegt auch die grösste Chance und ein sehr grosser Markt. Mit einer Millionenproduktion der grossen Konzerne kann man nicht konkurrieren, die Zeit sollte man sich lieber von vorne herein sparen. Neben einem originellen Spielkonzept sind aber auch gute Kontakte in der Branche bzw. gute Vertriebsverträge sehr wichtig! Hier benötigt man gutes Verhandlungsgeschick, sowohl im In-, als auch Ausland.
Quote from: BaggiUnd speziell für eine Entwicklungsumgebung wie GLBasic?
Quote from: MDGenerell ist es egal, unter welcher Sprache ein Spiel erstellt wird, so lange es a) für den Anwender professionell wirkt und b) kompatibel genug ist, um auf gängigen Plattformen und aktueller Hardware zu laufen. Dem Anwender ist es egal, was UNTER der Motorhaube steckt, so lange das, was er auf dem Bildschirm sieht, überzeugt.
Quote from: BaggiWie sieht eure Zukunft aus?
Quote from: MDDas kann kein Mensch beantworten. Generell lässt sich nur sagen: je niedriger die laufenden Kosten einer Firma, je schneller die Entwicklung eines Spiels (Libraries, effiziente Coding-Techniken etc.), je professioneller die Gestaltung eines Spiels und je besser die Vertriebskontakte, desto höher die Chancen.
Quote from: MD (zusatz)Eines noch: in der Regel verfügt nicht jeder über genug Erfahrung in allen Bereichen (Coding, Grafik, Management), dann sind ein guter Coder, ein guter Grafiker und ein Manager, der Verträge und Buchhaltung übernehmen kann, unverzichtbar. Hier muss sich vorher jeder selbst fragen, ob er all das übernehmen kann, oder diese Aufgaben eben lieber im Team löst -was dann allerdings wieder höhere Kosten verursacht. Übernimmt man all diese Bereiche in Eigenverantwortung, sind 12-Stunden-Arbeitstage (inklusive Feiertage und Wochenenden) selbstverständlich. Dafür hat man allerdings die Freiheit, sich seine Arbeit nach eigenem Ermessen einzuteilen. Es muss also jeder selbst entscheiden, ob er lieber einen "sicheren" Job mit Rentenanspruch und festen Arbeitszeiten anstrebt, oder lieber kreativ ist und sich seine Arbeitszeit selbst einteilt.

Hoffe, geholfen zu haben.
Quote from: BaggiVielen Dank für das interessante Interview auch im Namen der GLBasic Community.

Kitty Hello

Danke Baggi!
Super Interview.
Zu SEBE, ich hab einen Seperaten Thred gemacht wg. Entity Sytem:
http://www.glbasic.com/forum/viewtopic.php?pid=6873#p6873

D2O

Danke Baggi, schönes Interview!

Bisschen schleich werbung ;)
Ich habe mal mitgeholfen bei den Sound für die sprachausgabe von "Dont get Angry 2" :)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Sebe

@Gernot: Was ich mit Entitysystem meine ist Folgendes: Alles, egal ob Meshes, Lichter, etc. ist grundsätzlich ein Entity. Diese Entities können dann mit jeder Funktion manipuliert werden. Beispiel: RotateEntity (ENTITY,rotateX,rotateY,rotateZ,abs) würde dann das Entity mit dem Bezeichner ENTITY um den Wert rotateX, rotateY und rotateZ rotieren. abs kann entweder 1 oder 0 sein und sagt der Funktion, ob die Rotation absolut oder relativ zur bisherigen Position erfolgt. Damit kapselt man einfach alle Befehle nach Bereich zusammen. Beispielsweise macht es ja keinen Sinn, eine AnimEnitity Funktion bereitzustellen, weil Lichter nicht animiert sind. Da würde man dann eine AnimMesh Funktion bereitstellen, die aber auch wieder einen Entity Bezeichner als Parameter entgegennimmt. Auf die Art lassen sich alle Objekte in einem Spiel in Enities unterbringen und manipulieren. Ich weiss, sowas könnte man sich mit Types etc. selber basteln. Nur will ich (jetzt quasi als 3te Person, ein beliebiger Umsteiger eben) nicht unbedingt so ein Entitysystem entwerfen und schreiben müssen. Ich will sofort loslegen, aber ich bin es nicht gewohnt, wie GLBasic die Sachen anpackt. Also hänge ich mich entweder richtig rein und quäle mich oder ich stecke auf und sehe mich nach Alternativen um.
DarkBasicPro verwendet übrigens auch Zahlen für seine Objekte und hat dafür mehr als einmal grosse Kritik einstecken müssen. Wer schonmal beides programmiert hat, der weiss das Blitz3D i.d.R. eigentlich leichter von der Hand geht, da hilft auch DX9 + Shader nicht weiter.
Wer bisher GLBasic häufig benutzt, der hat offensichtlich kein Problem mit dem System wie es jetzt ist und das ist schön. Ich versuche hier nicht, jmd. GLBasic madig zu machen. Aber kommt es euch nicht komisch vor, warum GLBasic jedes andere Basic mal eben im Vorbeigehen in die Tasche steckt aber sich das nicht in den Verkaufs- und Userzahlen wiederspiegelt? Klar, einerseits hängt es an der Vermarktung, aber das fehlende Entitysystem wurde mir bereits von vielen englischsprachigen Communities als Hindernis dargelegt. Das gebe ich natürlich auch gerne so weiter, denn es ist für mich auch ein Stolperstein der Marke "Granitfels". Diese Woche kam Cobra3D raus (eine weitere Programmiersprache für Spiele, die Syntax ist an Pascal angelehnt und es basiert auf OpenGL - die Features ähneln GLBasic) und hier wechseln die Blitz3D User bereits ziemlich massiv, obwohl Cobra + Cobra3D gut 100 Euro kostet und Pascal doch noch mal ein bisschen anders ist als Basic. Aber Cobra benutzt ein Enitity ähnliches System, bei dem quasi alles (Lichter, Partikelemitter, Meshes, etc.) ein Objekt (Object) ist (die Sprache ist NICHT Objekt orientiert im klassischen Sinn ^^).
Wenn hier Hilfe und Ideen erwünscht sind, bin ich gerne bereit da meine ganzen Ideen etc. reinzuwerfen. Denn Inline C könnt ich auch mit GLBasic machen, ausserdem sind meine Spiele dann schon Mac ready. Ich hab echt bloss Probleme mit der Art, wie GLBasic programmiert wird.

Edit: Mist, war ich zu langsam oder hab zu viel geschrieben. Sry, ich schau gleich im anderen Thread vorbei ^^

BumbleBee

OK Sebe, mit dem Entity System (hatte auch  Blitz3D) geb ich dir irgendwo auch recht. Obwohl ichs jetzt nicht unbedingt brauch .:D.Wenn dir also Gernot's Beispiel dazu gut gefällt (wie hat der das überhaupt so schnell gemacht) dann gibt's aber kein zurück mehr. Zu Blitz mein ich.
Und PureBasic und wo du halt noch überall bist.;)

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit