Projets:HexArcade
Contents
Actus
- 2015/11/1: Prototypage
- Démontage & réflexions pour réalisation sticks
- Achat deux joysticks + boutons ici.
- Démarrage projet.
Introduction
Il s'agit de réaliser une borne d'arcade générique, prévue pour six joueurs. D'inspiration directe du pentapong, vu lors d'une visite du computerspiele museum à Berlin.
Ceci est le PentaPong d'origine. L'objectif du présent projet est de faire le même genre de chose en hexagonal, et avec plus de jeux.
Objectifs
On souhaite concevoir et réaliser une borne d'arcade utilisable pour six joueurs. L'objectif est d'en installer un exemplaire dans le hall d'accueil du lab v2 notamment, et de se servir de cette plateforme pour expérimenter différents gameplay particuliers.
Principes
On intègre un PC dans une table hexagonale, incluant 6 controleurs customisés pour disposer de 6 directions. Tous les jeux proposés sont axés autour de ce form factor spécifique.
Fonctionnellement, les controlleurs sont vus comme des claviers, et mappés en logiciel.
Les jeux sont adaptés à cette plateforme, qui d'ailleurs peut servir de support pour se frotter à la programmation de jeux.
Fonctionnalités
hardware
- Joystick arcade modifié pour avoir 6 directions
- 4 boutons classiques.
- controlleur type arduilol (32u4 based)=>usb, avec HID joystick
- chaque joystick + 4 boutons est indépendant, pour disposer d'une meilleure modularité.
- écran x" disposé à l'horizontal, intégré dans une table hexagonale. A terme peut être vidéoprojecteur pour intégration meilleure..?
- PC ou équivalent quelconque.
software
Un article vraiment bien sur comment gérer les grilles hexagonales dans les jeux: http://www.redblobgames.com/grids/hexagons/
Quelques idées de jeux:
- Armor Critical probablement mignon en split screen hexagonal
Module Joystick
pré-étude
Il faut modifier un joystick du commerce pour obtenir 6 directions. On cable 4 boutons classiques arcade. On peut faire une arduilol custom si nécessaire (type leonardo cheapo). On peut envisager de réaliser d'autres types de controleurs (volant, etc) pour des jeux différents... mais ce sera pour plus tard !
proof of concept
Module table
pré-étude
- Structure en bois toute bête ; prévoir cependant un truc assez robuste pour survivre aux maltraitances des joueurs.
- intégration du PC, de l'écran (CRT pour meilleurs angles de vision?), des joysticks.
proof of concept
Pour l'écran, imaginons prendre une dalle LCD toute bête, 4/3 histoire d'utiliser le plus de dalle possible dans l'hexagone.
Prenons http://www.ldlc.com/fiche/PB00151513.html qui est un 19" à 150€. Peut être que l'angle de vue est pas génial, ou autre spec. Pour l'instant, on s'en tape.
Calculs:
- Ecran 4/3, diagonale 19", taille de dalle effective: x=11.4" (hauteur) et y=15.2" (largeur)
- Si on aligne l'hexagone (inscrit dans cercle de rayon R) "à l'horizontale", on a 2R = 15.2" => R=7.6".
- La hauteur est donc cos(30°)*7.6=6.58, ca fait plus que 2*x, la hauteur est donc l'élément limitant!
- Si on met l'hexagone "à la verticale", on a R = x/2 / cos(30°) = 6.58" ce qui est inférieur à y/2
Sur un écran 19", on case donc pas un hexagone très grand: 33cm de diamètre (taille pizza standard, quoi). Peut être suffisant pour un POC, mais la vraie version devra intégrer un vidéoprojecteur ou un écran plus grand, probablement...
La taille de la table supérieure est donc:
- hexagone inscrit dans un cercle de 33cm de diametre au centre pour zone d'affichage
- 19" de diagonale pour la dalle, donc la zone "pour les manettes" doit être au delà. Disons pour simplifier et vu qu'on peut tricher et décaler, qu'il y a 20" de rayon pris par l'écran, et qu'il faut 4" pour loger les manettes : hexagone extérieur 28" de diamètre soit 70cm. Si on a un rectangle de 70x60cm, on arrive à caler le tout.
En gros, voici le crobard:
Prochaine étape: dans une plaque de MDF ou autre d'épaisseur suffisante, tailler la table supérieure: découpe intérieure pour l'affichage, percages pour boutons + sticks + papattes pour "pieds de table" et on pistocollera un écran au dos...
Réalisation
Electronique joystick
Pour prototyper, on va réaliser un shield pour arduino leonardo. Requirement:
- 6 boutons direction
- 4 boutons action
- connectique porc bornier a vis
- Pilotage de leds
On peut ptet utiliser une teensy, qui intègre directement le biniou pour faire un joy USB.
Firmware joystick
ressource pour le firmware. Pour info ca ne compile pas en l'état, il faut faire quelques modifs à la machette pour que ca marche.
On peut ptet utiliser une teensy, qui intègre directement le biniou pour faire un joy USB.
Hardware joystick
On va tenter de modifier un joystick de borne d'arcade du commerce, car plus robuste. Il faudra fabriquer des pièces d'adaptation pour monter 6 switchs au lieu de 4.
Fichiers 3D à imprimer ici: https://www.dropbox.com/sh/iz0l7rsaomcbaxw/AABz8me5P4Y5HQKkWfNki_B1a?dl=0 attentions, retouches à faire.
Yapluca cabler le bouzin et voir ce que ca donne. Peut etre qu'on pourrait avoir envie de rotater l'hexagone de 30° histoire qu'en position extreme (dans un angle) on ne switch qu'un bouton... Maiiis en l'état on devrait arriver à en faire quelque chose!
Ressources
- sparkfun stuff:
- https://www.sparkfun.com/products/9337 bouton arcade bleu, <$2
- https://www.sparkfun.com/products/9338 jaune
- https://www.sparkfun.com/products/9341 vert
- https://www.sparkfun.com/products/9336 rouge
- https://www.sparkfun.com/products/9136 joystick 1: modifiable..?
- https://www.sparkfun.com/products/9182 joystick 2: modifiable..?
- pentapong (trouver la ref/ajouter des pics.)
Starcab
Stick Stick le moins cher, avec boule changeable (pour mettre des couleurs differentes Switchable 2 - 4 - 8 Microswitches inclus
http://www.starcab.net/product_info.php?cPath=219_246&products_id=885
Boutons standards 28mm, Microswitch inclus, vissable 6 couleurs.
http://www.starcab.net/product_info.php?cPath=219_165&products_id=521
http://www.starcab.net/product_info.php?cPath=219_165&products_id=520
http://www.starcab.net/product_info.php?cPath=219_165&products_id=518
http://www.starcab.net/product_info.php?cPath=219_165&products_id=519
http://www.starcab.net/product_info.php?cPath=219_165&products_id=523
http://www.starcab.net/product_info.php?cPath=219_165&products_id=524
Prendre du rab pour les boutons start et autres trucs de maintenance eventuels. ( 10 boutons)
Macro-planning
- HW: lister le stuff, commander le stuff, assembler le stuff. Jnat & clem dès que ya du temps
- SW: chopper un framework sympa, installer un PC kivabien: emptty ; gameplay & premiers protos de jeu: emptty/jnat