PDA

Voir la version complète : TIS-100 // Par le créateur de SpaceChem et Infinifactory (!!!)



Tiax
02/06/2015, 15h12
Le petit génie derrière SpaceChem vient de sortir son nouveau jeu sur Steam, et ça s'appelle TIS-100 (http://store.steampowered.com/app/370360/).

http://www.rockpapershotgun.com/images/15/jun/tis100.gif

ZkUHGvy2pNU

Instabuy, bien entendu.

Dans les grandes lignes, il s'agit à nouveau d'un puzzle-game basé sur la programmation avec un scénario plus ou moins obscur (mais bien amené) en trame de fond. Vous avez retrouvé un ordi étrange chez votre tonton qui vient de clapser dans des circonstances étranges, sauf qu'avant de pouvoir comprendre de quoi il s'agit il vous faudra le débugguer pour accéder aux fonctions plus avancées.

Ce coup-ci, le but est de programmer des nodes via un language bas niveau afin de réaliser des tâches plus ou moins complexes.

Le jeu requiert carrément que l'on imprime un manuel (annoté par le tonton, pour bien poser l'ambiance) indiquant les différentes instructions possibles ainsi que leur syntaxe.

Comme d'habitude avec les jeux Zachtronics Industries, il y a un plaisir sans égal à voir une succession d'instructions complexes sur lesquelles on a sué s'exécuter finalement parfaitement. Par ailleurs, le jeu propose un environnement sandbox dans lequel il est possible de programmer un peu ce qu'on veut.

C'est encore en Early Access, mais c'est déjà très très bon et à tout petit prix.

Cheshire
02/06/2015, 15h51
Le petit génie derrière SpaceChem (aka le seul mec au monde auquel j'ai demandé une dédicace) vient de sortir son nouveau jeu sur Steam, et ça s'appelle TIS-100.

Il y a une petite coquille dans l'url...

A part ça, il est vraiment productif, Zach :o Je note le jeu dans un coin pour plus tard.

Tiax
02/06/2015, 16h07
Merci pour l'info, corrigé. ;)

leplayze
02/06/2015, 17h18
Toujours pas corrigé, il manque ":" et y'a %22 devant l'url...

Tiax
02/06/2015, 17h47
Mais elle me gave cette balise ma parole. :O

Ça devrait être bon là.

Arthropode
02/06/2015, 21h35
Alors ça donne quoi ? Il y en a qui ont testé ?
Vaut-il mieux jouer à programmer ou programmer un jeu ?

Tiax
02/06/2015, 22h56
Perso j'aime beaucoup, c'est encore plus nerd que SpaceChem et plus spartiate, mais le concept reste relativement facile à comprendre et on intègre très rapidement le langage propre au jeu.

Pour ta deuxième question, je suis sûr qu'on doit pouvoir programmer un jeu dans le sandbox, du coup tu jouerais à programmer un jeu. ^_^

Tiax
03/06/2015, 16h19
Purée, le deuxième cycle de puzzle est bien méchant. :O

Enyss
04/06/2015, 16h26
Hehe, je dois être un grand malade pour aimer ce genre de jeux :p

Clydopathe
04/06/2015, 18h17
Je n'ai absolument rien compris au trailer mais ce jeu me fait envie... en contrepartie, je n'ai jamais fini SpaceChem (le boss à faire sauter a eu ma peau). Je ne sais pas si c'est une bonne idée de craquer.

varsovie
07/06/2015, 18h06
J'ai bien aimer spasechem, mais la ce jeu donne l'impression de se frotter le cerveau sur une rape a fromage.

Je vais y faire un tour apres Big Pharma. :D

Tomaka17
19/06/2015, 13h50
Alors ça donne quoi ? Il y en a qui ont testé ?
Vaut-il mieux jouer à programmer ou programmer un jeu ?

Certes ça ressemble à de l'assembleur, mais il y a tellement de contraintes (très peu de place et d'instructions) que c'est plus un jeu d'énigme que de programmation.

Cheshire
19/06/2015, 15h11
Bon, j'ai atteint le Signal Window Filter (le premier en bas à gauche), mais j'ai plus assez de cheveux pour continuer -_-

Le jeu reste bien fun dans son genre, mais moins original (et plus geek) que pouvait l'être SpaceChem.
Je le trouve aussi un peu répétitif à force, ça manque de "nouveau stade de jeu" comme quand on peut jouer en multiréacteurs dans SC. J'aurais bien aimé par exemple qu'une fois un puzzle résolu, on puisse réutiliser le résultat (comme simple composant "boîte noire") dans un autre puzzle plus global qui s'appuie sur des segments et non juste des nodes.

Tomaka17
19/06/2015, 15h25
Personnellement j'en chie à fond sur l'avant dernier (le triage).
Pour le coup je voudrais bien un indice de la part de quelqu'un qui l'aurait réussi, parce qu'il y a plusieurs approches possibles. J'ai tenté une méthode où j'insère les éléments au fur et à mesure tout en gardant la liste triée, mais je manque trop de place.

Cheshire
19/06/2015, 15h31
Personnellement j'en chie à fond sur l'avant dernier (le triage).
Pour le coup je voudrais bien un indice de la part de quelqu'un qui l'aurait réussi, parce qu'il y a plusieurs approches possibles. J'ai tenté une méthode où j'insère les éléments au fur et à mesure tout en gardant la liste triée, mais je manque trop de place.

Ah oué, il a l'air bien prise de tête celui-là...
Là comme ça j'aurais envie d'utiliser les deux stack memory, un pour créer la liste ordonnée, l'autre en stockage temporaire. Quand un nouveau chiffre arrive, on sort les chiffres de la liste ordonnée un par un en les comparant au nouveau chiffre, tant qu'ils sont plus grand on les envoie (dans l'ordre) dans le stockage temporaire ; quand on a un chiffre inférieur (ou rien du tout), on le renvoie, suivi du nouveau chiffre, puis on redéstocke le stockage temporaire (qui se fait normalement dans le bon ordre).
Bon, après reste le plus dur, l'implémentation...

Tomaka17
19/06/2015, 15h46
Bon, après reste le plus dur, l'implémentation...

Ouai, et pas assez de place.
Empiriquement le problème semble être que l'input et l'output se croisent avec les stacks. T'es obligé d'envoyer des signaux afin de synchroniser les différents éléments par le même chemin que celui qui te sert à transférer les valeurs temporaires. Alors bon les jump tables ça marche bien mais à un moment ça coince.

glau
24/06/2015, 09h52
Je l'ai passé hier, après avoir abandonné un premier prototype défectueux. L'algo est assez clair, c'est bien celui que décrit Cheshire, toute la difficulté étant de dire quel node tient quel rôle (qui stocke l'élément en cours, qui tient la tête de pile, etc). J'ai fait une utilisation massive des JRO, en gros chaque node attend que le voisin lui dise quoi faire. C'était la première fois que je les introduisais en fait.

Par ailleurs les registres ANY et LAST, je ne m'en suis servi qu'une fois. Et encore, c'était pour optimiser un programme qui tournait très bien sans.

J'attends avec impatience la release pour voir si on a des puzzles "production" comme dans Spacechem, où on connecte les petites routines.

Clydopathe
21/07/2015, 09h08
J'ai finalement craqué dessus avec la promo de 10% de Steam. Bon, trois heures de jeu et à peine 5 puzzles de passé, bordel que c'est dur!

Par contre, je me suis amusé à avoir quelques achievement et même des trucs 'simples' comme faire le diagnostic en plus de 100K cycles sont chauds à faire. On verra bien ce que ça donnera sur le long terme.

Finish
21/07/2015, 16h49
Je me le suis prit aujourd'hui, 2h et j'ai fini les 3 première lignes. Plus que deux. C'est assez rapide je trouve, mais je m'amuse et c'est le principale. A noter que le jeux vient de sortir de son early access.

ERISS
21/07/2015, 17h39
J'adore les graphismes lol! ça me rappelle mes débuts de programmation
sur ZX81 puis AmstradCPC464(puis6128),
je m'étais d'ailleurs fait un éditeur de bagnoles&co pour CarWars
(pas recopié, je l'avais programmé de A à Z).
Mis en wishlist
http://www.gog.com/game/tis100

Clydopathe
28/07/2015, 09h41
Je sèche à mort sur l'énigme du "Sequence Peak Detector" je n'arrive pas à comprendre comment lire une séquence et trouvé le plus petit sans les fameux "Stack memory" qu'on débloque juste après... J'ai laissé de côté cette énigme et j'en suis à la seconde sur les images et je trouve que leur système de dessin est complètement pourri...

Mais bon, 15h de jeu et je ne me lasse pas :).

Cheshire
28/07/2015, 10h04
Si tu as déjà trouvé comment récupéré le max, c'est simple, tu fais la même chose en inversant les valeurs (en travaillant sur les négatifs au lieu des positifs).

Si tu sèches sur le max aussi, ce que j'ai fait en gros c'est regarder si chaque valeur est plus grande que ce qui est en BAK, si oui, on remplace le BAK, avec un test sur un 0 en arrivée qui envoie la valeur en BAK et efface le BAK. Pour faciliter les choses j'ai utilisé le premier node pour envoyer en double chaque valeur dans chacune des deux nodes qui traite le min et le max (un pour le test de comparaison avec le BAK et un pour le test de 0).

Clydopathe
28/07/2015, 11h54
Nan j'ai même pas tenté le max, je pensais que le min serait plus simple... J'ai à peu près la même technique mais je m'en sors pas avec les signaux de début et de fin de séquences... et ces nodes qui sont tellement petit pour mettre du code...
Mais c'est ça qui est bon! :)

Edit: C'est bon je l'ai passé, maintenant j'en suis aux deuxième test d'image et c'est bien chiant, mais je perds par espoir :).

Erkin_
10/01/2016, 18h58
Disponible sur ipad, je viens de me le prendre pour 4 euros.

Arthropode
10/01/2016, 22h30
Et concrètement, on joue comment ?
Parce que dans la version PC, il faut trouver les commandes dans le manuel fourni, puis tout taper au clavier.

Erkin_
10/01/2016, 22h49
Il y a un clavier virtuel super classe de disponible quand on veut écrire son code, ça marche bien.
Pour le manuel, je l'ai imprimé.

Dommage que l'on ne puisse pas y jouer à partir d'un terminal (comme certains roguelike), ça aurait pu être marrant de passer par Cathode.
http://www.secretgeometry.com/apps/cathode/
https://www.youtube.com/watch?v=qb43-hn_-_c

Ivan Joukov
27/06/2016, 18h16
Pris en soldes sur Steam, ma drogue de ce début de semaine. J'avais aimé Spacechem et on retrouve le même genre de réflexions (c'est beaucoup plus un puzzle qu'un jeu de coding, les bases requises dans le domaine sont très minimes), et comme Spacechem je pense que je n'arriverai sûrement jamais au bout, mais ça fait plaisir de se faire bouillir aussi fort le cerveau.

Clydopathe
27/06/2016, 18h20
Celui là je l'ai trouvé beaucoup plus dur que SpaceChem car moins visuel mais il est super sympa oui!

Ivan Joukov
30/08/2016, 17h31
J'y reviens régulièrement, n'étant ni matheux ni programmeur j'en chie un brin mais j'ai enfin débloqué la dernière ligne de puzzles. Plus que 5 en tout à réussir pour débloquer le puzzle ultime et le 3e mode de jeu (c'est les niveaux créés par les utilisateurs ?). C'est vraiment excellent, varié, dur sans me paraitre inaccessible (quoique dans les derniers j'ai l'impression que des habitudes / des bases de mathématiques vont me manquer, pour faire une division euclidienne avec si peu de fonctions par exemple).

glau
30/08/2016, 18h02
Il y en a quelques uns par la suite effectivement (notamment une liste des diviseurs premiers assez hardcore). Mais c'est une minorité. Bon courage pour la suite. C'est tellement satisfaisant de voir tourner son code quand on en a bien sué ...

Ivan Joukov
07/10/2016, 17h28
Roh non il revient !!!!

https://www.rockpapershotgun.com/2016/10/07/shenzen-io-steam-early-access-by-spacechem-dev/

Whiskey
07/10/2016, 17h37
Roh non il revient !!!!

https://www.rockpapershotgun.com/2016/10/07/shenzen-io-steam-early-access-by-spacechem-dev/

Yep il est sortie et c'est plutot pas mal.

elpaulo
07/10/2016, 18h03
Je confirme, c'est énorme!

Ca reprend à peu près la syntaxe de TIS, avec en plus le coté composant et dessin de routes, qui eux font un peu penser aux vues "map" de SpaceChem. Bref, encore de quoi à se flinguer les neurones pendant des heures !

Ivan Joukov
07/10/2016, 18h06
Bordel je vais le mettre en attente quelques temps j'ai toujours pas fini TIS-100 mais ça fait trop envie.

Whiskey
07/10/2016, 18h33
D'ailleurs quelqu'un sait si y a un mode sandbox, en gros on creer soit meme son puzzle ?

glau
07/10/2016, 19h00
Oui. Au bout d'un moment on débloque un truc pour "faire des jeux". On a accès à une manette, un écran, etc.

J'aime beaucoup, mais je trouve ça assez hard. Même en ayant pas mal de bouteille des précédents Zachtronics (y compris TIS), entre la syntaxe foireuse (le if-then-else ambigü !) et les histoires de synchro (les connexions synchrones ou non des bidules entre eux, plus caler tout ça sur l'horloge) qui arrive tout de suite ... c'était peut-être pas la peine de nous refiler en plus un jeu de solitaire assez ardu ...

Whiskey
07/10/2016, 19h05
Oui. Au bout d'un moment on débloque un truc pour "faire des jeux". On a accès à une manette, un écran, etc.

J'aime beaucoup, mais je trouve ça assez hard. Même en ayant pas mal de bouteille des précédents Zachtronics (y compris TIS), entre la syntaxe foireuse (le if-then-else ambigü !) et les histoires de synchro (les connexions synchrones ou non des bidules entre eux, plus caler tout ça sur l'horloge) qui arrive tout de suite ... c'était peut-être pas la peine de nous refiler en plus un jeu de solitaire assez ardu ...

Ok merci :)

glau
07/10/2016, 20h52
D'ailleurs en exclu, le dernier jeu de Jonathan Blow avec son code source.

https://twitter.com/Jonathan_Blow/status/784422405879963648

glau
12/10/2016, 10h08
Ayè, fini la campagne n°1. Pour fêter ça j'ai ouvert un topic pour le jeu (http://forum.canardpc.com/threads/109480-SHENZHEN-I-O-le-nouveau-Zachtronics-cantonais-fan-de-prog).

Cowboy
26/11/2016, 21h22
https://www.humblebundle.com/nicks-staff-picks-bundle

Comment fait on pour passer le clavier en azerty dans le jeu ?

KophiL
22/03/2019, 20h28
J'ai déterré ce jeu (TIS-100) du fonds de ma librairie steam il y a quelques jours (sûrement acheté dans un bundle, et oublié depuis). Très sympa. La courbe d'apprentissage est plutôt bien fichue, l'ordre des puzzles bien choisi.

Comme d'autres canards, je souffre sur l'avant-dernier puzzle, le sequence sorter. Je crois que j'étais à une ligne de le résoudre (il me manquait une instruction dans le noeud de tri pour que ça fonctionne), mais je n'ai pas encore réussi à faire plus court ni à déporter efficacement une partie du travail dans un noeud voisin. Rageant. :vibre:

Mais comme dit l'autre, je l'aurai un jour, je l'aurai !

Si des gens se souviennent encore de ce jeu (je déterre un topic vieux de 30 mois, tout de même), j'ai une petite question, qui me fait m'interroger sur ma logique, et le fait que je suis probablement passé à coté de mécanismes efficaces :

Utilisiez-vous beaucoup les opérandes ANY et LAST, et la commande JRO x (saut de x lignes vers le haut ou le bas) ? Personnellement, je ne m'en sers pas. Je pense que je raisonne trop "procédural" et que c'est pour ça que j'ai du mal à rentrer mes blocs de code dans les nodes.

Ivan Joukov
22/03/2019, 22h43
J'aime bien le low tech mais cétait mon Zachtronic préféré. Après je me rappelle absolument pas des puzzles si ce n'est que ça a été une période de quelques semaines où je ne pensais littéralement qu'à ça toute la journée.

glau
22/03/2019, 22h49
Utilisiez-vous beaucoup les opérandes ANY et LAST, et la commande JRO x (saut de x lignes vers le haut ou le bas) ? Personnellement, je ne m'en sers pas. Je pense que je raisonne trop "procédural" et que c'est pour ça que j'ai du mal à rentrer mes blocs de code dans les nodes.

ANY et LAST, pas trop dans mes souvenirs. JRO par contre ... ooh oui. C'est lui qui permet des branchements efficaces.

KophiL
23/03/2019, 04h35
Merci pour vos réponses. Glau, tu confirmes ce que je pensais, je rate un truc important en n'utilisant pas JRO. Déjà depuis quelques puzzles, j'arrivais à les faire fonctionner, mais je voyais que le nombre de cycles était très loin de l'optimum. Là, je crois que ma méthode a atteint ses limites, il va falloir que je revoie la façon de penser mes programmes.

Clydopathe
23/03/2019, 08h19
Tis-100 c’est le prochain Zachtronics que j’essaye de refinir! Merci de la remontée de topics, pour le moment c’est SpaceChem qui occupe mon temps...

glau
23/03/2019, 18h22
Il faudrait centraliser tous les Zachtronics dans un seul topic, d'ailleurs ...

Honnêtement, je crois que je n'ai pas compris le JRO avant la fin du premier panneau (le tri). Une fois que ça a été intégré ça s'est révélé être une aide précieuse pour la suite.

KophiL
25/03/2019, 11h20
C'est justement là où je coince.

KophiL
25/03/2019, 18h25
Ayé, ça a fini par passer. Sans utiliser JRO, je n'ai pas trouvé à m'en servir utilement dans mon organisation.

Le dernier a été une formalité par rapport au précédent, fini en même pas une heure.

Reste plus qu'à attaquer la page des puzzles proposés par les joueurs. Y'en a qui ont l'air bien velus...:wtf:

Cello
26/03/2019, 22h00
Vous m'avez donné l'envie de m'y remettre.
J'ai recommencé à réfléchir sur "SIGNAL MULTIPLIER" en essayant de minimiser le nombre de cycles.
Résultat: 386 cycles, ce qui semble pas mal mais des canetons font peut-être mieux.

Pour répondre à Kophil: JRO me semble très utile.

KophiL
27/03/2019, 02h47
Pour répondre à Kophil: JRO me semble très utile.

Je n'en doute pas. Le soucis, c'est que je ne vois pas comment m'en servir efficacement. Il faudrait que j'aie un exemple sous les yeux, je crois. Mais comme j'essaie de finir le jeu sans aide extérieure, je m'interdis une recherche sur le net sur le sujet.

glau
27/03/2019, 13h26
Sans spoiler alors. L'intérêt du JRO c'est de permettre l'asservissement d'un module par rapport à un autre.

Mettons que celui de droite soit l'esclave, il commence par START: JRO LEFT, puis plusieurs sous-programmes qui finissent toutes par JMP START (sauf la dernière, qui n'en a pas besoin). Celui de gauche est le maître, c'est lui qui décide ce que l'esclave doit faire en lui fournissant la bonne valeur de saut.

KophiL
28/03/2019, 16h37
Sans spoiler alors. L'intérêt du JRO c'est de permettre l'asservissement d'un module par rapport à un autre.

Mettons que celui de droite soit l'esclave, il commence par START: JRO LEFT, puis plusieurs sous-programmes qui finissent toutes par JMP START (sauf la dernière, qui n'en a pas besoin). Celui de gauche est le maître, c'est lui qui décide ce que l'esclave doit faire en lui fournissant la bonne valeur de saut.

En effet, c'est pas idiot. Vais essayer d'intégrer ça à mes raisonnement. Merci.

Actuellement, je souffre pour finir la deuxième ligne des puzzles soumis par les joueurs. J'ai jeté un oeil aux suivants, je ne suis pas au bout de mes peines, y'en a des bien pires... :splash: