Portfolio

Portfolio of Tomas Uktveris

Vykdyti projektai:
  • 3D žaidimas "Tower Punch" - tinklinis 2 žaidėjų mūšis taikantis į priešininko bokštą.
    Pilnai nerealizuotas.
    Įrankiai: Java, LWJGL, xSocket, jzlib, jorbis, javapng, OpenGL, 3ds max, Python
  • pic name pic name pic name
    pic name pic name pic name

  • 3D žaidimas - "SnakeFace" sukurtas GameJam 2011 metu per 48h. Žaidėjo galva - tai vairalazdė. Reikia padėti 3D gyvatėlei keliauti trimačiame labirinte ir pasiekti išsvajotą obuolį. OpenCV veido/galvos atpažinimas, kalibracija. Pilnai nerealizuotas.
    Įrankiai: C++, OpenCV, OpenGL

  • 3D žaidimas - "SupremeDuals" aka "Spells Dynamic" MMO SciFi stiliaus galaktikų kovos 1vs1. Žaidimas tinklinis, žaidėjai kovoja arenose, kelia lygį, tobulina ekipiruotę. Pilnai nerealizuotas.
    Įrankiai: C++, Ogre 3D, MySQL, MySQL++, RakNet, 3ds max
    Kiti komandos nariai: Audrius Gailius, modeliuotojai: Simas, Almantas Vasiliauskas 
  
  
   

     



  • 2D Flash žaidimai - "Infection", "Trigubas", "Lėkščių šaudymas"
    Žurnalo "Kompiuterija" žaidimų kūrimo konkursas.
    Įrankiai: Adobe Flash
  

  

  
  • 2D žaidimo "Tetris" flash klonas
    Įrankiai: Adobe Flash


  • 2D žaidimas "Online Bomberman Remake" - klasikinio bombermen'o mini klonas (žaidžiamas tinkle). Pilnai nerealizuotas.
    Įrankiai: Elf2D library, Photoshop, RakNet

    https://github.com/tomazas/open-bomber

     
  • 3D žaidimas "Ralis" - dviejų žaidėjų lenktyninis žaidimas su tikslu pirmam apvažiuoti 3 trasos ratus. Pilnai nerealizuotas.
    Įrankiai: C++, Python, fmod, Boost, libzip, 3ds max, Photoshop

      

  • 3D žaidimas "Zombie Survival" - tai žaidimas, kuriame reikia išbūti uždarytame mažoje patalpoje/aplinkoje ir kuo ilgiau atsilaikyti prieš zombių puolimą. Žaidimas žaidžiamas round'ais/lygiais, todėl su kiekvienu nauju lygiu tampa sunkiau atsilaikyti prieš naujas priešų bangas.
    Navigacija grafu naudojant waypoint sistemą, konsolė, quake light-volumes metodo apšvietimas aktoriams. Pilnai nerealizuotas - kūrimo etapai ir sprendimai pavaizduoti screenshot'uose.
    Įrankiai: C++, OpenGL, 3ds max, Photoshop

              
  • RT spindulių trasavimo(raytracing) varikliukas - phong, minkšti šešėliai, refrakcija, atspindžiai, AO(ambient occlusion), photon mapping, optimizacija naudojant kD-tree. Pritaikyta veikti klasteryje, multiprocesorinėse sistemose.Įrankiai: C++, OpenMPI

  
 




  • Realtime raytracing OpenGL GLSL spindulių trasavimas ant GPU, minkšti šešėliai, atspindžiai, šachmatų tekstūra.
  • Įrankiai: C++, OpenGL


  • 3D varikliukas - OpenGL, GLSL, FBO, VBO, particles, deffered rendering, PhysX physics, sound, 3ds max exporter, įkvėptas darbų iš: frustum.org. Pilnai nerealizuotas.
    Įrankiai: C++, 3ds max, Photoshop


     

  • GPUMath - GPGPU skaičiavimų karkaso realizacija panaudojant GLSL šešėliavimą ir FBO. Koncepcinis/POC modelis.
    Įrankiai: C++, OpenGL
  • BranchMixer - 3D rekursinis medžių generavimas ir eksportavimas su papildoma įskiepių galimybe, realaus laiko peržiūra. Pilnai išbaigtas.
    Įrankiai: C++, Python, Boost


      

  • OpenGL GUI grafinės sąsajos kūrimo karkasas.
    Įrankiai: C++, OpenGL, Adobe Flash, Photoshop




  • Forge - procedūrinių tekstūrų generavimo programa naudojanti operatorių stekavimo/jungimo metodus. Tekstūrų hierarchinio generavimo spartinimas naudojant GLSL šešėliavimo programas.
    Įrankiai: C++, OpenGL, GLSL


                          
  • Tank AI - AI programavimo turnyrų sistema (geriausio dirbtinio intelekto kūrimo bandymų karkasas). Roboto modulio programavimo karkasas. Pilnai išbaigtas.
    Įrankiai: C++, OpenGL


      

  • UVLayout - tekstūrų pakavimo vienoje didelėje tekstūroje interaktyvi koordinačių redagavimo ir kūrimo programa. Pilnai išbaigtas.
    Įrankiai: C++, OpenGL, Python



  • DocGen - automatizuotas HTML dokumentacijos generatorius iš C++ source failų
    Įrankiai: C++



  • MyASM - asemblerio tipo programavimo kalbos interpretatorius
    Įrankiai: C++



  • OgreFlow - Ogre 3D varikliuko dalelių sistemų redaktorius
    Įrankiai: Morge, C#

    https://github.com/tomazas/ogreflow

     


  • NormalMap'ų iš tekstūrų generavimo programa
    Įrankiai: C++
  • UV-Flat - 3D modelių automatinio parametrizavimo sistema su Ambient Occlussion ir Lightmap baking
    Įrankiai: OpenGL, C++


      

     

  • PortScan - atvirų prievadų skenavimo programa
    Įrankiai: Borland Delphi 7



Dalyvavimas konkursuose:
  • 2007m. žurnalo "Kompiuterija" žaidimų kūrimo konkursas - sukurti 3 Flash žaidimai
  • 2009m. Microsoft "Naršyk ir laimėk" - IE8 papildukų konkursas - sukurtas flash.fm papildukas
  • 2011m. Microsoft "ImagineCup" media kategorija - sukurtas video AIDS tematika

Akademiniai projektai:


  • Eismo juostų ir automobilių nustatymas (automated driver assistance system) 
    naudojami kompiuterinės regos Canny, Haar bruožų-klasifikacijos (machine learning), Hough transformacijos metodai, automobilių hipotezės verifikavimas, klasifikatorius iš 512 automobilių DB

    Įrankiai: C++
    , OpenCV
  • Quake tipo žaidimo 2D botų simuliatorius (+žemėlapių redaktorius) 
    navigacija grafe, dirbtinis intelektas(būsenų metodas), galimybė žaisti kartu su botais
    Įrankiai: Java SE

    https://github.com/tomazas/quake2d

     

  • Stačiakampių pakavimas uždaroje daugiakampėje erdvėje (rectangle packing) 
    bet kokio dydžio stačiakampių pakavimas neiškilioje(concave) nesikertančioje srityje/konteineryje, naudojamas BFGS iteracinis optimizavimo metodas 

    Įrankiai: Java, Processing, liblbfgs
    https://github.com/tomazas/convex-rect-pack

    •   
    • Kubinių splainų generavimo programa 
      2D taškus interpoliuoja kubiniais splainais su skirtingomis kraštinėmis sąlygomis, kursinis grafų teorijos ir skaitinių algoritmų 
      projektas
      Įrankiai: Java SE 
    https://github.com/tomazas/k2-course
     
    • 2D Namų planų braižymo programa 
      pastatų signalizacijos įrengimo išdėstymo modeliavimui ir kt., pritaikyta daugiaaukščių planavimui, kainų ataskaitos sudarymas, duomenys apdorojimas XML formatu, planų eksportavimas PNG formatu

      Įrankiai: Java SE



    • NLP algoritmų taikymas teksto analizei (natural language processing in data mining) 
      sukurtas angliškų tekstų analizatorius gebantis surasti tekste paminėtus žmones, jų veiksmus ir tarpusavio sąveikas, sudaryti teksto santrumpą, klasifikuoti tekstą į keletą dažniausiai sutinkamų kategorijų.

      Įrankiai: Python NLTK, Java
      https://code.google.com/p/py-nltk-dev/