La myriade de choix des développeurs
Dernière mise à jour : 17 déc. 2021

Avant d’en faire mon métier, je pensais qu’il y avait une façon optimale de coder quelque chose et qu’un bon développeur était celui capable de la trouver et de l’appliquer. Aujourd’hui, je suis convaincue que dans le domaine du jeu vidéo, c’est bien plus compliqué que ça.
Programmer un jeu, c’est choisir entre plusieurs manières de faire
En prenant en compte des facteurs qui peuvent varier d’un jeu à l’autre :
optimiser la mémoire ou le temps d’exécution,
apprendre à utiliser des outils tiers ou développer les siens,
préparer au maximum l’arrivée d’un futur contenu,
se concentrer sur l’amélioration de l’essentiel,
décider du degré de rigidité du code (moins faillible mais moins modifiable sur le long terme),
etc.
La liste est longue.
C’est parce que les manières de coder sont plurielles qu’il y a rarement une façon de faire “ultime” qui surpasse les autres en tout point. Chaque choix vient avec ses avantages, ses inconvénients et son coût. Et comme vous vous en doutez, il n’y a pas que les contraintes techniques à prendre en compte pour décider quel choix adopter, loin de là.
Au-dessus de tout, il y a la contrainte du temps.
Comme le dit Solune, qui programme chez Unexpected :
"En programmation, tout est possible, ce n’est qu’une question de temps.”
C’est tout à fait vrai.
Et un studio indépendant développe un jeu en un temps limité. Il n’est pas impossible que la solution parfaite sur le plan technique soit hors de portée ou qu’il faille renoncer à pouvoir tout faire. Il faut savoir le reconnaître et faire avec en choisissant judicieusement ce à quoi on renonce.
Et la course contre la montre ne s’arrête pas à la sortie du jeu !

Nous avons fait face à une avalanche de bugs à la sortie de looK INside, il a fallu prioriser lesquels résoudre en priorité. Pour cela, j’ai trié les bugs selon leur gravité (s’ils empêchaient de jouer ou non)...
... Et leur fréquence (s’ils apparaissaient souvent et chez beaucoup de joueurs ou non) afin de les répartir en plusieurs patchs.
En plus de cette contrainte, il faut savoir que le choix d’une certaine méthode peut ajouter ou enlever du travail aux autres membres de l’équipe.
C’est valable pour plusieurs programmeurs qui travaillent ensemble, un code pouvant être plus ou moins lisible, mais également lorsque l’on travaille avec d’autres corps de métiers. En cherchant à préserver une structure de code, on peut involontairement compliquer la tâche aux autres et leur faire perdre du temps.
Inversement, un programmeur peut “perdre du temps” de son côté pour en faire gagner à l’équipe, par exemple en développant des outils qui facilitent des tests ou la création de nouveaux éléments de jeu.
De plus, il y a dans les petites équipes des myriades de tâches à cheval entre les corps de métiers, que l’équipe répartit comme elle peut. Il faut constamment faire des choix en fonction de la technique, en fonction du temps et en fonction des autres.
L'exemple de l'intégration des dessins sur looK INside

L’intégration des dessins d’Audrey sur le moteur de jeu Unity nécessite que les images soient d’une taille particulière pour être compressibles. J’ai donc créé un script photoshop qui permet qu’une image soit convertie à la bonne taille sans qu’Audrey ne s’en soucie. Aujourd’hui, nous avons encore amélioré notre processus pour travailler sur la suite...
Fut un temps où looK INside était un jeu bien plus axé sur la palpabilité.
C’était sans compter le fait que le développement est souvent fait de tâtonnements : parfois une chose est fonctionnelle mais ne produit pas une bonne expérience de jeu.
Elle remplit le cahier des charges, mais l’équipe en testant réalise qu’elle ne suscite pas d’émotions ou qu’elle est trop fastidieuse. Alors il faut croiser les doigts pour que le code rédigé soit adapté aux nouveaux objectifs... ou recommencer.
Selon l’avancée du développement, on peut être obligé d’ajouter une exception, car il est trop tard ou risqué de remanier le code de manière plus structurelle.

Les actions du joueur étaient nombreuses et impliquaient une structure de code particulière qu’il a fallu abandonner au cours de la pré-production. En effet le temps pris par le prototypage et les premiers tests nous ont montré que c’était un gameplay irréalisable pour notre équipe dans le temps imparti, mais aussi très difficile à “apprendre” au joueur.
Et je ne parle ici que du domaine de la programmation. Ce processus existe en parallèle dans chacun des métiers.
Développer un jeu, c’est faire une multitude de micro-choix interdépendants qui sont autant de potentielles erreurs que de futurs coups de génie.
C’est ce qui fait du développement de jeu un long casse-tête extrêmement jouissif à résoudre. Mais c’est aussi pourquoi tant de jeux laissent derrière eux cette sensation douce-amère d’imperfection.
Ambre Lacour - Programmeuse looK INside & dWARf
(Game Developer - Freelance)





https://sc8844.com/ có kiểu sắp xếp nhìn khá thoáng, ít nhất là qua lúc mình vừa lướt thử. Mình hay ngại mấy trang mở lên thấy chữ với hình chen nhau, vì chưa đọc gì đã không biết nên nhìn đâu trước. Ở đây các khối nội dung tách ra khá rõ nên mình xem từng phần cũng nhẹ nhàng hơn, không phải căng mắt dò giữa một màn hình đầy thông tin. Mình chưa bấm sâu vào bên trong, thành ra cũng chỉ nói được chút về phần nhìn ban đầu thôi. Có điều cách trình bày này hợp với thói quen xem nhanh của mình, lúc rảnh mở lên vài phút vẫn dễ theo dõi. Thanh menu cũng ở…
qq88 mình mới ghé xem sơ thôi, chủ yếu tò mò giao diện chứ chưa tìm hiểu kỹ nội dung bên trong. Lúc đầu cũng nghĩ sẽ mất một lúc mới quen, nhưng nhìn cách chia các khối thông tin thì thấy khá dễ theo dõi. Mình hay có thói quen lướt từ trên xuống trước, chỗ nào cần mới dừng lại đọc nên kiểu trình bày tách bạch như vậy khá hợp. Một điểm nữa là menu dễ thấy, muốn chuyển sang mục khác cũng không phải tìm quanh màn hình. Mình chưa xem hết nên chỉ nói chút về phần giao diện ban đầu thôi. Các khối nội dung trên trang được chia riêng, còn tên từng mục…
trang chủ S8 có cách chia mục khá gọn, kiểu nhìn vào là biết nên tìm ở đâu chứ không phải đoán. Mình thường thích những trang để các phần riêng ra như vậy, vì lúc chỉ muốn xem một mục nào đó thì đỡ phải lướt qua nhiều thứ không liên quan. Không cần trang trí cầu kỳ lắm, miễn nhìn rõ và chuyển qua lại dễ là được. Điểm này thì phần giao diện ở đây khá hợp ý mình. Mình chỉ nói về cách trình bày thôi nhé, còn nội dung bên trong thì chưa tìm hiểu đủ để nhận xét. Với một trang có nhiều lựa chọn, giữ được các khu vực tách bạch như thế…
tỷ lệ kèo là chỗ mình ghé xem trước, tại mấy trang nhiều số thường làm mình hơi ngại đọc. Lần này mở lên thì thấy bảng chia cột khá thoáng, các dòng tách nhau đủ rõ nên lướt qua cũng không bị nhầm chỗ. Mình chưa ngồi xem hết nội dung đâu, chỉ kéo một đoạn rồi quay lại phần vừa đọc, thấy vẫn dễ theo dõi. Với mình vậy là ổn rồi, chứ chữ với số mà chen sát nhau quá thì đọc một lúc là mất tập trung ngay. Có lúc đang xem dở phải quay sang làm việc khác, nhìn lại cũng không mất công tìm dòng cũ quá lâu. Menu thì để ở vị trí…
tải app 8xbet là cụm mình thấy được nhắc tới nên cũng tò mò xem giao diện bên này trông thế nào. Mình chỉ lướt qua chứ chưa tìm hiểu kỹ nội dung, chủ yếu để ý xem có dễ nhìn, dễ tìm mục cần xem không thôi. Điểm mình khá thích là các nhóm nội dung được tách thành từng khối, nhìn vào không có cảm giác mọi thứ dồn chung một chỗ. Mình thường ngại những trang phải mò một lúc mới biết bấm đâu, nên cách sắp xếp đơn giản như vậy khá hợp mắt. Menu cũng nằm ở chỗ dễ thấy, các mục được phân nhóm nên lúc chuyển qua lại không phải tìm lâu.