5. Perchè un Arcade Bar-Top?
• Per sperimentarsi con gli attrezzi e con il legno
• …e sfruttare il fatto che tua moglie ti ha chiesto di fare un
lavoro in legno…
• …almeno per me…di giocare alla fine non ci penso proprio…
• Per soddisfare il sogno di bambino di avere a casa un vero arcade
da sala giochi
• Per giustificare la sperimentazione di tecnologie
• IoT: connettere l’arcade Bar-Top a Internet
• Desktop: se sviluppi solo Web e Cloud, il desktop te lo
dimentichi
• Giochi: un hobby ce lo devi pure avere!
6. Cos’è un Arcade Bar-Top?
• Un arcade è il mobile (in legno) di un gioco da Sala
Giochi o da Bar
• Un arcade è tipicamente un mobile ad altezza piena
• Un arcade Bar-Top è un arcade «senza la parte
sotto» da appoggiare ad un banco
• In pratica è più piccolo e comodo
• Ci sono i siti con gli schemi di taglio già pronti
• https://3dwarehouse.sketchup.com/model.html?i
d=f82c9367bc2cd4fe7a3f6e2972c8483e
• http://www.classicarcadecabinets.com/elevator-
action.html)
7. Sketching with wood!
• Se avessi dovuto fare il lavoro
ingegneristicamente, alla fine non sarei
mai riuscito a farlo
• Come dire…è tutto storto, ma sta in
piedi
• Avevo un seghetto alternativo, un
avvitatore e un pezzo di legno…
• Il metro e la matita solo per indicare la
direzione…
• E c’era la curva maledetta…basta farla
dritta!
8. “E poi c’è il monitor…”
• Cosa ci va dentro un arcade?
• Un monitor CRT possibilmente ruotato in
verticaleanche no vero? Io non sono così
• I puristi del retrogaming voglioni il CRT con le linee del
raster che si vedono! (e sul LCD le simulano!)
• Non sono purista…meglio un LCD, più leggero
• almeno per me
• Una scheda Jamma (e altre)Ma c’è la Rasberry e
MAME…
• Una gettonieraBoh, non mi interessa l’effetto «Fonzie»
• Il JoystickEh, quello sì, con i microswitch che fanno
click/clack
9. Tip sul monitor da recuperare!
• HDMI2HDMIOK
• Ma difficilmente, ad oggi recuperate un monitor HDMI per
queste cose
• VGA2VGAOK…no
• Certo, nativamente la cosa funziona…
• …ma la R.PI non è VGA
• HDMI2VGANO!
• Adattatore con alimentazione, altrimenti la Raspberry non
funziona (c’è un pin disabilitato sulla PI per protezione…potenze
assorbite)
• Soluzione? HDMI2DVI!
• Non c’è l’audio, ma poco importa…
• Ah certo…il monitor deve essere DVI….
10. Il mercatino delle pulci…
• A parte il joystick, da comprare assolutamente…
• …tutto il resto si recupera
• Eh sì…costa meno
• Ad esempio un monitor LCD: costa meno aprirne uno e recuperarne l’interno
• Poi c’è la Raspberry che oramai hanno tutti…
• E poi ci si sbizzarrisce
• Casse audio
• Lettori USB per SD Card
• Lampade USB…
• E ricordatevi di una tastiera wireless
• Quelle da Mediacenter
12. Ah, la Raspberry PI 3…
• WARNING! POLEMICA?!?!?!?
• 40€/Linux Raspian…
• Ma posso giocare a MAME anche sul PC se son
«poveretto»
• MAME
• Dove trovo la distribuzione?
• Anime pie…
• Poi lo configuro
• sudo nano /boot/config.txt
• E via di sudo apt-get…per scaricare SDL, QT…
• E poi finalmente….lento
• Overclock!
13. Marco is lazy!
• Pigrizia per me significa essere focalizzato
• Non ho voglia di trattare dettagli non centrati sul problema
• RECAP: sviluppare IoT, Azure, Games, non ricompilare MAME (non c’è…solo
qualche anima pia)
• http://choccyhobnob.com/ per avere una distribuzione per Raspbian
• Oppure PiPlay o Retropie
• Per questo amo Microsoft, Windows, .NET, Visual Studio
• x86/x64 are better than ARM
• Linux e Windows full…
• .NET Core
• Ovviamente Windows 10!
14. Un mondo nuovo per le schede madri x86/x64
• MicroATX?
• Meglio MiniITX, Mini STX, Intel NUC
• ATX power supply?
• Meglio Notebook 19V
• SATA/SSD?
• Meglio mSATA2
• Processore su socket?
• Meglio SOCCeleron QuadCore 3160! Fanless!
• Il tutto significa meno cavi, più semplice da montare
• Un mondo nuovo:
• Pochi produttori MainStream (AsRock, GigaByte pochissimi modelli)
• Mondo industrialSì, qui vado fuori budget (150€ min senza RAM e disco)
LVDS
mSATA2
19V
15. MiniPC!
• Intel Atom 3735/Z8300Quad Core
• 2Gb RAM
• SSD 32Gb
• HDMI
• Slot SD Card
• Ethernet, WiFi, Bluetooth
• 12V + Jack!
• Windows 10 licenziato
• Nasce e muore con Windows 10
• Già installato
• Non è possibile installare Linux (?!?!?!)
• Non morirò
• Permettete, non è una questione di
guerra Windows/Linux
• TOT < 100€ su Amazon o nelle fiere
• Su AliExpress e simili si trova anche la sola scheda!
• https://it.aliexpress.com/item/Newest-fanless-PICO-itx-motherboard-105-70mm-itx-
mainboard-Z3735F/32563532409.html
16.
17. Joystick
• Simbolo di un arcade
• Microswitch («click clack»)
• Si comprano i kit con leva, tasti, cavi e
controller
• ½ giocatori…
• Si vede come un Joystick USB
• http://www.arcadeworlduk.com/
• In Italia Futura Elettronica, ad
esempio, ma se li fanno pagare e non
c’è molta scelta
18. Scaling out arcade…
• Gestire i giochi sull’arcade remotamente
• Anche se Windows 10 e con la tastiera, comunque è scomodo
• Ho il mio disco «Retrogaming» in rete a casa
• Ad un evento fieristico (Radioamatore di Pordenone) vorrei
portare un po’ di questi arcade
• Come li aggiorno?
• Due soluzioni
• OneDrive
• Azure
19. OneDrive
• Creato account ad hoc per l’arcade
• Login su Windows 10
• Bisogna fare l’autenticazione automatica
• Configurato One Drive
• Spostato su SD Card…alla faccia di OneDrive che non si può
spostare, ma su Dischi removibili si!
• Gestisco dal mio desktop l’account e carico nuove ROM
• Tutti gli arcade con lo stesso account
• Aggiornati!
• Anche con le nuove versioni di MAME!
20. Azure
• Azure Storage
• Costa meno se superi i 5Gb (credo…ho perso il conto)
• Endpoint automatico, readonly
• Se il business scalasse (ah ah ah ah ah ah)CDN!
• Creare un wall per gli utenti usano l’arcade
• Messaggistica
• Punteggi
• Ma come scarico le ROM?
21. Launch Shell: Buy or Make
• Si trovano delle console di lancio per MAME
• Ora è direttamente gestita da MAME stesso
• Ma con il Joystick non è comoda ed è piena di opzioni
• E dov’è il divertimento del programmatore?
• Andiamo a programmare!
• Universal Windows App con .NET Core
• XAML per la UI
• Attenzione ad accedere ad uno storage removibile per la SD
• Problema: UWP supporta solo i controller per XBOX 360 e XBOX One.
• Windows.UI.Input.Gamepads
• Tutti i joystick USB (visti da windows come HID) non funzionano
• Quindi?
23. Perchè .NET Core?
• La teoria dice che se scelgo Windows (e basta) allora posso usare:
• .NET Full (.NET 2015, 4.6)
• WPF
• Joystick USB che voglio
• Ma ci sono altre cose
• Sviluppare giochi
• Un altro progetto
24. Sviluppare giochi con XAML
• Puro divertimento
• Nessuna brama di diventare game developer
• Amo gli anni ‘80 e il Commodore 64….e gli schiacciapensieri!
• 2D
• Pochi colori
• Pochi fronzoli
• Tanto divertimento
• Manca così poco a finirlo…ma non ho mai tempo!
27. Back to the Raspberry PI!
• Windows 10 IoT Core
• Ricordate che devo giustificare tutto questo come lavoro a
mia moglie? IoT, Azure….
• Imparo UWP e magari lo uso anche per lavoro
• Non parliamo del futuro di UWP
• Raspberry PI Zero
• Gameboy Zero
• Componenti Aftermarket
• Ho un bellissimo schermo
5 pollici da usare
comprato su Banggood!
29. Conclusioni
• Non serve gran manualità se non ci si arrabbia se è «storto»
• Tanta prototipazione perché componenti possono variare e le scelte non sono
ovvie all’inizio
• Progetto Lento
• Amate i cinesi!
• Spenderete tanto in attrezzi!
• Seghetto alternativo e levigatrice
• Punte a tazza e frese
• Alimentazione, pulsanti, cavi
• Fascette a go-go!
• E a seconda del monitor, tutto cambia!!!!!
30. To Do Hardware
• Trovare il tempo!
• Spegnimento e accensione
• Con un MiniPC c’è il problema di spegnerlo e accenderlo senza tasto
• Spegnimento ok….comando
• Accensione? Standby? WakeonLan? Accensione con Mouse
• Anche con la Raspberry c’è il problema dello spegnimento «violento» in caso di Raspbian
• Stampe adesive
• Preparare il progetto definitivo
• Legno tagliato al laser
• Trovare i componenti interni ottimali (aspetto la Fiera Radioamatore 2 di Pordenone)
• Arcade Fullsize
31. To Do Software
• LaunchBox
• Azure
• Completarlo
• Giochi
• Completarne un po’
• Esercitarsi con i giochi anni ‘80 (io uso il Commodore 64)
• .NET Core su Linux
• Xamarin?
• HTML5?
• Curioso su SkiaSharp (https://developer.xamarin.com/guides/cross-platform/drawing/)