Shooter Games wie CS:GO programmieren?
Hey,
Ich möchte ein Shooter Game wie CS:GO programmieren. Was braucht man alles dafür? Und schreibt nicht so Kommentare wie, du musst erstmal Programmieren können, nein, ich kann schon mit Java, C# und C++ programmieren, mit C# und C++ jedoch nicht so viel
5 Antworten
Starte mit einem Game Concept Document (Lastenheft) und verarbeite dies letztendlich zu einem Game Design Document (Pflichtenheft). In ersterem beschreibst du zuerst einmal nur deine Spielidee. Zu einer Spielablaufbeschreibung gehören Informationen hinein, wie die geforderte Plattform (Windows / Android / iOS / ...), Spielerzielgruppe, Sprache, etc.. Auf dessen Grundlage kannst du damit beginnen, erst einmal zu schauen, was du überhaupt wirklich benötigst. Du kannst dich also erst einmal selbst ordnen und begrenzen.
Auf Gamasutra gibt es diesen wegweisenden, mehrseitigen Artikel zu dem Game Design Document, den du dir unbedingt durchlesen solltest: https://www.gamasutra.com/view/feature/131791/the_anatomy_of_a_design_document_.php
Im Zuge dessen wird dir also bewusst werden, was du brauchst.
Wenn ich nun an einen 3D-Shooter denke, fallen mir spontan bereits folgende Anforderungen / Bereiche ein, die es abzudecken gilt:
- Audio
- 3D-Modelle
- Eine Engine (für Grafik, Audio, Input)
- Kenntnisse in Spiellogik, Algorithmenaufbau / Programmierung, Grafik-, Audio- und evt. Videogestaltung
- Leveldesign
3D-Modelle, Sounds kann man sich kaufen, selbst erstellen oder auf themenbezogenen Plattformen/Foren kostenlos finden (z.B. freesound.org). Für zweite Option benötigst du Software, wie:
- Audio: Adobe Audition, Audacity, Avid Pro Tools, Wavosaur, Studio One
- Grafik: Adobe Photoshop, Adobe Illustrator, Gimp, Krita, Corel Draw Graphics Suite
- Video: Adobe After Effects, Lightworks, Blender
- 3D-Modellierung: Blender, Cinema4D, Autodesk Maya, MakeHuman, Autodesk 3ds Max, ZBrush, Sculptris
Nach Literatur und Lernquellen für diese Programme solltest du selbst recherchieren, für Adobe, Blender, Maya und Cinema 4D sollte dies kein Problem darstellen, oft lassen sich Tutorials eh gegenseitig übertragen.
Auch Software für die Planung des Spiels ist zu empfehlen, schau dazu meine Antwort von hier: https://www.gutefrage.net/frage/programmier-program-planer?foundIn=list-answers-by-user#answer-270556602
Bezogen auf die Game Engine oder Programmbibliotheken, mit denen du arbeiten möchtest, solltest du dich vorab entscheiden, worauf du dich mehr fokusieren möchtest, was dir wichtig ist (Anforderungen vergleichen) und womit du am besten arbeiten kannst.
Hinsichtlich der Fokusierung denke ich bspw. an deine gegebene Motivation. Du könntest nun mehr interessiert daran sein, das Spiel zu entwickeln - am besten so einfach wie möglich - oder vielleicht hast du mehr Interesse daran, mehr selbst zu probieren (mit einer größeren Gefahr des Scheiterns oder der Ablenkung auf andere Themengebiete, mit denen du dich beschäftigen müsstest.
Eine Game Engine, die zum Beispiel mindestens eine Scripting Language nutzt (z.B. Unreal Engine oder Unity3D) bietet grundauf viel mehr Basisfeatures und die Spiellogik muss nur noch implementiert werden. Bei Programmbibliotheken und APIs hingegen (z.B. Direct3D) musst du viel mehr selbst managen, startest also um einige Ebenen tiefer.
Listen möglicher Game Engines und Libraries findest du im Übrigen hier:
Aufgrund der von dir erwähnten Java- und C#-Kenntnisse würde ich dir spontan Unity3D empfehlen. Alles was du für diese Engine benötigst, findest du auf der offiziellen Herstellerseite (https://unity3d.com/).
Zuletzt noch etwas Literatur zum Thema Game Development:
- https://www.amazon.de/Mathematics-Game-Programming-Computer-Graphics/dp/1435458869/ref=sr_1_6?ie=UTF8&qid=1517010540&sr=8-6&keywords=game+programming
- https://www.amazon.de/Rules-Play-Game-Design-Fundamentals/dp/0262240459/ref=sr_1_5?ie=UTF8&qid=1517010712&sr=8-5&keywords=game+design
- https://www.amazon.de/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1517010862&sr=8-1&keywords=game+coding+complete oder https://www.amazon.de/Game-Coding-Complete-Mike-McShaffry/dp/1584506806/ref=sr_1_2?ie=UTF8&qid=1517010895&sr=8-2&keywords=game+coding+complete
Hierbei sei gesagt, dass sich zu einigen Büchern womöglich bereits PDF-Auszüge via Google finden lassen. Womöglich findet sich spezielle zu Shootern auf Amazon/Thalia/... noch passendere Literatur. Außerdem gibt es sicherlich viele Video-Tutorials zu diesem Thema.
Danke für die lange und auch sehr ausführliche Antwort. Ich werde morgen dann damit anfangen.
Unreal Engine oder sowas ähnliches. oder unity
Dann lern eine der Sprachen RICHTIG. Welche ist mehr oder weniger egal.
Allein diese Frage zeigt, dass du eben NICHT richtig programmieren kannst.
Das er es noch nicht richtig kann, hatte er auch in deiner Fragstellung geschrieben und die Sprache ist in keinem Fall egal.
Anstatt Vorwürfe zu machen einfach mal helfen wenn du dich anscheinend damit auskennst?
Dann kommt wieder so einer der die Frage nicht ganz durchgelesen hat und sowas kommentiert
unity als "IDE" und jede menge nerven und zeit.
unity bietet auch millionen an tutorials an 😉
Lade dir Unity runter, da kannst faktisch alles machen.
Triopasi wenn du keine Ahnung hast, schreib nicht solche unnötigen Kommentare