• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    CYBERWOLFOn-line WebBased hry kreativně - udělejte si vlastní webovku!
    TOMAS3333
    TOMAS3333 --- ---
    CYBERWOLF: tie bludiska si bude moct vygenerovat uzivatel ked pride na web, pricom kazde vygenerovane sa ulozi do db. s tym suvisi ako to do db ukladat, je to dvojrozmerne pole ktore obsahuje info o tom kde je stena a kde nie pre kazdu bunku

    CZUPA: toto vyzer dost dobre, dik
    CYBERWOLF
    CYBERWOLF --- ---
    TOMAS3333: offtopic to rozhodne neni.

    Netusim, jak dlouho trva vygenerovat obrazek bludiste, ale pokud se vygeneruje jednou, pak by nemuselo vadit, ze to chvili tva. Zobrazovani pozice v bludisti bych resil tak, ze obrazek bludiste bych si dal na pozadi prislusne velkeho divu, ve kterem bych absolutne pozicoval ukazatel aktualni pozice.

    CZUPA: to 3D bludiste je vyborny!
    TOMAS3333
    TOMAS3333 --- ---
    trochu offtopic ale je to hra a je to online, tak...
    je nejaky vhodny sposob ako zobrazit bludisko vygenerovane v php? divy s floatom su nepouzitelne pre nizsie rozlisenia alebo vacsie, bludiska, lebo sa to rozpadne, tabulky zasa maju tendenciu sa zuzovat aby sa zmestili na stranku. generovat obrazok asi bude dost casovo narocne a riesit potom pohyb po bludisku by bol zrejme problem... http://tomas01.herniweb.cz/maze/class.generate.php
    CYBERWOLF
    CYBERWOLF --- ---
    Sice mi to prijde jako pitomost, ale zajimave to rozhodne je :)
    Gamasutra: Robert Boyd's Blog - Monetizing Griefing - the Next Stage in Social Gaming
    http://www.gamasutra.com/blogs/RobertBoyd/20110415/7439/Monetizing_Griefing__the_Next_Stage_in_Social_Gaming.php
    AVATAR
    AVATAR --- ---
    Jeden se prihlasil, ale pak se uz neozval, takze se zda, ze ne. Abych to nekomu nutil, na to znam moc dobre, jak to dopada ;)
    CYBERWOLF
    CYBERWOLF --- ---
    AVATAR: Tak co, nasel se nejaky pomocnik?
    CYBERWOLF
    CYBERWOLF --- ---
    TENCOKACISTROMY: no tak mu holt nesmis dat tu uplne nejvyssi prioritu :)
    WEWERKA
    WEWERKA --- ---
    TENCOKACISTROMY: Ano. A pokud to na sobe zavisi, tak to centralni logikou proste nepridelim. Mam nastaveny collision bit pro situace, kdy to muze nastat. Takovy ukol pak pocka az mu bude dovoleno se zpracovat.

    Vzhledem k tomu, ze to jsou ukoly jako "kup si neco k jidlu", "najez se", "utrat nejake penize", "trenuj" atd. tak to neni moc rizikove. Navic vetsinu veci insertuju (napr. mnozstvi, statistiky atd), takze soubeh taky moc nehrozi.
    Kdyz to neuhlidam, vetsinou se mi neco zdvoji a na to rychle prijdu.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    WEWERKA: A ty 4 childy pocitaj neco, co na sobe navzajem nezavisi, rozumim tomu spravne?
    WEWERKA
    WEWERKA --- ---
    TENCOKACISTROMY: Ne, bezi mi najednou 4 childy a jeden master (ten bezi nonstop) + sem tam nejaky zombie :) Vic jak 4 nemaji smysl kvuli vykonu (4 cpu)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    WEWERKA: Aha, takze to forkujes ale nakonec ti to stejne bezi seriove?
    WEWERKA
    WEWERKA --- ---
    TENCOKACISTROMY: Oni se diky centralni logice vzajemne mezi sebou synchronizovat nemusi. Proste mam v php cyklus, ktery si na zacatku nacte ukoly, pak jednotlive ukoly forkne, potvrdi zpracovani a uz neceka na dokonceni. V dalsim cyklu uz mi centrala neprideli ukol, dokud nedostane potvrzeni od dokonceneho childu, ze predchozi ukol byl splnen. Zaroven centrala hlida vsechny (doufam) moznosti soubehu, priorit atd.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    WEWERKA: Jak teda resis synchronizaci tech forknutejch procesu?
    CYBERWOLF: To zalezi na priorite procesu. Kdyz mu das uplne tu nejvyssi a strcis tam "while(true){}", tak to je dost znat.
    CYBERWOLF
    CYBERWOLF --- ---
    AVATAR: stavet na pesimistickem predpokladu je urcite dobre, ale 50k mi proste prijde jako hrozne male cislo. Otazkou samozrejme je, co vsechno se s tim dela nebo nedela a tezko k tomu takhle od stolu neco rict.

    Jake zkusenosti mas na mysli? :)

    YAWGMOTH: Pokud jde o vyhodnocovani "tahu", tak tam bych rekl se muzeme pohybovat i ve vyssich cifrach nez desitkach MB. Samozrejme to zalezi pripad od pripadu.

    Kdyz o tom tak ale premyslim, ma cenu tam cpat sleep? Jeden proces si preci nevezme tolik prostredku, aby ohrozil plynuly chod serveru.
    WEWERKA
    WEWERKA --- ---
    YAWGMOTH: Premyslela jsem taky o semaforech, ale nakonec rozhodlo centralni zpracovani v db. Php pouzivam jen na "vypis", veskerou herni logiku mam v db.
    YAWGMOTH
    YAWGMOTH --- ---
    WEWERKA: notifikace by v php mohla jít udělat pomocí unixových pipe ... otevřeš "soubor" vytvořený přes mkfifo a čteš, proces spí dokud do fronty něco nepřijde :)
    NYX
    NYX --- ---
    HAKUBJOZAK: ja mel podobnou myslenku, jen teda bych tam spis strcil nejakou frontu (treba rabbitmq apod.)...clovek by do ni cpal vsechno ke zpracovani, pak by clovek pustil bokem workery, ktere by si brali zpravy, zpracovali je, potvrdili jejich vyrizeni apod...
    HAKUBJOZAK
    HAKUBJOZAK --- ---
    velkej respekt ke vsi ty magii s PIDama, procesama, forkama a dalsim harampadim ale tak me napada, jestli neobjevujete kolo a nebo neignorujete "use the right tool for the right job" ... co treba http://rubyeventmachine.com/ (nevim jestli je neco podobnyho pro PHP)

    pripada mi, ze http://en.wikipedia.org/wiki/Not_Invented_Here

    ale treba sem uplne mimo a fakt to musite delat hardcorove a na kolene - dopodrobna samozrejme nevim co potrebujete
    YAWGMOTH
    YAWGMOTH --- ---
    CYBERWOLF: ano, normálně si uložím pid, v cronu se to pouští pořád znovu, pokud zámek existuje tak se zkontroluje jestli běží proces s daným pidem, jinak se zámek uvolní. Udělat to tímhle způsobem (přes filesystem) dobře neni úplně triviální, souhlasim.

    ale co se týče paměti, to mi nepřijde úplně dobrej argument proti. Jestli se skript stejně pouští 1x za minutu tak ta by ta paměť stejně volná být měla, jinak budeš akorát pořád swapovat :). Žere to nějaké prostředky, ale konstantní a ne nárazové. Naopak ušetříš overhead za ty opakované inicializace. Jakejkoliv rozumnej skript se vejde do několika (nízkých) desítek mega a to dneska neni až takovej problém na to vyhradit.
    Kliknutím sem můžete změnit nastavení reklam