# Grundidee für 3D-Game herumlaufen



## multimolti (12. Mai 2007)

Hallo!

Ich habe eine Idee und viel Lust, mal ein eigenes Game zu coden. Aber nich so nen 3D-Quatsch, sondern schon was richtiges, Zeit habe ich ja 
Also habe ich mir mal Microsoft's XNA angekuckt, ist ja ganz schön und gut, aber ob es für ein großes Game geeignet ist? Glaube ich eher nicht.
Also am Anfang will ich erst mal nur realisieren, das man in 3rd Person Perspektive auf ner platten Fläche rumlaufen kann.

Deswegen habe ich 2 Fragen:
1. Welche Sprache ist dazu gut geeignet und nicht zu schwer?
2. Wie kann ich es realisieren, das man rumlaufen kann und das Programm den Boden/Wände erkennt, so das man nicht durchfällt?

Zu 2.:
Also einfach ist ja, beim drücken von einer Taste das Model der Person und die Kamera um Wert X in eine Richtung zu verschieben. Das mit dem Kollidieren kann man bestimmt irgendwie lösen, indem man prüft, ob Koordinaten von einem Kasten um die Person herum mit den Koordinaten von irgendetwas anderem übereinstimmen, oder indem man $GrößePerson mit $kleinstemAbstandZuIrgendwas vergleicht, aber ich würde da gerne mal Expertenmeinungen hören ,-)

Schon mal vielen Dank!!


----------



## Anfänger92 (16. Mai 2007)

Irgend etwas stimmt da bei dir nicht.
Du schreibst:





> Aber nich so nen 3D-Quatsch


Und dann:





> das man in 3rd Person Perspektive auf ner platten Fläche rumlaufen kann.


Ist es nicht 3d wenn man in der ich Perspektive spielt?

Zur ersten Frage:
Ich würde mal sagen das du nicht viel auswahl hast.
Ich würd es mit c++ machen.
Zur zweiten Frage:
Ja da hast du so ungefähr recht.

Und noch so neben bei:
Ich will auch grad ins Spiele programmieren einsteigen.
Ich denke du solltest die folgendes Tutorials einmal anschauen:
http://www.zfx.info/Tutorials.php?ID=1
Es gibt auch noch ein anderes heißt glaub ich "Pumis directx Tutorial"

Natürlich basieren beide auf c++ und Directx
und das Wissen in den aus Pumis aus dem Buch:
   3D-Spieleprogrammierung mit DirectX 9 und C++. 
Das andere aus dem Buch:
   DX 8.0 3D Spieleprogrammierung mit Direct3D 8

kann auch sein das ich mich da jetzt fertue.

// 
fals du es mit Directx und c++ probieren willst würde ich mitmachen bei dem Spiel ^^
Ich denke Allein wird es schwer werden


----------



## multimolti (16. Mai 2007)

Hi!

Also, zu deinen Fragen:



> Aber nich so nen 3D-Quatsch


 Sorry, habe mich vertippt, meinte 2D-Quatsch.

Habe Montag mal angefangen mit XNA, ist extrem aufwändig, aber im Internet steht überall das es keinen einfacheren 3D-Game Einstieg gäbe.
Habe seit Montag versucht, die Engine zu basteln, macht aber extremen Aufwand, bisher kann man den Player von allen Seiten betrachten, Springen, Gravity geht bisher nur auf ebenem Untergrund und beim rumlaufen hängts auch noch (man kann nur auf dem Koordinatensystem laufen, nicht schräg).

Kannst dir ja mal dieses XNA Framework runterladen, gibts irgendwo (2MB) oder gleich den Microsoft Visual C# Express Edition (30MB) mit XNA Erweiterung (80MB), dann kannstes mal testen:
http://multimolti.mu.funpic.de/download/XNA/ <-- immer die neuste, nicht wundern wenn die kleiner als die Alten ist, habe Models rausgenommen.

Ich würde mich richtig freuen, wenn du mitmachen willst, kannst mir ja mal deine ICQ# oder Mail-Adresse geben, und wenn du mich überzeugen kannst, das es in C++ einfacher ist, würde ich auch umsteigen.

Viel Spaß beim Testen!


----------



## limago (16. Mai 2007)

Ein Spiel "from the scratch" zu entwickeln ist sicher nicht trivial. Die Sprache ist dabei sekundär. Selbst mit Java bekommt man sehr performante 3D Graphiken gezaubert Wie ihr hier seht. Es wird sich auch nicht viel schenken, on man DirektX, OpenGL oä verwendet. Die können 3D Figuren rendern, Nebel, Licht-Schattenfeffekte, bewegen im Raum und all dies. Was nicht leicht ist, ist eine künstliche Intelligenz für die Spielfiguren zu entwickeln. Schon Kollisionserkennung füllt ganze Kapitel in Büchern. Am besten Ihr informiert Euch in den einschlägigen Spieleentwicklungsforen. Aber wenn Ihr eine nette Spielidee habt wäre ich schon dabei...

Gruß

Edit:

falscher Link Java Graphic Engine hier:

http://www.tutorials.de/forum/1421290-post2.html


----------



## multimolti (16. Mai 2007)

Also zu dieser Java-Engine kann ich nur ein Wort sagen: geil

Aber Java hat den Nachteil, das es nur läuft, wenn man das Java Runtime Environment installiert hat, oder?

Eine eigene Engine aufzubauen macht extremen Aufwand, das stimmt, eine fertige hat aber den Nachteil, das man, um sie zu erweitern, sie ganz genau ankucken muss und die Funktionsweise verstehen muss, aber das ginge ja.

Zur Grundidee des Games:
Ich dachte an ein MMO, also ein Massive Multiplayer Online Game, wenn man soweit ist, kann man sich um den weiteren Verlauf ja unterhalten.
Da dachte ich dann an ein Fantasy-Game, vielleicht mit ein bisschen Anlehnung an WoW, aber mit weniger Kampf und dafür mehr Wirtschaft/Leben.. also es soll kein so Mist werden wie Kal Online oder Silkroad, wo man einfach nur rumläuft, Viecher schlachtet und Level steigt.

Schreibt bitte mal eure Meinung dazu, und wenn ihr gute OpenSource Engines kennt, verlinkt sie bitte mal hier!


----------



## Matthias Reitinger (16. Mai 2007)

Hallo,

Ogre 3D ist eine sehr gute Engine für 3D-Grafik (LGPL). Irrlicht soll auch nicht schlecht sein, hab sie mir aber persönlich noch nicht näher angeschaut (zlib/libpng-Lizenz). Ansonsten gäbe es natürlich noch die Quake-3-Engine, deren Quelltext unter der GPL steht.

Allgemein würde ich euch aber raten, mal einen Gang runterzuschalten. Ein MMO(RP)G ist ein sehr komplexes Softwaresystem, das man nicht mal so nebenbei aus dem Boden stampfen kann. Und schon gar nicht alleine oder auch zu zweit. Fangt lieber erst mal klein an, von mir aus mit einem Tetris- oder Breakout-Klon. Das sollte für den Anfang Herausforderung genug sein.

Grüße,
Matthias


----------



## multimolti (16. Mai 2007)

die Irrlicht-Engine habe ich auch grade gefunden, mal runtergeladen und getestet, sieht fast aus wie bei Crysis ;-)
Nee, is aber echt gut, die Engine.
Naja, mal sehen was man damit hinbekommen kann, wenn nen MMO zu schwer ist, wird sich etwas anderes finden lassen.


----------



## multimolti (17. Mai 2007)

Zu meiner eigenen XNA Engine (die es immer noch hier gibt: http://multimolti.mu.funpic.de/XNA/ )
Jetzt geht endlich das rumlaufen (ab Version 0.0.6)! Das es bisher nicht ging lag daran, das die Rotation-Funktion einen Radian-Wert wollte, ich ihr aber einen Degree-Wert gegeben habe! Naja, das ist jetzt gelöst.
Jetzt kann das echte spaßmachende Programmieren losgehen!


----------



## Anfänger92 (19. Mai 2007)

Also ich denke ma das XNA ganz gut ist um schnell Spiele zu programmieren.
Aber um aus z.B DirectX alles rauszuholen muss man schon DirectX lernen. Erstrecht wenn 10 jetzt auf dem Markt ist.
Mitmachen würd ich aber trotzdem


----------



## multimolti (19. Mai 2007)

gut, dann gib mir bitte mal deine ICQ# oder Mail-Adresse!


----------



## the_undertaker (20. Mai 2007)

multimolti hat gesagt.:


> 1. Welche Sprache ist dazu gut geeignet und nicht zu schwer?


Also, als ich das das erste Mal gelesen hab, hab ich gedacht:"Kann noch nicht programmieren und will mit nem Spiel anfangen".

Nach längerem Überlegen bin ich zu folgender Frage gekommen:
Kannst du schon mehrere Sprachen und möchtest wissen, welche geeignet ist, oder hast du vor, die zu lernen, die geeignet ist? Wenn die 2. Version die richtige ist, würde ich sagen, brauchst du noch ne ganze Weile, bis du eine Sprache so gut kannst, dass du Spiele programmieren kannst. Wenn du gleich mit einem Spiel anfängst, sind alle Sprachen schwer (vermute ich mal). Falls du schon mehrere Sprachen kannst, ist meine Antwort auf deine Frage: Sorry, ich kann nur C++ und sonst nix, bin also wohl hier keine so große Hilfe.


----------



## multimolti (20. Mai 2007)

also ich kann PHP und C++ teilweise, aber dieses XNA ist ein Framework von C#, also muss ich wohl oder übel C# lernen, denn damit scheint es doch immer noch deutlich einfacher zu sein als mit C++ und DirectX.
Mittlerweile kann ich es auch halbwegs, es gibt ja noch das XNA Forum für Fragen.


----------



## GameFreak (19. Juli 2010)

Versuch' s mal mit Blenser.
Blender ist OpenSource, somit kostenlos und ist - meiner meinung nach - für 3D-Spiele gut geeignet.


----------



## 3Cyb3r (19. Juli 2010)

Falls ich ein Vorschlag machen darf (Wäre evtl. auch dabei). Wie wäre es mit dem .NET-Framework (wie vorgeschalgen?) Managed C++, C# und J# und man kann sogar ganz einfach unmanaged DLLs importieren und da ihr da unterschiedliche vorlieben in den Programmiersprachen habt ist das keine kein Problem. 
Zu Beginn würd ich euch auch raten die Kollision erst einmal mit einer Hitbox zu regeln. Später könnt ihr das "ganz einfach" ändern, wenn euer Projekt richtig aufgebaut ist.
Design und Planung ist alles bei so etwas. Am besten erstellt ihr UML-Diagramme und andere benötigte Scripts und verteillt dann die Aufgaben. 
Erst Anfangen zu programmieren wenn alles grundlegend fertig ist (was soll das Spiel können, was brauchen wir dafür). 
Ich spreche aus Erfahrung ...
Zusätzlich kann ich empfehlen die Spriptsprache LUA zu verwenden (evtl. auch XML) und für den Sound fmod.

MFG ich hoffe ich konnte helfen


----------



## PeterBluewin (5. September 2010)

Wenn dieser Thread noch aktiv ist, möchte ich gerne nochmal auf "Blender" hinweisen. Wurde bereits erwähnt. Mit dem Hin- und Herlaufen ist das ganz einfach. Hier habe ich bereits ein Template für einen Visitor und einen Shooter veröffentlicht. Der Visitor kann zusätzlich zum Laufen auch fliegen, ähnlich wie der Avatar in Second Live. Wer Interesse hat kann auf meiner Seite mal nachschauen. Die Seite ist ausschließlich für Blender Game Stuff. Alles Free und just for fun. Link: http://www.wipn.de/blenderproject
Das Coding beginnt erst viel später, wenn das Storyboard klar ist. Man kann dann in C++ oder Python programmieren. Geht aber zu weiten Teilen auch ohne (siehe komplettes Race Game auf meiner Seiten ohne grosses Coding).


----------

