Peliohjelmointia Pascalilla

eheiii

11

503

    Vastaukset 11

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • noi on.

      turha taistella tuulimyllyjä vastaan.. c on PAKKO opetella, jos haluaa pelejä tehdä

      • _ihmettelijä_

        No en minä ainakaan keksi mitään rajoitetta Pascalin kohdalla.
        Olisi hieno tietää mikä C :ssa on niin hieno ominaisuus että
        se tekee sen ainoaksi oikeaksi pelien teko kieleksi.

        (mm pointterit ja oliot yms löytyvät Pascalistakin).


      • ...
        _ihmettelijä_ kirjoitti:

        No en minä ainakaan keksi mitään rajoitetta Pascalin kohdalla.
        Olisi hieno tietää mikä C :ssa on niin hieno ominaisuus että
        se tekee sen ainoaksi oikeaksi pelien teko kieleksi.

        (mm pointterit ja oliot yms löytyvät Pascalistakin).

        nopeus.


      • mietippä vähän
        ... kirjoitti:

        nopeus.

        Eri kieliä ("tai joidenkin kirjastoja") verrataan sivuilla

        http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all&calc=Calculate&xfullcpu=1&xmem=1&xloc=1&binarytrees=1&chameneosredux=1&fannkuch=1&fasta=1&knucleotide=1&mandelbrot=1&meteor=1&nbody=1&nsieve=1&nsievebits=1&partialsums=1&pidigits=1&recursive=1®exdna=1&revcomp=1&spectralnorm=1&hello=1&sumcol=1&threadring=1

        Kerroppa mikä testi/testit ovat tärkeimpiä (ja miksi) tässä asiassa.


        Useinmitenhan asia on niin että koodaustaito (mm oikein valitut algoritmit juuri oikeassa paikassa merkitsee hyvin paljon)

        Yleensähän vain osa koodista on merkityksellistä nopeuden osalta. Pascalit mahdollistavat myös assembler-koodin lisäämisen ohjelman sisään (Eli jos osaat koneen assembler-koodin täydellisesti niin mikään muu kieli ei pysty samaan nopeuteen).
        En tosin sousittele assemblerin opiskelua ennenkuin sitä välttämättä tarvitaan (tosi harvoin)


      • Crashblock

        Mielipide tuokin on mutta epäilenpä että
        tuskin pystyt tekemään edes tämäntasoisia pelejä.
        Esim crashblock:lla on oma kotisivu (tämä on eräs noista peleistä)
        http://www.crashblock.com/


      • Delphikoodari..
        ... kirjoitti:

        nopeus.

        No eiköhän Pascal-ohjelmat ole yhtä nopeita kuin C kirjoitetutkin, mutta C etu on se, että sille on paljon enemmän esimerkkejä ja kirjastoja ym.ym.


      • youtube video

      • mutta teknisesti vaatimaton

      • -___-
        mutta teknisesti vaatimaton kirjoitti:

        voihan delphillä pelejä tehdä, mutta jos puhutaan teknisesti vaativista 3d-peleistä niin tuki on alustalle aika olematon... c ei tästä ongelmasta kärsi.

        Ongelma ei ole se että eikö kirjastoja löydy Pascalille. Mutta ongelma on se että ne on tehty C:llä. Pitäisi siis löytää joku erittäin pätevä ohjelmoija joka olisi kiinnostunut
        pelirajapintojen "alapuolisista" asioista (ajureista) ja haluisi ne toteuttaa Pascalilla.
        Tällä tavalla niihin saataisiin lisää nopeutta (Näinhän on jo käynyt kääntäjätekniikassa. Esimerkkinä FreePascal. Huomaa että monissa muissa toteutuksissa käytetään C-kielellä tehtyjä kirjastoja)


      • Daring Apprentice

      • Mika0800
        -___- kirjoitti:

        Ongelma ei ole se että eikö kirjastoja löydy Pascalille. Mutta ongelma on se että ne on tehty C:llä. Pitäisi siis löytää joku erittäin pätevä ohjelmoija joka olisi kiinnostunut
        pelirajapintojen "alapuolisista" asioista (ajureista) ja haluisi ne toteuttaa Pascalilla.
        Tällä tavalla niihin saataisiin lisää nopeutta (Näinhän on jo käynyt kääntäjätekniikassa. Esimerkkinä FreePascal. Huomaa että monissa muissa toteutuksissa käytetään C-kielellä tehtyjä kirjastoja)

        windows -ympäristössä se, että monet kirjastot on tehty C:llä, EI ole ongelma.

        Jos kyse on Microsoftin tekemistä kirjastoista, ne joko tulevat käyttöjärjestelmän mukana tai ovat loppukäyttäjänkin helposti asennettavissa Microsoftin tekemällä (tai lisensioimalla) asennusohjelmalla.

        Näihin dokumentit löytyvät msdn:stä netistäkin jos MSDN CD/DVD -editionia ei ole käytettävissä.

        Microsoftin tuotteet usein käyttävät stdcall tai safecall -kutsutapaa.

        Uudemmat usein interfaceja, joille on Delphissä valmis tuki. Interfacet ainakin windowsissa ovat kieliriippumattomia, joten C:llä koodatut kirjastot toimivat Delphi -ohjelmastakin käsin mainiosti.

        3. osapuolen kirjastot eivät välttämättä noudata em. sääntöjä.
        näiden osalta katso mukana tulleet .h -tiedostot, ja seuraa kutsutapamäärittelyjä jos ne on tehty C:n #define:ä käyttäen, kunnes löytyy natiivi kutsutapatyyppi.

        Jos se puuttuu kokonaan, tulee Delphissä määritellä cdecl;

        Jos se on mainittu, tulee Delphissä käyttää alkuperäisen kutsutavan kanssa yhteensopivaa määrittelyä.

        Jos C:ssä on määritelty funktio, jossa on vaihteleva määrä argumentteja, on Delphissä tätä varten varargs -direktiivi.

        lisätietoja Delphin omasta helpistä löytyy hakusanoilla:

        calling conventions
        varargs
        cdecl
        stdcall
        safecall

        interface

        lisäksi netistä köytyy englanninkielisiä artikkeleita, joissa selitetään aika hyvin, mistä on kyse. esim. täältä:

        http://rvelthuis.de/articles/articles-convert.html

        Tuolta löytyviä ohjeita seuraamalla voi aivan mainiosti ottaa Delphi -ohjelmassa käyttöön C:llä koodattuja kirjastoja.

        Joitakin pulmia voi tosiaan tulla vastaan, mutta niihin on löydettävissä ratkaisu.

        Delhi on syntaksiltaan huomattavasti C/C -kieliä selkeämpää.

        Myös Delphi kääntää aidoksi konekieleksi, joten C/C :n nopeusetu on enemmän myytti kuin tosiasia. Koodaustyyli vaikuttaa kieltä enemmän.

        Silloin ku nopeuden suhteen halutaa puristaa se "viimeinenkin pisara", voi Delphissä käyttää assemblerkoodia. ks: asm assembler (Delphin oma help).

        Vaikka ei itse kirjoittaisi riviäkään assembleria, on assemblerin osaamisesta muuta hyötyä:

        1. Helpottaa debuggaamista, jos ohjelmassa on vaikeasti löydettävä virhe

        2. debuggerin avulla voi paitsi etsiä virheitä, myös katsoa, millaista assemblerkoodia Delphi on objectpascalista kääntänyt. Nopeuskriittisissä isissa ohjelmaa voi samaan tarkoitukseen kokeilla eri ratkaisumalleja, ja tutkia debuggerilla, mistä tulee tehokkainta konekielikoodia.

        Näin toimimalla haihtuu C/C :n mahdollinen nopeusetu savuna ilmaan.

        Myös Windows API:n tuntemuksesta on Delphikoodaajallekin hyötyä, vaikke se aloittelijalle ihan 100% välttämätöntä olekaan.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuollut teini Kajaanissa

      Kuulemma sellaista huhua liikkeessä?
      Kajaani
      8
      1625
    2. Perhoseni (miehelle)

      Miksi et usko, että mun rakkaus sinuun on aitoa ja vilpitöntä? Tai että se oli jo silloin? Miksi ajattelet, ettet ole r
      Ikävä
      167
      1078
    3. Totta on asia. Jeffrey Cohen on jättänyt Sofian.

      Vaimon viesti on paljastanut totuuden.
      Kotimaiset julkkisjuorut
      261
      926
    4. Uskallatko paljastaa

      Millä nimellä löydyn puhelimestasi?
      Ikävä
      69
      809
    5. Halaus juuri sinulle

      Kaikki järjestyy kyllä. Luota vain. ❤️🫶
      Ikävä
      63
      778
    6. Uskaltaisitko

      Tavata kaivattusi tässä tilanteessa?
      Ikävä
      75
      741
    7. Mies, näetkö minut myös

      Seksuaalisena ihmisenä ja naisena? Haluatko minua seksuaalisesti? Vai olenko mielestäsi tyttönen?
      Ikävä
      22
      676
    8. Kuinkahan monen

      Naisen puolisoa olet nainen vikitellyt ja eron aiheuttanut? Toivottavasti karma on ku*sut muroihisi useamman kuin kerran
      Ikävä
      69
      651
    9. Nainen, mitä mieltä olet kodittomista?

      Ja heistä jotka eivät kykene huolehtimaan asioistaan, itsestään eikä terveydestään? Miten heidän kanssaan tulisi toimia?
      Ikävä
      138
      647
    10. Meneekö unohtamis

      Projektisi hyvin??
      Ikävä
      42
      609
    11. Voiko se ikinä toimia

      Voiko meistä ikinä tulla mitään? Näin kauan aikaa on kulunut ja mitään ei tapahdu... En usko, että sinä mietit minua het
      Ikävä
      32
      588
    12. Mitä sä haluat vanhus?

      🤣🤣🤣🤣🤣
      Ikävä
      59
      583
    13. Mies, kumman ottaisit mieluummin

      176 cm vai 154 cm naisen, jos molemmat muuten yhtä viehättäviä? Mikä on oma pituutesi?
      Sinkut
      110
      551
    14. Voin tulla

      Sisustamaan sulle 🤭
      Ikävä
      55
      528
    15. Tekisi mieli vetäistä kunnon jurrit sinun kanssasi

      Ja keskustella asiat, ei tästä tule hevonvttua.
      Ikävä
      42
      524
    16. Kauan mökötetään toisillemme?

      Loppuelämäkö? Vai oisko jo pussailutreffit?
      Ikävä
      48
      509
    17. Eikö olisi mukavaa

      Jakaa arki yhdessä mies. Tämmöisin aatoksin.
      Ikävä
      38
      509
    18. Anteeksi mies

      En jaksa tätä…, en halua, että sinulla on paha mieli tämän takia. Viestiä Sinulle.
      Ikävä
      40
      503
    19. Kerro mies tarinasi

      Miksi kaikki meni niinkuin meni? Haluaisin vieläkin ymmärtää. Tuskin saan vastausta häneltä, koska etsin aavikolta juuri
      Ikävä
      20
      488
    20. Laittaisit viestin suoraan!!

      Haluaisin...
      Ikävä
      30
      483
    Aihe