Create: Computing AgesDoc Brass
Premiers pas

Les ordinateurs

Les six ordinateurs du mod côte à côte : vitesse, mémoire, écrans, supports de stockage, réseaux, et lequel choisir.

Le mod compte six ordinateurs, un ou deux par âge à partir de l'âge des tubes à vide. Ils font tous tourner les mêmes programmes Brass avec le même shell : ce que vous apprenez sur le premier reste vrai sur le dernier. Ce qui change de l'un à l'autre, c'est la vitesse de calcul, la quantité de mémoire, l'allure de l'écran, le support où ils rangent leurs fichiers et leur façon de parler aux autres ordinateurs.

Calculateur à tubes
Âge III
Ordinateur à transistors
Âge IV
Mini-ordinateur
Âge V
Micro-ordinateur
Âge VI
Microcontrôleur
Âge VI
Ordinateur moderne
Âge VII

En un coup d'œil

Vitesse et mémoire. La vitesse est atteinte à 256 tr/min (voir plus bas) ; le stress est celui de la configuration du serveur par défaut.

OrdinateurÂgeInstructions par tickInstructions par seconde à 256 tr/minMémoireStress par tr/min
Calculateur à tubesIII204002 048 cellules16 us
Ordinateur à transistorsIV801 6008 192 cellules8 us
Mini-ordinateurV3006 00032 768 cellules4 us
Micro-ordinateurVI1 20024 000131 072 cellules2 us
MicrocontrôleurVI4008 00016 384 cellules1 us
Ordinateur moderneVII5 000100 0001 048 576 cellules1 us

Écran, stockage et réseau :

OrdinateurÉcranDessin gfxStockageRéseauBibliothèques en plus
Calculateur à tubespapier de téléscripteur, 40 × 14, sans couleuraucunPaquet de cartes perforées, 4 Koaucunaucune
Ordinateur à transistorsphosphore vert, 51 × 19306 × 171 pixelsBobine de bande magnétique, 16 Koaucungfx
Mini-ordinateurphosphore ambre, 51 × 19306 × 171 pixelsDisquette, 64 KoCâble de donnéesgfx, net
Micro-ordinateur16 couleurs, 51 × 19306 × 171 pixelsDisquette, 64 Kocâble, radio, Wi-Figfx, net, vehicle
Microcontrôleur16 couleurs, 40 × 12240 × 108 pixelsmémoire soudée, 16 Kocâble, radio, Wi-Figfx, net, vehicle
Ordinateur moderne16 couleurs, 64 × 24384 × 216 pixelsSSD, 1 Mocâble, radio, Wi-Figfx, net, vehicle

Tous les ordinateurs ont les fonctions de base (print, read, sleep...) et les bibliothèques math, string, table, os, term, fs, rs, link, display et peripheral. En plus, gfx dessine des pixels à partir de l'Ordinateur à transistors, net envoie des messages à partir du Mini-ordinateur, et vehicle lit le véhicule de Create Aeronautics sur lequel l'ordinateur voyage, sur le Micro-ordinateur, le Microcontrôleur et l'Ordinateur moderne. Tapez help sur un ordinateur pour voir exactement ce qu'il possède.

Lequel choisir

  • Calculateur à tubes : vos premiers pas et les tâches simples : clignotants, compteurs, séquenceurs, alarme de stock, Feu tricolore. Il pilote la redstone sur ses six faces, les Liaisons de redstone et les Liaisons d'affichage de Create, et les blocs qui le touchent, ce qui couvre déjà beaucoup. Il est lent, demande beaucoup de stress, et son papier ne peut pas afficher de dessins.
  • Ordinateur à transistors : quatre fois plus rapide, et le premier avec un vrai écran : tableaux de bord et jauges dessinés avec gfx sur un mur de Moniteurs cathodiques. Toujours pas de réseau.
  • Mini-ordinateur : le premier à rejoindre un réseau de Câble de données. Un seul ordinateur peut alors piloter des dizaines de machines, de coffres et de capteurs le long du câble, et les ordinateurs s'échangent des messages. Les pilotes automatiques de montgolfière commencent ici.
  • Micro-ordinateur : le polyvalent. Seize couleurs, 24 000 instructions par seconde, 128 K cellules de mémoire, la radio, le Wi-Fi et la bibliothèque vehicle. Jeux, panneaux de commande, tableau de bord d'usine.
  • Microcontrôleur : un petit ordinateur embarqué, une boîte plate de six pixels de haut, entraînée par le dessous et qui ne demande que 1 us par tr/min. Ses programmes vivent dans sa mémoire soudée : il n'a besoin d'aucun support et les garde quand on le ramasse. Fait pour les endroits sans place : sur un dirigeable, sous une route pour un Feu tricolore, dans une machine.
  • Ordinateur moderne : le plus gros en tout : 100 000 instructions par seconde, un million de cellules, un support de 1 Mo et un écran de 64 × 24. Le serveur central d'un réseau, les gros calculs, les grands écrans.

La rotation donne la cadence

Un ordinateur est une machine Create : il ne fonctionne que s'il tourne. L'arbre entre par son dos (la face opposée à l'écran) ; le Microcontrôleur le prend par le dessous. La vitesse de rotation règle la vitesse du processeur :

  • à chaque tick du jeu (20 par seconde), l'ordinateur peut exécuter instructions par tick × tr/min / 256 instructions. Au-delà de 256 tr/min il n'obtient rien de plus, et le sens de rotation ne compte pas ;
  • les fractions sont reportées au tick suivant : même un ordinateur très lent avance. Un Calculateur à tubes à 8 tr/min reçoit 0,625 instruction par tick, soit 5 instructions tous les 8 ticks ;
  • attendre ne coûte rien : un programme dans sleep, read ou os.pull_event n'utilise aucune instruction, quelle que soit la vitesse.
Ordinateurà 32 tr/minà 64 tr/minà 128 tr/minà 256 tr/min
Calculateur à tubes50 /s100 /s200 /s400 /s
Ordinateur à transistors200 /s400 /s800 /s1 600 /s
Mini-ordinateur750 /s1 500 /s3 000 /s6 000 /s
Micro-ordinateur3 000 /s6 000 /s12 000 /s24 000 /s
Microcontrôleur1 000 /s2 000 /s4 000 /s8 000 /s
Ordinateur moderne12 500 /s25 000 /s50 000 /s100 000 /s

Une instruction est un petit pas du programme : x = x + 1 en prend quelques-unes, un appel de fonction d'une bibliothèque un peu plus, et certaines fonctions comptent un supplément pour les gros travaux (dessiner une grande surface avec gfx, par exemple). La page Performances montre comment les mesurer et les économiser.

Grâce à ce budget, un programme ne peut jamais faire laguer le serveur : une boucle sans fin s'étale simplement dans le temps. Si le serveur fait tourner énormément d'ordinateurs (plus de 512 par défaut, réglable dans la configuration du serveur), ceux qui dépassent ce nombre ne tournent qu'un tick sur deux.

La vitesse coûte du stress. Un ordinateur consomme son stress par tr/min (tableau plus haut) multiplié par sa vitesse : un Calculateur à tubes à 256 tr/min demande 4 096 us, un Ordinateur moderne à la même vitesse 256 us. Les valeurs se règlent dans world/serverconfig/computingages-server.toml.

Important

Quand l'arbre s'arrête, ou que le réseau est surmené, l'ordinateur se fige : le programme reste où il en était, sa mémoire et ses sorties sont conservées, et il reprend quand la rotation revient. Le terminal affiche PAS D'ALIMENTATION : l'ordinateur a besoin de rotation. Les Lunettes d'ingénieur montrent le numéro de l'ordinateur, son étiquette, sa vitesse du moment (3000 instructions/s (24000 à 256 tr/min)), sa mémoire, ou Pas d'alimentation : faites tourner l'arbre.

La mémoire

La mémoire d'un ordinateur se compte en cellules. Un nombre dans une variable, une entrée de table ou quelques caractères de texte prennent chacun une ou deux cellules : une table de 1 000 nombres occupe environ 2 000 cellules. Le programme, ses variables, ses tables, ses chaînes et les évènements qui l'attendent comptent tous. Quand un programme demande plus que ce que l'ordinateur possède, il s'arrête sur l'erreur out of memory (que pcall peut rattraper).

mem dans le shell et os.memory() dans un programme indiquent la mémoire utilisée. Quand un programme se termine, ses variables local sont libérées, mais les variables globales qu'il a créées restent en mémoire jusqu'au prochain redémarrage. Une raison de plus d'écrire local.

Les écrans

  • Le Calculateur à tubes imprime sur le papier d'un téléscripteur : encre sombre, 40 colonnes, ni couleur ni dessin. Les clics sur le papier ne sont pas transmis aux programmes (un clic sur un moniteur, si).
  • L'Ordinateur à transistors et le Mini-ordinateur ont un écran à phosphore, vert ou ambre. Les programmes peuvent choisir des couleurs, mais tout s'allume dans l'unique couleur du phosphore ; les dessins gfx marchent, toute couleur autre que le noir s'allumant.
  • Le Micro-ordinateur, le Microcontrôleur et l'Ordinateur moderne affichent les 16 couleurs.

Le texte se place sur une grille de caractères (51 × 19 sur la plupart des ordinateurs). Sous le texte se trouve une couche de pixels, 6 × 9 par caractère, sur laquelle gfx dessine. Voir Les écrans pour les deux, et term et gfx pour les fonctions.

Les supports de stockage

Chaque ordinateur, sauf le Microcontrôleur, a un lecteur qui accueille un support de stockage. Le support garde les fichiers : vos programmes et les données qu'ils enregistrent avec fs.

SupportCapacitéLu par
Paquet de cartes perforées4 KoCalculateur à tubes, Ordinateur à transistors, Mini-ordinateur, Micro-ordinateur, Ordinateur moderne
Bobine de bande magnétique16 KoOrdinateur à transistors, Mini-ordinateur, Micro-ordinateur, Ordinateur moderne
Disquette64 KoMini-ordinateur, Micro-ordinateur, Ordinateur moderne
SSD1 MoOrdinateur moderne

Chaque lecteur lit son propre support et tous les plus anciens : vos programmes vous suivent d'âge en âge, et un Paquet de cartes perforées écrit sur un Calculateur à tubes marche dans un Ordinateur moderne. L'infobulle d'un support liste les ordinateurs qui le lisent.

  • Insérer : clic droit sur l'ordinateur, le support en main. Rien ne se passe si le lecteur est déjà occupé ou si le support est trop récent pour cet ordinateur.
  • Éjecter : accroupi + clic droit sur l'ordinateur, à main vide. Casser l'ordinateur fait aussi tomber le support.
  • Un programme en cours reçoit un évènement disk quand un support entre ou sort (inserted vaut true ou false), voir Évènements.
  • Sans support, le shell répond Pas de support de stockage : clic droit sur l'ordinateur avec un support aux commandes qui ont besoin de fichiers.

Les fichiers sont gardés sur le serveur, dans <monde>/computingages/media/ ; l'objet lui-même ne porte qu'un numéro (affiché dans l'infobulle avancée, F3+H). Les fichiers suivent donc l'objet partout : dans un coffre, vers un autre ordinateur, chez un autre joueur.

Note

Un support copié en mode créatif (clic molette) porte le même numéro que l'original : les deux partagent les mêmes fichiers.

Un support contient au plus 1 024 fichiers et dossiers. Les noms de fichiers et de dossiers utilisent des lettres non accentuées, des chiffres, _, . et -, jusqu'à 32 caractères ; un chemin complet fait au plus 128 caractères. Les dossiers ne prennent pas de place. Les limites sont listées dans Limites.

Le Microcontrôleur n'a pas de lecteur : sa mémoire de 16 Ko est soudée. Elle fonctionne comme un support qui ne quitte jamais le bloc : quand vous cassez le Microcontrôleur ou le ramassez à la clé, l'objet garde sa mémoire, et les programmes sont de nouveau là où vous le reposez.

Les réseaux

Câble de donnéesModem radio (128 blocs)Routeur Wi-Fi (256 blocs, dorsale mondiale)
Calculateur à tubes, Ordinateur à transistorsnonnonnon
Mini-ordinateurouinonnon
Micro-ordinateur, Microcontrôleur, Ordinateur moderneouiouioui

Un Câble de données relie des ordinateurs et les machines le long du câble, qui deviennent des périphériques nommés comme inventory@120,64,-35. Un Modem radio posé contre l'ordinateur (ou sur son câble) atteint les ordinateurs à moins de 128 blocs, et des Routeurs Wi-Fi (fabriqués à l'âge numérique) qui partagent le même nom de réseau portent les messages à travers le monde. La page Réseaux explique tout cela.

Alimentation, redémarrage et boutons du terminal

Un clic droit sur un ordinateur ouvre son terminal. À côté de l'écran se trouvent trois boutons :

BoutonToucheCe qu'il fait
Éteindre / AllumerÉteindre : le programme s'arrête, l'écran devient noir, toutes les sorties sont coupées (redstone, Liaisons de redstone, lignes des Liaisons d'affichage), et l'ordinateur reste éteint même s'il tourne. Allumer : il démarre, puis lance startup.
RedémarrerCtrl+RRedémarre : la mémoire est effacée, les sorties sont coupées, la bannière revient et startup se lance.
StopperCtrl+TArrête le programme en cours, efface l'écran et revient à l'invite. Les sorties gardent leur dernière valeur.

Les commandes du shell reboot et shutdown, et les fonctions os.reboot et os.shutdown, font la même chose que les boutons Redémarrer et Éteindre. Un ordinateur démarre au plus deux fois par seconde : un programme qui redémarre en boucle ne peut pas saturer le serveur.

Un ordinateur démarre aussi tout seul quand il se met à tourner, et quand son chunk est rechargé (après un redémarrage du serveur, par exemple) : quand le chunk se décharge, l'ordinateur s'arrête, et son programme et sa mémoire sont perdus. Mettez votre programme dans un fichier startup et il revient à chaque fois.

Le terminal fonctionne pour tout joueur à moins de 16 blocs de l'ordinateur, et plusieurs joueurs peuvent regarder le même terminal. Le texte de help et les examples suivent la langue du dernier joueur qui l'a ouvert.

Numéro et étiquette

Chaque ordinateur reçoit un numéro la première fois qu'il tourne, unique dans le monde : id dans le shell, os.id() dans un programme, Ordinateur n°7 dans les lunettes. Vous pouvez aussi lui donner une étiquette, un nom de 32 caractères au plus : label Four à fer dans le shell, ou os.label("Four à fer") dans un programme. L'étiquette apparaît dans les lunettes, dans id, et pour les autres ordinateurs du réseau (net.computers()).

Quand vous cassez un ordinateur ou le ramassez à la clé, l'objet garde son numéro et son étiquette : reposé, c'est le même ordinateur.

Les moniteurs

Un Moniteur cathodique (âge IV) ou un Moniteur LCD (âge VII) posé contre un ordinateur affiche son terminal dans le monde, assez grand pour être lu de loin.

  • Des moniteurs du même type posés côte à côte, tournés dans le même sens, en un rectangle plat, forment un seul écran de 8 × 6 blocs au plus.
  • Le Moniteur cathodique brille comme un écran à phosphore (vert pour un Calculateur à tubes ou un Ordinateur à transistors, ambre pour un Mini-ordinateur, en couleurs pour les plus récents) ; le Moniteur LCD est un écran plat en couleurs.
  • Un clic droit sur n'importe quel moniteur de l'écran ouvre le terminal de l'ordinateur. Quand le programme en cours attend des clics (il a appelé os.pull_event() ou os.pull_event("click")), le clic droit appuie sur l'écran à la place (un crayon optique sur le cathodique, un toucher sur le LCD) ; accroupi, il ouvre quand même le terminal.
  • Un moniteur n'affiche rien tant que son ordinateur ne tourne pas.

La page Moniteur montre comment un programme lit la taille de son écran.

Les Liaisons d'affichage

Une Liaison d'affichage de Create dont la source est un ordinateur affiche les lignes que le programme a écrites avec display.set() sur un Panneau d'affichage, des Tubes Nixie, une pancarte ou tout ce qu'une Liaison d'affichage sait remplir. Elle se rafraîchit deux fois par seconde. Les lignes sont effacées quand l'ordinateur redémarre ou s'éteint. Voir display.

La clé

Avec la Clé de Create :

  • un clic droit tourne l'ordinateur d'un quart de tour. Son dos tourne avec lui : déplacez l'arbre, et n'oubliez pas que "left" et "right" suivent l'écran ;
  • accroupi + clic droit le ramasse, avec son numéro, son étiquette et (pour le Microcontrôleur) sa mémoire. Le support qu'il contient tombe au sol.

Il en va de même pour les autres blocs du mod : moniteurs, câbles, Modems radio et Routeurs Wi-Fi.

Voir aussi