Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jedna moja igra na kojoj radim

[es] :: GameDev - Razvoj Igara :: Jedna moja igra na kojoj radim

[ Pregleda: 3360 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.56.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Jedna moja igra na kojoj radim11.02.2008. u 20:07 - pre 197 meseci
http://www.speedyshare.com/807929451.html

izvan foldera su dva dll-a koja treba staviti u isti folder di je exe nista lakse, ukoliko sam zaboravio koji DLL recite mi da cu ga okaciti.

evo screen



nije dovrsheno ali bi hteo da cujem vase misljenje.
 
Odgovor na temu

avance70

Član broj: 43752
Poruke: 36
*.broadband.blic.net.



Profil

icon Re: Jedna moja igra na kojoj radim11.02.2008. u 20:45 - pre 197 meseci
mogao si napomenuti sa kojim tipkama se okrece top i puca, da ne ganjam po tastaturi ;)

pretpostavljam, bice neka logicka igra u pitanju?
pa npr. kada bi se ogranicio broj metaka i dodalo jos elemenata, mogla bi se napraviti dobra mozgalica!

pohvala, samo nastavi!
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.46.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: Jedna moja igra na kojoj radim11.02.2008. u 21:52 - pre 197 meseci
na D i F se pokrece kupola, na strelice se igra....

hvala

E ovako igra je pravljena u SDL-u a za okruzenje sam koristio DevCpp pravio sam 2D engine, za rotaciju sam koristio SDL_gfx i to je to :)

 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
212.200.200.*



+1 Profil

icon Re: Jedna moja igra na kojoj radim13.02.2008. u 14:02 - pre 197 meseci
Jako mi se svidja igrica, pogotovu to sto je radis sam.

Moje preporuke su ti
- Da se potrudis da se gameplay ubrza.
- Da FPS rate bude na 33. Jer mi se cini da igrica radi nekako presporo. (Ili ti je igrica prezahtevna sto ne bi smela da bude sa obzirom na to da su tu samo matrica i 1 sprajt.
- Za pocetak bi mogo da stavis bar neke nepriatelje sa najjednostavnijim AI-em pa ces to unapredjivati vremenom i zajedno sa igrom.
- Probaj da umesto SDL-a koristis DirectX funkcije jer ne znam da li je to do mene ali one rade mnogo, mnogo brze...

Pozdrav i svaka cast...
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.142.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: Jedna moja igra na kojoj radim14.02.2008. u 22:30 - pre 197 meseci
hvala programiranje radim sam a dizajn mi crta drugar.

FPS nije problem nego je igra zahtevna (hahahahahahahahhaahahhahaah) na mom kompu GTA radi bolje od te igre to je zbog sporih funkcija SDL-a treba da ga ukombinujem sa OpenGL-om ali nemam mnogo vremena da ucim posto spremam je***ni prijemni i bombardovanje u skoli....

Vise volim GL jel je cistiji kod DX ima gomilu onog shit coda kojji nicemu nesluzi neg je cista "formlanost".

I mislim da cu napraviti da tenkci ide u 360 stepeni mada.... hm celo vreme pravim 2D egnine koji je jednostavan za upotrtebu i sada kontam da sam probo celo vreme da napravim game maker, pa sada kontam da bi mozda u njemu mogo brze igru da zavrsim.... mada hm?
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
77.46.195.*



+1 Profil

icon Re: Jedna moja igra na kojoj radim14.02.2008. u 23:43 - pre 197 meseci
SMRT GAME MAKERU!!! - Pisi program...

Moja preporuka ti je da napravis engine specijalizovan samo za tvoju igru.

Sto se FPS-a tice ni SDL nije bas tako spor, mozda ti je problem negde u algoritmu. Verovatno u glavnom loop-u.
Mogao bi da postavis deo coda (main loop-samo) mozda bi moglo nesto da se pomogne.

Takodje moja preporuka ti je da se za kretanje topa koristi mis, bice mnogo atraktivnije osim ako ne spremas neku mozgalicu. Mozes razviti brzu pucacinu iz pticije perspektive imam osecaj da bi bilo mnogo zarazno.

Samo nastavi ... (I javi kad zavrsis)

I ako taj tvoj drug stvarno radi grafiku mogao bi nesto da pomogne oko moje 2D platforme (ProjS - koji za sada polako napreduje u 2D engine)
 
Odgovor na temu

markozelenovic
Kratovo

Član broj: 152567
Poruke: 231



Profil

icon Re: Jedna moja igra na kojoj radim15.02.2008. u 16:41 - pre 197 meseci
Cool covece, samo nastavi...
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.92.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: Jedna moja igra na kojoj radim16.02.2008. u 09:36 - pre 197 meseci


Hteo bih da predjem na OpenGL ali 2D, 3D me jos nezanima dali neko zna mozda neka uputstva/tutoriale o 2d programiranju u OGL-u?


Evo kod.

Code:
          while( SDL_PollEvent( &event ) )
      {
       
         if( event.type == SDL_KEYDOWN) 
         {
            switch( event.key.keysym.sym )
            {
         
               case SDLK_SPACE:
               {  
                  if (f%90==0)
                  {
                  if (slug.ispaljen==false)
                  {
                     sluger=vidljiv_metak;                          
                     slug.ispaljen=true;
                  
                     if (f==0)
                     {
                         slug.x=tenk.box.x+tenk.box.w/2-3;
                         slug.y=tenk.box.y+tenk.box.h/2-3-20;
                         slug.k=0;
                     }
                     if (f==270)
                     {
                     slug.x=tenk.box.x+tenk.box.w/2-3+20;
                     slug.y=tenk.box.y+tenk.box.h/2-3;
                        slug.k=1;
                        }
                  
                     if (f==180)
                     {
                         
                     slug.x=tenk.box.x+tenk.box.w/2-3;
                     slug.y=tenk.box.y+tenk.box.h/2-3+20;       
                        slug.k=2;
                        }
                  
                     if (f==90)
                     {
                        slug.x=tenk.box.x+tenk.box.w/2-3-20;
                        slug.y=tenk.box.y+tenk.box.h/2-3;     
                        slug.k=3;
                        }

                  
                     slug.fire=false;
                     
            
                  }
                  }
               } break;    
              
               case SDLK_ESCAPE:  
               {
                  quit = true;
               } break; 
               
               
               case SDLK_d:
               {
                  vrti_right=false;
                  vrti_left=true;
               } break; 
               
               case SDLK_f:
               {
                  vrti_right=true;
                  vrti_left = false;
               } break; 
               
  
                
            }
         }

         if( event.type == SDL_QUIT )
         {
            quit = true;
         }
         
         if( event.type == SDL_KEYUP) 
         {
            switch( event.key.keysym.sym )
            {
               case SDLK_UP: tenk.up=false; break;
               case SDLK_DOWN: tenk.down = false; break;
               case SDLK_RIGHT: tenk.right = false; break;
               case SDLK_LEFT: tenk.left = false; break;
            }
         }
                    
                    
         

      }
      

      
      if(( keystates[ SDLK_UP ] )&&(tenk.right == false)&&(tenk.left == false)&&(tenk.nm==-1)&&((tenk.box.y%40)==0)&&(tenk.ml==false)&&(tenk.mr==false)&&(tenk.klizi==false)&&(tenk.adown==false)&&(tenk.aup==false)&&(tenk.aleft==false)&&(tenk.aright==false))   
      { 
         if ((tenk.klizi==false)&&(tenk.kol==false))
         {
            dot=tup;       
            tenk.mu = true;
            tenk.up = true;        
         }
      }  
      
      else
      
         if(( keystates[ SDLK_DOWN ] )&&(tenk.right == false)&&(tenk.left == false)&&(tenk.nm==-1)&&((tenk.box.y%40)==0)&&(tenk.ml==false)&&(tenk.mr==false)&&(tenk.klizi==false)&&(tenk.adown==false)&&(tenk.aup==false)&&(tenk.aleft==false)&&(tenk.aright==false))     
         {
            if ((tenk.klizi==false)&&(tenk.kol==false))
            {
               dot=tdown;        
               tenk.md = true;
               tenk.down = true;
            }
         } 
         
         else
         
            if(( keystates[ SDLK_LEFT ] )&&(tenk.down == false)&&(tenk.up == false)&&(tenk.nm==-1)&&((tenk.box.x%40)==0)&&(tenk.mu==false)&&(tenk.md==false)&&(tenk.klizi==false)&&(tenk.adown==false)&&(tenk.aup==false)&&(tenk.aleft==false)&&(tenk.aright==false))  
            { 
               if ((tenk.klizi==false)&&(tenk.kol==false))
               {
                  dot=tleft;   
                  tenk.ml = true;
                  tenk.left = true;
               }
            } 
      
            else
   
               if(( keystates[ SDLK_RIGHT ] )&&(tenk.down == false)&&(tenk.up == false)&&(tenk.nm==-1)&&((tenk.box.x%40)==0)&&(tenk.mu==false)&&(tenk.md==false)&&(tenk.klizi==false)&&(tenk.adown==false)&&(tenk.aup==false)&&(tenk.aleft==false)&&(tenk.aright==false))                                                          
               { 
                  if ((tenk.klizi==false)&&(tenk.kol==false))
                  {
                     dot=tright;       
                     tenk.right = true;
                     tenk.mr = true;
                  }
               }         


      
          
      tenk.move(tiles,tenk);
      slug.move_bull (tiles);
      tenk.set_camera();
      
      if (vrti_left==true)
      {
         f+=6;
         if(f%90!=0) {vrti_left=true;}
         else
         vrti_left=false;
      }
      else
            
      if (vrti_right==true)
      {
         f-=6;
         if(f%90!=0) {vrti_right=true;}
         else
         vrti_right=false;
      }
      
            if (f==360)
      {
          vrti_left=false;
          vrti_right=false;
          f=0;
      }
      
      if (f<0)
      {    
          f=354;
      }
      

      red_gate_count+=1;
 

      
      
      if ((tenk.red_gate_opened==true)&&(opened==false))
      {
         opened=true;
         red_gate_count=41;

      }
      
      x = tenk.box.x+20-kupola[f]->w/2;
      y = tenk.box.y+20-kupola[f]->h/2;
      
     if (red_gate_count==49)
     {
        red_gate_count=0;
        
     }
      
     if ((red_gate_count>=40)&&(tenk.red_gate_opened==false))  {red_gate_count=20;}     

      

      
      
      for( int t = 0; t < TOTAL_TILES; t++ )
      {
    
      
              if ((tiles[t]->type>=TILE_GATE_RED)&&(tiles[t]->type<49))
              {            
                 tiles[ t ]->type=red_gate_count;
              }
              tiles [ t ]->show(); 
       
      }    
      
    

      slug.draw_bull();
      tenk.show();
      
     

   
      

      apply_surface( x-camera.x,  y-camera.y, kupola[f], screen );
     
      
       
      if( SDL_Flip( screen ) == -1 )
      {
         return 1;    
      }
        
      if( fps.get_ticks() < 1000 / FRAMES_PER_SECOND )
      {
         SDL_Delay( ( 1000 / FRAMES_PER_SECOND ) - fps.get_ticks() );
      }
   }
            
   clean_up( tiles );
    
   return 0;    
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
77.46.195.*



+1 Profil

icon Re: Jedna moja igra na kojoj radim16.02.2008. u 11:14 - pre 197 meseci
Mnoooooogo IF-ova.
Predlazem ti da ovih 4 if zamenis sa nijednim:
Code:

if (f%==0)
if (f%=90)
if (f%=180)
if (f%=270)


Mogao bi objektu tenk da dodas jos dva parametra, pravac kretanja( ugao od 0 do 359 ), i brzinu kretanja, eventualno jos i ubrzanje.
Pa bi se tenk kretao:
Code:

if (event.type == SDL_KEYUP) ' Ovaj IF vec koristis
          { Tenk.ubrzanje = Tenk.ubrzanje + 0.3; }
if (event.type == SDL_KEYDOWN) ' Ovaj IF vec koristic
          { Tenk.ubrzanje = Tenk.ubrzanje - 0.3; }

Tenk.brzina = Tenk.brzina + Tenk.ubrzanje;
Tenk.x = Tenk.x + cos(Tenk.pravac * 3.14/180) * Tenk.brzina;
Tenk.y = Tenk.y + sin(Tenk.pravac * 3.14/180) * Tenk.brzina;


Tako bi se resio 4 uporedjivanja i malo ubrzao rad tvog programa. Jer znamo da je uporedjivanje najzahtevnija operacija za procesor, obicno joj je potrebno 24 takta. sto znaci da ako imas 1 procesor od 1GHz uporedjivanje se vrsi brzinom od 1/24 GHz.

I ne znam sta ce ti ono:
if {f%90==0}
Pusti ga da puca u svim pravcima...

I mogao bi da mu dodas nesto kao smirivanje

if (tenk.brzina < 1 && tenk.ubrzanje => 0) { tenk.brzina = 0}
if (tenk.brzina > -1 && tenk.ubrzanje =< 0) { tenk.brzina = 0}

A umesto da kupolu okreces na F i G, za to koristi misa... I dobijas nesto slicno Alien Shooter-u - EXTRA INTERESANTNO i ZARAZNO

Pozdrav
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
..nge81-159.btcentralplus.com.



+1 Profil

icon Re: Jedna moja igra na kojoj radim16.02.2008. u 12:01 - pre 197 meseci
Citat:
Hteo bih da predjem na OpenGL ali 2D, 3D me jos nezanima dali neko zna mozda neka uputstva/tutoriale o 2d programiranju u OGL-u?

Mozes da krenes sa http://glfw.sourceforge.net/ ( GLFW is a free, Open Source, portable framework for OpenGL application development. In short, it is a single library providing a powerful, portable API for otherwise operating system specific tasks such as opening an OpenGL window, and reading keyboard, time, mouse and joystick input. )

Ako mozes, nabavi http://www.opengl.org/documentation/red_book/.

A za uputstva/tutoriale: http://www.opengl.org, http://www.google.com :)
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.135.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: Jedna moja igra na kojoj radim19.02.2008. u 21:41 - pre 196 meseci
Taj GLWF se sporo razvija i nesvidja mi se bas, uzecu cist OGL/SDL.
 
Odgovor na temu

yaelo
Rajko Vojnović
Beograd

Član broj: 78087
Poruke: 153
*.smin-1.sezampro.yu.



+9 Profil

icon Re: Jedna moja igra na kojoj radim19.02.2008. u 21:56 - pre 196 meseci
Što prvo ne završiš ovu igru pre nego što kreneš sa učenjem nekog apija? Ako završiš jednu igru u bilo kom apiju portovanje če ti biti lakše.
 
Odgovor na temu

[es] :: GameDev - Razvoj Igara :: Jedna moja igra na kojoj radim

[ Pregleda: 3360 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.