• This is default featured slide 1 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 2 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 3 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 4 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 5 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

Arche OS - arheološki operativni sistem


Archeo OS v5 - Theodoric
Izvor slikehttp://www.archeos.eu/  

Arheologija iako nije egzaktna znanost ona je danas znatno uznapredovala i kao takva jedina otvara prozor u prošlost, mogučnost da se vratimo nekoliko hiljada godina unazad i da donekle saznamo kako su to živjeli ljudi prije nas. Obzirom da danas sve počiva na računalima i da je 21 stoljeće era robotike i računalnih tehnologija, arheologija je se mora prilagoditi tehnološkim standardima i novitetima te ih adekvatno primjeniti u svojim oblastima. Tako mi arheolozi danas možemo vrlo lahko dobiti 3D model snimkom totalne stanice iz fototački koje smo prethodno na terenu obilježili i uz pomoću AutoCAD-a kreirati precizan 3D model terena, kuće, gradine, villa rustice, hrama ili bilo koje druge željene građevine.                                                                

Piše: Amar Tufo
Student Arheologije, 
Filozofski fakultet Sarajevo
27 Decembar, 2015

No, hvala Bogu pa postoji Linux koji je mislio i na arheologiju i kao takvu je imao u planu.  Moj blog po prvi put donosi članak o prvom izvanrednom arheološkom operativnom sistemu po imenu Arche OS. Ovaj GNU/Debian baziran operativni sistem je razvila grupa italijanskih arheologa čiji je cilj promovisanje besplatnog slobodnog softwera otvorenog koda i GNU/GPL licence. Najbolja stvar je što Arche OS predstavlja prvi operativni sistem u službi jedne nauke kakva je arheologija, pa kao takav dolazi upakovan sa setom pažljivo odabranog softwera za obradu bilo koje vrste arheoloških podataka. 

Arche OS sada u svom petom izdanju kodnog imena Theodoric (kralj Teodorik Veliki Ostrogotski 454 - 526), dolazi sa podrazumjevanim softwerom koje obično nalazimo u svim Linux distribucijama od Libre Office-a 5.0, GIMP, Brasero Disc Burnera, Mozilla Firefox web preglednika, Terminala, VLC Media Playera za multimedijalnu produkciju velikog broja formata datoteka i drugog standardnog softwera.

Obzirom kako je ovo isključivo arheološki operativni sistem, Arche OS je opremljen arsenalom močnog ali open source arheološkog softwera kao što je Blender, 3D modeling i rendering program, Makehuman, open source program za kreiranje 3D ljudskih figura, FreeCAD, open source program za 3D modelovanje te set GIS (Geographic Information System) alata. Tu je takođe InkScape, program za obradu vektorske grafike, te Stippler programčić za obradu mozaičnih figura u močne 2D/3D modele. 


Primjer Fotogrametrije (Arche OS v5.0)

Arche OS između ostalog donosi program Fotogrametriju, metoda koja omogučava arheolozima da kreiraju 3D model ili skicu na osnovu tačnih mjera fotografije u realnom vremenu. Upravo za tu svrhu Arche OS je opremljen softwerom po imenu Insight 3D, program koji omogučava kreiranje 3D modela na osnovu fotografije ili video snimka objekta.

 Insight 3D (Arche OS v5.0) 

Na kraju što reči do samo riječi hvale. Treba svakako pohvaliti trud italijanskih arheologa koji su se pobrinuli da arheologija kao nauka dobije i svoj prvi arheološki operativni sistem Arche OS, vjerovatno i jedini takav operativni sistem u službi ove nauke koji predstavlja prvo alternativu Windowsu i komercijalnom softweru zatvorenog koda te arheologe i studente arheologije uvodi u svijet Linux-a i slobodnog besplatnog softwera otvorenog koda. Upotrebom Arche OS-a studenti i arheolozi imaju mogučnost da upoznaju prave čari arheologije, one arheologije koja promiče korištenje i upotrebu Linux u svakodnevnim zadacima bilo u laboratoriji ili na terenu. 

Lista poveznica:
  1. Arche OS http://www.archeos.eu/index.html  
  2. Arche OS Academia. edu http://www.academia.edu/1705295/ArcheOS_v.4_the_new_release_of_the_Archaeological_Operating_System  
  3. Archeo OS GitHUB https://github.com/archeos/ 
Share:

Allegro Lab II i primitivna While petlja

Image source: (cgcookie.com/2DSpaceShooter)

U ovom izdanju AllegroLab-a II pogledat ćemo na implementaciju i razvoj primitivne while petlje u programu kojim se sprite pomjera tipkovnicom u različitim pozicijama na zaslonu. Ovaj AllegroLabII je dio moje Allegro2D radionice u kojoj se izrađuje moja prva interaktivna 2D CometShooter igrica. Da ne dužim bespotrebno, pređimo na posao.

Izvorni tehnički članak,
Piše: Amar Tufo

Opis zadatka:

U ovom labu naš zadatak je da modifikujemo primjer programa Allegro_Bitmap tako da u izvornom kodu kreiramo timer event handler koji će nam omogučiti da se naš program izvršava svakih 60 sekundi na screen-u. Šta to znači? To znači da se objekti igrice, spritovi, animacije, slike, i fontovi ažuriraju i iscrtavaju svakih 60 puta u jednoj sekundi. Kako je to moguće postiči? Vrlo jednostavno! Sve što treba da uradimo jeste kreiranje FPS funkcije ili frames per second. Teoretski govoreči, naša igrica kada se jednom pokrene, korisnik će imati istu brzinu gameplay-a bez obzira na brzinu računala. Ovako u ovom tekstu, ukoliko nastavim dalje, mogao bih vas zbuniti. Pa da ne duljim, pogledajmo kako izgleda while petlja bez timer-a. Ali prije nego nastavimo, treba da znamo šta je to Allegro_Timer?

Allegro_Timer?

Dok igrate neke zahtjevne video igre, podrazumjeva se da vam je HD grafička karta i da je vaš računar barem 2 do 4 GB RAM-a jak. To znači da ćete za ove performanse dobiti podjednaku brzinu gameplay-a vaše igre i da ćete biti u stanju primjetiti velike razlike u FPS-u koji vaša igrica koristi. No, kada dođe do 2D video igara, jako je neophodno da takve igrice imaju svoj FPS jer će se večinom pokretati na slabijim računalima, to se i podrazumjeva. U programiranju video igre koristeči se Allegro bibliotekom unutar koje postoji funkcija Allegro_Timer koja developeru omogučava da vidi brzinu svoje igrice koju izrađuje i igra, a u isto vrijeme mu omogučava da igračima svoje igre dostavi brzinu od recimo 60 FPS-ova u sekundi bez obzira na slabe performanse test računala.

Ovaj lab je dio moje Allegro2D game dev serije pa ja stoga neću govoriti u detalje kako i na koji način kreirati cio projekat, jer podrazumjevam da ste ranije radili u C++-u ili u Visual C++ 2008 razvojnom okruženju i da ste već dosada napravili neke svoje aplikacije makar to bio i HelloWorld ili desktop aplikacija koja pritisko na taster pozdravlja korisnika nekom porukom. Ono što ću iznjeti u daljem djelu ovog članka jeste while petlja kao glavni dio ovog laba. Vidjet ćemo dvije while petlje i ukazati na njihove razlike kako bismo rješili naš problem sa pomjeranjem sprajta na zaslonu. Primjer veoma jednostavne while petlje je dat dolje ispod ovog teksta.


//main loop
 while(!exit)
 {
  ALLEGRO_EVENT ev;
  al_wait_for_event(event_queue, &ev);

  if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
  {
   switch(ev.keyboard.keycode)
   {
   case ALLEGRO_KEY_ESCAPE:
    exit = true;
    break;
   }
  
  } 
U ovoj klasičnoj while petlji nema ništa tako bitno što je vrijedno pomena. Tu se, doduše, nalazi jedna swithc case funkcija koja zatvara aplikacije pritiskom tastera escape na tastaturi. While petlja ili game petlja je jako važan dio bilo koje igrice jer se u njoj provjerava unos s tastature, kontrole, razni drugi djelovi igrice kao što je rendering, animacije i još niz drugih stvari. A sada pogledajmo kako bi izgledala unapređena while petlja na primjeru iz opisa ovog teksta. Da se posjetimo, sprite mora da se pomjera jako glatko na zaslonu a ne step- by -step. Da bismo to postigli u tu svrhu je deklariran timer ili jednostavno FPS regulator. 

Prije nego li pogledamo kako cijela while petlja izgleda, pogledajmo izvorni kod Allegro_Bitmap programa kojeg treba da modifikujemo.  

//Allegro_Bitmap_App
//Developer: Amar Tufo
//8. October, 2015
//This sample demonstrates the use of bitmaps in Allegro
//and way of manipulating the bitmaps in actual programs
 
#include <allegro5\allegro.h>
#include <allegro5\allegro_primitives.h>
#include <allegro5\allegro_image.h>


int main()
{
//variables
 int width = 640;
 int height = 480;
 bool exit = false;

 int imageWidth = 0;
 int imageHeight = 0;

 int x = 0;
 int y = 0;
 
 //allegro variable
 ALLEGRO_DISPLAY *display = NULL;
 ALLEGRO_EVENT_QUEUE *event_queue = NULL;
 ALLEGRO_BITMAP *image = NULL;

 //program init
 if(!al_init())          //initialize Allegro
  return -1;

 display = al_create_display(width, height);   //create our display object

 if(!display)          //test display object
  return -1;

 //addon init
 al_install_keyboard();
 al_init_image_addon();

 image = al_load_bitmap("slika.png"); //local folder

 imageWidth = al_get_bitmap_width(image);
 imageHeight = al_get_bitmap_height(image);

 x = width / 2 - imageWidth / 2;
 y = height / 2 - imageHeight / 2;
       
        //installing event sources    
 event_queue = al_create_event_queue();
 al_register_event_source(event_queue, al_get_keyboard_event_source());
        
        //main loop starts here
 while(!exit)
 {
  ALLEGRO_EVENT ev;
  al_wait_for_event(event_queue, &ev);

  if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
  {
   switch(ev.keyboard.keycode)
   { //allow user to exit the program
   case ALLEGRO_KEY_ESCAPE:
    done = true;
    break;
   case ALLEGRO_KEY_UP:
    y -= 10; 
    break;
   case ALLEGRO_KEY_DOWN:
    y += 10;
    break;
   case ALLEGRO_KEY_LEFT:
    x -= 10;
    break;
   case ALLEGRO_KEY_RIGHT:
    x += 10;
    break;
   }
  } //main loop ends here

  al_draw_bitmap(image, width / 2 - imageWidth / 2, height / 2 - imageHeight / 2, 0);
  al_draw_tinted_bitmap(image, al_map_rgba(255, 0, 0, .2),  x,  y, 0);

  al_flip_display();
  al_clear_to_color(al_map_rgb(0,0,0));
 }

 al_destroy_bitmap(image);
 al_destroy_event_queue(event_queue);
 al_destroy_display(display);      //destroy our display object

 return 0;
} 
Dakle, ovo je izvorni kod Allegro_Bitmap programa u kojem treba da napravimo modifikaciju tako da se sprajt na zaslonu pomjera koristeči FPS timer a ne step by step ili piksel po piksel. Ovako teoretski ne možete vidjeti šta to znači pa sam stoga pripremio i kratki video demo ovog programa u akciji kako biste vidjeli što je to FPS. 


Demonstracija pomjeranja sprajta na zaslonu bez upotrebe FPS-a

Glavna razlika u gornjem izvornom kodu jeste ta što program nema deklariran FPS event handler, odnosno da se program ne izvršava 'glatko' kako bi trebao. Da bi se ovo rješilo potrebno je deklarirati nekoliko manjih varijabli koje omogučavaju programu da se svi njegovi elementi pokreću ili iscrtavaju svakih 60 puta u jednoj sekundi. Dakle, FPS je po standartu jednak 60 sekundi pa stoga program koristi istu brzinu rada bez obzira na performanse vašeg računala na kojemu se program izvršava. 

Modifikacije koje treba da napravimo u gornjem izvornom kodu su sljedeće. Prvo trebamo da modifikujemo pomjeranje sprajta na zaslonu u samom izvornom kodu. Ne želimo nikako da nam se sprajt pomjera svakih 10 piksela ili korak po korak. Naš cilj je da se sprajt pomjera onoliko dugo po zaslonu koliko mi držimo određene tastere (strelice) naše tastature, tek onda kada otpustimo naše strelice sprajt će prestati sa pomjeranjem. Kako sam već i rekao, prvu stvar koju radimo jeste deklaracija FPS varijable (int FPS = 60;). Ova varijabla je kreirala FPS od 60 sekundi. Sada treba da deklariramo poseban pokazivać na timer. Srećom, Allegro u sebi ima timer handler koji nam omogučava da ostvarimo željeni efekat uz jako malo koda. Evo i kako.

Timer će nam omogučiti adekvatnu primjenu FPS varijable u našem kodu pa bi se naš sprajt trebao brzo pomjerati na zaslonu bez obzira na performanse računala. Deklaracija timer-a je sljedeća:  ALLEGRO_TIMER *timer = NULL; Ovde kako vidimo imamo pokazivać po imenu timer na varijablu Allegro_Timer. Pokazivači su jako bitan segment u programiranju bilo video igara pa tako i drugih aplikacija pa je njihovo razumjevanje od prijeke važnosti. Nakon deklaracije Allegro_Timer varijable trebali bismo registrovati izvor za ovu varijablu a to radimo sljedećom linijom koda: al_register_event_source(event_queue, al_get_timer_event_source(timer)); Ovom linijom koda smo kazali Allegru koji izvor akcije koristimo u doslovnom smislu. Nakon kreiranja i potvrde korištenja Timer varijable potrebno je da uključimo timer ovom linijom koda: al_start_timer(timer)
 
Glavni dio ovog koda jeste naša sređena while petlja koju ovdje prenosim u cjelosti uz popratne komentare pa ću komentirati u nastavku while petlju za pojedine nejasnoće. 
 
//while loop start's here
  while(!exit)
 {
  //creating allegro event
  ALLEGRO_EVENT ev;
  al_wait_for_event(event_queue, &ev);
  
  //if keyboard key is pressed then
  if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
  {
   switch(ev.keyboard.keycode)
   {
   case ALLEGRO_KEY_UP:
    keys[UP] = true;
 break;
   case ALLEGRO_KEY_DOWN:
  keys[DOWN] = true;
    break;
   case ALLEGRO_KEY_RIGHT:
   keys[RIGHT] = true;
    break;
   case ALLEGRO_KEY_LEFT:
    keys[LEFT] = true;
    break;
   }
  }
  //keep track of my keys
 else if(ev.type == ALLEGRO_EVENT_KEY_UP)
  {
   switch(ev.keyboard.keycode)
   {
   case ALLEGRO_KEY_UP:
    keys[UP] = false;
 break;
   case ALLEGRO_KEY_DOWN:
  keys[DOWN] = false;
    break;
   case ALLEGRO_KEY_RIGHT:
   keys[RIGHT] = false;
    break;
   case ALLEGRO_KEY_LEFT:
    keys[LEFT] = false;
    break; //if user press escape key
   case ALLEGRO_KEY_ESCAPE:
    exit = true; //than exit
    break; //if user press space key
   case ALLEGRO_KEY_SPACE:
    exit = true;//than exit
    break;
   }
  } 
 
  //closing window by pressing red X
  else if(ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE)
  { //while loop end's here
   exit = true; 
  } //using allegro_timer event handler
  else if(ev.type == ALLEGRO_EVENT_TIMER)
  {
    //move my square every 10 pixels
    y -= keys[UP] * 10;
    y += keys[DOWN] * 10;
    x -= keys[LEFT] * 10;
    x += keys[RIGHT] * 10;
   
  } 
Listing1: Primjer while petlje sa upotrebom FPS i Timer varijable

Ja sam večinu ovih linija koda prethodno iskomentarisao kako bi se snašao u budućim modifikacijama istog izvornog koda ukoliko bude bilo potrebe za njih. Nešto posebno da kažem nemam, ali se ovaj dio koda bitno razlikuje od onog gore koji je prikazan u ovom članku jer ovaj kod ima TIMER event handler koji sada automatski startuje program bez potrebe da se ćeka na određeni pritisak tastera na tastaturi kako bi se program pokrenuo. Osim toga, kako ćete u nastavku imati priliku da vidite, program se izvršava relativno brzo gdje koristi svoje resurse za rad pa se sprajt dosta brže pomjera na zaslonu. Cio izvorni kod konačnog rješenja ovog laba možete pogledati u nastavku.

 
//Allegro_Bitmap_App
//Developer: Amar Tufo
//12. October, 2015
//This sample demonstrates the use of bitmaps in Allegro
//and way of manipulating the bitmaps in actual programs
//by using FPS
 
#include <allegro5\allegro.h>
#include <allegro5\allegro_primitives.h>
#include <allegro5\allegro_image.h>

enum KEYS{UP, DOWN, LEFT, RIGHT};

int main()
{
 int width = 700;
 int height = 650;
 bool exit = false;
 bool keys[4] = {false, false, false, false};

 int imageWidth = 0;
 int imageHeight = 0;
 int x = 0;
 int y = 0;
 //int pos_x = width / 2;
 //int pos_y = height / 2;

 //creating speed regulation
 int FPS = 60;

  //float scale = 2;

 //float degree = 0;

 //Creating allegro variables
 ALLEGRO_DISPLAY *display = NULL;
 ALLEGRO_EVENT_QUEUE *event_queue = NULL;

 ALLEGRO_BITMAP *image = NULL;
 
 //Creating timer event handler
 ALLEGRO_TIMER *timer = NULL;


 //allegro init check
 if(!al_init())
  return -1;

 display = al_create_display(width, height);

 //check display initialisation
 if(!display)
  return -0;

 //addon init
 al_install_keyboard();
 al_init_primitives_addon();
 al_init_image_addon();

 //register timer event
 timer = al_create_timer(1.0 / FPS);

 //load image into memory 
 image = al_load_bitmap("slika.png");
 
 //determine width & height of image
 imageWidth = al_get_bitmap_width(image);
 imageHeight = al_get_bitmap_height(image);

 //initialising variables
 x = width / 2 - imageWidth / 2;
 y = height / 2 - imageHeight / 2;

 //registering event sources
 event_queue = al_create_event_queue();
 al_register_event_source(event_queue, al_get_keyboard_event_source());
 al_register_event_source(event_queue, al_get_timer_event_source(timer));
 al_register_event_source(event_queue, al_get_display_event_source(display));


 //start timer
  al_start_timer(timer);

  //while loop start's here
  while(!exit)
 {
  //creating allegro event
  ALLEGRO_EVENT ev;
  al_wait_for_event(event_queue, &ev);
  
  //if keyboard key is pressed then
  if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
  {
   switch(ev.keyboard.keycode)
   {
   case ALLEGRO_KEY_UP:
    keys[UP] = true;
 break;
   case ALLEGRO_KEY_DOWN:
  keys[DOWN] = true;
    break;
   case ALLEGRO_KEY_RIGHT:
   keys[RIGHT] = true;
    break;
   case ALLEGRO_KEY_LEFT:
    keys[LEFT] = true;
    break;
   }
  }
  //keep track of my keys
 else if(ev.type == ALLEGRO_EVENT_KEY_UP)
  {
   switch(ev.keyboard.keycode)
   {
   case ALLEGRO_KEY_UP:
    keys[UP] = false;
 break;
   case ALLEGRO_KEY_DOWN:
  keys[DOWN] = false;
    break;
   case ALLEGRO_KEY_RIGHT:
   keys[RIGHT] = false;
    break;
   case ALLEGRO_KEY_LEFT:
    keys[LEFT] = false;
    break; //if user press escape key
   case ALLEGRO_KEY_ESCAPE:
    exit = true; //than exit
    break; //if user press space key
   case ALLEGRO_KEY_SPACE:
    exit = true;//than exit
    break;
   }
  } 
 
  //closing window by pressing red X
  else if(ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE)
  { //while loop end's here
   exit = true; 
  } //using allegro_timer event handler
  else if(ev.type == ALLEGRO_EVENT_TIMER)
  {
    //move my square every 10 pixels
    y -= keys[UP] * 10;
    y += keys[DOWN] * 10;
    x -= keys[LEFT] * 10;
    x += keys[RIGHT] * 10;
   
  }
  //draw on the screen if there are no other event to process
    al_draw_bitmap(image, width / 2 - imageWidth / 2, height / 2 - imageHeight / 2, 0);
    //drawing tinted image on screen
   al_draw_tinted_bitmap(image, al_map_rgba(125,100,100, .5), x, y, 0);
  //draw scaled image on the screen
  //al_draw_scaled_bitmap(image, 0, 0, imageWidth, imageHeight, x, y, imageWidth * scale, imageHeight * scale, 0);

  //draw rotated image to the center of the screen
  //al_draw_rotated_bitmap(image, imageWidth / 2, imageHeight / 2, width / 2, height / 2, degree * 3.14159 / 180, 0);
  
  //draw image on center of the screen
  //al_draw_bitmap(image, width / 2 - imageWidth / 2, height / 2 - imageHeight / 2, 0);

  al_flip_display();
  al_clear_to_color(al_map_rgb(0,0,0));

  }
  al_destroy_bitmap(image);
  al_destroy_event_queue(event_queue);
  al_destroy_display(display);

  return 0;
} 
Konačno rješenje Allegro_Lab-: Moving image by FPS and Timer on the screen (Video)

Zaključak:

Bez obzira da li pravili 2D ili 3D igricu veoma je važno da vaša igrica obezbjedi takvu igraču atmosferu gdje greškama i minusima u brzini izvršavanja vaše igre jednostavno mjesta nema. Obzirom da tehnologije svaki dan napreduju, Allegro je i dalje jedan od onih izvrsnih API-a koji nam omogučavaju izradu visoko kvalitetnih i interaktivnih 2D/3D igara koje su kompatibilne sa skoro svim vodećim platformama. Jednom razvijena u Windows okruženju, vaša Allegro igrica će se bez problema pokrenuti na Mac-u ili Ubuntu Linux-u. Stoga je poliranje brzine i upotreba FPS-a svakako prijeko potrebna funkcija koja vašoj igri daje onu dozu adrenalina koja drži korisnika prikovanog uz tastaturu i monitor bez obzira o kakvoj vrsti i tipu igre je rjeć. S druge strane, FPS nije luksuz u video igricama barem koliko sam ja upoznat, nego je on jedan njen sastavni dio koji omogučava nesmetano igranje vaše igrice bez obzira koji OS i brzinu vaše računalo koristi. Zato u početku, razvoj igara treba da bude fokusiran isključivo samo na 2D video igrice kojima ne samo da ćete izgraditi temelj za prijelaz u 3D svijet game developmenta, nego je to jedan od vjerovatno najboljih načina da savladate programiranje u suštini i ovladate C++ programskim jezikom. 

__________________________
© Amar Tufo, 2015
www.amartufointerctive.org 
18. Novembar, 2015

Share:

AmarTufoInteractive od sada na novoj adresi.



Već duže vremena sam planirao zakup domene za svoju web stranicu koja je, kako vam je dobro poznato, dobar svoj period oko dvije godine bila na besplatnoj blogspot.com domeni. To je naravno otežavalo Google tražilici da indeksira i pronađe moj blog onda kada su ga korisnici posječivali. 

Stoga sam bio strpljiv i kupio sam sebi .org domenu. Provajder je LEFTOR D. O. O Tuzla koji hostira moju domenu i pruža njene usluge i servise koje koristi AmarTufoInteractive. Ovako će Google bolje indeksirati moju web stranicu u pretragama i omogučiti efikasniji način pretrage moje web stranice.

Ono što želim da svi znate a to je kako AmarTufoInteractive ostaje blog samo što je sada daleko ozbiljniji blog/web stranica koja će i dalje nastaviti sa svojim radom i objavom članaka razne tematike, barem one opisane u zvaničnoj tematici kojom se moj blog bavi. 

Nadam se da ću u narednom periodu uspjeti privuči što veći broj čitalaca i pratilaca ovog bloga i time poboljšati njegovu publiku a zauzvrat ću pisati još bolje tekstove i članke nego što je to do sada bio slučaj. 

Do narednog čitanja, Amar Tufo.

Share:

Allegro2D Game radionica - sumiranje prvog djela!

Image source: Notbus Unity2D spaceshooter

Nakon kraće pauze, Allegro 2D game radionica se nastavlja. U ovom kratkom postu trebao bih da resumiram i napravim kratak pregled onoga što sam do sada uradio i što sam naučio. Da vas posjetim šta je to Allegro 2D radionica? Allegro 2D radionica je game dev radionica koja ima za cilj razvoj 2D space shootera koji koristi Allegro5 API i koji se razvija u Visual C++ 2008 Express izdanju. 

Šta je do sada urađeno?

Smatram da nema potrebe da dužim pa ću ovako jasno i kratko sumirati glavne cjeline svoje prve 2D igrice. Dakle, 2D space shooter igrica se razvija u Visual C++ 2008 Express izdanju te kao takva još uvijek nema svoj oficijelni naslov. Igrica počiva na Allegro5 API-u, crossplatform engineu koji omogučava game developerima razvoj interaktivnih video igara koje su kompatibilne sa svim vodećim platformama Windows, Mac & Linux. 
Cijela Allegro radionica ima za cilj da prikaže osnove 2D game developmenta kroz osnovnu matematiku, manipulaciju određenim tipovima podataka kroz C++ programski jezik, primjenu određenih tehnika programiranja, manipulaciju if then else, while, & for petljama, kreiranje od osnovnih do veoma naprednih game petlji, zatim manipulaciju ulazom i izlazom koristeči tastaturu i miš, te razumjevanje glavnih i ćesto korištenih Allegro funkcija i njihove manipulacije kroz Visual C++ 2008.


SpaceShooter game play short preview

Do sada je, mogu slobodno da kažem, izrađena cijela igrica sa jasnim i veoma solidnim game stateom gdje imate maleni brod koji se kreće kroz maleni svemirski prostor. Vaš cilj je da uništite što više kometa koje dolaze na vas a da vas pritom niti jedna kometa ne prođe niti dotakne vaš brodić, jer u suprotnom gubite jedan od vaša tri života. Ukratko opisano. Igrica za sada ima i score, game over sequence i exit mode te 5 sekundi da se korisnik spremi za igru. Poprilično kuul!

Za sada nedostaje svakako grafičko poliranje interfejsa, ušminkavanje te sređivanje glavnih game funkcija kako bi igra postala zahtjevnija nego što je to sada. Naravno, ne oćekujete valjda da pravim World of Warcraft, toliko dobar nisam a i da jesam sigurno ju sam ne bi pravio niti bi imao te konjske živce i sabur, osim toga jako užasno crtam pa taj film nećete dugo Bogme pogledati a možda i nikada. 

Uglavnom, po završetku poliranja bit će to solidan 2D space shooter sa animacijama razaranja brodiča i komita, nekakvim zvukovima u pozadini, muzikom game play-a, nekim mojim artom za menu i komete i eto je moja prva 2D/C++ igrica za PC-jeve. Nemojte zaboraviti, ja sam buduči arheolog a ne softwer inženjer, programiranje mi je najbolja vanstručna i vanarheološka aktivnost koju imam i vjerovatno najbolji skil koji sam mogao steči. 

Šta sam ja do sada naučio?

Uh, pa mogu slobodno vala da kažem, sve i svašta. Tako je, sve i svašta sam naučio kroz ovaj prvi završeni dio razvoja svoje 2D igrice. Od manipulacije tipova podataka, učitavanja assets-a (programeri će razumjeti), manipulacije uređajima tastature i miša, manipulacije ulazom i izlazom, manipulacije glavnih Allegro5 funkcija i da ne zaboravim njenu instalaciju i konfiguraciju pod razvojno Visual C++ 2008 okruženje.

 Dakle, mogu slobodno da kažem da je ovo koliko izazovna toliko i dobra stvar jer konačno vidim if then else, while & for loop u akciji, konaćno razumijem one silne boolean tipove podataka gdje sam naučio kako da sam manipulišem različitim varijablama koristeči boolean tip, učitavanje fontova na određenoj poziciji screen-a te kreiranje sopstvenog FPS timer-a u video igri kako bi dobio podjednake game performanse na drugim računalima uz istu brzinu.  

Ovdje takođe moram da kažem kako su urađena dva Allegro Lab-a kao manje provjere znanje sa ciljem manipulacije određenih funkcija kao što je AllegroLab za kreiranje FSP speed kontrolera unutar video igrice (ovaj lab se privodi kraju), a  dostupan je gotov Allegro Lab koji prikazuje kreriranje escape rutine i učitavanje custom fonta (vidi na kraju ovog članka link na sam lab).
 
Cijelu Allegro radionicu možete pratiti na ovom mom blogu gdje će uskoro biti objavljena na beta test moja prva 2D igrica kao krajnji rezultat cijele ove Allegro radionice i ovog, za mene velikog, programerskog poduhvata.    

Do narednog čitanja, Amar Tufo. 

Poveznice:


Share:

Minox Software objavio izvorni kod Minox Player-a


Iako će uskoro Minox Player uči u alpha verziju v2.3.0.5 izdanja, Minox Software je objavio izvorni kod Minox Player-a na službenom blogu mog programa. Tako je sada cio Minox Player SDK dostupan VB.NET developerima koji žele pomoči njegov razvoj i proširiti te unaprijediti Minox Player za buduća izdanja.

Obzirom da sam još uvijek njegov glavni developer, izvorni kod je stoga objavljen pod GNU/GPLv2.0 licencom kojojm se garantuje sloboda daljnje redistribucije i slobodnog razvijanja Minox Player-a.

Da ne dužim, poznato vam je kako vam naravno za razvoj Minox Player-a treba računalo sa solidnim performansama nekih 512 MB RAM-a, isto toliko grafičke memorije (poželjno), 80 GB diska ili više, VB.NET i naravno Windows 7. U ostale detalje ili preduslove kao što su poznavanje programiranja, manipulacije radnim engineom, izradom UI-a i ostalih tech finesa ne moram ulaziti. 

Minox Player SDK je od jućer dostupan za download pa ukoliko ste zainteresovani, izvorni kod možete preuzeti klikom na ovaj link: 



Share:

Ubuntu 15.10 Dostupan za preuzimanje, evo šta je novo.

Image source: (OMG Ubuntu.com)

Evo nakon punih 6 mjeseci rada i truda, Ubuntuovi developeri su konačno dostavili novi Ubuntu Linux15.10 Wily Werewolf (Wili Vukodlak). Čudno je što je Canonical svom novom Ubuntu-u dao ime po legendarnom mitološkom biću ali je zasigurno i vrijedan svoga imena. 
Odmah na početku da napomenem kako nema znatnih promjena u pogledu interfejsa, radnog okruženja, niti njegovih standardno upakovanih aplikacija, ali Ubuntu u ovom izdanju doduše donosi neke novine. GNOME radno okruženje Desktop površine je sada verzije 3.16. Unity, podrazumjevano Ubuntu radno okruženje je takože ispolirano i od bagova operirano. 

Unity 7.3.3 je sada uključen i u Ubuntu 15.10 te je poprimio neke manje zakrpe bagova, tu je novi Linux 4.2 kernel. Kod Unity-a mi se najviše sada dopada to što je moguće ikonu aplikacije iz Dash-a poslati na Desktop te tako stvoriti prečicu za pokretanje aplikacije. 

U pogledu radne površi novi Ubuntu je dobio i svoju novu pozadinu. Doduše, ništa posebno što bi trebalo da nas oduševi ali se uvijek može promjeniti željena pozadina umjesto ove koju donosi Ubuntu 15.10. 

Podrazumjevana nova pozadina Ubuntu 15. 10 

Kao što sam rekao, bitnih promjena u interfejsu Ubuntu 15. 10 i ne donosi, pa je tako radno okruženje, ponašanje samog sistema, šminkanje interfejsa uvijek dostupno uz naravno, seriju besplatnih i super kul tema dostupnih za sva ranija i novija Ubuntu izdanja. Ubuntu 15. 10 donosi i jednu novu temu a to je Arc tema koja izgleda zaista predivno na desktop-u. 

Arc Ubuntu Linux theme

I po dobro poznatoj tradiciji, Ubuntu Linux uvijek dolazi sa setom predinstaliranih aplikacija od popularnog Libre Office-a 5. 0. 2, Chromium-a, Googleovog open source web preglednika i još mnogo toga. Naravno, tu je kao i uvijek lista 10 stvari koje trebate uraditi nakon instalacije Ubuntu-a 15. 10 koju možete pogledati u linku ispod ovog članka. 

Sloboda je na vama, želite li uraditi clean install Ubuntu-a 15.10 ili čekati da se pojavi upgrade dialog odakle možete uraditi upgrade s Ubuntu-a 15. 04 na novi Ubuntu 15. 10. Moje mašine će se malo načekati dok poprime svježiji upgrade i novi Ubuntu 15. 10. A o tom po tom.  Ubuntu 15. 10 možete preuzeti klikom na donji link, sretno sa instalacijom i korištenjem.

http://releases.ubuntu.com/15.10/?utm_source=omgubuntu



Do narednog čitanja.

Lista poveznica:

Ubuntu 15.10 Available to Download, This Is What’s New
http://www.omgubuntu.co.uk/2015/10/ubuntu-15-10-download-review-new-features  

10 Things To Do After Installing Ubuntu 15.10
http://www.omgubuntu.co.uk/2015/10/10-things-to-do-after-installing-ubuntu-15-10
Share:

Želite pisati za ovaj blog?


Sada je već dvije godine kako je ovaj blog aktivan. Najmanje 10 puta je mjenjan njegov HTML template dok mi se 'konačno' nije dopao i ovaj. I ovaj se template nalazi pod velikim upitnikom, u smislu trebam li ga mjenjati ili ne. 

Kako blog postoji, nisam znao bolje ime smisliti do evo AmarTufoInteractive. Moram priznati da mi se i naziv bloga dopada, jer nekako predstavlja mix arheologije, nauke, serije svakakvih članaka i tehnologije, pa barem ne moram naziv bloga mjenjati. 

E sada gdje sam zapeo? Pa kako svi znate, blog od svog postojanja uređujem Ja i samo Ja. Nema treće strane, niti ekstra autora koji bi pisali za moj blog. Pa evo koristim ovu posebnu priliku da pozovem sve Vas koji ste zainteresovani (ako ste zainteresovani) da mi pomognete, da pišete za ovaj blog i tako ga učinite zanimljivijim nego što on to jeste, ako jeste? 

O ćemu biste pisali?

Imate zanimljivu vijest iz Arheologije (ovo prepustite meni), Ubuntu Linux-a i Ubuntu savjeta, svojih kratkih vodiča na temu Kako ovo, kako podesiti ovaj ruter, kako instalirati ovaj program i tako, Misterija ili Zanimljivosti, onda bujrum. 
ARHEOLOGIJA,
UBUNTU LINUX,
ZANIMLJIVOSTI,
MISTERIJE,
RAZNO - TUTORIJALI, GAME PLAY, VAŠE IGRICE ILI APLIKACIJE . . . .
(Politika, vjera i religija, te erotski sadržaj nisu dopušteni za objavu niti su tema ovog bloga). 


Šta mi treba da bih pisao za Vas?

Ako želite pisati za nas, onda se javite na ovaj e-mail:
veritastriumfus@gmail.com te nam pošaljite svoje Ime i Prezime a mi ćemo Vam vratiti pozivnicu za autora, te nakon vaše potvrde postat ćete službeno autor bloga AmarTufoInteractive. 

Uslovi:

Ne zapošljavate se u državnoj službi majka mu stara, ja nisam vaš poslodavac niti vaš šef niti ste mi podređeni. Ne zanima me Vaša vjera, Nacija, Spol,  Politička pripadnost, Nebitno mi je jeste li Jevrej, Srbin, Hrvat, Bošnjak, ili neko treći. Bitno mi je da ste zainteresovani i voljni pomoči da ovaj blog bude nešto više zanimljiviji i da raja voli da provodi svoje vrijeme čitajući na njemu razne moje ili Vaše članke. 

I na kraju ono što tražim od vas je Zanimljiv članak i Višak vašeg dragocjenog vremena. To je sve što trebate imati ako ste zainteresovani da pišete ovaj blog. 

Sve dodatne informacije možete saznati porukom na e-mail amartufotm@gmail.com i ja ću Vam se javiti u što kračem vremenskom periodu gdje ćete dobiti vaše podatke i možete odmah početi pisati. 

Do narednog čitanja!
Share:

Tko su pravi graditelji piramida u Egiptu i onih širom svijeta?



Image source: (ancientcode.com/AncientAliens)

Piše: Amar Tufo
Autorski članak

Svi smo čuli za velike piramide Egipta tj, one u Gizi, neki su ih od nas i posjetili. Ali, piramide nisu građene samo u Egiptu nego se nalaze širom svijeta, od Egipta, Gvatemale, Jukatana, Hondurasa, Meksika, Jordana, Aljaske, Kine, Rusije, Japana, Bosne i Hercegovine, Indije, Indonezije. No, ono što ne znamo jeste i prava misterija. Kako su drevni graditelji uspjeli sagraditi kolosalne piramide prije više hiljada godina koristeči se samo primitivnim alatima, dlijeto i manjim drvenim polugama kojima su, navodno prenosili i do 15 tona teške kamene blokove i iste dizali u visinu po nekoliko stotina metara? Još više zbunjuje pitanje, zašto su te piramide uopšte građene, za koga su se gradile, tko ih je dizajnirao, tko ih je sagradio i u koju svrhu?

Na ovo pitanje, zvanična i mainstream arheologija još uvijek nema jasnog odgovora, barem ne onog kojeg bi svi rado prihvatili. Mnogi vjeruju kako stari Egipčani uopšte nisu imali znanje niti adekvatnu tehnologiju na Zemlji kako bi sagradili tako uspješno ove piramide, građevine koje prkose zdravom razumu te predstavljaju pravu misteriju nauke. Što hoće reči, kako su tzv. Teoretičari Drevnih Vanzemaljaca postavili svoju, alternativnu teoriju, koja zastupa mišljenje kako su antičke civilizacije bile u kontaktu sa vanzemaljcima koji su u dalekoj prošlosti posječivali planetu Zemlju i na njoj ostavili dokaze svog boravka, piramide. 

Upravo se ovom temom bavi kontroverzni sci-fi dokumentarac Ancient Aliens u kojem se u nekoliko svojih epizoda prikazuju piramide širom svijeta. U dokumentarcu se ćak prikazuju piramide u Bosni, Meksiku, Jukatanu, novootkrivene u Jordanu i Aljasci. Ljudi koji se pojavljuju u ovom dokumentarcu su uglavnom stručnjaci koji su predložili alternativne teorije postanka ljudske vrste kao produkt vanzemaljske rase, zatim teorije o tehnologijama koje ne postoje na planeti Zemlji nego su potekle iz svemira sa neke udaljene planete koja je dom napredne civilizacije i kulture već više milijuna godina. 

Image source: (dailymotion.com/AncientAliens)

Vodeća teorija Teoretičara Drevnih Vanzemaljaca jeste i ta da su sve piramide širom svijeta sagrađene sa istom svrhom to jeste da generišu velike kolićine energije kako bi otvorile vrata u drugi paralelni svijet. Drevni Vanzemaljci takođe zastupaju teoriju kako sve piramide širom svijeta imaju zajedničkog graditelja, vanzemaljce, koji su u dalekoj prošlosti više puta posječivali planetu Zemlju kako bi primitivnim ljudima pokazali umjeće inženjerije, podučili ih njihovim znanjima i pomogli im da sagrade veličanstvene piramide. 


Image source: (ancientcode.com/AncientAliens)

Jesu li nekoć u dalekoj prahistoriji naše planete Zemlje postojale visokonapredne civilizacije?

Drevni Vanzemaljci kažu da jesu. Oni čak vjeruju kako su nekoć inteligentna biča s drugih planeta posječivala našu galaksiju, tj. našu planetu Zemlju gdje su na njoj sagradili veličanstvene i kolosalne građevine koje prkose razumjevanju zvanične nauke. Oni su čak otišli i korak dalje, te postavili pitanje zašto nema dokaza o drevnim kontaktima vazemaljaca i ljudi, i ukoliko arheologija prolanalazi takve dokaze, šta se dešava s njima?
Jedna od veoma interesantnih teorija koju sam čuo u ovom kontroverznom dokumentarcu jeste i ona kojom se propituje Veliki Potop opisan u Bibliji, Kur'anu ali i drevnim civilizacijama širom svijeta. Drevni Vanzemaljci kažu kako su vanzemaljci nakon što su sagradili veličanstvene piramide širom svijeta, na planetu Zemlju poslali potop koji je obrisao sve dokaze njihovog prisustva i postojanja u dalekoj prošlosti naše planete Zemlje. U prilog tomu bi išla činjenica kako su nedavno naučnici u blizini Velike Piramide u Gizi pronašli morske fosile a isti su pronađeni na kamenim blokovima kojima su je drevni graditelji gradili. Što znači da je drevni Egipat, odnosno plato u Gizi nekoć bio pod vodom. 


Image source: (thearmageddontimes.com/EgyptianPyramid

Ovim se želi reči kako je izvanzemaljska rasa zataškala i uništila dokaze svoga postojanja na planeti Zemlji u dalekoj prošlosti a ne kako su to samo naše vlade koje iz nekih razloga ne žele da javnost zna istinu o piramidama jer bi ta istina promjenila cijelo naše poimanje o historiji i našoj dalekoj prošlosti kakvu je znamo, ili barem mislimo da znamo. Na kraju vam predlažem da pogledate veoma zanimljiv dokumentarac Ancient Aliens koji se bavi temom piramide i izvanzemaljske rase. 


Domentarac: Ancient Aliens & Pyramids


Lista poveznica:
  
(1) Fossil Suggests Egyptian Pyramids and Sphinx Once Submerged Under Sea Water
http://thearmageddontimes.com/2015/03/09/fossil-suggests-egyptian-pyramids-and-sphinx-once-submerged-under-sea-water/ 

(2) Extraordinary Documentary tells us how Ancient Aliens helped build the Pyramids of Egypt
http://www.ancient-code.com/extraordinary-documentary-tells-us-how-ancient-aliens-helped-build-the-pyramids-of-egypt/ 

(3) Did prehistoric civilizations with advanced technology exist in the past?
 http://www.ancient-code.com/did-prehistoric-civilizations-with-advanced-technology-exist-in-the-past/
Share:

My Twitter news

Popular Posts

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.