Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Spiele-/Grafikprogrammierung ::  Wie programmiert man spiele     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
LegendofBros
Unregistrierter




Beitrag LegendofBros Unregistrierter 15:22:14 28.02.2018   Titel:   Wie programmiert man spiele            Zitieren

Also ich habe immer noch nicht verstanden wie man spiele programmiert :mad: .Macht man das mit C,C++ oder mit speziellen, um Spiele zu entwickel,Sprachen. :confused:
Und wenn die richtige antwort kommt könnt ihr mir ein Beispiel schicken z.B. wie kann man programmieren das die Figur sich nach vorne bewegt
Wade1234
Unregistrierter




Beitrag Wade1234 Unregistrierter 18:00:19 28.02.2018   Titel:              Zitieren

was für ein spiel möchtest du denn programmieren?

unter windows bietet sich dafür directx bzw. direct3d, direct sound, direct input usw an. dafür brauchst du aber soweit ich weiß vorkenntnisse in computergrafik und der entsprechenden mathematik, also vektoren und ebenen und eben in c++.

um die figur nach vorne zu bewegen verschiebst und drehst du die vektoren und projizierst diese dann auf die ebene des bildschirms.
Bierkorken
Unregistrierter




Beitrag Bierkorken Unregistrierter 18:53:18 28.02.2018   Titel:              Zitieren

Wie Wade1234 schon geschrieben hat, hängt das stark vom Ziel ab. Wenn du dich einfach mal (abseits vom stark selbst programmieren) damit auseinander setzen möchtest, gibt es auch Tools die dir helfen. Aus dem Stegreif fällt mir jetzt nur Amazon Lumberyard ein (habe mich jedoch noch nicht intensiv damit beschäftigt, lediglich der Vollständigkeit halber).

Weiterhin gibt es viele Sprachen, welche Grafische Bibliotheken unterstützen. Ein schneller, einfacher Einstieg aus meiner Sicht in 2D Spiele ist beispielsweise Python mit Pygame (SDL).

Spezifizier deine Anforderung, dann kann man dir auch besser helfen.
t0ky0lambda
Unregistrierter




Beitrag t0ky0lambda Unregistrierter 14:57:59 01.03.2018   Titel:              Zitieren

Früher (in den Uhrzeiten) war das so, dass man typischerweise direkten Zugang zu einem Bildspeicher hatte.
Diesen Bildspeicher konnte man dan Belegen mit Daten und es gab' am Ende dann ein schönes bilchen.

Heutzutage haben das professionelle, wenn überhaupt, dann nur Spieleentwickler, die Konsolenspiele entwickeln. Die dürfen dann aber leider nicht sagen wie man darauf Zugriff bekommt wegen NDAs (Non Disclosure Agreements - ein Vertrag, dass Du die Klappe halten sollst und nicht sagen sollst wie Die Hardware anzusprechen ist).

Nun hat man (zumindest bei den typischen Systemen wie Windows 10, macOS) leider nur noch indirekten Zugriff zum Bildspeicher. (Wobei Du mit C bzw. C++ unter Linux auf den Bildspeicher zugreifen kannst, da gab es so eine Headerdatei wo Dir das ermöglicht hatte, da kannst Du dann Deine Pixel setzen und heraus kommt dann 'was das so aussieht: https://www.youtube.com/watch?v=Q1S2jRPAC-c); kannst direkt am Desktop ir'was malen).

Also es gibt Grafikbibliotheken für C/C++, die Dir dann praktisch(!) indirekt Zugriff zu Deiner Grafikkarte bzw. deinem Grafikprozessor geben (eigentlich kommunizierst Du mit einem Treiber statt mit der Grafikkarte direkt, aber egal). Diese Lauten OpenGL und DirectX.

OpenGL gibt Dir dann über den Treiber (das dem Betriebssystem hilft mit der Grafikkarte zu kommunizieren) Zugang zur Grafikkarte. Du kannst dann Deine Daten an die Grafikkarte schicken, machst ein paar Konfigurationen wohin die Daten hin sollen und definierst noch am Ende wie die Daten dann am Ende auszuschauen haben (mit sogenannten Shadern). Das war der grobe Überblick zur Grafikprogrammierung mit OpenGL.

Aber!!!! Du kannst natürlich auch gucken, dass Du selbst ohne Grafikbibliotheken wie OpenGL Deine 3D-Grafik auf den Bildschirm bringen kannst, denn solange Du fähig bist auf den Bildschirm Pixel zu setzen (Du kannst das zum Beispiel mit JavaScript und HTML-Canvas realisieren), kannst Du mit paar Algorithmen (Bresenham, Füllalgorithmen) und etwas Mathematik (perspektivische Projektion wie bei den Künstlern), Deine eigene 3D-Grafikbibliothek (Software Rendering) aufbauen.

Wenn es keine 3D-Grafik sein soll, dann gibt es so simple Bibliotheken wie SFML, SDL, Java (Swing), wobei Du natürlich auch hier dann 3D-Grafik ausgeben kannst. Musst halt gucken, dass Du die Illusionen (Perspektive/Tiefe) richtig hinbekommst (Mathematik):

https://www.youtube.com/watch?v=mQ0wz1i6jHA
https://www.youtube.com/watch?v=LEMir2zeJXk
https://www.youtube.com/watch?v=xMjkvKV0nBc

Die da oben sind mit purem Java realisiert worden, denn Java kommt mit einfachen GUI-Bibliotheken wie Swing.

Das ist mit purem JavaScript geschrieben: https://www.youtube.com/watch?v=C0ev80NwMXg
t0ky0lambda
Unregistrierter




Beitrag t0ky0lambda Unregistrierter 15:04:51 01.03.2018   Titel:              Zitieren

Also guck einfach nach einer Bibliothek oder Möglichkeit wie Du einen Pixel oder zumindest eine Gerade, ein Dreieck auf den Bildschirm setzt (Bibliotheken wie OpenGL, Swing, SDL, SFML, GameBoy-Emulator, MIPS Simulatoren wie MARS: https://www.youtube.com/watch?v=-dT7sHjod_w). Der Rest ist dann Mathematik und Logik.
lemon03
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.10.2010
Beiträge: 484
Beitrag lemon03 Mitglied 21:57:27 04.03.2018   Titel:   Re: Wie programmiert man spiele            Zitieren

LegendofBros schrieb:
z.B. wie kann man programmieren das die Figur sich nach vorne bewegt


Wenn ich dazu noch etwas schreiben darf, prinzipiell wie man einen Punkt oder irgendwas bewegt, also zB als ganz simples Beispiel,

Code:
bewegeFigur( Figur& figur, //die Figur
             int x0, int y0, //eventuell Startposition
             int x, int y  //Zielposition
            /*irgendwelche weiteren Parameter*/ )


Auch in drei Dimensionen. Dann müssen die Positionen noch auf die "Bildebene" projiziert werden. Wie schon geschrieben, solche simplen Beispiele kann man mit einfacher Schulmathematik machen.

Als Übungsplattform kann man ganz billig die Konsole eines BS nehmen, oder man erstellt sich eine kleine Bitmap und pinselt darin rum.
C++ Forum :: Spiele-/Grafikprogrammierung ::  Wie programmiert man spiele   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.