Frage zur Spieleprogrammierung

Syris125

Grünschnabel
Hi,

ich würde jetzt auch gerne mal ein größeres Spiel programmieren und hier im Forum wird sowas ja scheinbar öfter gefragt :)

Ich würde gerne etwas rollenspielmäßiges programmieren, wo man rumlaufen kann, städte aufbauen, kämpfen, zaubern..

Das ganze sollte aber für mich alleine vom aufwand her machbar sein, also sind schmutzige tricks wie kostenlos verwendbare modelle und co. prima!

Programmiererfahrung habe ich in

c++, delphi, ms visual c++. pascal, java, flash, etc.

Jetzt überlege ich, was ich am besten mache:

1) Grafik wie puzzlequest challenge of the warlords, 2d ansicht von oben drauf
2) Semi 3d wie in dem spiel hier http://www.master-of-defense.com/ kann man demo runterladen und kurz angucken wenn man möchte.
3) Spiel im Stil von might and magic 3, lands of lore 1 & 2, sprich pseudo 3d, dass den bildschirm in flächen aufteilt und die einzeln bebildert

und mache ich das in c++, oder in sowas wie http://www.blitzbasic.com/
oder ganz was anderes?

Und nehme ich mir eine fertige engine irgendwoher sowas wie 3dgenesis, oder programmiere ich das mit directx/open gl, oder mache ich es ganz alleine von grund auf?

Tips bitte? :)

Grüße

Syris

P.s.: Vorerst muss ich für c++ wohl einen freeware developer nehmen, also z.b. dev-c++

P.p.s.: spiele mit dem gedanken später einen netzwerkmodus per socketprogrammierung zu integrieren. An dem punkt steigt blitzbasic dann evtl aus? Kenne mich da mit den unterschieden nicht besonders aus.

P.p.p.s: wenn irgendwer lust hätte zusammen ein spiel zu programmieren, gerne melden =)

Es gibt mehrere Zugänge zur DirectX-Programmierung:
1.) C++ und das DirectX Software Development Kit = DXSDK mit C++ (alte PC-Spiele).
2.) Managed DirectX mit C# ist fast genauso schnell aber einfacher als 1.) und ist enthalten im DXSDK.
3.) XNA mit C# ist Nachfolger von 2.) bei neuen PC und XBox-Spielen.
4.) Auf DirectX10 basiert die Programmierung der Windows Vista Benutzeroberfläche (enthalten im DXSDK).
5.) Windows Presentation Foundation = WPF mit XAML und C# ? DirectX10 liegt verhüllt in einer enormen Klassenbibliothek.

Managed DirectX wurde schnell sehr populär, weil es einen einfachen und eleganten Zugang zu DirectX mit voller Geschwindigkeit bietet und war von 2002 bis 2007 die modernste Plattform für PC-Spieleentwicklung unter WindowsXP.
2007 hat Microsoft die Weiterentwicklung von Managed DirectX eingestellt zugunsten zweier neuer DirectX-APIs:
1) XNA, welches einen gegenüber Managed DirectX erstaunlich vereinfachten Zugang zu DirectX für die PC- und XBox-Spieleentwickler bietet.
2) WPF, mit dem Ziel der vollständigen und nahtlosen Integration von DirectX in alle Programmoberflächen und Internetseiten.

Ich glaube ich nehme direct x.
 
Zuletzt bearbeitet:
nach einigem rumsuchen/lesen:

Eine 3d engine zu nutzen scheint immernoch recht arbeitsintensiv zu sein.

Sowas wie ogre z.b. wenn man sich da den beschreibungstext durchliest, hört sich das an, als ob man schon ohne die grafiken etc. mindestens mal monate brauchen würde, bis man überhaupt irgendetwas interessantes auf dem bildschirm sieht.

Sind das übertriebene darstellungen, oder ist das so schon richtig?

Mit Darkbasic und Blitzbasic scheint es generell schneller zu gehen.

Kann irgendjemand einschätzen, wie lange es dauert so eine grafik + steuerung zu basteln wie in dem oben genannten Master of Defense?

Was ist eurer meinung nach die einfachste art eine schöne grafik für ein rollenspiel zu bekommen?

Es sollte mindestens eine draufsicht sein, nicht sowas von der seite wie marioworld.

vielen dank für die tips :)

................


alternative:

welches spiel gibt einem die meisten freiheiten um ein mod zu erstellen?

ut2004? Wie weit kann man das abwandeln?
 
Zuletzt bearbeitet:
Also ich würde dir raten mit einem 2D spiel einzusteigen.
Ich habe bis vor kurzem eins geschrieben, hat sehr viel Spaß gemacht^^
Es ist zwar nicht fertig geworden, denn als es an die Details ging hatte ich keine Lust mehr, aber ich habe auf jeden Fall eine Menge gelernt.
Wenn Interesse besteht würde ich das mal hochladen.
Ich habe Allegro benutzt, das hat gut Laune gemacht.
Ich habe mir jetzt mal so 3D engines angeschaut. Am viel versprechensten sehen Ogre, Irrlicht und das Dark GDK aus. Aber dann habe ich mich doch lieber erst mal auf ein 4 gewinnt verlegt, das hat man in ein paar tagen und es ist ne ganz andere art von Herrausforderung. wenn ich Morgen damit fertig werde schaue ich mir vielleicht nochmal so ein 3D game an. Dann können wir uns ja mal abgleichen ;)
 
*grins* Wäre cool, wenn du lust hättest, ein rpg zusammen aufzubauen =)
Das macht sicher viel mehr fun, als alleine.

Die tips mit dem 4 gewinnt und so, hab ich gestern auch überall gelesen.

Und klar hab ich das in ein paar tagen.. actually wenn ich für ein einfaches 4 gewinnt länger als ein paar stunden brauchen würde, würde ich mich schwer wundern!

ich habe zwar nur mäßig ahnung von moderner spielegrafik, im sinne von, was sind hier die normen.. welche vorgehensweisen grafisch und programmiertechnisch ergänzen sich am leichtesten, etc.

aber das kriege ich nicht von 4 gewinnt. Es sei denn ich mache ein 4 gewinnt mit animierten 3d figuren, die man bewegen kann... aber ehrlich gesagt.. dann kann ich auch gleich einfach nur animierte 3d figuren in den raum stellen, davon hab ich dann genausoviel.. ^^

ich habe schon mal eine eigene 3d engine geschrieben. Bin soweit gekommen, dass man eine map laden konnte und dann war man in einem 3d raum... du hast quasi einen grooooßen körper gebaut, das war die map, und dann hast du diese um dich selbst rum gedreht.

War lustig zu sehen, dass sich eigentlich der spieler gar nicht bewegt hat,.. sondern die welt um ihn rum =).

hab das auf delphi angefangen.. zu langsam... auf borland c++ probiert... zu langsam.. und bin dann bei visual c++ geendet, das ging ganz gut.

Ja und das hat auch spaß gemacht, und wenn ich mich jetzt ein paar monate hinsetze, kriege ich das auch wieder hin,... aber die technik hat ja fortschritte gemacht und es gibt überall freeware engines... also wieso selber bauen.. ich möchte ja ein spiel basteln, nicht für ewig und immer auf den reinen code starren, ohne dass dabei ein bild zu standen kommt.. ^^ Dass ich das gemacht habe ist auch schon 8 jahre her oder so.

Da lernt man richtig spannende sachen... z.b. wenn du eine wandtextur hast.. und du nimmst dieselbe wandtextur und setzt die weiter weg an die wand.... wie sieht die denn dann aus? Sprich wenn du z.b. kacheln an deiner wand hast, und die ist jetzt weiter weg den raum runter, wie musst du die pixel projizieren, damit es realistisch aussieht... und wieviel kannst du überhaupt machen, bevor dein rechner in die knie geht..


sowas im stil von age of wonders, oder warcraft 1, oder lords of magic, wäre auch interessant.

die grafik von master of defense oben sieht toll aus! Wie lange dauert es so etwas zu basteln?



In den ganzen threads wird ja auch immer erklärt, man müsse erstmal pacman programmieren, damit man das endlosschleifen prinzip, projektmanagement usw. lernt.

Projektmanagement, Mathematik, usw. kann ich schon von berufswegen her.
Und wenn ich pac man programmiere weiß ich auch nicht, ob master of defense ein simples oder ein kompliziertes grafiksystem hat.

Ich hab früher auch simulationen programmiert, für physikprobleme in der schule etc.. was machen 5 körper die im raum rumfliegen und sich gegenseitig beeinflussen..

Also ist zwar alles viele viele jahre her, aber ich habe die ersten schritte schon mal gemacht. ^^

Lad dein 2d game mal hoch :)




wenn man auf 3d geht, sind die modelle sicher deutlich zeitintensiver zu machen, als in 2d.

guck dir mal puzzle quest challenge of the warlords an.... eines der besten spiele, die ich dieses jahr gespielt habe.... und vergleich mal den etat von Quake 4(find ich arm das spiel) und Puzzle quest..

oder wie erfolgreich civilization 4 ist, und das hat auch noch ne 2d draufsicht imo


Andererseits kann man mit einer 3d engine im grafischen stil von halflife 1 wahnsinnig viel mehr an atmosphäre aufbauen..zumindest hat man viel mehr instrumente dazu, als in einer 2d draufsicht.

http://www.lostgarden.com/2006/07/more-free-game-graphics.html 2d grafiken

http://www.genesis3d.com/ 3d grafik

die genesis engine kann meiner meinung nach kaum mit der hl1 engine konkurieren... sehen sich aber sehr ähnlich.


das hier wiederum ist kindergarten leicht... http://www.youtube.com/watch?v=aki9xuwDEt0

ich find die frage nach dem support und der community sehr wichtig..

wenn man was voll kommerzielles machen möchte... ok kann man sich überlegen die beste engine zu nehmen, auch wenn der support nicht gut ist...

aber privat hat man nicht die manpower in arbeitszeit... bei darkbasic sieht der community support recht gut aus


http://www.youtube.com/watch?v=_zV5Yp5mJFo&feature=related auch nicht schlecht. aber wenn man jetzt reinzoomen möchte, bis in einen deutschen wald um da eine szene zu zeigen, wirds sicher schwierig


so pseudor c&c 3d ist auch interessant http://www.youtube.com/watch?v=19bzR3cq520&feature=related

die gefallen mir ganz gut http://www.youtube.com/watch?v=qjRY9GaBlsY&feature=related




das spiel hier ist mein alltime lieblingsspiel:

http://www.youtube.com/watch?v=k6sFq0sZSf4 ist aber auch gar nicht sooo einfach nachzubauen, lol. Ich kannte damals noch kein direct x und so, hab also nicht hardware nah an den bitmaps rumgebaut.... deswegen war das viel hardware intensiver, als die 3d engine, die ich danach geschrieben habe.

Mit so einer grafik... bisschen poliertert wir haben ja schließlich mehr rechenpower! Das wäre toll!

sowas könnte man sogar verkaufen, wenn man lust hätte. Musik auf mp3 umstellen, statt auf midi...

auch eines der besten spiele die es je gab:

http://www.youtube.com/watch?v=WhKSzisqxKQ


http://www.youtube.com/watch?v=ssEqdC7Tmdw&feature=related neuere technologie?



ein paar jahre später: http://www.youtube.com/watch?v=HHl1qBX_mE8&feature=related macht viel weniger spaß.... obwohl die technologie hochgeklettert hat... der übergang auf 3d hat bei der serie nicht gut geklappt.... in 2d war das system sehr viel besser... oh was haben wir damals 3d verflucht!


was aber an mm8 geil war, war dass npc armeen gegeneinander gekämpft haben.. total cool..

das ist mit der mm3 engine wieder nur schwer umzusetzen


http://www.youtube.com/watch?v=ubQ357IVtac&feature=related hier der hauptnachtiel... durch realtime und 3d wird das spiel auf einmal zum jump n run
 
Zuletzt bearbeitet:
Also ich muss mal sagen M&M sagt mir gar nicht zu ^^

Ich würde sagen wenn man ein 3D engine benutzt, dann Irrlicht, das scheint mir das einfachste zu sein, aber das ist eigentlich fast ein Nachteil, da man dann mehr Arbeit in die Models investieren müsste als in die Programmierung, und Modeln werde ich nicht, da würde ich ehr ein paar Freunde für anheuern.

Schau dir mal die Irrlicht Engine an die bietet sich an.

Mein kleines Game (mit geklauten LF2 Grafiken) gibts im Anhang:
Das ist mit Allegro Programmiert, und es sind gerade einige Level auskommentiert weil ich nur in einem was testen wollte.

Eine 3D Engine Programmiert habe ich allerdings noch nie....
Dafür klappt 2D inzwischen ziemlich gut :)

wenn du ICQ oder sowas hast, dann können wir da ja mal genaueres bequatschen.

Gruß Ryu
 

Anhänge

  • Game (Allegro).zip
    4,8 MB · Aufrufe: 32
mm3 bitte nur beurteilen, wenn du es damals mal gespielt hast. ^^

heutzutage kann man das nur noch mit viel Mühe ertragen.

Ich glaube ich habe dein game durchgespielt. *lach*

Find ich gar nicht so schlecht gemacht. Ich schau mir gerade den source code um.. schön, kann man einfach dran rumändern? =) "Open Source" ist toll.

Ich seh schon, was du mit noch nicht ganz fertig meinst ^^
musste erst im c editor nachsehen um die tasten hier zu finden

Davis.Steuerung_zuweisen("schlagen", "V");
Davis.Steuerung_zuweisen("Spezialattacke0", "C");
Davis.Steuerung_zuweisen("Aktionstaste", "S"); .. cool feuerbälle und sound!

Die sprintfunktion crasht es bei mir. 255-255-255 0-0-1 und andere fehlermeldungen
sprintf(tmp, "%i-%i-%i %i-%i-%i",
Davis.FussFarbe(SOHLE) / (256*256) % 256, Davis.FussFarbe(SOHLE) / 256 % 256, Davis.FussFarbe(SOHLE) % 256,
sterbFarbe / (256*256) % 256, sterbFarbe / 256 % 256, sterbFarbe % 256);

Das ist dann wohl %i... warst du das gerade am testen? Die sprintfunction?
 
Zuletzt bearbeitet:
Wenn du es wirklich durchspielen willst musst du erst Die anderen Level wieder einkommentieren. Dir steht es frei mit der Source rum zu spielen, aber ob es danach geht ist ne andere Frage^^

gruß Ryu

Achja: ich habe den Code jetzt für dieses Forum offen gelegt, aber wenn ihr ihn trotzdem nicht weiterverbreitet wäre ich ja direkt dankbar ^^

EDIT:
Nein, da war ich nicht am Testen, sondern am Debuggen, es ist schwer mit allegro zu debuggen, da muss man auf allegro_message zurückgreifen. Die Figur reagiert auf unterschiedliche Farben und hat einfach nichts gemacht, deshalb habe ich mir die Farbe ausgeben lassen, auf der sie stand
 
Zuletzt bearbeitet:
Zurück