• ú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!
    CYBERWOLF
    CYBERWOLF --- ---
    Narazil jsem na JavaScriptovy toolkit pro kresleni grafu, ktery se mi zda docela pouzitelny, dobre vypadajici a fungujici, vcetne nekolika hezkych featur - je toho dost, grafy jsou ruznorode, prozkoumejte sami:

    JavaScript InfoVis Toolkit
    http://thejit.org/

    Napriklad tento animovany strom by byl dle meho idealni, pro uzivatele srozumitelnou reprezentaci jakehokoliv technologickeho nebo vyvojoveho stromu:

    Spacetree - Tree Animation
    http://thejit.org/static/v20/Jit/Examples/Spacetree/example1.html
    TRANCEWARP
    TRANCEWARP --- ---
    CYBERWOLF: urcite pristi rok ;D jaro...
    AREX
    AREX --- ---
    Rad bych se nabidl jako programator pro nejakou tu hru. Vice viz. prispevek [ AREX @ Dobrovolné programátorské projekty (webové hry a další) ]
    CYBERWOLF
    CYBERWOLF --- ---
    TRANCEWARP: a vi se alespon release date? (release year? :) )
    TRANCEWARP
    TRANCEWARP --- ---
    CYBERWOLF: sorry, embargo ;)

    WEWERKA: hratelna beta = ostrej launch ;) nic si nepreju vic...

    neco jako nedodelanou betu vubec nebudeme spoustet, myslim, ze to neni dobra cesta...
    CYBERWOLF
    CYBERWOLF --- ---
    Jak jsem se pred casem shanel po nejakem katalogu webovych her, jeden jsem nasel (v zasade nicmocovy, ale lepsi nez nic)

    Uvod na On-Game
    http://www.on-game.cz/
    WEWERKA
    WEWERKA --- ---
    Idealne hratelna beta :)
    CYBERWOLF
    CYBERWOLF --- ---
    TRANCEWARP: diky za podporu :)

    nejake blizsi info k te top5 onlineovce by nebylo?
    TRANCEWARP
    TRANCEWARP --- ---
    CYBERWOLF: drzim palce, ja uz pocitam stovky stohodinovejch projektu... ;DD

    ted sem naimplementoval podruhy hlavni mapu, docela slusnej hell, ale aspon uz je to velice optimalni komponenta... bude to uplnej ulet, je to krasny a se soucasnym stavem onlineovek ve svete bych rek, ze se urcite zaradime to top5
    CYBERWOLF
    CYBERWOLF --- ---
    kdyby nekoho zajimal aktualni stav 100-hodinoveho experimentu:

    Straveny cas: cca 50 h
    - parser zpracovava kod docela obstojne - jen za tim neni zdaleka kompletni api.
    - rozdelenim na textovou a skriptovou cast se to cele dost zjednodusilo, presto je to porad "konzolove", ale nejaky vymazlenejsi interface budu delat az casem.
    - zmenil jsem pristup k postavam a jejich zapojovani do dobrodruzstvi. Kazda postava je vlastne jen sada zakladnich vlastnosti, jmeno, popis a obrazek. Pri zapojeni do dobrodrustvi se vytvori kopie tohoto zakladu, ktere se zaplni inventar zakladni vetesi a pripadne se naleveluje. Odmenou za odehrani dobrodruzstvi jsou trofeje - z inventare na konci si hrac vybere jednu vec, kterou pak muze pridavat tehle postave do zakladni vybavy pri dalsich dobrodruzstvich.
    - inventar je zatim predevsim na papire :)
    - zacinam delat blbosti jako kalkulacku prepocitavajici cas v libovolne soustave (jako kdyby chtel nekdo svet s jinym nez 24 hodinovym dnem a tak), coz je sice hezke, ale rozhodne ne klicove.
    - rekl jsem si, ze udelam i genericky soubojovy system, aby se souboje nemuseli resit nejak krkolome pres nody (coz by slo a puvodne jsem to tak myslel), ale dospel jsem k zaveru, ze to pro zacatek neni potreba a ze jenom to by sezralo zbylych 50 hodin.

    Dokonceni do 100 hodin vidim jako mozne, pokud se ovsem neutopim v blbostech jako casova kalkulacka, soubojak a jine.
    CYBERWOLF
    CYBERWOLF --- ---
    Nicmene...kdyz si s tim ted trochu hraju, dospel jsem nakonec k zaveru, ze lepsi bude skript rozdelit na textouvou a funkcni cast. To znamena, ze bude funkcni cast, ktera bude provadet oparace a ukladat vysledky do promennych, se kterymi se pak bude pracovat v textu.

    Na zapis skriptu by se potom celkem rozume dalo udelat neco jako jsem zminoval
    CYBERWOLF a na vkladani do textu by se dal pouzit editor jako http://markitup.jaysalvat.com/examples/wiki/

    Ale to zatim docela dost predbiham udalostem :)
    CYBERWOLF
    CYBERWOLF --- ---
    Jasne, taky nepocitam s tim, ze hra, ktera je hybrid gamebooku a Stinu nad Rivou, byla pro kdovi jak sirokou cilovku (jako FarmVille). Ono na to, aby se to dalo hrat, cloveku bude stacit precist (a ani to ne uplne nezbytne) a kliknout na jednu z moznosti pod textem, tohle ma slouzit k tomu, aby lidi mohli hru sami rozsirovat a pokud to ma byt trochu mocnejsi, tak UI na jedno kliknuti proste neudelam :)

    Muj ideal je neco jako triggery ve WarCraftu 3, ktere byly dostatecne mocne na to, aby se se hrou dalo udelat prakticky cokoliv a soucasne dostatecne srozumitelne, aby to pochopil dostatek lidi na to, aby chrlili jednu custom mapu za druhou.

    Pro predstavu, to vypada takto:

    Vsechno se da naklikat ze seznamu a je to vubec dost user friendly.

    A ve skutecnosti je to skript v jakesi java-odvozenini a a mazaci pracuji s tim, protoze je to jeste mocnejsi.
    ETHAN
    ETHAN --- ---
    CYBERWOLF: Neprogramátor se ti z toho zblázní. Pokud to nepůjde naklikat a nebude to dávat smysl člověku, který v životě neviděl vývojový diagram, tak to je UI akorát tak pro linuxáky :o) Hry typu farmville a podobně hraje třeba moje máma nebo přítelkyně a mohu tě ujistit, že tohle je nad jejich schopnosti, respektive nad jejich ochotu se to naučit. Raději si zahrají něco jiného.

    Nemyslím to zle, ale pokud je cílem nalákat co nejvíce lidí, tak UI musí být intuitivní a "lidské". Jeden můj kamarád měl kdysi mánii, kdy chtěl, aby články lidé psali přímo v DocBooku. Lidé, kteří sotva zvládli ovládat prohlížeč. Moc se to nechytlo. Naopak dobré UI je třeba vkládání odkazů na Facebooku. Přijde moje máma, Vloží tu adresu, co vidí nahoře na stránce, která se jí líbí do toho políčka na facebooku a najednou kouzlo - odkaz je krásný, často i s obrázkem a titulkem a to všechno pomocí magie ;o)
    CYBERWOLF
    CYBERWOLF --- ---
    TENCOKACISTROMY: jako rejpani to neberu, naopak tyto podnety vitam :)

    Je to fakt nahodne - pokud je nejhorsich vic, vyberou se vsechny a z nich se nahodne vybere jedna (pokdu bych chtel ovlivnit vic postav, tak na to mam vymyslenou metodu each(), ktera proveden danou operaci na kazde postave odpovidajici podmince)

    Co se tyka vymysleni kola a pekne API - v podstate to, o co se tu pokousim je "pekny" API, jen z bezpecnostnich duvodu nechci, aby to byl zapis v nejakem jazyce, ktery browser nebo server interpretuje (a proto jsem si vymyslel tuhle teckovou notaci a parser, ktery z "Party.getWorst(OB).dropItem(handr)" udela "$Party->getWorst('OB')->dropItem('handr')" a zarve kdyz se mu nekdo pokusi nacpat neco nepatricneho)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CYBERWOLF: To jako fakt "nahodne" :)? A nebo "prvni co mi prijde pod ruku"? Tenhle zpusob rozdelovani je dost osemetnej, lehce se pak stane to ne nejakej hrac schyta vickrat za sebou, a bude mu pripadat, ze to je nespravedlivy.

    1) Mas bezny znaky na cesky klavesnici, ktery zvladne kazdej (cti: kazdej, kdo ma ambice se hrabat ve skriptech) - uvozovky, kulaty zavorky, tecka, carka, vykricnik, atd... Imho s trochou prace a omezenou funkcnosti (jednoduche veci by meli jit jednoduse, slozite veci by mely byt mozne, ale jen do urcite urovne).

    Teckova notace je imho prilis programatorska.

    2+3) Nevymyslet kolo a pouzit neco existujiciho? Pripadne - je opravdu nutne, aby si hraci mohli definovat vlastni dobrodruzstvi v tak moc user-friendly prostredi, aby to zvladnul i laik? Nestalo by za to, do tech 100 hodin zaimplementovat nejaky klasicky skriptovani (lua, javascript, atd...) a k tomu udelat jen "pekne" API?

    // neber to jako rejpani, jen vypoustim myslenky, ktery me k tomu napadaj :)
    CYBERWOLF
    CYBERWOLF --- ---
    TENCOKACISTROMY: V pripade, ze ma vic postav nejnizsi OB se nahodne vybere jedna z nich.

    O takovehle slovni syntaxi jsem take uvazoval (vzpomel jsem si na takovy program na ZX spektru, kde se zadavaly povely robotovi, on je provadel a melo to lidi hravou formou ucit programatorsky uvazovat), ale z nekolika duvodu jsem to zavrhl:

    1) mezery mezi slovy - pri pouziti v textu je problem rozpoznat, kde zapis zacina a kde konci, takze by bylo potreba to uzavrit mezi nejake zavorky/uvozovky/neco (a jelikoz bych chtel vystacit se znaky snadno dostupnymi na ceske klavesnici, je to problem).

    Pri pouziti teckove notace mi staci oznacit zacatek (zatim se mi jako idealni jevi zacinat __ ).

    2) vic zpusobu, jak to napsat navic je potreba porad dodrzovat nejakou strukturu zapisu, coz uz neni takovy rozdil oproti tomu naucit se syntaxi s teckou.

    3) kdybych chtel takovy zapis udelat alespon tak volny, jako je SQL, tak tech 100 hodin padne jenom na parser.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CYBERWOLF: co kdyz tam budou dve postavy, ktere maji obe stejne nejnizsi "OB" ?

    Pokud chces neco, co uzivatelum bude prijemny (teckova notace imho nebude, pac obyc uzivatel nema nejmensi poneti co to je funkce/metoda a jeji parametry), tak jsem na codeprojectu videl clanek, kde spravnejma nazvama metod a objektu vytvoril +- english-like jazyk, kterej fungoval zhruba takto:
    create and show window
    add label to window
    label has "hello world" text
    add button to window
    button has "ok" text
    if is button clicked close window
    
    CYBERWOLF
    CYBERWOLF --- ---
    Pokousim se dnes zas nacpat nejakou tu hodinu do te "stohodinove" hry a zrovna si lamu hlavu nad syntaxi pro uzivatele, kterou by skiptovaly jednolive casti dobrodruzstvi.

    Idea je takova, ze budou (pseudo)objekty s (pseudo)fluent interfacem, pomoci kterych se budou jednotlive operace provadet.

    Napr. pokud budu chtit, aby postava s nejmensi obratnosti (OB) ve skupine upustila to co drzi v prave ruce (slot inventare pojmenovany "handr") tak napisu neco takoveho:

    Party.getWorst(OB).dropItem(handr)

    Objekt Party mi tedy vybere clena skupiny s nejhorsi vlastnosti OB (vrati objekt PartyMember) a zavola na nem metodu dropItem, ktera rika, ze se ma zahodit predmet, co drzi v prave ruce.

    Na prvni pohled to vypada krasne, ale co kdyz to budu chtit nejak vypsat do textu? To by potom chtelo, aby tahle operace neco vratila, ale ma to byt predmet, nebo clen skupiny a ma to byt objekt, nebo jen nazev? A dokaze se s tim naucit obycejny uzivatel s trochou dobre vule, ale bez jakychkoliv zkusenosti s programovanim?
    CYBERWOLF
    CYBERWOLF --- ---
    Ja to hraju vetsinou ze zvedavosti, ale uznavam, ze se na to nejspis divam trochu jinak nez vetsina hracu :)

    Silu ega rozhodne nepodcenuji, ovsem je to celkem dvojsecna zbran, zejmena u kontinualnich her. Na jedne strane jsou ti "dorbi" hraci, co maji fakt dobry pocit, ze jsou dobri a ze se muzou predhanet s temi par dobrymi na jejich urovni.

    A pak jsou tu zacatecnici/prilezitostni/lamy, kteri at budou delat cokoliv, tak ty dobre proste nedozenou. Cili jejich ego narozdil od predchozich neni masirovano, ale srazeno a to ne kazdy dobre snasi.

    Kdyz odstranime zebricky a budeme k sobe davat hrace na primerene urovni a vlastne ani neukazeme ty o moc lepsi/horsi, zustane jista zdrava soutezivost, ktera malokoho odradi.

    A kdyz udelame hru, kde se neda rict, ze ten a ten je kdovi jak lepsi, protoze kriteria hodnoceni zalezi na kazdem hraci (treba farmville - jako jo, kamarad ma sice na farme 150 krav, 5 stodol a traktor, ale ta moje farma s kurnikem a par slipkama je takova hezci), tak si kazdy stavi svuj hrad z pisku, je s nim spokojeny a ostatni mu ten hrad nebori, maximalne si vzajemne vypomahaji (a vsichni ziji stastne az do smrti)

    A dle meho je tohle hlavni duvod (vedle prilivu novych hracu), proc ma farmville vic kazdodennich hracu nez australie obyvatel :)
    TRANCEWARP
    TRANCEWARP --- ---
    CYBERWOLF: pekne si to rozebral, jen co je pravda... ja se omlouvam, ze nenapisu podobne dlouhej post...

    rozhodne si trefil spravne ty rozbory ohledne penez atd, souhlas...

    nicmene nepodcenuj silu ega... ;) to je opravdu ten nejvetsi tahak... proc to vlastne hrajes? protoze muzes hrat? nebo proto, ze to muzes dotahnout dal? ;)
    Kliknutím sem můžete změnit nastavení reklam