Aktuelle Zeit: 15.05.2024, 03:39

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: RPG programmieren
BeitragVerfasst: 25.10.2007, 09:34 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
Hi
Ich möchte gern ein RPG programmieren und wollte mal wissen wie ich das am besten aufbauen sollte von den Klassen und so.
Ich würd vielleicht ne klasse Player machen mit Members wie IAnimatedMesh und IAnimatedMeshScenenOde und funktionen wie walk, jump, attack oder so...
Ist es sinnvoll ne physik engine reinzunehmen?
Wie speichert man Spielstände?
Kann man eigentlich BSPs und Heightmaps kombinieren z.b eine Burg als Quake-BSP und außenrum ein Terrain als Heightmap.
Wie macht man es dass man von NPCs Quests kriegt und so...
Sollte man sich alles schon vorher überlegen, wie würdet ihr das machen?
vielen dank schonmal


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 25.10.2007, 09:42 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
Zitat:
Sollte man sich alles schon vorher überlegen,

ja.
Zitat:
wie würdet ihr das machen?

sieht man im communityprojekt ^^

(p.s.: kannst gern mitmachen)

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 25.10.2007, 13:32 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Also aus deiner Fragestellung schließe ich, dass du noch nicht viele Spiele programmiert hast, deswegen mein Tip: nimm dir was kleineres für den Anfang vor und versuche, einen Teil des Codes, den du dafür schreibst, so zu machen, dass du ihn später wiederverwenden kannst (z.B. Physik). Mein Ziel ist auch was Größeres, aber um mich mit Irrlicht und ODE vertraut zu machen hab ich erstmal was sehr kleines gemacht (Marbles, siehe "Projekte" Forum)

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 25.10.2007, 15:37 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
Hi
Ich wollt jetzt sowieso mal mit nem einfachen FPS anfangen.
Vielleicht hab ich mich nicht deutlich genug ausgedrückt, ich wollte einfach wissen, aus welchen Teilen so ne Game engine besteht.
Bei dem Community projekt hab ich auch schon reingeschaut, ist mir aber alles noch ein wenig zu hoch :D

EDIT: Brainsaw, ich seh grad du kommst aus regensburg: willkommen im Club :shock:


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 25.10.2007, 20:18 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
Bei dem Community projekt hab ich auch schon reingeschaut, ist mir aber alles noch ein wenig zu hoch :D

Dann hols wieder ein bisschen weiter runter, vllt gehts dann schneller voran :p

Eine Gameengine kannst du designen, wie du willst, das ist es ja gerade, was es so schwierig macht, einen komplett richtigen Ansatz gibt es nicht.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 26.10.2007, 06:20 
Offline
Benutzeravatar

Registriert: 16.10.2007, 07:56
Beiträge: 229
Wohnort: Regensburg
Na ja, im Endeffekt werd ich wohl noch ein paar kleinere Spielchen machen, bevor ich mich an was Größeres wage. Bei mir läuft es immer so, dass ich etwas umsetze und wenn ich mir den Code dann noch mal durch den Kopf gehen lasse, dann fällt mir ein, was ich alles besser umsetzen könnte (und das ist nicht wenig :wink: ). Die Ideen sammel ich dann und bau sie im nächsten Spiel ein.

EDIT: @tux94: kommst du auch aus der Gegend?

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 26.10.2007, 12:08 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
Hi
Jep ich bin auch aus rgbg :D
Zitat:
Eine Gameengine kannst du designen, wie du willst, das ist es ja gerade, was es so schwierig macht, einen komplett richtigen Ansatz gibt es nicht.

Wie macht ihr das denn?
Ihr habt da bestimmt schon ne menge Erfahrung.
Ich wollt jetzt bei meinem FPS ne Klasse CPlayer machen und da hab ich rein
nen IAnimatedMesh* Weapon
IAnimatedMeshScenenode* Weapon_n
ICameraSceneNode* camera

Im Konstruktor von CPlayer hab ich das mesh von IanimatedMesh geladen (ne waffe)
und Positionseinstellungen und so vom scenenode eingetragen.
Danach hab ich diie Kamera mit
camera = smgr->addCameraSceneNodeFPS() geladen
dann hab ich Weapon_n->setParent(camera)
aber wenn ich dann das program compile und ausführe seh ich immer nur nen schwarzen bildschirm.
was mach ich falsch?

Ich lad euch wenn ich daheim bin vielleicht noch den ganzen quellcode rauf.

buy-buy


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 26.10.2007, 13:47 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
hast du denn überhaupt ein level geladen?

Und bist du dir sicher, dass die waffe auch vor der kamera steht?
Wenn du als Parent der Waffe nur die kamera angibst, dann bringt das erstmal nur soviel, dass sich die waffe genau wie die kamera bewegt.
Du musst sie aber noch entsprechen ausrichten und positionieren, damit es so aussieht, als würde die waffe in der hand sein.

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 26.10.2007, 15:06 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
Zitat:
hast du denn überhaupt ein level geladen?
Und bist du dir sicher, dass die waffe auch vor der kamera steht?
Wenn du als Parent der Waffe nur die kamera angibst, dann bringt das erstmal nur soviel, dass sich die waffe genau wie die kamera bewegt.
Du musst sie aber noch entsprechen ausrichten und positionieren, damit es so aussieht, als würde die waffe in der hand sein.

Ich hab genau den selben Code zusammen in die main-Funktion geworfen und da funktioniert es.
Muss also irgendwie an der Trennung durch die CPlayer Klasse liegen...
Hier ist der Quellcode: http://www.ftbuild.de/irrlicht/irrlicht_fps_test.zip

EDIT: Im Beginner-Forum hab ich grad was von einer Warteschleife als "Frame-Limiter" gelesen. Wie macht man sowas?
Und ist dann auch die CPU-Belastung niedriger? Bei mir ist nämlich wenn ich die Engine laufen lasse ein Core voll ausgelastet, aufm Notebook nervt des wenn dauernd der Lüfter volle Pulle läuft...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 29.10.2007, 11:28 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
Warum antwortet mir keiner? :cry: Bin schon fast am Verzweifeln...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 29.10.2007, 11:39 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
Zitat:
EDIT: Im Beginner-Forum hab ich grad was von einer Warteschleife als "Frame-Limiter" gelesen. Wie macht man sowas?
Und ist dann auch die CPU-Belastung niedriger? Bei mir ist nämlich wenn ich die Engine laufen lasse ein Core voll ausgelastet, aufm Notebook nervt des wenn dauernd der Lüfter volle Pulle läuft...


ja das is doch ganz einfach, Wenn du zB. eine Framerate von 25 Frames pro sekunde haben möchtest dann:
1s = 1000ms
1000ms/25frames = 40ms pro frame

jetz geht das in der hauptschleife wie folgt:
(achtung pseundocode)
Code:
while(true)
{
  time1 = time();
  beginScene();
  drawAll();
  endScene();
  tim2 = time();
  if (time2 - time1 < 40)
  {
    wait(40 - (time2 - time1));
  }
}



so wird der prozessor während der wait zeit entlastet und du hast 25 frames per second


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: RPG programmieren
BeitragVerfasst: 02.11.2007, 11:42 
Offline

Registriert: 24.09.2007, 16:48
Beiträge: 10
@psyco001
Sorry, aber ich krieg das irgendwie nich hin.
Welcher Typ sind time1 und time2 ich habs mit int probiert aber der compiler sagt

/usr/include/time.h: In function ‘int main()’:
/usr/include/time.h:187: error: too few arguments to function ‘time_t time(time_t*)’
main.cpp:78: error: at this point in file
/usr/include/time.h:187: error: too few arguments to function ‘time_t time(time_t*)’
main.cpp:82: error: at this point in file
main.cpp:85: error: no matching function for call to ‘wait::wait(int)’
/usr/include/bits/waitstatus.h:68: note: candidates are: wait::wait()
/usr/include/bits/waitstatus.h:68: note: wait::wait(const wait&)


Danach hab ich es mit sleep(0.04) probiert, funktioniert aber die CPU Belastung geht nicht runter.

Was tun?


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de