samedi 29 novembre 2014

Test - Only If

L'on se réveille après une fête, dans une maison inconnue, sans se souvenir de rien. Partant à la découverte de la maison, l'on se retrouve dans une série d'endroits complètement surréalistes, avec pour guide un psychopathe nommé Vinny qui nous cause via des radios et qui n'arrête pas de vouloir nous tuer. Savant mix entre Dear Esther pour les décors et la faible interactivité, Portal pour la présence du guide fou, avec un petit air d'Alone In the Dark pour l'atmosphère mystérieuse, Only If est disponible gratuitement sur Steam, et vaut tout à fait le détour.

Le jeu n'est pas exempt de défauts: la difficulté est très mal dosée, et certaines séquences se passent sans presque réfléchir alors que d'autres sont ridiculement difficiles, principalement par manque d'indications sur ce que l'on est censé faire. Ainsi, il est possible de mourir de multiples fois (et de recommencer le niveau) sans vraiment avoir compris là où l'on s'est trompé. Cette approche très "old school" peut s'avérer rapidement lassante, gratuit ou pas. De plus, le scénario m'a plutôt laissé sur ma faim. J'ai trouvé l'explication finale franchement faiblarde (heureusement que quelqu'un sur Youtube a eu la bonté de rejouer la scène en ajoutant les sous-titres, parce que je n'avais vraiment pas compris grand chose au premier abord), et il n'y a pas vraiment de progression à travers les niveaux: l'on va de délire en délire, et à la fin tout est expliqué d'un coup.

Mais le soft tire son épingle du jeu via l'atmosphère tout à fait intéressante et les niveaux délirants, entre réalisme, rêve et cauchemar. Les décors sont de toute beauté, et il est agréable simplement de s'y promener. La logique, bien que franchement tordue, se tient généralement. Manquant de temps et de patience, je me suis parfois laissé à regarder les soluces, mais souvent les solutions étaient de fait trouvables, à condition de se creuser un peu les méninges.

Ah, et ça tourne sous Linux! Beaucoup de bugs graphiques, cependant, dus sans doute une fois de plus à ma config: une vieille ATI tournant avec les pilotes libres. Ça ne m'a pas empêché d'apprécier!

dimanche 16 novembre 2014

Test - The Talos Principle (demo version)

Je suis tombé complètement par hasard sur la démo du jeu "The Talos Principle", alors que je regardais ce que Steam avait à offrir ces temps-ci. Présenté comme un jeu de réflexion à la Portal, avec des graphismes plutôt accrocheurs et surtout, tournant sous Linux.

Le jeu commence dans une sorte d'île méditerranéenne, le long d'un sentier qui mène à un complexe de ruines. Grâce à de petits panneaux indicateurs, l'on comprend qu'il faut récupérer des formes géométriques rappelant Tétris dans un certain nombre de zones, dans lesquels il faut combiner différents éléments pour débloquer la forme. Il faudra par exemple utiliser une sorte d'icosaèdre posé sur trépied pour rediriger une source d'énergie vers des capteurs, ou encore brouiller des portails.

Assez rapidement, on comprend que ce monde n'est pas ce qu'il semble être. Le mélange de ruines anciennes et d'objets modernes, une voix divine qui régulièrement vient commenter nos actions, mais surtout l'on se rend compte que nos mains sont celles d'un robot, et que des terminaux permettent de converser avec une sorte d'intelligence artificielle.

Les énigmes proposent un niveau de difficulté très raisonnable, et se résolvent rapidement une fois compris les mécanismes du jeu. Certaines peuvent cependant donner un peu plus de fil à retordre si l'on n'a pas la bonne idée dès le début. Je parlais de Portal au début, et l'on retrouve des sensations similaires: des énigmes indépendantes où il faut interagir avec les objets présents, un univers qui révèle peu à peu ses secrets. Par contre, pas une trace d'humour dans The Talos Principle: au contraire, la narration, les ruines et les bribes d'information fournies sous forme d'enregistrements ou de fichiers consultables sur des consoles que l'on trouve ici et là entretiennent une atmosphère inquiétante.

Les graphismes sont tout à fait agréables, et complètement fluides avec ma configuration: une vieille ATI Radeon HD 4870 tournant avec le pilote libre radeon. Il y a cependant des bugs graphiques ici et là, qui sont sans doute liés au pilote.

Voilà en tous cas un début prometteur. Mieux que Portal? Je me permets d'en douter pour l'instant, l'absence d'humour et la mécanique des énigmes finalement peu innovante empêchera peut-être à The Talos Principle d'atteindre le status de jeu mythique. Mais cela ne m'empêchera pas de m'offrir la version complète, et qui sait, d'être convaincu!

mardi 21 octobre 2014

Les astuces d'optimisation d'Andrei Alexandrescu

La présentation d'Andrei Alexandrescu à la CPP Con vaut le détour. Contrairement à d'autres présentations, qui sont plutôt sur le thème "comment utilise-t-on le C++ chez nous", celle là présente un certain nombre de micro-optimisations dans du code très commun. Deux sujets en particulier: l'inline des constructeurs et destructeurs (réponse: ça dépend, il faut mesurer!), et l'optimisation des pointeurs à comptage de références.

Parmis les trucs proposés, il en est un qui est particulièrement subtil: la plupart des pointeurs partagés le seront finalement assez peu, c'est à dire que le compteur de référence va rarement monter très haut. Par conséquent, il est possible de chouraver deux bits au pointeur, ce qui est généralement possible grâce aux politiques d'alignement, et d'utiliser ces bits pour le comptage de références. Si par malheur le nombre de référence devient trop haut, on logge, et on arrête de compter. L'on a une fuite mémoire, mais c'est un tradeoff généralement acceptable, il suffit de redémarrer le programme régulièrement.

Chez Facebook, ce genre d'optimisations, qui font gagner des dixièmes de pour cent de performances, sont critiques: sur l'ensemble de leurs datacentres, ce sont des millions de dollars économisés.

dimanche 5 octobre 2014

Systemd

Derrière cette appellation qui me fait plutôt rigoler en français se cache un redoutable troll qui a secoué Internet. Systemd, remplacement bienvenu du vénérable sysV init avec configuration simplifiée et excellentes performances au démarrage, ou rigide usine à gaz qui veut tout faire tout en étant impossible à débugger?

C'est hier que j'ai commencé à m'y intéresser, puisque par une de ces bizarreries du système de dépendances dont Debian a le secrêt, il m'a fallu y passer pour pouvoir ré-installer mon driver d'imprimante.

La bonne nouvelle, c'est que tout marche comme avant. Le démarrage est peut-être un poil plus rapide, mais sans plus.

En revanche, le point négatif, c'est que l'on ne voit strictement rien au démarrage: 3 lignes d'init, dont 2 qui me parlent de mes partitions. En particulier, quand ext3 décide de faire un fsck, je ne vois pas la jauge. Ça ne change évidemment rien au temps réel du fsck, mais au moins, je savais si ça valait le coup de rester devant ma machine, ou si je pouvais aller me chercher un dessert.

M'enfin, c'est le sens de l'histoire, paraît-il. Je garde un œil sur la bête.

samedi 4 octobre 2014

La comète 67P dans votre Blender

Vous attachez-vous aux pérégrinations de la sonde Rosetta autour de la comète 67P? Pour ceux qui ne suivent pas, il s'agit d'une mission de l'Agence Spatiale Européenne qui consiste à envoyer une sonde s'approcher à quelques centaines de kilomètres d'une comète pour l'étudier sous toutes les coutures, et, dans quelques semaines, carrément l'aborder via une sorte de harpon. L'ESA poste continuellement de nouvelles photos, et, tout dernièrement, sur leur blog, carrément le fichier objet de la comète tel que généré à travers les multiples prises de vues du caillou.

Voilà donc la comète chargée dans Blender, et rendue sans plus de façons. Ce serait probablement le moment de ressortir les tutoriels pour afficher des fonds étoilés.

Voilà un objet sympathique pour s'amuser avec Blender. Voire tenter de modeler la sonde Rosetta qui tourne autour?

lundi 29 septembre 2014

Gcc prend ses aises

J'ai récemment ressorti OpenRailz de mes cartons, pour voir s'il compilait encore. Je lance donc comme d'hab ma commande omake -j 4. Et là, c'est le drame: en quelques minutes, ma machine est à genoux, swappe à n'en plus finir, le pointeur de souris devient saccadé... Je tue la compile, tout redevient normal. Je recommence, même punition mêmes motifs.

En y regardant de plus près, je me rends compte que chaque compilation mange à peu près 1Go de RAM. Avec 4 compilations en parallèle, c'est fini, mes 4 Go sont partis. Et tout ce qui a changé depuis la dernière fois où je compilais joyeusement cette solution, c'est la version du compilateur.

J'avais en effet entendu dire que particulièrement depuis gcc 4.8, la consommation mémoire s'était accrue, mais là, je l'ai senti en plein.

On vivra avec, parce que les fonctionnalités valent le coup. Mais moi qui me pensais à l'abri du besoin, me voilà lorgnant vers une petite mise à jour de ma RAM...

Coder efficacement avec Emacs - Sommaire et conclusion

Je remets ici la liste complète de mes tutoriels sur l'utilisation d'Emacs comme environnement de développement.

Je continue à être tout à fait satisfait de mon environnement Emacs, et sous Linux du moins, je ne me vois pas en changer. Il y a probablement moyen d'améliorer encore sa productivité, par exemple en utilisant les ctags pour faire de l'autocomplétion, mais celle-ci me semble peu utile tant qu'elle n'est pas contextuelle, et le bon vieux M-Esc / est bien plus simple pour un résultat presque aussi bon. Peut-être que la compétition renouvelée entre gcc et clang pourra nous donner de meilleurs outils d'autocomplétion ou de compilation à la volée qui s’intégreront avec Emacs. En attendant, je me contente très bien de ce que j'ai. Et le regard d'envie de mon vimeux de voisin lorsque je lance un gdb-many-windows n'a pas de prix :)