mit 3d spiele anfangen ... welche lib
-
Beginne mit etwas einfachen - das war damals mein erstes Spiel das auch halbwegs fertig wurde: http://home.in.tum.de/~amannj/projects/spacefighter.png
SFML scheint die richtige Wahl für ein einfaches 2D Spiel zu sein:
// von http://www.sfml-dev.org/documentation/2.0/ #include <SFML/Audio.hpp> #include <SFML/Graphics.hpp> int main() { // Create the main window sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); // Load a sprite to display sf::Image image; if (!image.LoadFromFile("cute_image.jpg")) return EXIT_FAILURE; sf::Sprite sprite(image); // Create a graphical text to display sf::Font font; if (!font.LoadFromFile("arial.ttf")) return EXIT_FAILURE; sf::Text text("Hello SFML", font, 50); // Load a music to play sf::Music music; if (!music.OpenFromFile("nice_music.ogg")) return EXIT_FAILURE; // Play the music music.Play(); // Start the game loop while (window.IsOpened()) { // Process events sf::Event event; while (window.PollEvent(event)) { // Close window : exit if (event.Type == sf::Event::Closed) window.Close(); } // Clear screen window.Clear(); // Draw the sprite window.Draw(sprite); // Draw the string window.Draw(text); // Update the window window.Display(); } return EXIT_SUCCESS; }
Danach kannst du auf 3D Umsatteln - dabei würde ich aber auch erst mal etwas einfaches wie ein 3D Schach Spiel programmieren - da kann man im Notfall die Grafiken noch selber machen - die Regeln/Requirements sind klar usw und man kann in sowas auch sehr viele Effekte hinein programmieren (HDR, Shadow Mapping, Reflections, Soft Particles, Ambient Occlusion, usw.) - dabei würde ich einfach ohne "Framework" direkt mit Direct3D eventuell mit DXUT
Und erst danach würde ich mich an einem einfachen 3D Shooter machen
- das wäre dann auch mal der Zeitpunkt über Ogre3D nachzudenken
-
-.-
guckt mal nach , ich hab viele allegro sampels geschreiben und hiern veröffentlich mit der spieleprogrammierung im 2d bereich habe ich mehr als genug erfahrung
nur leider ist allegro nicht 3d fähig und mit sdl/sfml braucht ihr mir nicht ankommen weil:
sdl muss wieder kompliziert installiert werden
und sfml bracht extra image_sdl.h und noch 1000 andere extra libs die man
MANUEL verbinden muss und dann tuts das alles nicht mal
-
Woher sollen wir wissen, was du schon alles geschrieben hast?
Wenn SDL und SFML nichts für dich sind, dann wage doch gleich den Sprung ins kalte Wasser und verwende einfach Direct3D. Hab ich auch gemacht, mit einem anständigen Buch ist das auch gar nicht soooo kompliziert. Dauert nur ein bisschen
Wobei mich deine Aussage "c++ hab ich jetzt teilweise verstanden" nicht so recht überzeugt. Und die Mathematik ist auch nicht zu unterschätzen
-
star_rock_games schrieb:
sdl muss wieder kompliziert installiert werden
und sfml bracht extra image_sdl.h und noch 1000 andere extra libs die man
MANUEL verbinden muss und dann tuts das alles nicht mal
Ich fürchte wenns schon an solchen Dingen scheitert dann ist 3D wohl nix für dich, bleib lieber auf bekannten Pfaden
-
star_rock_games schrieb:
mit sdl/sfml braucht ihr mir nicht ankommen weil:
sdl muss wieder kompliziert installiert werden
und sfml bracht extra image_sdl.h und noch 1000 andere extra libs die man
MANUEL verbinden muss und dann tuts das alles nicht mal
Du meinst, SFML müsse kompliziert installiert werden? Wo hast du denn Probleme?
-
Vielleicht ist ja das hier was für dich: http://unity3d.com/
-
nunja ich werd mal erst weitergucken und mich dann nochmal melden ^^
danke erstmal
-
guckt mal nach , ich hab viele allegro sampels geschreiben und hiern veröffentlich mit der spieleprogrammierung im 2d bereich habe ich mehr als genug erfahrung
wo sind den deine 2D Spiele?
-
Also ich würde ja auch mal die Alternative, OpenGL nennen (warum unbedingt DirectX ?), der Größte vorteil liegt in der Platformunabhängigkeit jedoch sollte auch erwähnt werden das GL für einfache dinge einfacher ist.
Noch ein Vorteil ist das man neue Effekte nutzen kann sobald Grafikkarten-Hersteller sie unterstützen.
Doch ich will auch die Vorteile von DirectX nennen:
1. DirectX bietet neben Anzeige auch Sound (OpenAL bei OpenGL als Alternative)und Input u.v.m..
2.DirectX bietet neue Effekte später, bietet diese in der Regel aber schneller als Standart mit an (Komplizierte dinge sind mit X meist leichter)Ich persöhnlich setze auf den C++Builder, OpenGL, OpenAL und normale WinSockets für TCP/IP, der vorteil ist das ich leicht (dank Kylix(C++Builder für Linux) auf Linux Portieren kann).
Wenn dir Portierbarkeit jedoch unwichtig ist und du die kleine Hürde am Anfang nehmen willst ist DirectX eine gute Lösung die zudem viel mehr als Grafik bietet.
P.S.
für einfache dinge einfacher (was für ein Satz XD)^^
-
GenialerIdiot schrieb:
stan****
Zum Glück setzt OpenGL auf eine standardisierte Stand-Art!