D'abord, vous devez lancer une copie locale du client et du serveur du jeu, connectée à un compte AWS. Ainsi, lorsque vous utilisez Kiro pour modifier la base de code, vous pouvez vous assurer que vos changements fonctionnent réellement.
Clonez le dépôt de code source ouvert et basculez vers la branche challenge :
git clone git@github.com:kirodotdev/spirit-of-kiro.git cd spirit-of-kiro/ git checkout challenge
Après avoir cloné le dépôt, consultez quelques fichiers clés pour comprendre le projet :
architecture.md - Un aperçu de l'architectureappsec-overview.md - Détails sur la façon dont les composants spécifiques du jeu s'assemblent.Vous aurez besoin des dépendances suivantes installées :
Exécutez le script de vérification des dépendances pour vous assurer que tout est configuré correctement :
./scripts/check-dependencies.sh
Afficher la transcription : Output of the dependency check script
Déployez un pool d'utilisateurs Amazon Cognito pour l'authentification (disponible dans le niveau gratuit AWS) :
./scripts/deploy-cognito.sh game-auth
Afficher la transcription : Output of the Cognito deployment script
Construisez et lancez la pile du jeu en utilisant Docker ou Podman :
podman compose build && podman compose up \ --watch \ --remove-orphans \ --timeout 0 \ --force-recreate
La première fois que vous exécutez cette commande, cela peut prendre quelques minutes. Les exécutions suivantes devraient se terminer en quelques secondes.
Afficher la transcription : Building and launching the game stack
Après l'achèvement, vous devriez voir les conteneurs du jeu s'exécuter dans votre interface de conteneurs.
L'exemple suivant montre l'interface Podman :
Chargement de l'image...
Vous pouvez utiliser Control + C ou Command + C pour arrêter toute la pile.
Lorsque votre pile se lance localement, elle lance également DynamoDB local, un conteneur spécial qui imite le service AWS DynamoDB, mais qui s'exécute localement sur votre propre machine. Le jeu s'attend à ce que plusieurs tables soient créées dans ce conteneur DynamoDB.
Pendant que la pile du jeu est toujours en cours d'exécution, ouvrez un nouveau terminal et utilisez les commandes suivantes pour créer automatiquement les tables nécessaires :
podman exec server mkdir -p /app/server/iac && podman cp scripts/bootstrap-local-dynamodb.js server:/app/ && podman cp server/iac/dynamodb.yml server:/app/server/iac/ && podman exec server bun run /app/bootstrap-local-dynamodb.js
Afficher la transcription : Bootstrapping the local DynamoDB tables
Il est temps de vérifier que tout fonctionne correctement. Essayez d'abord la commande suivante pour vous assurer que le serveur du jeu s'exécute localement :
curl localhost:8080
Vous devriez voir la réponse OK
Ensuite, ouvrez votre navigateur Web et saisissez l'adresse suivante dans la barre d'adresse :
localhost:5173
Vous devriez voir la page d'accueil du client du jeu. Créez un compte et commencez à jouer.
Voici quelques éléments de base à essayer dans le jeu :
WASD pour se déplacer, E pour interagirAvez-vous fini de jouer avec votre copie du jeu? Passons à la première tâche :
Piloter Kiro avec le Steering, et améliorer la page d'accueil du jeu
Configuration pour le développement sur spirit of Kiro