Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

prof.eich

Frischling

  • »prof.eich« ist der Autor dieses Themas

Beiträge: 3

Beruf: Student AI

  • Private Nachricht senden

1

24.08.2014, 14:51

3D-Programmierung am MAC

Hallo Community,

ich habe bereits kleinere Erfahrungen mit dem Programmieren gemacht:
- Grundkurs Informatik in der Oberstufe (Delphi)
- Programmieren mit Visual Basic
- Programmieren mit C# und XNA (kein ganzes Spiel, nur laufendes Männchen mit etwas Landschaft)

Nun habe ich mir einen Mac zugelegt und bereits Xcode installiert.
Da ich noch absolut nichts in 3D programmiert habe, oder 3D Modelle erstellt, benötige ich Hilfe:
Ich brauche Infos zum einsteigerfreundlichen 3D-Programmieren am MAC, also konkret: welche Software (und wie bekomme ich diese) mit welcher Sprache (vorzugsweise C++ oder C#). Mir wurde es erstmal reichen einfach einen einfachen Gegenstand in einem Raum zu erstellen.

Mit freundlichen Grüßen Prof.Eich

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

25.08.2014, 10:47

Da DirectX nur auf Windows verfügbar ist, müsstest du eine Bibliothek nehmen, die direkt oder indirekt OpenGL verwendet, oder OpenGL selbst verwenden. Ich selbst habe keine Erfahrung mit OpenGL, nur meine ich mitbekommen zu haben, dass es zumeist angenehmer ist, eine darauf aufbauende Bibliothek zu verwenden.
2D Bibliotheken bieten meist die Möglichkeit, OpenGL zu verwenden, allerdings ist der Unterschied zur direkten Nutzung relativ gering, man dürfte sich aber die Problematik der Fenstererstellung ersparen (Beispiele: SDL/SDL.Net, SFML/SFML.Net, MonoGame, ...). Weiterhin gibt es 3D-Bibliotheken, die für mehr Abstraktion sorgen und so die Arbeit wahrscheinlich etwas einfacher gestalten (Beispiele: Irrlicht, Ogre3D, ...). Und es gibt Game-Engines, die zumeist eine solche Bibliothek und viele weitere Komponenten in einem Tool vereinen (Beispiel: Unity).
Je tiefer man arbeitet, umso schwieriger dürfte es insgesamt sein, nur bieten sich einem dort auch andere Möglichkeiten. Bei der Wahl sollte man auch berücksichtigen, wie viel Zeit man investeiren will und was das eigene Ziel ist. Um möglichst schnell ein fertiges und gepolishtes Spiel zu schreiben, sollte man nicht gerade mit einem eigenen Renderer anfangen, sondern eher zu einer Engine greifen.
Bei anderen Bibliotheken und vor allem Engines (Cry Engine, Unreal Engine, Source Engine, ...) musst du natürlich darauf achten, dass diese auch für Mac OS verfügbar sind.

Vorteilhaft könnte es ggf. auch sein, wenn die Engine deiner Wahl (solltest du eine Engine verwenden) bereits einen gewissen Satz an Standardassets mitliefert. So kann man mit deren Hilfe bereits Gameplay umsetzen und kann etwas anders als Boxen, Kugeln und Kapseln verwenden.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

3

25.08.2014, 19:55

Generell wäre wahrscheinlich gut zu wissen, was Du genau bezwecken möchtest. Willst Du dich mit low-level 3D-Grafikprogrammierung auseinandersetzen und beispielsweise auch OpenGL kennen lernen und es geht Dir mehr um das Lernen als Ziel? Oder hast Du schon etwas konkretes vor, was Du in 3D umsetzen willst?

Generell würde ich einfach mal vorschlagen:
  • Low-level OpenGL: GLEW oder SFML mit C++ unter Xcode
  • Zwischending: MonoGame mit C#
  • Spiel entwickeln: Unity mit C#
  • 3D-Modelle erstellen: Blender

prof.eich

Frischling

  • »prof.eich« ist der Autor dieses Themas

Beiträge: 3

Beruf: Student AI

  • Private Nachricht senden

4

26.08.2014, 10:45

Erstmal vielen Dank an euch zwei für die ausführlichen Antworten!

Ich habe mich den Tipps folgend nun etwas umgeschaut und bin nun zu diesem Resultat gekommen:

Ja, im Endeffekt sollte ein Spiel entstehen, da ich jedoch weiß, dass Programmieren nicht gerade auf die Schnelle zu erlernen ist, wollte ich vorerst mal einfache 3D-Modelle erstellen, bevor ich mich dem eigentlichen Spiel bzw. richtigen Modellen zuwenden werde (falls es überhaupt so weit kommen sollte, oder ich bis dato schon aufgegeben habe).

Da also, wie gesagt, in ferner Zeit ein Spiel daraus entstehen sollte, denke ich wäre Unity die richtige Wahl, was ihr beide mir ja im Zusammenhang mit der Spieleprogrammierung empfohlen habt. Kleine Kenntnisse in C# habe ich ja schon, das würde also passen. :)


Nun würde ich noch gern wissen ob Unity für einen Anfänger wie mich auch angemessen zu meistern ist und falls jmd. noch Literaturtipps oder nette Tutorials auf Youtube kennt kann er mir diese gern empfehlen.


Mit freundlichen Grüßen


Prof.Eich

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

5

26.08.2014, 11:27

Es ist für einen Programmieranfänger durchaus möglich. Ich kenne bspw. einige Leute, die selbst keine eingefleischten Programmierer sind, aber dennoch mit Unity ihre Spiele erstellen können.
Anzumerken wäre aber auch, dass über Unity als Einstieg in die Programmierung häufig geschrieben wird, dass der lernende dabei nicht ausreichend auf bestimmte Aspekte der Programmierung achtet, was letztendlich zu weniger sauberem Code führt. Ich denke, es dürfte auch genauso möglich sein, mit Unity die Programmierung zu lernen und dabei sich einen guten Stil anzueignen, nur ist dabei mehr Eigeninitiative seitens des Lernenden vorausgesetzt. Viele schreiben, eine Entwicklung außerhalb von Unity sei unabdingbar, um einen sauberen Stil zu entwickeln, nur kann ich dazu auch nicht viel weiter schreiben. Es kann durchaus sinnvoll sein, ich halte es aber nicht für so zwingend erforderlich.

Tutorials dürfte es auch auf der Unity Seite geben. Am wichtigsten ist meiner Meinung nach, dass man in Unity das Konzepet der GameObjects und Components versteht, genauso wie damit einhergehende Dinge (bspw. die Kommunikation der Komponenten mittels SendMessage).
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

prof.eich

Frischling

  • »prof.eich« ist der Autor dieses Themas

Beiträge: 3

Beruf: Student AI

  • Private Nachricht senden

6

26.08.2014, 17:18

Ich habe nun Unity auf meinem MacBook installiert und muss sagen, dass Unity genau so ist wie ich es mir vorgestellt habe. :)

Vielen Dank nochmals für die Beratung!

Mit freundlichen Grüßen,

Prof.Eich

Werbeanzeige