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

1

01.07.2014, 21:42

C und weiter?

Hallo liebes Board,

ich will mich kurz vorstellen: Bin 28 Jahre, Tontechnikerin und wohne in Frankfurt. Da mein Vater (zu dem ich leider keinen Kontakt mehr habe) Programmierer ist, bin ich mit Computern aufgewachsen und habe früh mit Basic, TurboPascal und HTML gearbeitet, außerdem ein bisschen PHP. Gerade habe ich so die Grundzüge von C gelernt, quasi alles was so in Standardbüchern steht bis einschließlich Schleifen, Arrays und Funktionen, und da mein Ziel die Programmierung von 2D- und 3D-Spielen ist, wird es Zeit, was Höheres zu lernen. Als kurz- bis mittelfristiges Ziel habe ich, um das Programmieren zu lernen und zu vertiefen, einfachere Anwendungen im Sinn, z.B. ein Programm, das aus Werten wie Blende, Verschlusszeit etc. andere fotografische Parameter berechnet, Würfel- und Kartengeneratoren für Rollenspieler oder Varianten von Brett- und Kartenspielen.

C++ liegt nahe, das will ich auch als nächstes machen. Mir fehlt noch eine Übersicht, wie ich nun am besten vorgehe und welche fortgeschritteneren Themen ich mir anschauen sollte. Ich möchte nicht länger nur mit der Konsole arbeiten, sondern schnell in grafische Benutzeroberflächen einsteigen. Haltet ihr das für machbar, GUI-Programmierung und den Umstieg von C auf C++ gleichzeitig zu lernen, oder lieber eins nach dem anderen?
Macht es Sinn, zusätzlich - oder hinterher - den Einstieg in eine Game Engine zu lernen?

Mein Lerntyp: Ich bin keine Freundin von Zusammenklicken, sondern will die Programmierung verstehen können und möglichst tiefe Eingriffsmöglichkeiten in Engines und APIs haben. Dabei aber auch den Frustfaktor über längere Zeiträume minimal halten und sehen, dass ich Fortschritte mache. Exkurse in Themen, die ich gerade nicht für zielführend halte, finde ich eher langweilig, so wichtig sie auch sein mögen. Lernen durch Trial + Error ist ok. Für mich kommen Tools und andere Programme, die mir die Arbeit abnehmen, dann in Frage, wenn ich es auch selbst machen könnte, aber die Zeit einspare.

Mein Spielziel: Aktuell bin ich von L.A. Noire begeistert und plane als langfristiges Ziel eine Umsetzung mit anderer Story als Point'n'Click-Adventure - man stelle sich Monkey Island 3, Black Mirror oder die alten KingsQuest-Spiele in düsterem Cyberpunk vor - mit gefilmten oder gezeichneten Zwischensequenzen, was die Sache dann zu so einer Art interaktiver Graphic Novel macht. Ziel ist es, eine Reihe von Kriminalfällen durch Spurensuche und Befragungen zu lösen. Einige Elemente von L.A. Noire halte ich in 2D für nicht umsetzbar, dafür soll es andere Features wie ein Inventarsystem geben.

Tipps, Infos, Erfahrungsberichte oder auch ein freundliches "Bullshit, du musst das anders machen..." willkommen!

Danke,
shelley

MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

2

01.07.2014, 21:54

Gibt ja schon einige Threads zu dieser Fragestellung, alternativ ist auch unser Wiki empfehlenswert.


Wenn du auf C++ verzichten kannst, wäre die Unity Engine ein guter Tipp, da programmierst du in C# und hast Exportmöglichkeiten für verschiedenste Plattformen (von iOS bis zur PlayStation).

Offtopic:
Heute haben sich zwei neue Benutzer hier angemeldet "Shelly"(=Spitzname von Sheldon) und "Leonard", Zufall, oder kennt ihr euch?

3

01.07.2014, 22:11

Heute haben sich zwei neue Benutzer hier angemeldet "Shelly"(=Spitzname von Sheldon) und "Leonard", Zufall, oder kennt ihr euch?
:D Zufall, zumindest hat mich nicht Sheldon Leonard oder Big Bang Theory inspiriert, sondern Mary Shelley, Autorin von Frankenstein, und ihr Mann Percy Bysshe Shelley, dessen Gedichte in L.A. Noire eine gewisse Rolle spielen. Ich habe da so ein gewisses Faible für englische Literatur. Vielleicht ist Leonard ja ein Cohen-Fan?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

01.07.2014, 22:39

Willkommen im Forum! Schön, dass du hier bist, denn Frauen sind hier deutlich in der Unterzahl.
Ich würde dir auch wärmstens zu Unity raten, vor allem wenn du schnell sichtbare Ergebnisse erzielen möchtest. C# ist auch sehr angenehm zu programmieren.

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

5

01.07.2014, 23:08

Hi!

Ich wiederhole mich, aber ich kann Unity hier auch nur wärmstens empfehlen. Dazu sei gesagt, dass es sehr viele "Klickibuntimöglichkeiten" bietet - aber auch nur, wenn du das willst. Ansonsten lässt Unity dich auch sehr in die Materie eintauchen und du hast soziemlich alle Freiheiten, die du brauchst. Und mit dem 2D Toolset, das es seit einiger Zeit gibt, könntest du theoretisch auch direkt an deinem Wunschprojekt arbeiten. Allerdings geht hier glaube ich der Grundsatz vor, dass man erstmal klein anfängt und sich langsam hocharbeitet!
WIP Website: kevinheese.de

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

01.07.2014, 23:09

Wirf vielleicht auch mal einen Blick auf Cinder: http://libcinder.org/ ;)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

01.07.2014, 23:35

Wow, das kannte ich noch gar nicht.
Gefällt mir auf den ersten Blick sehr gut. Die Vec-Templates erinnern mich sehr stark an meine eigenen! :D

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

8

01.07.2014, 23:49

Es wurde bereits geschrieben, dass mit C# Unity als Engine in Frage kommt. Solltest du C# verwenden, könntest du für die Oberflächenentwicklung Windows Forms oder WPF verwenden. (Kurz angeschnitten: Windows Forms gibt es schon wesentlich länger und wird auch von Mono unterstützt, WPF ist moderner und vereinfacht einige Dinge.)
Es gibt zwar auch noch diverse Frameworks (XNA, MonoGame, ...) oder Wrapper für Bibliotheken (SharpDX, SlimDX, OpenTK, SFML.Net, SDL.Net, ...), nur erspart man sich bei der Verwendung einer Engine eine Menge an Arbeit und gerade bei Unity ist das nicht nur die Verwaltung der Ressourcen, sondern auch das Unterstützen mehrerer Plattformen.

Solltest du C++ verwenden wollen, stünden dir für Spiele diverse Engines zur Verfügung (meines Wissens die Unreal Engine, Cry Engine, Source Engine etc.), allerdings besitzen diese teilweise ein anderes Lizenzmodell. (Die meisten davon dürften für den Anfang auch in Ordnung sein, allerdings habe ich keinen Überblick über vorhandene Konditionen.)
Für Die Oberflächenentwicklung gibt es diverse Bibliotheken (Qt, wxWidgets, ...), die alle ihre Vor- und Nachteile haben. (Allerdings kann ich auch über diese nicht viel sagen...)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

9

02.07.2014, 00:31

Wilkommen,

wenn du Programmieren lernen willst, würde ich dir nicht zu Unity raten. Sondern zu einer weniger abstrakten Engine.
Unity ist super, um effizient Spiele zu entwickeln und wenn du schnelle Ergebnisse haben willst, nimm das.

Verstehe nicht, wieso Unity beim Programmieren lernen stören sollte? Finde das widerspricht sich nicht!
WIP Website: kevinheese.de

10

02.07.2014, 03:05

Aber wenn du auch ein wenig hinter die Kulissen so einer Engine schauen willst und nicht nur mit Javascript/C# hantieren willst, kannst du SFML (C++) oder libGDX (Java) mal anschauen. Hier hat man als Entwickler mehr Freiheiten, muss allerdings vieles selbst in die Hand nehmen. Auf der anderen Seite kommt Unity5 auch bald mit einer integrierten DAW, vllt wäre das als Tontechnikerin dann wiederum praktisch. Am besten lädst du dir Unity mal runter und schaust, ob du sowas gesucht hast.
Unity sieht sehr mächtig aus, aber in der Free-Version gibt es auch ein paar Einschränkungen, die mich etwas stören (so, wie ich sie gelesen habe): Eingeschränkte NavMeshs, eingeschränktes Licht, keine Audiofilter. Letzteres stört mich am wenigsten, damit kenne ich mich ja aus und kann einfach vorgefertigte .ogg laden. An DAWs mangelt's mir auch nicht. Kein Abspielen von Videos ist da schon dramatischer. Aber ok, ich bin ja noch lange nicht soweit. Unity bekommt auf jeden Fall mal eine Chance, SFML auch. Ich bleib bei dem, mit dem ich besser klarkomme. Ist wohl auch eine Entscheidungsfrage C++ oder C# - ich nehme an, C# ist abwärtskompatibel zu C++, so wie C++ abwärtskompatibel zu C ist? Dann wäre mein Weg C++ mit SFML und dann C# mit Unity. Ich will jetzt keinen Programmiersprachenkrieg vom Zaun brechen, ich frage mich nur: Denkt ihr, dass das für mich Sinn macht?
In C++Bücher reingeschnuppert, scheint mir die Sprache mit C-Kenntnissen nicht so schwer zu sein, mit C# hingegen hatte ich noch nie das Vergnügen und kann es nicht einschätzen. Ich mag es, das Potenzial einer Maschine voll auszunutzen - eigentlich liebe ich die Kommandozeile, aber eben nicht für Spiele - und will Programme schreiben, die ohne unnötigen Ballast auskommen.

(edit) Ach, ein Teil davon ist Unsinn. SFML lässt sich ja auch mit C# programmieren.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »shelley« (02.07.2014, 03:18)


Werbeanzeige