Work Hard. Play Hard

    August 30th, 2010

    I’m laying in bed in a vegetative state of mind. I danced my legs off in three nights one after another. You know, it’s fun: communication, flirting, meeting different (sub)cultures, reading (and writing) body language. I like it that way. But it’s very easy to lose your head in a metropolis.

    Whirl of Partying

    On one hand, it seems that you deserved that good enriched spare time after five days working eight or more hours and pushing your limits at a computer solving different technical problems. I like my job, but as in any other job, there happen things that are too difficult, very risky or just boring and making you tired, but you still need to do that yourself. Then a weekend comes, and you having robotic head go to a semi-bar semi-club to meet friends, talk to strangers, or just dive deep into trance while listening to music. Usually one club is not enough. You get hooked and go further. The night ends up at 1 PM at a cheap food store buying yogurt and pelmeni to revitalize your body. What’s the point of that exhaust? Why do I need that hardcore? Because of all those moments that I see and experience while living such a life, which are only dreams to others. :D

    On the other hand, the speed of achieving your objectives slows down because of those parties. I worked on Halma game probably just a couple of weeks per year all in all. And I would already like to start new games, and analyzing and learning new technologies. From practice I know that all wishes become true, but it takes much more time than you plan. And when you spend more than half of your weekend in a dizzy state, it seems impossible at all to achieve something personal. I have a conspiracy theory that alcohol and various illegal drugs are indirectly propagated to lower the possibilities of the masses, so that these who manage the world in the underground, would stay in their leading position. Oh. I hate politics. At least it’s good that nobody forces anyone to drink alcohol, as well as one can break the norms and traditions. I like to choose by myself when to be dizzy and when to have clear mind.

    I also noticed that different places I visit associate with different drinks, because of drinking them there. For example, Club der Visionäre associates with Augustiner beer, I order gin-tonic at Bar 25 by default, I tried and liked shots of Borgmann at Salon zur wilden Renate, and I usually choose absinth with RedBull at Watergate and Berghain. It’s the culture of alcoholism, isn’t it? The drinks are drinks. Sometimes I need them, sometimes not. The most important to me here is the objective of socialization. I want to get rid of the last bits of shyness and hesitation so that I could live the rest of my life only with those limits which are not dependent on me. And I feel the progress of achieving that.

    I like living like this. I just don’t wanna stuck in the whirl of partying. I should probably go clubbing just one night per week and spend the rest of my free time at home at a computer. :)

    Dirbk smarkiai linksminkis

    August 29th, 2010

    Guliu lovoj vegetacinėj būsenoj. Tris naktis iš eilės atšokau kojas. Smagu būna. Bendravimas, flirtai, pažintys su skirtingom (sub)kultūrom, kūno kalbos skaitymas (ir rašymas). Patinka man taip. Bet lengva didmiesty nusitūsint.

    Vakarėlių sūkurys

    Iš vienos pusės, atrodo, nusipelnei gero turiningo laisvalaikio, kai penkias dienas po aštuonias valandas ir daugiau išspaudi savo ribas prie kompo, spręsdamas visokias technines problemas. Man patinka mano darbas, bet kaip ir kiekvienam darbe pasitaiko dalykų, kurie per sunkūs, rizikingi ar šiaip tiesiog nuobodūs ir varginantys, bet juos vis vien reikia pačiam padaryt. Tada ateina savaitgalis, kvadratine galva nueini į kokį pusklubį pagal nuotaiką susitikt su draugais, susipažint su kuo ar šiaip tiesiog pasinert į tranzą, beklausant muzikos ir išsitaškyt. Dažniausiai vieno klubo būna per mažai. Pagauna kablys. Eini toliau. Ir naktis baigiasi pirmą valandą dienos pigioj maisto parduotuvėj perkant jogurtą ir koldūnus organizmo atsistatymui. Kas iš tokio alinimosi, paklaustum? Kam visas tas hardkoras? Vardan visokių akimirkų, kurias pamatai ar patiri gyvendamas tokį gyvenimą, apie ką kitiems tik pasvajot. :D

    Iš kitos pusės, tikslų siekimo tempas žiauriai sulėtėja per tuos vakarėlius. Per metus prie Halmos žaidimo programavimo sėdėjau gal kokią tik porą savaičių susumavus. O jau norėčiau pradėt ir kitus žaidimus, technologijų analizę ir mokymąsi. Žinau, kad visi norai pildosi (iš praktikos), bet tik visada tam išsipildymui praeina daugiau laiko negu planuoji. O čia dar kai daugiau kaip pusę savaitgalio praleidi neblaivioj būsenoj, tai kažką asmeniško pasiekt laisvalaikio metu atrodo išvis neįmanoma. Apskritai, turiu konspiracinę teoriją, kad alkoholis ir visokie nelegalūs svaigalai netiesiogiai propaguojami tam, kad sumažintų žmonių galimybes ir pogrindyje Pasaulį valdantys žmonės liktų valdančioj pozicijoj. Ak. Nekenčiu politikos. Gerai, kad tiesiogiai alkoholio gert niekas neverčia, o žmonių priimtas normas ir tradicijas galima laužyt. Man patinka pačiam pasirinkt, kada būt apsvaigusiam, o kada švariu protu.

    Dar va pagalvojau, kad skirtingos lankomos vietos man asocijuojasi su skirtingais gėrimais, nes aš ten dažniausiai juos geriu. Pavyzdžiui, Club der Visionäre asocijuojasi su Augustiner alum, Bar 25 standartiškai užsisakau džintoniko, Salon zur wilden Renate išbandžiau Borgmann šotus ir man tai patiko, o Watergeite arba Berghaine dažniausiai pasirenku absentą su redbuliu. Alkoholizmo kultūra, ne? Gėrimai gėrimais – kartais man jų reikia, kartais – ne. Bet man čia svarbiausia mano socializavimosi tikslas. Noriu atsikratyt drovumo ir neryžtingumo likučių ir gyvent likusį gyvenimą tik su tais apribojimais, kurie nuo manęs nepriklauso. Ir jaučiu to tikslo siekimo progresą.

    Patinka man taip gyvent. Tik nenoriu užsiciklint vakarėlių sūkury. Ko gero reiks man eit klubintis tik vieną naktį per savaitę. O didžiąją dalį likusio laisvalaikio praleist namie prie kompo. :)

    Ateitis yra dabar!

    June 17th, 2010

    Tikriausiai jau pastebėjai, kad HTML5 beveik pilnai palaikomas WebKit naršyklėse. Tai reiškia, kad gali naudot Ajax, vektorinę grafiką, video, audio, geolokaciją, spalvų perėjimus, animacijas, vietinį išsaugojimą ir kitus pribumbasus iPhone ir Android’e. Negana to, visa tai gali kombinuoti su PhoneGap, kad sukurtum praturtintas kompiliuotas programas mobiliesiems.

    Peržvelk pristatymą apie programų mobiliesiems kūrimą naudojant internetines technologijas, kurį paruošė mano buvęs kolega Philipp:

    Ateitis tikrai žadanti ir ji vyksta dabar!

    The Future is Now!

    June 17th, 2010

    You might have noticed that HTML5 is almost fully supported in WebKit-based browsers. This means that you can use Ajax, vector graphics, videos, audios, geolocation, gradients, animations, local storage, and other cool features on iPhone and Android. Furthermore, you can combine that with PhoneGap to create rich native mobile apps.

    Have a look at the presentation about mobile web-based app development, given by my former colleague Philipp:

    The future is really promising and it is happening now!

    Reikalinga atvira žaidimų avatarų tarnyba

    June 17th, 2010

    Kuriant socialinius žaidimus internete su avatarais, dažniausiai reikia spraitų veikėjų animacijai. Sumąsčiau, kad būtų tikrai gerai, jei būtų atvira tarnyba, kuri leistų žaidėjams iš viso pasaulio susikurti avatarus ir juos naudoti skirtinguose skirtingų žaidimų kūrėjų žaidimuose.

    Sistema būtų kažkas tokio kaip OpenId ir gravatar kartu sudėjus, bet teiktų spraitus veikėjo judesiams skirtingais dydžiais iš skirtingų perspektyvų.

    Žaidėjai galėtų susikurti avatarus, pasirinkdami lytį, plaukus, veido bruožus, odos spalvą ir tikriausiai standartinius drabužius. Tada galėtų naudoti susikurtą avatarą skirtinguose bendruomeniniuose žaidimuose ir ko gero forumuose bei blogų komentaruose.

    Sistema generuotų spraitus standartiniams žaidėjo judesiams, kaip kad stovėjimas vietoj, kalbėjimas, ėjimas ir bėgimas iš 8 pusių (avataras nosimi į šiaurę, šiaurės rytus, rytus, pietryčius, pietus, pietvakarius, vakarus, šiaurės rytus) ir iš skirtingų perspektyvų kaip kad iš šono, izometriškai (30°, 45°, 60°) ir iš viršaus. Būtų API gauti nurodyto dydžio spraitus PNG, GIF arba SVG formatu, tuomet atskiruose žaidimuose jie galėtų būti uždengti skirtingais drabužiais. Taip pat būtų API gauti avataro savybėms JSON formatu skirtingo stiliaus avatarams arba papildomoms animacijoms. Jei nustatymai vyktų 3D erdvėje, tuomet avataro modelis ir tekstūros galėtų būti gaunamos atskiru API iškvietimu (tas naudinga kitoms animacijoms arba 3D žaidimams).

    Jei sistema centralizuota vienoje svetainėje, kaip kad gravatar, tuomet avataro informacija galėtų būti identifikuojama žaidėjo el. pašto adresu. Kitu atveju, galėtų būti identifikuojama svetainės adresu, kaip tai daro OpenId.

    Žinau, kad šitai įgyvendinti nėra paprasta ir yra daugybė neišspręstų dalykų su tuo, pavyzdžiui, piešimo stilius turėtų būti patrauklus ir animacijos gyvos; avatarai ko gero galėtų būti ir gyvūnai, ufonautai ar kitokie sutvėrimai. Bet vis vien, jei tau patinka tokios sistemos idėja, ką nors žinai apie panašias sistemas, arba norėtum tokią sistemą sukurti ar prisidėti prie jos sukūrimo, parašyk komentarą. Sukelkim bangą! Išjudinkim atviro kodo žaidimų kūrimą! :cool:

    Open Gaming Avatar Service Required

    June 17th, 2010

    When developing social online games with avatars, you usually need sprites for character animation. I decided that it would be really cool to have an open service which would allow users from around the world to customize an avatar and use it in different games of different game developers.

    The system would be something like OpenId and gravatar combined, but providing sprites of user movements of different sizes from different perspectives.

    Players could create their avatars choosing gender, hair, facial features, skin tones, and probably some default clothing. Then they could use that avatar in different social games and probably in forums and blog comments.

    The system would generate sprites for default user movements like standing still, talking, going, and running from 8 sides (avatar pointing to North, North-East, East, South-East, South, South-West, West, North-West) and different perspectives like side, isometric (30°, 45°, 60°), and top. There would be APIs to get sprites of defined size in PNG, GIF, or SVG format, then those could be overlayed with different clothing for individual games. Also there would be an API to get the avatar features in JSON format for individual avatars or additional animations. If the customization happens in 3D, then the model of the avatar with it’s textures could be retrieved by a separate API call (that’s useful for custom animations or 3D games).

    If the system is centralized under one website like gravatar, the avatar information could be identified by player’s email address. Otherwise, it can be identified by web address like in OpenId.

    I know, it’s not trivial to implement this and there are many gotchas with that, for example, the drawing-style should be attractive and animations should be lively; avatars could probably be animals, aliens or other creatures. But still, if you like the idea of such a system, if you know anything about similar systems, or if you would like to develop that or team up for its development, please write a comment. Let’s wave the need of it! Let’s create a movement of open-source game development! :cool:

    Bendruomeninio žaidimo kūrimas

    June 7th, 2010

    Pasidomėjau truputį apie žaidimų kūrimą Javascript’u šiais laikais(1) ir sugalvojau, kad kai HalmaStar taps beta, kitas mano žaidimas bus tinklelio sistema paremtas galvosūkių ir veiksmo skroleris keliems žaidėjams, kurio dauguma lygių bus sukurti pačių žaidėjų.

    Žaidimas bus sudarytas iš skirtingų tipų objektų, kurie savaip sąveikaus tarpusavy. Pavyzdžiui, žaidime bus žaidėjų avatarai, sienų blokeliai, renkami elementai, skirtingi pavojingi objektai ir kt.

    Keletas žaidimų įkvėpimui būtų Electric Box, Bomber Man, Load Runner ir ypač Supaplex.

    Pagrindinės savybės:

    • Paremtas lygiais
    • Lygių redagavimas, juodraščiai, publikavimas
    • Balsavimas už geriausius lygius
    • Kiekvieno lygio kūrėjo vardo paminėjimas ir Flattr mygtukas
    • Lyderių lentos: geriausi žaidėjai, geriausi autoriai
    • Kai kurie lygiai vienam žaidėjui ir galimi žaisti be interneto
    • Kai kurie lygiai reikalaus bendradarbiavimo, kad būtų išspręsti
    • Kai kurie lygiai bus konkursiniai ir tik vienas žaidėjas iš grupės jį galės baigti vienu ėjimu
    • Veikia mobiuosiuose telefonuose ar kituose portatyviniuose prietaisuose
    • Facebook app
    • Naudojama Django, Javascript, Ajax
    • Linksma patraukli minimalistinė animacija
    • Sukurta ne vėliau kaip iki 2011 liepos (turint omeny, kad tai darysiu laisvalaikiu).

    Gal tai bus žaidimo, kurį pradėjau kurt prieš daugelį metų, reinkarnacija. Kiek pamenu, negalėjau jo užbaigt dėl techninių apribojimų BASIC programavimo kalboj, o gal dėl savo paties nekompetentingumo, valdant kompiuterio atmintį. Dabar, kai įrankiai, technologijos ir kompiuteriai pagerėjo, o pats turiu daugiau nei 8 metų programavimo patirtį, su tokiom problemom nebeturėčiau susidurti.


    (1) Peržvelgiau šių Javascript žaidimų variklių galimybes: Akihabara, gameQuery, gamejs ir Javascript 2D game engine. Reiktų vėliau išsianalizuot, įvertint ir palygint. Bet čia jau tema kitam įrašui.

    Social Game Development

    June 7th, 2010

    I did a tiny little research on nowadays game development using Javascript(1) and decided that when HalmaStar becomes beta, the game I will create next will be multiplayer tile-based action-puzzle-solving scroller with most of the levels developed by players themselves.

    The game will consist of multiple objects of different types where each of them interacts with each other in a specific way. For example, there will be avatars of different players, solid blocks, collectibles, different types of dangerous objects, etc.

    Some games to take inspiration from are Electric Box, Bomber Man, Load Runner, and especially Supaplex.

    The main features:

    • Level-based
    • Level editing, drafts, publishing
    • Voting for the best levels
    • Attribution and Flattr button of a level-creator at each level
    • Leaderboards: best players, best contributors
    • Some levels are for single mode, can be played offline
    • Some levels need collaboration to be solved
    • Some levels are competitive and only one player of a group might finish them in one go
    • Playable on mobile phones or other handheld devices
    • Facebook app
    • Django, Javascript, Ajax used
    • Funny attractive minimalistic animation
    • Developed no later than till July 2011 (having in mind that I will be doing that during my free time).

    Maybe that will be the reincarnation of a game I started developing many years ago. I remember I couldn’t finish it then, because of some technical limitations of BASIC programming language or probably my incompetence in managing computer memory. Now as tools, technologies, and computers improved, and I have more than 8 years of experience in programming, I shouldn’t face any similar issues.


    (1) I took the first glance at the possibilities of Javascript game engines: Akihabara, gameQuery, gamejs, and Javascript 2D game engine. I should review them in detail, analyze, and compare later. But that’s a theme for another post.

    Top Ten Testimonies

    May 22nd, 2010
    • Bulleted thoughts
    • look
    • important

    Sometimes it seems that until you put your plans, ideas, or rules point by point, your life is totally messed up and chaotic. Classified information is easier to understand, to memorize, and to believe in. So we cut the reality into pieces and digitize it. Then we accept it as static and true and start following the items.

    However, one should never forget that all bulleted truths are true only in the time and conditions of their creation, having a limited amount of information and being influenced by specific circumstances. That’s because the perception of reality is subjective and partial, no matter how wide it is.

    So it’s worthy every once in a while, to take personally important things, which you keep in your mind item after item, then re-evaluate them, maybe add some more, and maybe regroup them. Also I agree with Giedrius, who says that it’s good to have items as the basis which can be used to build other things on top of them.

    There are good points about personal progressiveness in the speech of magician and mentalist Jason Randal:

    Jason Randal: Stretching, Rewiring & Growing Geometrically from 99% on Vimeo.

    Top dešimt Dievo įsakymų

    May 22nd, 2010
    • Mintys išdėstytos
    • punktais
    • atrodo svarbios

    Kartais atrodo, kad kol nesusidėlioji planų, idėjų ar taisyklių punktais, tol tavo gyvenime baisi betvarkė, chaosas, maišalynė. Suklasifikuotą informaciją lengviau suvokti, lengviau atsiminti, lengviau priimti už gryną pinigą. Tai taip ir pjaustome realybę į gabaliukus, skaitmenizuojame. Paskui priimame kaip nekintančią ir teisingą, vadovaujamės.

    Tačiau niekada nereik pamiršti, kad bet kokios tiesos išdėliotos papunkčiui yra teisingos tik sukūrimo laike ir sąlygose, turint ribotą kiekį informacijos, veikiant tam tikroms aplinkybėms. Nes realybės suvokimas yra subjektyvus ir dalinis, kad ir koks platus jis būtų. Be to punktais gali būti manipuliuojama, siekiant ką nors prastumti.

    Todėl laikas nuo laiko visus punktais išdėstytus dalykus, kurie tau daug reiškia, reikia įvertinti iš naujo, galbūt papildyti, galbūt pergrupuoti. Be to, sutikčiau su Giedriaus mintim, kad punktai yra gerai kaip pagrindas, ant kurio vėliau gali būti statomi kiti dalykai.

    Gerų punktų apie asmeninį progresyvumą išdėsto fokusininkas ir mentalistas Jason Randal:

    Jason Randal: Stretching, Rewiring & Growing Geometrically 99% per Vimeo.