Mi is valójában a forráskód?
Próbáltam keresgetni rá, de ugye minden szaknyelven van, amiből sokat nem értettem.
De néha ugye hallani, hogy pl ennek vagy annak a játéknak kikerült a forráskódja, vagy épp, hogy egy program esetében ami nyílt forráskódú azt bárki tudja ellenőrizni, hogy mit tartalmaz pontosan stb.
De most mi is ez a forráskód tulajdonképp? Ha nem kerül ki vagy nem ynílt akkor miért olyan nehéz, vagy lehetetlen hozzáférni, illetve mit csinál pontosan egy játékban-programban?










#5 "Gondolj bele, egy konzol, ami beépített játékokat tartalmaz, 4 MB vagy még kisebb méretű ROM-ban tárol sok tíz játékot."
Igen, amikor 2 kB, esetleg ha nagyon elengedhette magát a fejlesztő, akkor 4 kB állt rendelkezésre játékonként, akkor tényleg nem állt még ezer sorból sem egy játék. Csak mondjuk egy Night Driver "némileg" egyszerűbb volt mondjuk a GTA V-nél.





Nagy általánosságban és nagyon lebutítva a forráskód az, ami a fordítóprogram (compiler) bemenete.
A kimenete lehet tárgykód, de lehet valamilyen köztes forráskód is, pl. assembly kód, amit egy másik fordító fordít tovább tárgykóddá. Hogy ezt a köztes kódot is forráskódnak hívják-e, az vita tárgya szokott lenni. :)





"Igen, amikor 2 kB, esetleg ha nagyon elengedhette magát a fejlesztő, akkor 4 kB állt rendelkezésre játékonként, akkor tényleg nem állt még ezer sorból sem egy játék. Csak mondjuk egy Night Driver "némileg" egyszerűbb volt mondjuk a GTA V-nél."
Nem annyi állt rendelkezésre, hanem annyira volt szükség.
A játékoknak fenntartott területek egy ilyen ROM-ban nem 2 vagy 4 kB-okra voltak leosztva, hanem léteztek általános rutinok, amelyekre minden játéknak szüksége volt, ezek tették ki 1-1 játék mintegy 70-80 %-át, a fennmaradó 20-30 %-ban meg elfért a specifikus kód.
A játékok mai formájukban a korábbiak kibővített, grafikailag felturbózott, esetenként 3D-sített változatai. A játékok core logikája alig lett nagyobb a korábbinál. Ami hízott, az a megjelenítés, a hang, az esetleges AI kifinomultsága, és hozzá lett varrva a hálózatos rész, de mindezzel együtt, a játékok, a legtöbb esetben elférnek 5 MByte binárisban, a többi meg az assert.
A GTA V egy speciális darab, abszolút nem tekinthető etalonnak, legalábbis ami a méretet, a forrás sorainak számát illeti.
Mindennel együtt, az átlagot tekintve, nincs olyan amit valamelyik pásztorlegény állított, vagy próbált sugalmazni korábban, hogy hú de sok millió kódsor jellemezne egy-egy játékprogramot, "mer' a nemtommiaszar is négy millió sor kód ám, pedig az még csak egy kopár websopp".
Ez csak nagyotmondás, urbánus legenda, vagy inkább annak csírája. Magyarán: alaptalan hülyeség.
A legtöbb játék bőven befér százezer sor alá.





Egyébként, amit említettem, az a mario-szerű, jump 'n run platformjáték, ill. annak egy korai verziója 470 sor.
Ez áll a grafikai megjelenítésből, tehát a sprite-ok, tile-ok kirajzolásából, frissítéséből, az input /kbd/ lekezeléséből és az ütközésvizsgálatból. Ebben egyedül a hang nincs még benne.
Semmiféle motor nincs hozzá felhasználva, egyedül a megjelenítéshez hív meg két winapi függvényt és ennyi.
Ismétlem, mindez 470 sorban.





Csak a poén kedvéért, megtaláltam a DOS-os "Wolfenstein 3D" forrását.
Az itt lévő h, c, asm, equ (nemtom mi van még) kiterjesztések a (szigorú értelemben vett) forráskód részei, a többi a futáskor használt adatok, már lefordított kódok, szkriptek, stb.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!