Spiel programmieren in C. Was ist möglich?



  • H.L.T.O schrieb:

    Ich weiss jetzt nicht wieviel Erfahrung du mit C hast. Doch alleine um DirectX oder OpenGL zu beherschen würden dein Ferien nicht ausreichen.

    Ich würde für den Anfang eine Bibliothek wie ClanLib oder Allegro benutzen. Gerade für einfache 2D-Arcade-Games sind die ideal.



  • @ H.L.T.O

    wollte eigentlich erstmal nur in C programmieren und dann später mit anderen weitermachen... desswegen sagt mir jetzt auch vieles was du geschrieben hast nichts^^

    @Harrison Bergeron

    Jo das sowas wie Mario Bros oder Lemmige am anfang zu schwer ist, ist schon klar, wollte nur wissen ob sowas möglich ist damit ich mir schonmal n ziel oder sowas setzen kann 🙂

    Breakout oder Pacman wär schon klasse un in einer noch ziemlich primitiven form bin ich auch schon dabei (Smiley wird per tastatur durch den bildschirm gesteurt und frisst kreuze auf um punkte zu kriegen^^, aber halt noch ziemlich am anfang sprich alles nur auf ASCII basis 🙂 ) Desswegen wollt ich ja auch wissen ob Ich in C Texturen oder texturen ähnliches einfügen kann (wenns geht auch wirklich nur in C und ohne andere Sprachen) Als nächstes werd ich mal gucken dass der smiley abprallt wenner gegen die ascii wände kommt un dass er automatsich weiter läuft ohne einzelnen Tastendruck 🙂



  • Texturen usw. kannst du in C (oder auch C++) nicht direkt benutzen, da sowas hardwareabhängig ist. Du musst dazu eine lib benutzen, wie HLTO schon sagte. Diese zu Benutzen ist grundsätzlich auch nicht schwerer wie z.b. printf(). Da du ja schon Gamelogik schreiben kannst (was IMHO das komplizierteste ist), solltest du Dir einfach mal das DXSDK (wahlweise nat. auch OpenGL!) runterladen, dort sind wirklich viele Beispiele und eine gute Doku dabei, wie man ganz grundsätzlich etwas anzeigt. Ausserdem kannst du zum Einsteig auch noch die Tuts, welche die FAQ listet, lesen.

    Bye, TGGC



  • hi,
    wie Harrison Bergeron schon gesagt hat, würde ich nicht ogl/directx nehmen (natürlich bleibt das jedem selbst überlassen) da man imho wenn man ganz am anfang steht erstmal besser mit allegro oder sdl oder etwas ähnlichem zurechtkommt (außerdem hat man schneller ergebnisse ;). bei dx usw gibts halt imo viel mehr zu lernen...).
    mfg
    Black Sting



  • Hej,
    ich bin zwar auch noch am Anfang, aber habe schon ein paar MiniGames geschrieben.
    Die ersten natuerlich auch im TextMode mit den netten Ascii-Zeichen 😃
    Dann kann man evtl. auf den VideoModus umsteigen. Dort kann man schon zeichnen und so. Sieht halt bissl besser aus alles 😋
    MfG, Viking



  • Ob in ASCII oder richtiger Grafik ist schnuppe. Bei der Games-Programmierung geht es ja auch um das prinzipielle Verständnis, und da ist ASCII erstmal ausreichend. Ob Du nachher einen Buchstaben oder ein Pixel-Rechteck bewegst ist kein großer Unterschied mehr.

    Wenn du C oder C++ gut beherrscht und dich in neue APIs einarbeiten kannst, dann würde der nächste Schritt eben eine solche sein. Da gibt es wieder viele Möglichkeiten:
    - DirectX (finde ich persönlich seeeeeehr mächtig und komfortabel und ich arbeite mich da jetzt auch fleissig rein! Für reine Windows-Programmierung super!)
    - SDL (eine API die das nötigste bietet und es nicht nur für Windows gibt, also auch portierbarer Code!) und
    - Allegro (kenne ich nur aus DOS-Zeiten, weiß nicht was da heute draus geworden ist)

    Das sind APIs die dir nicht nur Grafik-Funktionen bieten, sondern auch Sound, Joystik-Abfragen usw.

    Wenn du nur Grafik-Funktionen willst, kannst du auch ne Stufe tiefer gehen:
    OpenGL 😃 Ich finde es seeeehr einfach! Aber es hat halt "nur" eine Grafik-API, für Sound und Joystick muß man dann doch wieder DirectX unter Windows verwenden, oder halt SDL für Crossplattform.



  • Allegro wird nach wie vor weiter gepflegt und entwickelt.
    Ich kann leider nicht für den Linux-Port sprechen, aber unter MSVC verhält es sich mittlerweile sehr pflegeleicht. Es wrappt dabei DirectX, ist für Einsteiger also praktisch ideal - weder die Beherrschung von WinAPI ist notwendig, noch das Wissen über DirectX selbst. Wohl die am einfachsten zu lernende Multimedialibrary derzeit.
    Allerdings kann ich momentan nicht sagen, ob im 3D-Bereich mittlerweile die Acceleratorfunktionen genutzt werden.



  • Zum Thema Allegro und 2D-Spiele kann ich übrigens

    http://www.c-plusplus.net/titelanzeige.php?ISBN=3826680758

    empfehlen.



  • Sehr interessant Marc++us, davon wußte ich gar nichts!
    Bemerkenswert, dass es nun schon ein Buch drüber gibt - und dann noch mit sehr positiver Bewertung! Ich hätte die deutsche Übersetzung der Allegro-Anleitung doch mal fertigstellen sollen. Da kann sich jeder noch einen Platz in der Ruhmeshalle sichern 🙂



  • Hey, das Buch hab ich zu Weihnachten bekommen. Ich muss sagen, ich finds gut! Es wird nicht nur erzählt, wie man irgendwelche grafiksachen macht, sondern auch, wie ein Spiel generell, in sich funktioniert. Außerdem viel über Rollenspiele (Charakterklassen usw.) gesagt. Über KIs steht leider ziemlich wenig drin.
    geloescht


Anmelden zum Antworten