Bisca

Ho realizzato che è da un pezzo che non lavoro seriamente su un progetto mio.

Negli ultimi mesi, ho realizzato il plugin su cui ho scritto la mia tesi di laurea, però non conta troppo, perché, anche se qualche volta ho approfondio e fatto test durante il weekend, ci lavoravo principalmente durante la giornata lavorativa. E proprio per questo, tecnicamente non è neanche mio, perché la proprietà intellettuale del progetto è dell’azienda dove l’ho realizzato.

Adesso comunque per la tesi dovrei essere in dirittura d’arrivo e, appunto, ho deciso di cominciare un progetto che potessi dire completamente mio.

Già tempo addietro un mio amico mi aveva insegnato un gioco che noi chiamiamo “bisca”, ma non ho trovato un altro nome con cui sia conosciuto in giro per l’Internet.

Il gioco è carino e coinvolgente, quindi ho deciso di farne una versione online, anche perché col tempo ci siamo tutti un po’ sparsi, così è un modo anche per ritrovarsi virtualmente.

Come ho già detto in altre occasioni, trovo abbastanza noioso lo sviluppo di cose per il web, siano siti, oppure app, o altro ancora, tuttavia devo dire che mi sembra il modo migliore per sviluppare questo progetto.

Poi io ho una particolare simpatia per socket.io. L’ho già usato per altri progetti, e ho visto che ha anche delle librerie per altri linguaggi di programmazione, inclusi Python e Java, per poterlo usare anche con app Android.

Il motivo principale che mi spinge a usarlo, rispetto a delle socket TCP normali, è che socket.io fornisce già un’API ad eventi, e che, attaccandolo a uno dei miei webserver già esistenti, mi viene fuori praticamente immediatamente e gratuitamente tutto lo strato di sicurezza basato su TLS.

La libreria ufficiale gira su Node.js. Di tanto in tanto ci casco e provo a dare a JavaScript una possibilità, ma ogni volta mi stufo poco dopo, per le varie pezze del linguaggio.

Personalmente, mi piace avere un po’ di formalità, in particolare una tipizzazione forte, d’altronde adoro linguaggi come C e C++, quindi ho provato anche a usare TypeScript. Purtroppo, certe di quelle stranezze di JS rimangono anche in quello e io non mi abituerò mai a certe cose, come l’assenza degli interi.

Per il momento ho deciso di virare verso Python, avrei anche già scritto il modulo principale che gestisce il gioco, anche se non sono totalmente soddisfatto, perché ho risolto alcuni problemi con dipendenze circolari tra classi.

D’altronde è difficile spiegare anche a parole tutte le regole del gioco, di solito per insegnarlo diciamo: «Facciamo una partita di prova, dopodiché vedrai che ti verrà automatico», ma purtroppo qui non è proprio il caso 😅️.

Ciononostante, ho comunque cominciato anche a scrivere il server, decidendo di procedere con uno spirito un po’ più agile, e anche velocemente un client, in HTML con JavaScript puro e solo col DOM.

Ho voluto fare anche una sfida un po’ con me stesso, per vedere se 6 ore mi sarebbero bastate per fare un prototipo funzionante, ma purtroppo non è stato il caso.

Comunque il progetto mi sembra interessante, e con una grafica carina e mobile friendly magari potrebbe essere davvero usato, o almeno 2 o 3 volte 😁️.

Quindi cercherò di fare qualcosa e magari tenere aggiorato qui l’andamento 😊️.