Spiel Programmieren mit BCB 6



  • Windoof:
    a) Spieleprogrammierung ist völlig losgelöst von der VCL. Die Spieleprogrammierung hat ihre eigenen Regeln für Softwaredesign (ein thema dem du dich sowieso mal widmen solltest, bevor du so breitspurig auftrittst)...
    b) solltest du meine Aussage zum Thema MSVC erzeugt schnellere Programme als BCB genauer lesen. (mal abgesehen davon, dass deine Aussage schlicht unfug ist)

    Zu deinem schwachsinnigen Vorwurf, dass ich mein Posting aus Gründen persönlicher Abneigungen verfasst haben sollte, nehme ich nicht weiter stellung. Offensichtlich ist allerdings bin ich scheinbar nicht als einziger der Meinung, dass deine Aussage bezügich MSVC und BCB einfach schwachsinnig ist...

    -junix



  • Hi,

    ich möcht mich mal ganz leise einmischen...

    Jeder, der schonmal ein graphiklastiges Projekt mit dem VC++ gemacht hat, weiss, das bei solchen Sachen der Vc++ doch im Vorteil ist. DirektX wird erstklassig unterstützt und auch OpenGL ist kein Problem.
    Beim BCB haste ja sehr schnell Probleme mit Libs. Ich bestreite ja nicht dass es mit dem BCB auch geht. Mit dem Vc++ geht es aber wirklich einfacher.

    Wenn du sagts:

    Wobei man die Probleme im BCB 10mal so schnell gelöst hat wie in MSVC.

    dann musst du mir dass mal zeigen.

    Die Vorteile des BCBs greifen bei DirektX-Programmierung nicht. Zumal DirektX von der Entwicklungsumgebung überhaupt nicht unterstützt wird (im Bezug auf RAD-Tools).
    Man muss schon dann reelen Quellcode wie in VC++ oder DEVC++ auch schreiben. Da der BCB mit seiner Inkompatibilität mit MS-dlls recht schwer zu händeln ist, würde ich VC++ bei DirektX immer vorziehen.

    Allerdings ist das Ergebnis dabei immer gleich. Es flackert bei beiden gleich viel oder gleich wenig.



  • Windoof hat von MSVC und MFC vs. BCB gesprochen dementsprechend hatte ich meine Aussagen auf dieses Thema beschränkt. Den Rest hat ja eigentlich WebFritzi schon gesagt: Es ist sowieso eine Frage der schlauen Programmierung... bei native DX sowieso.

    -junix



  • hat denn mein source Beispiel zum downloaden geholfen?

    MfG FB 😉



  • @FB:

    Ich habe Dein Source Beispiel heruntergeladen und ausprobiert.

    Die von Dir mitgelieferte exe läuft bei mir völlig ruckelfrei ab. Erinnert mich an gute C64 zeiten 🙂

    Kompiliere ich das Programm hingegen bei mir neu, ruckelt und flackert es wie wild 😞 Dabei habe ich in den Optionen unter Compiler das Debuggen auf Entgültig gestellt.

    Weißt Du was für eine Einstellung ich da scheinbar noch nicht kenne?
    Würde mich ja interessieren wie Du das Programm so kompiliert hast, dass es so schnell läuft, und warum das bei mir nicht der Fall ist.



  • @Clip:

    Oh! Keine Ahnung an was das liegen kann!

    Bei mir läufts auf jedenfall flüssig!

    Hab nen P4 2,8 MHZ , 510 DDR , Radeon 9600 und WinXP

    Aber wenn die exe flüssig läuft!?

    Vieleicht braucht der Builder ja so viel Recurcen

    MfG FB 😉



  • Wollte das Posting nur noch mal nach oben stellen!

    Und Clip was hast du für nen PC?

    MfG FB 😉



  • Na, reite lieber nicht so darauf herum. 😉
    Wenn bei deinem Beispiel das Fenster vergrössert wird ist es mit dem Nichtflackern schnell vorbei. Davon abgesehen gibt es zum von dir verwendeten Prinizip des DoubleBuffering bereits etliche Diskussionen hier im Forum. Und dein Beispiel-Code selbst ist formal auch nicht gerade eine Meisterleistung.

    BCB6-Besitzer sollten sich zur Inspiration mal das EarthPong-Beispiel im Examples-Ordner ansehen.



  • Ich habe ienen 800 Mhz Duron..

    Aber das müßte doch eigentlich egal sein. Weril Deine exe gut läuft, wohingegen eine bei mir erstellte exe immer flackert.



  • Gib dir Recht Jansen,
    @Clip du hast wahrscheinlich das Fenster vergrößert und gespeichert.

    MfG FB 😉



  • Hallo,

    es giebt noch ne andere Möglichkeit das Flackern zu
    Verhindern, indem man vor dem Neuzeichnen wartet bis der
    Elektronenstrahl unten ist, also im Blank bereich (Vsync).

    Das geht mit Inline Assembler sehr gut, zumindest bei den
    meisten Grafikkarten.

    hier der Code:

    //- z.B. ausgelöst durch Timer
    
    asm mov dx, 3dah
    loop1:
    asm in al, dx
    asm test al, 8
    asm jz loop1
    
    //- Bild neuzeichnen
    //- weiterer Code
    

    Also mit dem BCB kann man so gut wie alles machen, und oft sehr
    Einfach, wenn man die richtige Lösung hat.

    gruß Micha



  • achso!



  • @Windoof und junix: Mein Beitrag war weder auf DirectX- noch auf OpenGL-Programmierung bezogen. Davon hab ich nämlich absolut keine Ahnung. 😉 Ne, ich meinte das Verwenden der Windows GDI (oder eben auch GDI+). Wenn man schlau programmiert (Achtung: Schlüsselstelle ;)), dann merkt man sicher keinen Performance-Unterschied. Ein Mix aus VCL und WinAPI macht's halt. Beim Erstellen von DC's oder Bitmaps kann man die einfachen Methoden der VCL nutzen. Wenn's ums Zeichnen geht, ist WinAPI sicher angebrachter. Tja, und weil ich dann direkt auf die Handles zugreife, ist diese Methode u.U. sogar noch schneller als MFC.



  • Schau mal hier rein vielleicht interesiert es euch auch:
    http://www.c-plusplus.net/forum/viewtopic.php?t=67214



  • kann man auch ohne API(DX, Open GL) ein kleines game machen?
    z.B. eine Wiese(ScrollBild) über die man mit einer Figur (Bild) per Pfeiltasten läuft?



  • Don Karlo schrieb:

    kann man auch ohne API(DX, Open GL) ein kleines game machen?
    z.B. eine Wiese(ScrollBild) über die man mit einer Figur (Bild) per Pfeiltasten läuft?

    Ja kann man mit Bitmap und Canvas

    gruß Micha



  • Don Karlo schrieb:

    kann man auch ohne API(DX, Open GL) ein kleines game machen?
    z.B. eine Wiese(ScrollBild) über die man mit einer Figur (Bild) per Pfeiltasten läuft?

    Schau mal diese Komponennte an 🙂
    http://www.hellix.com/Products/TOpenGL.asp

    Ich denke mal da brauchste keine komplizierten API Befehle 🙂



  • promicha schrieb:

    Don Karlo schrieb:

    kann man auch ohne API(DX, Open GL) ein kleines game machen?
    z.B. eine Wiese(ScrollBild) über die man mit einer Figur (Bild) per Pfeiltasten läuft?

    Ja kann man mit Bitmap und Canvas

    gruß Micha

    Hmm hab mich mal nach Canvas umgesehn, aber nix gefunden, bzw kein Beispiel für dessen Funktion. Kannst du eventuel ein kleines Beispiel geben?(wäre Supi) einfach nur ein Images per PfeilTasten steuern. Für eine Animation von 3 Bildern ( linker Schritt, mitte, rechter schritt,mitte, linker schritt ....usw) brauch ich doch noch kein Open GL oder?



  • Nein das Stimmt dafür brauchste kein OpenGL!

    Schau mal hier her:
    http://www.c-plusplus.net/forum/viewtopic.php?t=67600

    promicha hat nen guten Code erstellt 🙂



  • Hmm den Thread kenn ich, da hat er nur geschrieben wie man mehrere Bilder animiert, aber net wie man sie gezielt mit den Pfeiltasten verschieben kann.


Anmelden zum Antworten