Punto netto (gioco collettivo community)

Appunti, guide, consigli, presentazioni e anteprime di giochi e applicativi in sviluppo per console open e non solo
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Non è importante produrre roba per Dingoo per forza... intanto faccio pratica.
E soprattutto sono un po' fermo sulla produzione di un eseguibile in dingux... ma insisto.
Per quanto riguarda i 'poteri speciali' di postare files... hmm, temo di non avere fatto nulla per averli :-)
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Dopo svariati tentativi sono finalmente riuscito a compilare il giochino su Dingoo.
Nel caso qualcun altro volesse cimentarsi e visto che la procedura non mi sembra troppo bene documentata ecco quì i passaggi chiave.

- Innanzi tutto è bene poter comunicare con il Dingoo attraverso il collegamento RNDIS che offre (in pratica si tratta di vedere la console via FTP collegando il cavo USB al pc). Se non si riesce a configurare il collegamento RNDIS si possono fare di volta in volta le modifiche sulla SD e poi provarle su Dingux, ma diventa veramente difficile.
Allora, per collegare la console al PC occorre avviare Dingux con il cavo usb già inserito e il pc acceso.
Se siete su Linux è probabile che non ci sia molto da fare. Il tutto è riconosciuto automaticamente e potete collegarvi a Dingux con telnet o ftp all'indirizzo 10.1.0.2 (che non può essere cambiato).
Se siete su Windows la questione si complica. Pare che prima di Windows 7 il supporto RNDIS non fosse stato pensato dalla Microsoft quindi se non avete Windows 7 credo che l'unica soluzione sia avere Linux (ho provato anche in una macchina virtuale con Linux ma il tutto non viene riconosciuto, dovete proprio fare il boot con Linux). Se invece avete Windows 7 per qualche motivo il driver riconosciuto è sbagliato e il collegamento non funziona. Vi occorre sostituirlo a mano scegliendolo da quelli della microsoft e scegliere uno qualsiasi dei driver RNDIS della Microsoft Corporation (hanno anche la firma digitale pertanto non dovete entrare in test mode).

-Una volta collegato il dingux scompattate l'ultima versione (e anche l'unica) di BennuGD in /usr/local/games o in /usr/local/ direttamente, poi create uno script sh tipo il seguente:

Code: Select all

#!/bin/sh
unset OS_ID

## Is important set first bgd-runtime folder
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH

export LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
export PATH=../bgd-runtime:$PATH

### For use Wiz games on Caanoo uncomment the next lines
OS_ID=8
export OS_ID

#echo 2 > /proc/cpu/alignment
bgdc /usr/local/games/bgd-runtime/1.prg

sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK
A quel punto potete rinominare lo script in .dpe e lanciarlo da Gmenu2x

Se invece volete proprio compilare il giochino usate questo script:

Code: Select all

#!/bin/sh
unset OS_ID

## Is important set first bgd-runtime folder
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH

export LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
export PATH=../bgd-runtime:$PATH

### For use Wiz games on Caanoo uncomment the next lines
OS_ID=8
export OS_ID

#echo 2 > /proc/cpu/alignment
bgdc -a -s  /usr/local/games/bgd-runtime/bgdi /usr/local/games/bgd-runtime/1.prg


sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK
Ovviamente al posto di 1.prg mettete il nome del vostro programma.
Una volta creato l'eseguibile con il secondo script ricordatevi che le due righe:

export LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
export PATH=../bgd-runtime:$PATH

sono comunque necessarie e quindi vi conviene lanciare il gioco sempre da uno script sh. Non ho notato comunque alcuna differenza di velocità tra la versione interpretata e quella compilata (temo che in quella compilata sia compreso anche l'interprete e in realtà il tutto sia sempre interpretato). Comunque è abbastanza veloce.
Lo schermo non risulta centrato. Vedo di risolvere il problema.
Farox
Cavaliere OC.it
Cavaliere OC.it
Posts: 812
Joined: 4 May 2011, 20:48
Console open: GP2X-F200 bianca, Caanoo (bianca),
Pandora (First Batch 256MB RAM) nera,
JXD S7300B nera, Rpi model B
Location: Umbria
Contact:

Re: Punto netto (gioco collettivo community)

Post by Farox »

Beh direi che abbiamo quasi pronto un altro articolo per la webzine...aggiungi qualche immagine et voila !
Ciao!
Image
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Aggiungo volentieri qualche immagine e magari scrivo qualcosa su come installare Dingux su Dingoo.
Nel frattempo ho fatto vari tentativi di portare il codice 'generico' su Dingoo, ma non sembra esserci alcun modo di visualizzare come si deve lo schermo se invece che verticale deve essere orrizzontale (in pratica il tentativo di riorientare automaticamente lo schermo a seconda della piattaforma almeno per il Dingoo non pare funzionare). Se siete d'accordo e visto che è anche l'unica piattaforma (oltre a Windows) su cui posso provare l'eseguibile continuerei a sviluppare una versione che gira bene su Dingoo e Windows (e pertanto ha lo schermo orrizontale) lasciando a chi può compilare per altre piattarforme il compito di testare il tutto su uno schermo verticale.
Al momento ho risolto il problema della risoluzione settando tutte le dimensioni di gioco con due costanti nella fase di dichiarazione del programma. Ovviamente variando le due costanti si varia l'aspetto dello schermo e il comportamento degli sprite.
Ho anche modificato la routine di controllo del puntatore. Ora il puntatore reagisce al controller del Dingoo invece che al mouse (anche se è più lento).
Ecco quì il nuovo codice.

Code: Select all

//========================== PuntoNetto ================//
//========================== CODE:}Zip{,gigios, paulvern =================//
//=========================== GFX:}Zip{ =================//
//=========================== v.0.0.0.4 =================//
Const
stars=3000;
nemi=30;
maxresx=320;
maxresy=240;
Global
int gfx;
int mirino;
coord_x[stars];
cont;
coord_y[stars];
vel[stars];
collisionID;
int text;
text2;
INT PUN;
int idb;

begin
         set_mode(maxresx,maxresy,16);
     
 
For(cont=0; cont<stars; cont++)
    coord_x[cont]=rand(0,maxresx);
	coord_Y[cont]=rand(0,maxresy);
	vel[cont]= rand(1,4);
end
	 gfx=load_fpg("gfx.fpg");
     MOUSEpointer();
	 star(stars);
for (cont=0; cont<nemi;cont++)	 
	 nemici (rand(30,maxresx),rand(30,maxresy));
END
  loop
     if(key(_ESC)) exit(); end;
 
     
    frame;
  end
  
end
///____________________________Menu


///____________________________Livello1

Process mousepointer()
Begin
    // Set the priority to 1, because we first want to have the correct coordinates of
    // the mouse set in this process. Then after that other process can use those coordinates.
  graph=gfx;
  graph=3;
  x=200;
  y=100;
    Loop
    	// Obtain X and Y coordinates of the mouse and adjust for resolution
        // (mouse.y and mouse.y have an unchangeable resolution of 1)
  if (key(_LEFT)); x=x-3; end;     
       if (key(77)); x=x+3; end;
       if (key(_UP)); y=y-3; end;
       if (key(_DOWN)); y=y+3; end;
        frame;
    End

end
///___________________nemico0
process nemici(x,y)


	
begin
    graph=gfx;
	graph=2;
	
	repeat
		x=x+rand(-2,2);
		y=y+rand(-2,2);
		if (x>maxresx)
		x=0;
		end
		if (x<0)
		x=maxresx;
		end
		if (y>maxresy)
		y=0;
		end
		if (y<0)
		y=maxresy;
		end
		frame;
	until ((key(_A)) AND collision (type mousepointer))
	
	PUN=PUN+10;
end


process star(n)
begin
      loop
      CLEAR_SCREEN();
      WRITE_VAR(0,10,10,0,PUN);
      
For(cont=0; cont<n; cont++)
coord_y[cont]=coord_y[cont]+vel[cont];
if (coord_y[cont]>maxresy)
coord_y[cont]=0;
end
put_pixel (coord_x[cont],coord_y[cont],9999+cont);

end
   frame;
       
end
end
User avatar
kayuz
Cavaliere OC.it
Cavaliere OC.it
Posts: 627
Joined: 4 May 2011, 15:27
Console open: Caanoo fidelis!! sempre co'te! :D
Location: Terni

Re: Punto netto (gioco collettivo community)

Post by kayuz »

ottimo lavoro, tanto sia per dingoo o per caanoo il gioco è più o meno identico, non ci vorrà nulla a portare quello che hai fatto su windows e dingux su le altre ;)
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Nuova versione con un menu di inizio e qualche suono (in teoria si dovrebbe sentire anche la musica in sottofondo ma io non la sento, però il compilatore compila bene...).
La mia idea è di scegliere i giochi dal menu di inizio e poi avere i vari giochini.
Al momento ovviamente c'è solo quello embrionale che ho chiamato spacecrunch in cui si devono distruggere gli alieni blu. Poi magari aggiungiamo altro.
Attachments
game.zip
(152.48 KiB) Downloaded 490 times
User avatar
Zip
Site Admin
Posts: 3101
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: Punto netto (gioco collettivo community)

Post by Zip »

qualcuno potrebbe compilarlo per win? non posso istallare qui bennu
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Lo compilo senza problemi, ma come lo allego? Ho un limite di 250 KB
User avatar
Zip
Site Admin
Posts: 3101
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: Punto netto (gioco collettivo community)

Post by Zip »

usa mirrorcreator
paulvern
Cavaliere OC.it
Cavaliere OC.it
Posts: 268
Joined: 21 Sep 2011, 11:50

Re: Punto netto (gioco collettivo community)

Post by paulvern »

Ecco qua. Ti servono i file dello zip e le librerie di BennuGD, ma questo è l'eseguibile sotto windows.
Fammi sapere se senti la musica.http://mir.cr/CCLOB6SE
Post Reply