Krava kaže – Muuuuuuuuuuuuuuu


Ostatak sam dio tjedna mislio ostaviti Franju malo po strani ali toliko je ljudi davilo da ne mogu ništa sa bombama da sam jednostavno morao dodati neku eksplozivnu funkcionalnost. Daklem, dobro ste čuli, bomba nešto radi. Probajte pogoditi kravu i vidite što će se dogoditi!

https://www.binarni.net/projects/franjo/

Jedna od stvari koju sam (ali svjesno pa mi se oprašta) napravio loše je što se svaki dinamički objekat na ekranu pomiče na svoj način imajući neku svoju internu reprezentaciju trenutne lokacije. Sad sam sa bombom i kravicom vidio otprilike što će mi trebati i kod ostalih objekata pa ću to sve napraviti na jednak način. To je u biti smetalo bombi, avionu i oblaku da se ponašaju, padaju ili putuju na pametniji način. Ono što slijedeće očigledno dolazi je collision detection pa ćete moći sa avionom i da se zabijete u zemlju. Da, da.. napokon!

S obzirom da se timer opali 100 puta u sekundi najveći mogući FPS u igrici je trenutno 100. Zanimljivo je da mi 100fps-a daje jedino Konqueror na Linuxu. Safari je slijedeći sa nekih 93, Firefox je na 70-90 (ovisi o kompu), Opera 9.6x je na nekih 30. Sudeći po nekim brojevima što su mi Ognjen, Goran i Marcell poslali to su neki podaci koje i ostali dobivaju.

Eto, go krava for now!

Djevojka viče sa visoka brda: “Evo Franje! Evo Franje!”


Franjo gura svojim tempom i ne brine se previše za lavež sa strane. S obzirom da imam stalni posao + 4 posla u fušu (plus jedan zabavni projekat za Oca) koja radim nakon posla ovo sa Franjom se dosta brzo i odvija. Možda čak i prebrzo.

Klik da probate novog Franju: https://www.binarni.net/projects/franjo/

Anywho, dodao sam nekoliko stvari u Franju. Prva i najvidljivija je koliko toliko normalan teren. Teren se generira na server strani svaki put kod startanja (od tud i početno usporenje sada). Na 10,000 kockica generiram 6,000 brda različitih veličina (imam neki raspon ali za sad nemam postotke da pogodim teren brdovite Bosne). Nakon toga teren se normalizira, malo se i poglede rubovi (s ovim još eksperimentiram) i pošalje se clientu. U usporedbi s onim prvim čistim randomom (začudo, nitko se nije bunio na taj izgled) ovo je predivno. Ove dvije slike i nisu baš jako reprezentativne.

Druga stvar koju sam dodao je mala kravica. Ono što je specifično kod kravice je da je animirana. Ako proletite sporo pokraj kravice vidjet ćete animaciju. Treća stvar je lagano izmjenjeni code koji se brine za dinamičke objekte (za sada švabski avion, panzer, krava, oblak). Izbacio sam neko Array sliceanje u nadi da će me to rješiti onog povremenog zastajkivanja koje se dešava. Naravno, to nije bilo to.


Zadnja stvar koju sam dodao je mali pokazivač trenutnog FPS-a. Moja najveća briga kod Franje je sama brzina. Kao što ste možda i zaključili, brzina izvođenja Franje uvelike ovisi o izboru vašeg operativnog sustava, browsera ali i poinstaliravanih pluginova. Naime, probao sam kako brzo radi na jednom Mac Pro (8-Coreova, 16Gb RAM-a) iz Firefoxa koji je imao instalirane pluginove za blockiranje skripti itd. Totalna katastrofa, 5 puta sporije nego na mom MacBooku kad je na 800Mhz. Na mom Terminusu (Lenovo W500) sa Linuxom brzina je zadovoljavajuća, samo što aviončić zna flickerati prilikom iscrtavanja. Izrazito iritantno. Po prvim rezultatima što se tiče FPS-a najsporija je Opera 9.6x/10.x, zatim Firefox 3.0.4 te na kraju ubjedljivo najbolji Safari 3.1.2 sa 90 FPS-a. Budem probao i ostale verzije a možete mi javiti i vi vaše rezultate te specifikaciju na čemu ste probali.

Što se tiče daljnjeg razvoja. Budem posložio inicijalno učitavanje igrice, malo ajaxa, progress bar dok se učitava mapa itd. Trebao bih i generiranje smetala staviti na server side. Kao što sam i rekao, najveća briga mi je konačna brzina. Odluku o tome da li će se moći u jednom trenutku baciti samo jedna ili više bombi (jer više bombi može uzrokovati više esplozija. više eksplozija znači više crtanja a sve to u konačnici znači sporiji scroll sa zastajkivanjem) ću donjeti kad isprobam neke modele eksplozija.

Ni meni do sada većina generalnih ideja oko Franje nije bila jasna. Ne želim raditi tipičnu pucačinu jer 1) ja ne volim pucačine 2) ja ne mogu sa canvasom i javascriptom napraviti konkurentnu pucačinu. Dosta stvari u igri će biti oko Priče i dosta misija će se baviti izbjegavanjem prepreka, skupljanjem stvari te dostavljanjem paketa na teren. Između misija će biti male igrice (za sad tajna kakve). Paketi će varirati od cigara za druga Titu, novog britanskog špijuna, oružje Savi Kovačeviću na Sutjesku, novi Politički da popravi poljuljani moral u jedinicama…

Također ono što mi je bio cilj od samog početka, a sad ispada da će biti moguće za izvesti, je da sav teren u Bosni i u Dalmaciji gdje će se igra odvijati budu autentični online podaci izvučeni iz GIS sustava (online znači da se vide promjene u igrici skoro pa čim se dodaji zapisi o novim selima, cestama, rijekama…). Također ono što mi je cilj je osim predefiniranih misija koje se moraju završiti napraviti i brze misije koje će moći uzeri sami definirati. Znači 2d mapa Bosne po kojoj skrolate i kreirate svoju rutu. Od rute se napraviti 2d mapa sa realnim podacima na koju vi možete random staviti prepreke. Pa kad letite iznad Jajca “eto Plive eto vodopada” možete zapjevati! Dosta o planovima… nešto mora ostati i tajna.

Hoće netko za DŽ u Amsterdam?

Daklem, početkom 3 mjeseca godine 2009. u Amsterdamu se organizira Winter Camp. FLOSS Manuals će imati svoj mali summit a između ostalog trebala bi se naći i ekipa koja radi na razvoju softwarea. Ako ste zainteresirani raditi na razvoju javite se…. za Dž (ali ćete lakše spavati) ćete raditi na razvoju aplikacije prije toga, dobit ćete smještaj i hranu tjedan dana u amsterdamu, družiti se sa novim i zanimljivim ljudima i ja ću kao glavni u razvojnom timu pokupiti neke pare na kraju za razvoj nove verzije FLOSS Manualsa… Meni to zvuči O.K. 🙂

Zezam se (naravno). Sa TWiki i Perl platforme smo odlučili preći (zbog velikog broja razloga o kojima se možda i raspišem) na novu platformu. Kako stvari stoje za sad je to Python+Django+JQuery+jako_puno_javascript_UI-a+neki_sql. Novac koji se pribavi iz različitih izvora se raspodjeli na osnovu preuzetih obaveza. Poprilično je transparentno i nisu baš brutalno velike pare u pitanju. Isto tako razmišljamo nešto i o komercijalnoj verziji ali o tome ne smijem pričati. Pretpostavljam.

Eto.. ako ste zainteresirani pomoći oko razvoja jednog ne_baš_ko_franjo_sexy_softwarea ali svakako interesantnog rješenja možete mi se javiti. Osim ovog momenta sa Amsterdamom otvara se i velik broj drugih mogućnosti i događanja koja se mogu posjetiti (samo Aco mora crnčiti od 08:00-16:00 i mora biti dežuran na telefonu pa ne može ići na takve stvari).

Franjo srušio prvog Švabu!

Što ima novoga u Franjinom svijetu?! Sredio sam site tako da sad https://www.binarni.net/projects/franjo/ na nešto i liči (osobno nisam zadovoljan s njim ali bolje i ovako nego nikako. kombiniram.). Stavio video na youtube (malo je scale videa u banani), stavio neke screenshotove, stavio par linkova okolo.

Što se tiče samog Franje sad sam stavio i dodatne objekte u igru. Za sad su to Messerschmitt, Panzer tenk i oblak. Razmještaj objekata je random i poprilično imbecilan (ali to je nebitno, jer to neće Franjo ni razmještati u budućnosti). Zanimalo me kako će se ponašati Canvas kad bude bilo više objekata koji se scrolaju. Za sad liči kao da malo šteka.

Franjo se napokon skrola kao pošten čovjek

Kao što možete i provjeriti na https://www.binarni.net/projects/franjo/ Franjo se više ne skrola sa 2fps! Sad to već izgleda kao neki pošteni soon to be scrolling shooter!

Skužio sam da mi je bolje živote (koji su predstavljeni sa zvjezdicama) i bombe (predstavljeni sa bombom) staviti u panel skupa sa brzinom, visinom i drugim komandama. Double buffering sam postigao sa skrivenim Canvasom (koji ima visibility hidden). Pokušao sam sa dva buffera, jedan za teren, drugi na kojem sve crtam i onda blitam na ovaj prvi. Tja… djeluje mi znatno sporije ali budem još eksperimentirao s time jer ovako se baš vidi kako aviončić flickera u određenim situacijama. Anywho, sad slijedi malo eksperimentiranja sa terenom te sređivanja organizacije codea.

Ono što mi je super sa skrivenim Canvasom što mogu da ga stavim na visibility i vidim što mi se iscrtava tamo. Super korisno jer sam tako skužio jedan sitni bug.

Reakcije su za sad ok. Čak sam dobio i pohvalu za komande (postepeno podizanje, spuštanje te ubrzavanje).

Franjo Kluz je poletio sa svojim Potezom XXV


Moja jedina želja otkako sam nabavio svoje prvo računalo je bilo da radim igrice. Druga želja (što sam inače 2 godine kao i studirao) mi je bila da projektiram avione.
To da ću ja raditi jednog dana u Sierri nisam nikad ni dovodio u pitanje. Svuda oko sebe sam ostavljao stotine malih igrica i uvijek je tu bila neka malo kompleksnija avanturica, neke akcione zezalice itd. Nakon pušione sa Multivitaminom, a tome ima valjda 6-7 godina, nisam osjećao više potrebu za tim. Jednostavno mi se to sve zgadilo.

Ali eto, nakom svake kiše dođe sunce pa se i kod mene pojavila opet želje za malo opuštanja kad sam u stresu. Daklem, evo ga…. “Franjo Kluz” prototip moje prve igrice nakon pun kufer vremena. Već sam i zaboravio programirati, sve neka formatiranja teksta u zadnje vrijeme tako da mi je drago da se malo počnem baviti i time. Ovo je više neki prototip da vidim kako se ponaša Canvas, koliko je to sve brzo itd.. itd… Source će biti objavljen pod nekom poštenom licencom i sve što s time dolazi (iako je već sad objavljen, ali dobro). Neću pisati što sve ne radi, čega nema i što će doći jer pametnjakovići to nikad ne čitaju a oni sa malo mozga će znati što verzija 0.01 znači. Zato šaljite mail u svakom slučaju kad skužite da ne radi u Exploreru… šaljite.

Zove se “Franjo Kluz” jer mi je to super ime, imam super priču i akciju koju ću složiti iza svega ovoga. Inače, za one koji ne znaju Franjo je bio oficir kraljevine jugoslavije koji je početkom drugog svjetskog rata završio u ustaškoj avijaciji. Priča kaže da je zbog kockarskih dugova pobjegao sa avionom Potez XXV (inače u igrici ja koristim Breguet 19 s kojim je pobjegao Rudi Čajevec) i svojim strijelcem u partizane.
Dosta davno o svemu tome je snimljen i film Partizanska eskadrila a krajem 2008. započeta i igrica.

Ako želite vidjeti na što to trenutno liči odite ovdje: https://www.binarni.net/projects/franjo/

Više o projektu na:
* https://www.binarni.net/projects/franjo/
* http://lab.binarni.net/wiki/FranjoKluz

‘Help Activity’ na OLPC-u

Mogu ja ili Vi o projektu OLPC i samom laptopu imati svakojako mišljenje ali eto ti ga na! Isporučuje se serija od 100.000 novih OLPC-ova sa predinstaliranom dokumentacijom napravljanom u FLOSS Manualsima. S obzirom da smo dobili još jedan laptop možda bih si sad mogao ogrebati za onaj stariji… samo da znam što će mi to govno. Anywho, još nisam stigao pogledati to uživo (tek kad se nađem sa Adamom u Berlinu) ali lijep je osjećaj gledati na slikicama nešto na čemu si radio i što će se namnožiti na sto tisuća laptopa.

Manuali su pisani na Wikiju, sadržaj je remixiran (jer su unutra uključeni sadržaji i nekih drugih manuala sa flossmanuals.net) pomoću plugina Remix te onda uz pomoć istog plugina exportan u čiste HTML fileove. Ti su fileovi onda samo skopirani na laptope.

Remix plugin je jedna presuper stvar (a o tome koliko je remixiranje sad buzzword i o očekivanju simpozija-razgovora-okruglih stolova-festivala-izložbi-članaka u informatičkom kutku jutarnjeg lista i apliciranja za projekte i programe neću ni pričati) i u novoj verziji flossmanuals.net-a na kojoj radim će biti upeglani do savršenstva (ali o tome u nekom drugom postu).




Nakupina bitova znana kao “Pornodrom”

Jedna od zadnjih epizoda “30 Rock“-a me podsjeti na nešto što sam radio u ona davna vremena dok sam još imao živaca kodirati 24 sata u komadu. Ne vjerujem ali možda se ipak potrudim i pokušam osposobiti prastaru 386-icu da na njoj pronađem sve te zaboravljene bitova.

Kao velik broj mojih projekata i ovome je na kraju trebalo onih zadnjih 20% ne bi li se finalizirao. Ono što ga ipak razlikuje od ostalih je što sam na ovome prestao raditi jer se projekat u jednom trenutku transformirao u nešto drugo. Vjerovali ili ne ali Pornodrom kao gnutella based server za razmjenu pornjave (sa web front i back endom) se transformirao u ništa drugo doli web kolaboracijski alat za web publishing pod nazivom TamTam. Znam, znam.. TamTam nisam napisao ja već Guru® Neno. Svi mladi haktivisti kiber festivala od Baltika pa do Crnog mora to odavno znaju… Ah, ah.. ali ajmo taj dio priče za sad ostaviti za neki drugi post.

Pretpostavljam da ne treba spominjati da je samo ime “Pornodrom” referenca na Cronenbergov film “Videodrome“?! Uglavnom, Gnutella se tek pojavila i bilo je očito da se radi o nečem vrućem. Postojeći clienti nisu zadovoljavali moje potrebe i osjetio sam potrebu da sebi kao konzumentu olakšam upotrebu cijele te mreže. Koji bolji razlog za pisanje softwarea nego izrada nečega što koristim svakodnevno. Tko će mi bolje napisati software nego ja sam?! Tko zna bolje moje potrebe od mene samoga ?!

Pisati svoj pear-to-peer nema smisla i zato je cijeli sustav bio zamišljen kao nadogradnja nad arhitekturom već postojećeg i raširenog protokola. Nadogradnja u smislu metapodataka za same sadržaje koji se razmjenjuju, naprednijeg pretraživanja, mogućnosti previewa (slike i videa), lakšeg pregleda sadržaja koji drugi ljudi shareaju, komunikacija s ljudima, “agenti” koji pamte preference i konstantno pretražuju mrežu u potrazi za zanimljivim sadržajem itd. Da..da.. dosta toga su imale svakojake mreže i clienti koji su se pojavili poslije, ali u tom trenutku oni nisu bili na tržištu. Uglavno, ta “nadogradnja” je značila da se Pornodrom ponaša kao tipičan Gnutella node koji je bio u stanju slati neke dodatne sadržaje koje su neki napredniji clienti znali interpretirati. Onima koji nisu ti dodatni sadržaji nisu smetali i normalno su komunicirali sa Pornodromom.

Meni je osobno killer dio cijele priče bila mogućnost pristupu serveru preko weba. Zašto? Pa zato što sam imao pristup unixoidnim serverima koji su na brzim Carnetovim linkovima. Pornodrom na njima visi 24/7 te skuplja i sharea s drugima podatke koji se arhiviraju na njemu. U određenom trenutku spojim se preko ultra spore modemske veze na jedan od tih nodova te u browse modu (nešto kao web image gallery sa thumbnailovima) pregledam raspoloživ sadržaj i obrišem nepotrebno. Možda zvuči smješno ali skidati 300Kb sliku preko modema (ili ne do bog gnutelle) da bih rekao “ahhhh….” mi nije bila neka velika sreća. Bolje je pogledati mali animirani GIF-ić koji barem otprilike dočarava što se dešava u videu pa se tek onda odlučiti na download od par desetaka minuta ili sati. Anywho, ako ustreba jedan rcp i fileovi su nakon dosta vremena lokalno na disku.

Sramim se i priznati ali eto, napravio sam cijeli “application server” sa svojim gnutella bibliotekama za sve to. U pozadini python, ZODB kao objektna baza podataka i neki moj template (je*eš python programera koji nije napravio svoj template engine) engine u pozadini. Nikad ja nisam ništa napisao ako mu nisam prvo dao ime. Ovo čudo se zvalo “Thunder” i imalo je čak male munjice za logo. Uglavno, različiti aplikacije unutar Thundera koje međusobno komuniciraju. Web sučelje sa public dijelom kojem pristupaju drugi korisnici (za browse i skidanje sadržaja) te posebno administrativni dio za managiranje Pornodroma i gnutella servera.

U jednom trenutku cijela ta ideja i arhitektura se samo transferirala u nešto drugo i negdje po putu izgubila gnutella server i moje autorstvo 🙂 Čudni su putovi bitova…. čudni…. sad ga imaš a sad ga nemaš ali uvijek dobiješ neko smeće od BLOB-a za kraj.

How to Bypass Internet Censorship




Knjiga je gotova i možete je pogledati/skinuti na:
* http://www.lulu.com/content/4904448
* http://en.flossmanuals.net/CircumventionTools

Eto ga… umjesto da sam s njima čilao negdje u državi New York u iznajmljenoj kući tjedan dana ja sam tuckao u onoj nesreći od OpenOfficea “Uvod u INFORMIX SQL” predavanje koje ću držati ovaj tjedan.

Par slikica sa book sprinta.

Circumvention Book Sprint [FLOSS Manuals]

Uskoro počinje novi Circumvention Book Sprint. Radi se o alatima koji se koriste kad se želi ostati anoniman na Internetu ili alati koji se koriste ne bi li se zaobišla ograničenja postavljena od strane Države, Kompanije, Institucije a kombiniram i Kršćanskih roditelja.

Ako ste zainteresirani i mislite da bi mogli sudjelovati slobodno se prijavite. Za sad je sređen smještaj za 7 ljudi (developeri tora, pisci dokumentacije itd.) koji će sudjelovati dok bi svi drugi radili na daljinu.

Alati koji bi trebali biti pokriveni ovim sprintom:

WEB PROXY
* psiphon2
* psiphon1
* PHProxy
* (Picadae)

PROXY TOOL
* Tor and Torbrowser
* (JAP / Jondo)

VPN
* OpenVPN
(* Hamachi LogMeIn)

MISC
* SwitchProxy

Puna vijest je ovdje CircumventionBookSprint i tu možete saznati sve dodatne informacije ako se želite prijaviti.