Italiano English
Modifica History Actions

Differenze per "OpenPursuit"

Differenze tra le versioni 13 e 18 (in 5 versioni)
Versione 13 del 2007-12-23 10:04:00
Dimensione: 4107
Autore: ZioPRoTo
Commento:
Versione 18 del 2008-04-20 18:38:04
Dimensione: 4999
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
== Introduzione == == Il Progetto ==
Linea 7: Linea 7:
Il progetto consiste nel creare un database legato ad una comunita' (tipo wikipedia) dove i membri possono creare domande qualsiasi sui temi piu' disparati.

Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol
essere milionario".
Il progetto consiste nel creare un database contenente dei quiz (testuali o multimediali).
Linea 17: Linea 14:
Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol
essere milionario", "sarabanda" o qualunque altro tipo di quiz.
Linea 18: Linea 18:

Linea 22: Linea 24:
=== Capire le regole del gioco ===

Pensare a un sistema di feedback in maniera che il sito si autoregolamenti escludendo troll, domande fuori dal loro contesto, pubblicità, e scritte tipo "schemo chi legge".
Come impostare il livello di difficoltà delle domande?
Da questi ragionamenti dovrebbero venire le specifiche per il "datamodel" ovvero per il punto successivo!
Attualmente stiamo tirando su la parte server utilizzando il framework python [[http://www.djangoproject.com/|Django]] e una parte client utilizzando l'SDK di [[http://code.google.com/android/adc.html|Android]] per partecipare all'Android Contest.
In caso di vittoria, il "budget" sarà utilizzato per potenziare l'infrastruttura della rete libera e comunitaria.
Linea 29: Linea 28:
=== Regole del gioco ===
Linea 30: Linea 30:
=== Scegliere in modo opportuno il datamodel del database ===

Questo è il cuore di OpenPursuit, infatti l'intero progetto si basa su
questo database comunitario di domande, sulla base del qualche si
possono inventare un sacco di giochi.

Il primo passo non sarà quindi implementativo, ma di ragionamento su
come strutturare il datamodel.

Forse qui chi di noi ha esperienza e competenze di informatica pura
può dare un aiuto significativo.


=== Implementare una (o più di una) piattaforma web per sfamare il database ===

Qui si tratta di programmare PHP Django o quello che vi pare, e
preparare un sito facile per permettere alle persone di inserire le
domande.
'''Autoregolamentazione'''
Ogni utente che scarica la domanda invia un feedback per indicare se la domanda è consona o meno al contesto del tag...
Ad un certo numero di feedback negativi la domanda passa allo stato di quarantena.
Questo significa che la domanda è temporaneamente sospesa, non sarà più possibile scaricarla e prima che uno della commissione di amministratori la esamini.
Se la domanda risulta effettivamente fuori luogo l'autore verrà segnalato come spammer, viceversa se sono "cazzari" quelli che hanno inviato i feedback verranno segnalati come feedbackari fasulli. Il che vuol dire che il loro feedback varrà di meno.
Linea 54: Linea 41:
 * i) Sito web, dove dopo la scelta dei tag di interesse, è possibile stampare un mazzo di carte con le domande, per giocare poi a tavola con il tabellone di trivial pursuit.  * i) Sito web per il gioco online in base alla scelta dei tag di interesse
Linea 56: Linea 43:
 * ii) Un gioco per Android, stile chi vuol essere milionario, per giocare da soli sul cellulare, magari scaricando le domande da internet...Parallelamente si vorrebbe partecipare all'Android Contest (http://code.google.com/android/adc.html) e in caso il fato vorrà che vincessimo il premio, destinare il ricavato a "ninux.org" cosi' avere un budget per realizzare un infrastruttura di rete libera e comunitaria.  * ii) Possibilita' di stampare tabellone e mazzo di carte con le domande, per giocare dal vivo.

 * iii) Un gioco per Android, stile chi vuol essere milionario, per giocare da soli sul cellulare, magari scaricando le domande da internet per poterci giocare offline.
Linea 59: Linea 48:
Cerchiamo programmatori python per programmare il lato server con Django.
Esperti di grafica e contenuti per il Web per creare lo stile del sito.
Programmatori J2ME per programmare su piattaforma ANDROID.
Grafici, Betatester per rendere il progetto più "umano"!
Se vuoi partecipare, non serve che sei un esperto in materia, basta solo che hai la voglia e i presupposti per imparare entro breve queste tecnologie.
Abbiamo una mailing list interna, per essere invitati potete scrivere a ziducaixao [AT] autistici.org

Cerchiamo persone che partecipino attivamente allo sviluppo del progetto, allo scopo di divertisi, fare qualcosa insieme e imparare cose nuove.
In particolare cerchiamo:
  * Programmatori python per programmare il lato server con Django.
  * Persone che curino la grafica e i contenuti del sito
  * Programmatori J2ME per programmare su piattaforma ANDROID.

Se vuoi partecipare, non serve che sei un esperto in materia, basta solo che hai la voglia e i presupposti per imparare entro breve queste tecnologie.
Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django e su Android già dopo 8 ore.
Abbiamo una mailing list interna: per essere invitati potete scrivere a ziducaixao [AT] autistici.org
Linea 67: Linea 60:
== Note sull'implementazione django == == Note sull'implementazione in django ==
Linea 77: Linea 70:
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk openpursuit
cd openpursuit/djangoOp
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/djangoOp openpursuit
cd openpursuit
Linea 103: Linea 96:

Note aggiuntive:
per mandare correttamente le mail di attivazione può essere utile configurare postfix che accetta email da localhost e le inoltra su gmail.
E' inoltre opportuno modificare al mano il database django_site per cambiare example.com nel vostro nome di dominio.
Puo' essere utile installare questo pacchetto
{{{
python-reportlab
}}}

== Note sull'implementazione Android ==

Installate eclipse e l'SDK di Android. Per la guida dettagliata andate qui: http://code.google.com/android/intro/installing.html#installingplugin

Scaricate i sorgenti:

{{{
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/androidOp opgame
}}}

  * Aprite Eclipse, tasto destro su Package Explorer, selezionare Import.../General/Existing Projects into Workspace
  * Selezionata la cartella opgame che avete appena scaricato dall'SVN, date l'OK
  * Andate su FINISH e dovreste vedere il progetto.

Open Pursuit

E' partito un po' per gioco da parte di alcuni membri della community il progetto "openpursuit" http://www.openpursuit.org

Il Progetto

Il progetto consiste nel creare un database contenente dei quiz (testuali o multimediali).

Le domande inserite saranno associate a dei "tags" per cui si potrebbe pensare di giocare con gli amici rispondendo a domande classiche di sport, cultura generale ma anche reti, tecnologie wireless, nerd o altre tematiche specifiche, a seconda della serata e dei partecipanti.

Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol essere milionario", "sarabanda" o qualunque altro tipo di quiz.

Il database è il componente base che permette lo sviluppo di infiniti giochi su infinite piattaforme.

Roadmap

Attualmente stiamo tirando su la parte server utilizzando il framework python Django e una parte client utilizzando l'SDK di Android per partecipare all'Android Contest. In caso di vittoria, il "budget" sarà utilizzato per potenziare l'infrastruttura della rete libera e comunitaria.

Regole del gioco

Autoregolamentazione Ogni utente che scarica la domanda invia un feedback per indicare se la domanda è consona o meno al contesto del tag... Ad un certo numero di feedback negativi la domanda passa allo stato di quarantena. Questo significa che la domanda è temporaneamente sospesa, non sarà più possibile scaricarla e prima che uno della commissione di amministratori la esamini. Se la domanda risulta effettivamente fuori luogo l'autore verrà segnalato come spammer, viceversa se sono "cazzari" quelli che hanno inviato i feedback verranno segnalati come feedbackari fasulli. Il che vuol dire che il loro feedback varrà di meno.

Implementare i giochi

Al momento le idee sono:

  • i) Sito web per il gioco online in base alla scelta dei tag di interesse
  • ii) Possibilita' di stampare tabellone e mazzo di carte con le domande, per giocare dal vivo.
  • iii) Un gioco per Android, stile chi vuol essere milionario, per giocare da soli sul cellulare, magari scaricando le domande da internet per poterci giocare offline.

Partecipa!

Cerchiamo persone che partecipino attivamente allo sviluppo del progetto, allo scopo di divertisi, fare qualcosa insieme e imparare cose nuove. In particolare cerchiamo:

  • Programmatori python per programmare il lato server con Django.
  • Persone che curino la grafica e i contenuti del sito
  • Programmatori J2ME per programmare su piattaforma ANDROID.

Se vuoi partecipare, non serve che sei un esperto in materia, basta solo che hai la voglia e i presupposti per imparare entro breve queste tecnologie. Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django e su Android già dopo 8 ore. Abbiamo una mailing list interna: per essere invitati potete scrivere a ziducaixao [AT] autistici.org

Note sull'implementazione in django

Installate i seguenti pacchetti: mysql-server e python-mysqldb assicurandovi di avere la versione di quest'ultimo >= 1.2.1p2. Installate django DAL TRUNK seguendo le istruzioni su http://www.djangoproject.com/download/ . Non utilizzate i pacchetti che sono pieni di bug vecchi risolti nella versione del trunk!

Scaricate i sorgenti:

svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/djangoOp openpursuit
cd openpursuit

Copiate il template con le impotazioni e configuratelo secondo i parametri della vostra macchina

cp settings.py.tmpl settings.py

Modificate settings.py con i parametri del vostro database

Guardate il codice SQL che verrà creato sul vostro database:

python manage.py sql op

Create le tabelle con lo schema

python manage.py syncdb

Provate con il webserver di prova

python manage.py runserver [IP:PORTA]

Note aggiuntive: per mandare correttamente le mail di attivazione può essere utile configurare postfix che accetta email da localhost e le inoltra su gmail. E' inoltre opportuno modificare al mano il database django_site per cambiare example.com nel vostro nome di dominio. Puo' essere utile installare questo pacchetto

python-reportlab

Note sull'implementazione Android

Installate eclipse e l'SDK di Android. Per la guida dettagliata andate qui: http://code.google.com/android/intro/installing.html#installingplugin

Scaricate i sorgenti:

svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/androidOp opgame
  • Aprite Eclipse, tasto destro su Package Explorer, selezionare Import.../General/Existing Projects into Workspace
  • Selezionata la cartella opgame che avete appena scaricato dall'SVN, date l'OK
  • Andate su FINISH e dovreste vedere il progetto.