Italian community of Lazarus and Free Pascal

Programmazione => Graphics => Topic aperto da: Stilgar - Aprile 30, 2012, 10:56:40 am

Titolo: Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 10:56:40 am
Ciao a tutti.
Con nonorelogic è nata l'idea di fare un gioco da presentare al contest brasiliano.
Allora, ho parlato con un collega che ha lavorato nel mondo dei view giochi. Mi ha dato qualche dritta ;)
Chi è interessato. Si faccia avanti.

Stilgar
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 12:16:19 pm
se non ho capito male qua di esperti in videogiochi (parlo di scriverli ;) ) non c'è nessuno, quindi nessun problema di figuracce :D
proviamo dai
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 12:19:53 pm
Ho parlato con un collega che scriveva videogiochi (ha partecipato a due progetti, tra cui MotoGP).
Mi ha dato delle dritte.
Se partiamo seriamente, vediamo di applicare alcuni consigli ;)
Intanto sto guardando in rete, se troviamo librerie (pezzi di codice) che possono aiutarci in alcune parti.
 ;D

Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 12:30:47 pm
stamattina stiamo lavorando seriamente tutti e due vedo :D:D:D

ma... non sarebbe meglio prima identificare bene cosa sviluppare? ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 12:34:00 pm
qualcosa del genere vi piace?
http://www.box10.com/matrix-rampage.html
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 12:45:51 pm
Allora.
Secondo me, poi è da vedere, il gioco che ne deve uscire non deve essere un gioco completo, ma una sorta di demo giocabile (leggi 1 livello solo).
Visto che il contest da più punti ai progetti "portabili", la demo deve essere portabile ;)

(OT : Visto che pfcup lo riesci ad usare bene, sarebbe il caso di avere una versione [per piattaforma] comune da usare tutti nel progetto, per evitare anche questo scarto che a me compila e a te no ... )

E' un gioco di astronavi (visto che si è cominciato in questo modo con Sergio).
L'astronave di muove da Sinistra a Destra.
Lo sfondo si deve muovere (creando un effetto di parallasse). Due livelli di scroll. Primo piano (con gli ostacoli) secondo piano sfondo.
Il secondo piano di "background" deve essere più lento del primo.

L'astronave deve potersi muovere nelle 4 direzioni. (Quindi non ha una posizione fissa in un asse, come Space Invaders).
L'astronave deve poter avere 3 tipi di colpo.
1) Mitragliatore.
2) Missili base, missili intelligenti (gli intelligenti sostituiscono i base)
3) Laser.
La mitragliatrice è quello di base (non viene mai perso nel gioco).
Gli atri 2 si devono "guadagnare" con i PowerUp a video. I PowerUp devo essere colpiti dallo sparo.

Idee buttate alla rinfusa.
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 12:58:48 pm
Sto provando TBGRABitmap.
Sono impressionato (mooooolto positivamente) dalle demo e i test.
Ce n'è uno che spacca le pupille ...

Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 01:16:20 pm
(OT : Visto che pfcup lo riesci ad usare bene, sarebbe il caso di avere una versione [per piattaforma] comune da usare tutti nel progetto, per evitare anche questo scarto che a me compila e a te no ... )

penso che bisognerebbe decidere quale versione fpc utilizzare e quali componenti includere
io partirei dalla fpc 2.6: in quanto stable dovrebbe darci meno noie sulle diverse piattaforme
se poi riusciamo a compilare anche una versione per android :P

Lo sfondo si deve muovere (creando un effetto di parallasse). Due livelli di scroll. Primo piano (con gli ostacoli) secondo piano sfondo.
Il secondo piano di "background" deve essere più lento del primo.

L'astronave deve potersi muovere nelle 4 direzioni. (Quindi non ha una posizione fissa in un asse, come Space Invaders).
L'astronave deve poter avere 3 tipi di colpo.
1) Mitragliatore.
2) Missili base, missili intelligenti (gli intelligenti sostituiscono i base)
3) Laser.
La mitragliatrice è quello di base (non viene mai perso nel gioco).
Gli atri 2 si devono "guadagnare" con i PowerUp a video. I PowerUp devo essere colpiti dallo sparo.

altre idee alla rinfusa:
- la velocità di spostamento dell'astronave potrebbe cambiare, magari prendendo durante il gioco una specie di icona: engine++
- un colpo e si muore è un po' demoralizzante, metterei su una sorta di resistenza in %
- io pensavo allo spostamento dell'astronave su una circonferenza che tocca i 4 lati dello schermo (quindi spostamento solo laterale dx/sx) giusto per simulare un'incursione in una specie di tunnel.
  lo scroll in questo caso andrebbe rivisto ma secondo me sarebbe molto divertente in quanto i nemici ed i loro proiettili appaiono da lontano (che è il centro del cerchio al centro della circonferenza) e si avvicinano sempre di più. i proiettili sparati dall'astronave convergono al centro della circonferenza (spero di essermi spiegato e di essermi regolato nella complessità :P )

Edit:
magari visto che lo spostamento è solo dx/sx ci si può inventare che con un terzo tasto si esegue una virata spaziale e si finisce dal lato opposto della circonferenza
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 01:24:09 pm
Citazione
- io pensavo allo spostamento dell'astronave su una circonferenza che tocca i 4 lati dello schermo (quindi spostamento solo laterale dx/sx) giusto per simulare un'incursione in una specie di tunnel.
Forse non ci ho capito una benemerita fava.
Cosa intenti per una circonferenza?
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 01:26:35 pm
Sto provando TBGRABitmap.
Sono impressionato (mooooolto positivamente) dalle demo e i test.
Ce n'è uno che spacca le pupille ...

sono un po' preoccupato per il refresh della scena, anche l'esempio sprite che si trova in lazarus non è un granchè come fluidità....
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 01:34:13 pm
Avevo in mente una cosa del genere... solo che questo è in 3d ...
http://www.tuttogratis.it/giochi_gratis/growwing_sparatutto_spaziale_3d_a_scorrimento_orizzontale/
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 01:46:17 pm
si avevo capito, alla R-Type ed è un gran bel risultato
e ci si può sbizzarrire sugli sfondi

in invece dicevo così:
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 01:56:22 pm
Cacchio allora allego anche io qualche immagine ;)
La prima immagine l'ho composta facendo copia e incolla dalla seconda di alcuni pezzi ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 02:08:35 pm
Ecco la demo che mi interessa ;)
http://www.microgiochi.com/giochi/arc-wing-8300.php

Molto semplice ed intuitivo ;)

Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 03:33:51 pm
ho visto la demo (e ci ho pure giocato un po')
in effetti mi pare più semplice da affrontare come problematica

resta il fatto che bisogna capire come rendere fluido il tutto

Edit:
hai dato un'occhiata qua?
http://www.pascalgameengine.com/wiki/doku.php?id=application_events
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 03:38:31 pm
Se qualcuno conosce persone brave con la grafica ... ;) (Sempre per la Wish list)
Sto cercando di capire come fare a gestire 2 bitmap e renderizzarle assieme.
 :D
EDIT :
Con http://wiki.freepascal.org/BGRAControls#BGRASamples_unit
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 03:47:54 pm
spiega meglio: una tantum per ottenere uno sfondo scorrevole o a runtime?
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 03:59:54 pm
Avere l'effetto parallasse.
Come ho detto sto facendo le prime prove, per capirci qualche cosa :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 04:03:18 pm
se ho capito che vuoi fare, ad occhio, più che bitmap dovrebbero essere 2 png con la trasparenza
poi per renderizzarle insieme si dovrebbero prendere 2 diversi offset e creare l'immagine risultante
facile a dirsi no? ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 04:04:59 pm
Diciamo che le idee sono chiare... è la libreria che non sembra comportarsi come voglio :( o come mi aspetto...
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 04:08:25 pm
ok...
dai un'occhiata a imagemagik ho visto che ci sono gli header per pascal...

Edit:
solo che penso che questa sia un'operazione dispendiosa, non vorrei facessimo prima ad evitare la trasparenza
posta le 2 immagini così ci ragiono sopra pure io
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 04:13:11 pm
Ti allego i sorgenti ... appena funzionano decentemete :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Aprile 30, 2012, 04:24:22 pm
ma non eri al lavoro anche tu? :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 04:46:06 pm
Uno sta chattando con la ragazza, l'atro tra facebook e youtube non ha pace.
I clienti sono tutti a casa, e noi ci teniamo le ferie ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 09:06:46 pm
Ciao Nomore.
Allora mi sembra che vada bene, se non fosse che non è fluido lo spostamento dell'astronave :(
Qui entra Windows (da me). Mi rompe parecchio. (Si tratta dei tempi della ripetizione del carattere. Introduce un ritardo).
EDIT:
Committato sul nostro repository il test.
Ora sto vedendo come fare in modo di utilizzare (solo windows) le api RowInput ...
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Aprile 30, 2012, 10:14:11 pm
Il Codice lo trovate a :
"https://svn.code.sf.net/p/lazarusiug/liug/trunk/progetti/grafica/Contest (https://svn.code.sf.net/p/lazarusiug/liug/trunk/progetti/grafica/Contest) 2012/Parallasse e sprite"
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 12:07:59 am
Ciao , ma non si puo' vedere il codice , il sito richiede una password e nome utente!
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 12:19:31 am
Oddio.
Io ho utente e password di sourceforge..ma il repository dovrebbe essere visibile a tutti :)
Controllo meglio e ti faccio sapere.
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 12:24:10 am
http://sourceforge.net/projects/lazarusiug/ (http://sourceforge.net/projects/lazarusiug/)
Prova ad accedere da questo link.
Il tasto SVN dovrebbe farti passare indenne dalle richieste di  user e pwd.
EDIT:
Porca paletta ho fatto compia e incolla dell'url che permette di scrivere nel repository ...
Scusate.
Per accedere in sola lettura :
http://svn.code.sf.net/p/lazarusiug/liug/trunk/progetti/grafica/
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 12:59:25 am
Ok , così si puo' vedere , e mi pare , da quello che ho visto che l'idea sia quella giusta. Domani provo a vedere come funziona e se posso vedo di darti una mano! Ciao e grazie ,era circa un programmino così che volevo fare per mio figlio!
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 01:00:40 am
Mio figlio ha visto le prove ...
Mi ha chiesto "quando posso giocarci?"   :o
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: bonmario - Maggio 01, 2012, 07:52:51 am
Bello !!!
Ho notato una cosa: nella "FormKeyDown", usi i codici 112 e 113 per indicare i tasti F1 ed F2. Se aggiungi alla uses "LCLType", potrai usare al loro posto le costanti VK_F1 e VK_F2. Il risultato sarà lo stesso, ma avranno un "nome parlante" !!!!

P.S. Su Linux 64 bit, mentre andava il gioco, ho cliccato sul "?" e mi ha impalato il PC per un paio di minuti. Ci ho riprovato una seconda volta ed ha funzionato senza problemi. Boh !!!

Ciao, Mario
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 01, 2012, 10:19:53 am
Ciao e grazie ,era circa un programmino così che volevo fare per mio figlio!

ciao Sergio
visto che le cose stanno prendendo forma direi che tu e tuo figlio dovete pensare ad un nome per il giochino ;)


PS: lo ha visto anche mio figlio (6 anni) e anche lui mi ha chiesto quando ci si può giocare :D :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 05:52:51 pm
Scusate, nel programma fMain c'è una unit Properties che io non riesco a trovare e che mi blocca la compilazione. Dove la posso trovare , per provare il gioco, come funziona. Ciao e grazie
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 07:27:15 pm
Sergio... prova a vedere se adesso compila tutto.
Ieri sera ero cotto quando ho committato. (Non ho dato retta ai messaggi .. deve avermi segnalato qualche errore che non ho letto :( )
Sto modificando la parte degli sfondi, in modo da renderli "infiniti"...
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 07:36:38 pm
Mi da ancora un errore , non riconosce &gt .
 if (length(line) > 0) then . Mi segnala sintax errata!
Puoi vedere come mai ? Grazie , Sergio
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 07:41:53 pm
Dove sono dichiarati <&gt  ?
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 08:42:05 pm
Scusa, nello scaricare i file >e < mi si sono trasformati in &lt e &gt . Ora modifico e poi provo il programma , Ciao :-[
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 09:50:37 pm
Non ho capito bene cosa hai fatto, ma ti conviene usare un client SVN per non impazzire.
TortoiseSVN va benissimo per i nostri bisogni.
Il giorno che decidi di committare, puoi benissimo aprire un account SourceForge (costa nulla ;) ). Scarichi di nuovo (ma questa volta in lettura/scrittura) e modifichi le cose e poi puoi committare ;)
Stilgar
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 11:08:48 pm
Ok, grazie . Il gioco funziona! bisogerebbe pero' modificare la reattivita' dell'astronave. Si muove un bel po' dopo aver schiacciato un tasto freccia. Esamino un po' il prg. e se trovo qualche cosa ti faccio sapere . Grazie per le dritte u SouceForge . Appena posso vedo ! Ciao Sergio ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 11:19:35 pm
Evidentemente stai usando window ;)
E' windows che sta introducendo il problema.
Ho iniziato ad usare il sistema ... RowInput al posto del classico.
Questo taglia fuori tutti i Window prima dell'XP, ma non c'è verso di cambiare "la risposta dell'astronave. Questo è dovuto alla latenza che il buon windows introduce nella gestione della tastiera. Prova a premere qualsiasi tasto. C'è sempre un salto tra la prima risposta e le sucessive.
Dipende da come hai configurato il tuo sistema opeativo ... (bella rogna no?)
Ho contattato il forum principale, per sapere se qualcuno ha già iniziato ad usare questo metodo. L'alternativa è aprirsi il codice di qualche framework e vedere come fanno a leggere da tastiera loro...
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 01, 2012, 11:54:05 pm
Ho capito ! Pensavo che usando Seven a 64 bit il sistema fosse piu' reattivo. Ho provato ad installare il pacchetto Castle , per videogames, mi sembra che la gestione dei tasti e del mouse siano migliori. Se vuoi provarlo lo trovi su wiki nella sezione dei dowload.Ci sono anche degli esempi fatti bene.Magari si riesce ad utilizzare qualche cosa di questo pacchetto. Ciao
 ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 01, 2012, 11:56:10 pm
Dopo la tua segnalazione ho controllato Castle.
Usa OpenGL come motore di rendering. Quindi è OpenGL che "controlla" la tastiera...
E la versione di OpenGL per Win usa RowInput :(
Il casino è che FreePascal non mi aggancia la chiamata ... se mi rispondono... dovrei aver risolto ;) Altrimenti ... "so zzi" :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 02, 2012, 08:59:17 am
ho visto che ci sono stati progressi :)

ho da postare alcune modifiche per far funzionare il tutto sono linux, come faccio ad accedere a svn anche in scrittura?
grazie

comunque il ritardo dopo la prima pressione c'è anche sotto linux, solo che non ho ancora idea di come si possa sistemare... guarderò un po' in giro
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 09:09:47 am
Per accedere in scrittura, bisogna avere l'account su SF.
EDIT:
Vorrei usare il RowInput, nel caso si preveda l'uso di JoyStick ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 02, 2012, 09:37:40 am
ce l'ho solo che non gli basta

infatti si tratta di qualche direttiva per condizionare la compilazione di RawInput solo sotto windows

sto guardando una libreria che a occhio sembra un sacco interessante... zengl
in serata spero di avere le idee un po' più chiare
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 09:42:44 am
Nomore ... stavo giusto scaricando ZenGL :D (Via SVN)
Ho l'impressione che stiamo andando via in parallelo ... non è che stiamo fancendo anche le stesse prove?
hahahahahaha
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 02, 2012, 09:46:34 am
pare di si
e mi sa tanto che se guardi la demo 05 ci rimani male anche tu con la fluidità...
però oggi sono un po' incasinato :(
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 10:14:33 am
Nomore,
  come avrai notato è stata la prima cosa che ho segnalato sull'astronave ;)
I movimenti a scatto.
Vediamo se ZenGL è buono per il 2d... altrimenti abbiamo bisogno di un modellatore 3d ... e non credo che qui piovano modellatori 3d ;)
E non dimentichiamoci che il contest brasiliano ha sempre usato Boardgame ... come esempio ;)

Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 10:33:26 am
Stavo controllando la licenza di ZenGL ...
Per mobile è a pagamento ... occhio Nomore ;)

EDIT:
http://zengl.org/license.html (http://zengl.org/license.html)
EDIT2:
Le Demo sono interessanti... ha anche un motore fisico integrato ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 02, 2012, 01:49:26 pm
vabbè però se si usa link dinamico e si sistribuisce sotto GPL3... se po' ffa
vediamo di capirci qualcosa poi diamo un'occhiata anche a castle

per i board game... vabbè... però si può anche evolvere no? ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 01:51:08 pm
Diciamo che pensavo ad un bind statico (in modo da non avere casini)
Essendo un progetto Open non ci sono problemi ;)
Se ricordo bene, eri tu a voler compilare sotto Android ;)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: nomorelogic - Maggio 02, 2012, 04:25:06 pm
Se ricordo bene, eri tu a voler compilare sotto Android ;)


bè... secondo le regole più piattaforme = più punti....
tanto andiamo per vincere no? :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 02, 2012, 04:27:24 pm
ok.... Window e Linux ;)
mac ... forse.
Mobile .. no ;)

Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 03, 2012, 01:10:19 pm
Scusa Stilgar, mi sono registrato su Souceforge , ma per collegarmi con il progetto come devo fare . Volevo dare una mano ! Ciao . Su souceFourge sono registrato come wenturs2 .
 :)
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 03, 2012, 01:18:44 pm
vai al progetto.
https://sourceforge.net/projects/lazarusiug (https://sourceforge.net/projects/lazarusiug)
Prova a cercare la richiesta di entrare (era la vecchia modalità di gestione dei progetti, con quella nuova devo ancora prendre mano :( )
EDIT1:
Non ti trovo con il nome "wenturs2"
EDIT2:
Ho problemi con la parte amministrativa del progetto ... mi da un 500 come errore. Evidentemente stanno facendo qualche manutenzione ai server.
Appena posso ti aggancio al progetto ;)
EDIT3:
Risulti in lista adesso :D
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: Stilgar - Maggio 03, 2012, 03:13:02 pm
E una cosa del tipo?
La grafica è molto semplice.
Provatelo e poi ditemi

http://cdn2.flashtowerdefence.com/flashtowerdefence-cdn/swf/vectortd2.swf
Titolo: Re:Gioco per Contest Brasiliano
Inserito da: sergio - Maggio 03, 2012, 03:15:17 pm
Si , ho visto che sembra stiano lavorando . Appena puoi agganciami , cosi' se posso vi do una mano !(in quello che posso,visto la mia scarsa conoscenza in grafica). Ciao
 :D