Írás alapú web MMO felépítése?
Olyan három éve programozok. A web az érdeklődési köröm, nem vagyok amatőr, de a neten komolyabb vizekre szeretnék evezni.., Eddig embereknek készítettem statikus felépítésű honlapokat, amik főképp "dizájn-centrikusak", de egy komolyabb ügybe vágva egy írás alapú MMO játékon agyalok a szabadidőmben, felhasználva az eddigi tudásomat.
Sok utánajárással végre szereztem egy minőségi játékmotort, amit jelenleg tanulmányozok és szétbontok, hogy teljesen megismerjem a felépítését az ilyesminek, mert 100%-osan nem vágtam ezeket eddig.
Tehát a kérdésem, hogy van tanácsotok, tudásotok erről a témakörről? Egy primitívebb motorú játékhoz elég a PHP + db kezelés? + természetesen scriptelés és dizájn, stb. Vagy van egyéb fontos, amiből az ilyen játékoknak feltétlenül(!) fel kell épülniük?
Van tapasztalatotok? Progizókat kérdezek:)
Thx!
Nem tudom hány éves vagy, de úgy másfél évtizeddel ezelőtt nagy divatja volt a MUD-oknak ( [link] ). Gyakorlatilag ezek a jelenlegi MMO-k elődei, szöveges játékok grafika nélkül. Ezek zömmel java alapúak voltak.
itt egy szócikk, talán segít, még az is lehet, hogy jelenleg is letölthető az engine hozzá.
Egy webes alapú MMO-hoz php és db elég.
Igazából találd ki, hogy mi kell és valósítsd meg, a programozás erről szól. 3 év tapasztalattal ezt már tudnod kellene és létre kéne tudnod hozni egy ilyen oldalt 0-ról.
De pár gyors gondolat, ami mindig kell (nem csak ide, de alap esetben).
Bejelentkező felület, regisztrálási lehetőség, valamilyen admin panel a felhasználók kezeléséhez, ha nem akarsz a DB-ben matatni, meg ezen felül ami eszedbe jut.
Jó, hogy nézel motorokat, de egyedi elképzelésekhez úgyis egyedi kód kell és gyakran teljesen más megközelítés.
Ami még fontos, hogy a biztonságra nagyon figyelj. Még a leggagyibb oldalaknál is KELLENE erre hangsúlyt fektetni.
Azaz:
- adatbázisban CSAK jelszó hash, lehetőleg sózva valamivel
- MINDEN felhasználótól jövő inputot szűrni (erre lehetőleg valami kész, profik által megírt dolgot használj, az a biztos)
- a javascript NEM nyújt megfelelő biztonságot
- süti helyett session (mivel utóbbi ugye szerver oldalon tárolódik és csak a session ID van a felhasználónál és nem az érzékeny adat)
- a session-nál hasznos ha a böngésző azonosítót és az IP-t is ellenőrzi az ember mindig (megnehezíti a session id lopást, ugye csak az IP ellenőrzés nem ér semmit, ha azonos alhálózatról jön a kérés NAT-olva, a böngésző hosszú beszédes azonosítójával TALÁN könnyebb megfogni a támadót)
- bármi gázos helyzet van a munkamenetet azonnal érvényesíteni kell
- az admin jelszó MINDIG legyen bonyolult, esetleg a felhasználóknak is jó ha be kell tartani bizonyos feltételeket (pl.: minimum 5 karakteres jelszó)
Hirtelen ennyi.
Köszönöm! :)
Igen, 3 év után már szerencsére nem olyan zöld a fülem :D, viszont a kezdés előtt kötelezőnek éreztem megkérdezni erről a témakörről mást. Az open source-öket nem is szeretném felhasználni, mert nem mai darabok, viszont vizsgálatnak tökéletes.
Az elképzelés megvan, jelenleg a projekten való melózás menetét tervezzük csak, jön a vázlat, stb.
Köszi még egyszer a felsoroltakat, lementem. :)
Szerintem felejtsd el a PHP-t úgy, ahogy van, meg úgy egyáltalán minden ilyesmit, ami egy stateless kommunikációs protocol-on alapul, ha MMO-t akarsz írni. Flash, TCP-vel, oszt' kész, nem kell bajlódnod session-ökkel, cookie-kal, meg ilyen f*szságokkal.
Persze viszont megvan az a hátránya, hogy meg kell tanulnod TCP szervert írni, meg Flash-ben programozni.
Ez hülyeség.
A PHP is tökéletesen alkalmas erre.
Esetleg egy kis ajax-ot hozzádob az ember és kész is van.
Könnyedén real time-ra is meg lehet csinálni az egészet, mondjuk long pollingos ajax-al, vagy html5-ös sockettel.
Nem kell manapság már flash!
Hasznos lehet: [link]
Hát akkor hallgass a nagyokosra, és csináld PHP-ban, meg polling-al meg AJAX-al, aztán majd mikor 5000 ember lóg rajta, és f*s lassú az egész, kezdd újra valami értelmes technológiával :)
Azt kell itt megérteni, hogy akárhogy patkolgatják ezt a HTTP-re alapuló web világot mindenféle AJAX-al meg cookie-kal, meg a többi sz*rsággal, egyszerűen nem arra van kitalálva, hogy real-time, kétirányú, állapottartó kapcsolatokat létesítsen a szerver és a kliensek között.
Persze ettől még el lehet kezdeni egy nem arra való technológiára alapulva MMO-t írni, de úgyis zsákutca lesz. Szóval bölcsebb döntés már az elején úgy megválasztani a technológiát, hogy az mindenféle hekkelés nélkül is alkalmas legyen a feladatra, amire szánod.
De persze te döntesz.
De a flash sem épp alkalmas erre. Ez a gond.
Ez is csak épp hogy egy cseppnyivel TALÁN jobb, mint a http-s verzió.
(De mondjuk MMO-ból alapvetően a böngészős verzió eléggé hülye dolog szerintem.)
Köszönök minden választ! :)
Mindenképpen maradok a hagyományos felépítésnél.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!