A Game Studio

Une expérience du jeu indépendant

Introduction

Samuel BOUCHET

Développeur indépendant - Web et Jeu vidéo
@Lythom

Prototypes et jeux

Mod minecraft - Capsule

https://minecraft.curseforge.com/projects/capsule

A Time Paradox

Un jeu d'inflitration contre soi-même, où le joueur doit éviter ses « lui » du passé.


On va parler de

  • La vie
  • Comment on devient indé solo
  • Processus créatif de A Time Paradox
  • Retour d'expérience
  • Réactions à vos remarques

A Game Studio

Création

  • Activité freelance pour concilier vie pro / vie perso / jeu vidéo

Image

  • Valeurs : simplicité / élégance
  • Création du logo et de l'identité tôt Cf. https://a-game-studio.com/
  • Evolution souhaitée: plus de vivant, plus de visuels. Importance de l'émotion.

Situation économique

  • Entrées d'argent = 99,6% prestation (0.4% le jeu vidéo)
  • Et c'est ce qu'on peut attendre dans la situation
  • Charges = 93% rémunération (dont ~50% de taxes), 6% de prestations et 1% achats licence / matériel.

Compétences utiles

  • Gestion de projet
  • Compatibilité (parler le même langage que son comptable)
  • Droit / Administration des entreprises (status sociaux, obligations légales, propriété intellectuelle)
  • Relations humaines (appréhender le contact social)
  • Anglais (enregistrer sa société aux USA pour -30% de taxe)

A Time Paradox - Création

Procesus créatif

  • Faire des jeux de jam
  • Approfondir le plus prometteur (2eme proto avec la technologie cible)
  • Si les retours testeurs bons, développement complet

Conception et développement - Acquisition des compétences

  • Dev: Formation développeur Full-Stack
  • Game design: lectures + mise en pratique
    • L'Art du game design - Jesse Schell
    • Designing Games - Tynan Sylvester
    • The gamer's brain - Celia Hodent
  • C'est en forgeant qu'on devient forgeron

Conception et développement - pour inspiration

Gestion de projet

  • Google agenda
  • Code.io
  • Méthode pomodoro + notes papier
  • Listes de tâche notes numériques

Level design

Le Game Design document

Télécharger le GDD en PDF
  • Pragmatique: pour moi, pour mémoire
  • N'est utile qu'au début du projet, ne le maintenez pas.
  • Toujours créer un document pour quelqu'un, pour un besoin
  • One Page Designs - Talk GDC

A Time Paradox - Cycle de vie

Tests

  • Sont la colonne vertébrale du développement du jeu.
  • La plupart des évolutions viennent de retours de tests.

Analytique

  • !légal: Anonyme
  • !technique: limite uniquement pour les joueurs connectés (chiffres à trous)
  • !biais cognitifs: notre cerveau est nul

Analytique (2)

  • 24162 échecs pour 5811 completions = environs 4 échecs pour une réussite
  • Les plus durs : numéro de tentative / nombre d'événement = nombre de tentatives moyen

Analytique (3)

Niveau fails cumulSérie série moyenne
C08L08@SiLoin.json 767 27470 35,81
C05L07@spaciousFirst.json 374 10637 28,44
C06L09@HoloLockDoor.json 2013 55642 27,64
C04L11@finducalcul.json 1548 30492 19,69
C05L09@6-6door.json 919 17383 18,91
C08L09@cannon.json 92 1550 16,84
C09L01@Final.json 350 5725 16,35
C07L01@DM1.json 69 1037 15,02
C04L07@hardloopwithdoc.json 879 10970 12,48
C04L09@themask.json 517 6319 12,22
C08L06@PLSIsRealDoorHard.json 583 7112 12,19
C05L01@DoorFirst.json 497 5570 11,20
C08L03@smartharddoor.json 287 3103 10,81
C08L07@04_exp09c.json 151 1586 10,50
C05L03@Door3.json 390 4068 10,43

Analytique (4)

  • 7450 starts pour 5811 completions = 1073/1535 ~= 78% du temps le joueur qui commence un niveau le termine dans la même session de jeu
  • 718 événement de sortie sans capsule pou 7450 starts = 10 % du temps le joueur arrive sur la case de sortie avec une capsule manquante.

Analytique (5)

niveau completed play loss
C01L01@debut.json 462
C01L02@passeACote.json 422 8,66 %
C01L03@basics.json 349 17,30 %
C01L04@6-6.json 285 18,34 %
C01L05@O.json 265 7,02 %
C01L06@6-6hard.json 256 3,40 %
C01L07@CD.json 215 16,02 %
C02L01@02_paradox03.json 204 5,12 %
C02L02@TL_first.json 202 0,98 %
C02L03@Pre-OO.json 186 7,92 %
C02L04@OO.json 145 22,04 %
C02L05@6-6harder.json 146 -0,69 %
C02L06@TL_FirstHarder.json 128 12,33 %
C02L07@C2_Boss.json 125 2,34 %
C02L08@Backloop.json 119 4,80 %
C02L09@LikeASnake.json 101 15,13 %
C03L01@dem0Boss.json 90 10,89 %
C03L02@TL_double.json 87 3,33 %
C03L03@win1.json 85 2,30 %
C03L04@win2.json 87 -2,35 %
C03L05@winHarmony.json 86 1,15 %
C03L06@rotors.json 82 4,65 %
C03L07@manageSpacial.json 87 -6,10 %
C03L08@PLSIsReal.json 86 1,15 %
C03L09@PLSIsReal2.json 81 5,81 %
C03L10@finDem0.json 85 -4,94 %
C04L01@Doc2Intro.json 61 28,24 %
C04L02@DocLearnToGo.json 57 6,56 %
C04L03@SerpentADeux.json 54 5,26 %
C04L04@CrossAgain.json 54 0,00 %
C04L05@lenfer.json 54 0,00 %
C04L06@04_exp02.json 55 -1,85 %
C04L07@hardloopwithdoc.json 43 21,82 %
C04L08@yousee.json 40 6,98 %
C04L09@themask.json 39 2,50 %
C04L10@FollowMe.json 34 12,82 %
C04L11@finducalcul.json 30 11,76 %
C04L12@funnyGhost.json 28 6,67 %
C05L01@DoorFirst.json 29 -3,57 %
C05L02@Door2.json 30 -3,45 %
C05L03@Door3.json 24 20,00 %
C05L04@DoorWindowHard.json 23 4,17 %
C05L05@285.json 23 0,00 %
C05L06@DoorWinWait.json 25 -8,70 %
C05L07@spaciousFirst.json 21 16,00 %
C05L08@Impo.json 22 -4,76 %
C05L09@6-6door.json 18 18,18 %
C06L01@winHarmonydoor.json 18 0,00 %
C06L02@Holomur1.json 20 -11,11 %
C06L03@AlienLookingWithDoc.json 19 5,00 %
C06L04@Holomur5.json 19 0,00 %
C06L05@Holomur3.json 19 0,00 %
C06L06@holopoursuit.json 19 0,00 %
C06L07@PLSloopeasy.json 20 -5,26 %
C06L08@Vanilla2TwinDoor.json 19 5,00 %
C06L09@HoloLockDoor.json 25 -31,58 %
C06L10@Impossible.json 19 24,00 %
C06L11@ImpoGrand.json 18 5,26 %
C07L01@DM1.json 20 -11,11 %
C07L02@DM2.json 25 -25,00 %
C07L03@DM3.json 17 32,00 %

Stratégie de communication

  • twitter + événements physiques
  • contenu préparé
  • missing: facebook, instagram, twitch, youtube
  • rex: long + développement hashé = pb régularité
    • travailler avec un presta
    • Utiliser n'importe quel progrès / événement comme prétexte de communication
    • bad buzz = buzz
    • mieux vaut trop parler que pas assez
    • Mais échec à le mettre en place

Vision à long terme

  • sortie android + PC + anglais + mode de jeu avec contenu récurrent
  • communication au moment de la sortie PC/anglaise (publicité, posts, réseau direct)
  • présence dans des salons
  • promotions événementielles (noël, vacances, soldes, pâques, autres ?)
  • A Time Paradox 2 (multijoueur, nouveaux modes)

Vos retours

chapitre 9 directement débloqué ?
erreurs paiement (Invalid receipt) ou unlock tip.
Plus de niveaux sans tubes ?
les tubes sont des points de passage obligatoire. Les portes auraient pu être utilisées à la place.
lenteur d'arrivée des mécaniques ?
Oui, probablement un peu long. couplage avec le scénario rend les évolution difficiles.
lien porte/bouton, TP qui empêche l'anticipation ?
Evolution à envisager pour faire apparaitre le lien.
personnage supplémentaire = pas d'innovation par rapport au clone ?
  • obstacle mobile à parcours fixes (clone = parcours interactif)
  • Permet des interactions scénaristiques
  • Les trous d'incertitude créent la tension, obligent le joueur à de se lancer sans maitriser tous les éléments
  • Le prochain mouvement est toujours visible et les déplacements hormonieux (= reste prédictible)
  • Montre l'exemple (ex: utilisation des TP)
traverser un clone à travers un mur holographique ?
Pas possible (seul échange TP possible)
mur holo peu exploité ?
peu élégant, se combine mal avec les autres éléments car les rend inutile.
mécanique finale et mémoire.
=>ATP n'est pas conçu pour être un jeu de mémoire.
  • idée = niveau bosse différent pour terminer sur un climax.
  • problème de mémoire = incite à développer une stratégie plutôt que de tatonner un chemin.
  • Mode de jeu à base de génération procédural
  • Mode arcade avec meilleur scoring ?
Pas assez de combinaison de mécaniques ?
  • temps de création des niveaux.
  • TP + Doc = 1 journée pour le niveau
  • complexité = + d'itérations de design + risque de rater des choses
  • => solveur automatique ?
  • holomur détruit le reste, plus gros combo possible = vitre + Doc + TP + Portes
Icone "attendre un tour" peu lisible ?
Oui défaut d'UI identifié très tard, une seule itération par encore concluante.
Placer le bouton recommencer près des options plutôt que de l'horloge ?
Bonne idée
Dur d'identifier le nombre de tours restants ?
Oui, améliorations possibles
Option volume sonore et taille du pavé ?
oui, au moins un toggle musique
taille du pavé: contraintes de rendu pixel
Permettre le retour en arrière ?
envisagé
Donner un indice / solution via publicité ?
flèches directionnelles ?
  • par rapport au personnage => trop d'erreurs, surtout pendant les déplacements continus
  • swipe => trop d'erreurs
  • problème identifié : inertie des contrôles, à compenser
différencier le personnage jouer ?
choix de conception, voyage temporel = confusion, pimente doucement le défi, participe au sentiment de progression
Syncro sauvegarde en ligne :
c'est en cours. Problématiques d'associer un compte joueur (technique, légale). Nécessaire pour niveaux à débloquer.
Bouton retour android ?
Oui ! gros TODO.
Navigation dans les menus plus rapide ?
Pas envie de sacrifier le menu.
Indication de la sortie du 2ème personnage ?
Oui, à faire
Amélioration des dialogues (trop petits) ?
grossissent en fin de niveau uniquement. Important qu'ils ne gènent pas. Je ne sais pas comment faire mieux.
Ajouter un Log pour l'histoire ?
Oui. pas prio mais ça serait idéal.
Diversifier l'environnement ?
Suffisant pour la portée du jeu. Pourquoi pas dans un 2eme titre.
Quand seront débloquées les autres fonctionnalités (défis hebdo, infini) ?
Soon™ (Presta, enseignement, développement infra (service de compte / sauvegarde))
Pourquoi il y a une nouvelle mécanique en début de chapitre 9 mais qui n’est plus exploitée car fin du jeu ?
Climax boss de fin. Mais pourquoi pas débloquer un mode où on rejoue tous les niveaux avec objectif max score.
Quel outil a été utilisé pour le développement ?
Unity3D
Est-ce que le jeu a rapporté de l’argent ?
143,64 € (= 36 achats play store + ~50 € en vente direct)

Merci !

Soutenez-moi en vous abonnant sur a-time-paradox.com,
Partagez si le jeu vous plait !


@Lythom
https://samuel-bouchet.fr