Je joue pas beacoup sur mobile, mais un jeu sur lequel je reviens fréquemment (et dispo sur steam linux, mac et PC DRM free) est Human Resource Machine.
Le jeux vous fait coder en pseudo assembleur à base de glisser déposer, avec des puzzles d’abord simples puis de plus en plus corsés. Et à partir d’un certain niveau, en plus de résoudre le puzzle, il y a deux challenge d’optimisation, le code le plus concis et le runtime le plus efficace. Les deux demandent pas mal de créativité.
Je recommande chaudement.
En très bon jeu aussi pour apprendre comment un ordinateur fonctionne, il y a Turing Complete:
ooh ça a l’air cool! Je vais me le mettre au chaud pour mon prochain voyage
Il est facile d’accès pour ceux qui n’ont fait aucune études en informatique ? Ou il faut des bases ?
Aucune base requise c’est archi ludique t’inquiète
Génial, je vais tester ça :)
il est très facile d’accès avec des puzzles qui débloquent les composants petit à petit. Le passage le plus difficile d’après moi c’est la création de la mémoire. En dehors de ça, c’est assez simple
C’est à dire qu’il faut la gérer pour qu’elle ne s’efface pas, un truc comme ça ? :)
tout a fait, et il faut arriver à faire ça avec des composants electroniques basiques. Mais le jeu reste accessible et aide beaucoup. Juste que ce morceau très spécifique, même avec l’aide j’ai un peu galéré à résoudre le puzzle.
Trop bien, merci :)
Les derniers niveaux sont vraiment chauds. Il faut être organisé.
Tu as essayé la suite ? Celui qui imite plutôt la programmation parallèle (FPGA, calcul distribué…)
l’assembleur, ça existe encore ?
L’assembleur existera toujours puisque c’est le seul langage que comprends le CPU. Quand j’étais jeune, j’étais à fond dessus parce que je n’avais pas de compilateur et que ça coûtait très cher (genre 1000 Fr / 150 € pour coder en C).
En 20 ans de programmation, je n’ai utilisé l’assembleur qu’une seule fois, c’était pour comprendre que mon compilateur tout pourri était buggé à fond. Mais ça n’a duré qu’une journée. Les entreprises utilisent des langages de haut-niveau parce que… faut pas déconner quand même, utiliser de l’assembleur est suicidaire. Et pour le vrai “bas-niveau” genre logiciel embarqué dans un micro-processeur de style Arduino, tu peux très facilement écrire ton code en C et même en C++20 (hyper-moderne, je l’ai fait récemment).
Non pas vraiment, c’est pour ça que c’est très intéressant pour moi, ça ressemble toujours à de la magie quand je vois des gens coder des jeux NES en assembleur à la main par exemple
dire qu’en ayant connu le basic, je pensais être vieux, ravi de voir que les jeuns peuvent s’amuser avec des trucs d’un autre temps
Oui mais est-ce que tu as connu le Dark Basic, “3D Game Creator”. C’était mon enfance au collège pour faire un ARPG en 3D qui mélange zelda et golden sun et avatar et blablabla autres rêves de gamins.
oula, c’est trop jeune pour moi : les jeux à mon époque, c’était pacman, tétris…
j’ai même connu les ordinateurs à cassette magnétique ou tu devais attendre 5 minutes avant de pouvoir commencer à jouer 🤪
Pareil, j’allais chez un copain pour jouer avec son Amstrad CPC. On lançait la cassette, puis on allait jouer dehors le temps que ça se charge. Ensuite un autre camarade de classe avait eu un Amstrad avec disquettes, c’était le futur.
Et même aujourd’hui on a des frameworks complets qui permettent d’écrire des vieux jeux avec un langage de haut-niveau. Par exemple SGDK pour écrire en C (ou d’autres, voir cette page https://github.com/And-0/awesome-megadrive)
Je ne suis pas un expert, mais c’est indispensable par exemple pour coder un kernel, non?
Je n’y connais rien non plus mais je crois que le code assembleur est très limité dans les OS comme Linux. La plupart du code est écrit dans un langage de haut-niveau une fois que l’assembleur a fait son travail de “démarrage”.
Sinon j’ai fait un peu de Game Boy Advance il y a bien longtemps. Le seul code assembleur vraiment nécessaire est la détection de l’affichage, c’est à dire la boucle qui va rafraîchir l’écran à intervalle régulier. Mais tout ça se fait en quelques lignes d’assembleur, tout le reste est un appel à des fonctions haut-niveau en C ou autre.
Apparement sur un noyau Linux vieux de 3 mois, il y aurait tout de même près de 300000 lignes d’assembleur. C’est une petite partie du total, mais c’est quand même loin d’être négligeable.
https://openhub.net/p/linux/analyses/latest/languages_summary
J’ai eu mon DUT en informatique en 2019 et on avait des cours et un partiel d’assembler 68k, avec une option ASM x86.
deleted by creator
Pas du tout, IUT d’info a Grenoble. C’est encore le cas aujourd’hui il me semble.
deleted by creator
Je note. Merci.
Y a while True: learn() aussi qui est axé machine learning par contre, je l’ai pas fini encore mais il est bien. Dispo sur switch et sur steam, peut-être ailleurs aussi je sais pas. Human Resource Machine ça fait un moment qu’il existe me semble, ils ont fait 7 Billion Humans que j’ai pas encore testé d’ailleurs
Il y aussi les jeux de https://en.wikipedia.org/wiki/Zachtronics. TIS-100 pour de l’assembleur, et Shenzen I/O pour une fausse entreprise d’électronique, c’est assez bien fait.
En plus délirant il existe aussi [Shenzhen IO(https://fr.m.wikipedia.org/wiki/Shenzhen_I/O), le jeu le plus bizarre auquel j’ai joué. Un pseudo assembleur inventé, de l’électronique fantaisie, et on peut finir par programmer des jeux dans le jeu (cherchez sur YT si ça vous intéresse).