Chipgrid / Documentation / Exemples

Visuels

Des images faites par le code : pluie, égaliseurs, raster bars, tunnels, plasma, textes défilants, kaléidoscopes.

25 exemples. Chaque bloc est la grille telle que l’app la charge (un . est une case vide). Ouvrir dans Chipgrid l’ouvre prête à jouer ; ou choisissez-la dans le menu EXEMPLES de l’app.

Pluie

Deux nombres au hasard 0Rv (0–31) choisissent où X dessine une goutte sur la ligne du haut, à chaque tick. M35 fait défiler toute l’image vers le bas de 5 pixels par tick, T1 l’estompe lentement : la pluie. Essayez M31 (plus lent), d’autres couleurs, ou V2 pour les verts Game Boy.

# PLUIE #
.
V0
.
.0Rv
.X.07..# x au hasard, en haut, qui defile vers le bas #
.
.0Rv
.X.01
.
M35
T1
.
................0R4
..............1D2.SCDEGA..# gouttes #
................P5.12

Ouvrir dans Chipgrid ↗ · 120 BPM

Égaliseur

Trois barres H. La largeur de chacune vient d’une séquence de nombres parcourue par une horloge — la même mécanique qu’une mélodie, mais dessinée. T8 estompe vite, les barres rebondissent. Modifiez les listes : w = toute la largeur, 0 = rien.

# EGALISEUR #
V16
.
..1Cg.....................1Cg
....Sw8g4o8c2w6k4s8e2.......S*0000000*0*00000
.H06.7.....................J.B3C2o
............................S00*000*000*000*0
..2Cg......................J.N010
....S4cgkoswsokgc8442.......S0000*0000000*000
.H0b.d.......................N530
.
..1Cg
....Sg0g0wg8gs0c0w0o4
.H0g.a
.
T8

Ouvrir dans Chipgrid ↗ · 126 BPM

Parade de sprites

Trois sprites O traversent un champ d’étoiles (deux X au hasard, dissous par T6 pour scintiller), poussés par des horloges à trois vitesses (1, 2, 3 ticks par pas) — les plus lents semblent plus loin : la parallaxe. Changez la graine (3e entrée) pour une autre créature.

# PARADE DE SPRITES #
V0
..........................gC4
.1Cw....................1D4.SCAFG
.O.414....................G3.24
.
.2Cw......................gC4
.O.a57..................1D2.SCAFG
..........................B2.2
.3Cw
.O.g9b
.
.0Rv
.X.31
.
.0Rv
.X.m1
.
T6..# 3 horloges a 3 vitesses = parallaxe ; X au hasard

Ouvrir dans Chipgrid ↗ · 112 BPM

Cycle de palettes

Quatre barres H dont la couleur vient d’horloges qui comptent 0–15, qui défilent vers le bas avec M35 : une cascade de toutes les couleurs. Puis une horloge 8C4 sur l’entrée palette de V passe NES → C64 → Game Boy → CGA tous les deux temps, et toute l’image change de couleur d’un coup, car l’écran stocke des numéros de couleur — le cycle de palette. F flashe sur la caisse claire.

# CYCLE DE PALETTES #
.
....1Cg.................1Cg
.H02w.....................S*0000000*0*00000
.........................J.B3C2o
....2Cg...................S00*000*000*000*0
.H08w....................J.N010
..........................S0000*0000000*000
....3Cg....................N530
.H0ew.....................F1
.
....4Cg
.H0kw.....................2C8
........................1D2.SCEGEAGED
M35.......................P4.12
.
.8C4
.V...# une horloge sur la palette de V #

Ouvrir dans Chipgrid ↗ · 124 BPM

Tissage

Quatre pixels sur la ligne du bas, chacun poussé par sa propre horloge (1, 2, 3, 5). M21 fait tout monter d’un pixel par tick : chaque pixel laisse un fil en biais, un tissage qui ne se répète qu’après 30 pas. Changez les vitesses, les couleurs, ou essayez M11.

# TISSAGE #
V3
.
.1Cw
.X.nb..# 4 pixels a 4 vitesses en bas, qui montent #
.
.2Cw
.X.nd
..........................2C8
.3Cw....................1D2.SCEGEAGED
.X.ne.....................P4.12
.
.5Cw......................gC4
.X.n7...................1D2.SCAFG
..........................B2.2
M21

Ouvrir dans Chipgrid ↗ · 118 BPM

Rave

Une barre H et un sprite O au hasard à chaque tick, et K efface l’écran à chaque temps (1D4) : l’image se reconstruit quatre fois par mesure, au rythme de la grosse caisse. F2 flashe en rouge sur la caisse claire.

# RAVE #
V0
........................1Cg
1D4.......................S*0000000*0*00000
..K......................J.B3C2o
..........................S00*000*000*000*0
..0Rn....................J.N010
.H0.w4....................S0000*0000000*000
...........................N530
.0Rs......................F2
.O.837
.
..........................gC4
........................1D2.SCAFG
..........................B2.2
.
# K efface l ecran a chaque temps #
# une barre et un sprite au hasard a chaque tick #

Ouvrir dans Chipgrid ↗ · 140 BPM

Barres copper

Le grand classique des démos Amiga et C64. Cinq barres H ; le y de chacune vient d’une onde 4Wn (0 → 23 → 0, une fois par mesure). Les ondes ont la même vitesse mais une phase différente (0 3 6 9 c) : les barres se suivent comme un serpent. T5 laisse des traînées. Changez les vitesses (4) pour les séparer, ou les phases.

# BARRES COPPER #
V10
........................1Cg
..4Wn0....................S*0000000*0*00000
.H0.w7...................J.B3C2o
..........................S00*000*000*000*0
..4Wn3...................J.N010
.H0.wa....................S0000*0000000*000
...........................N530
..4Wn6
.H0.we....................gC4
........................1D2.SCAFG
..4Wn9....................B2.2
.H0.wd
.
..4Wnc
.H0.w4
.
.
T5..# 5 ondes, meme vitesse, phase 0 3 6 9 12 #

Ouvrir dans Chipgrid ↗ · 128 BPM

Lissajous

Un pixel X dont le x est une onde rapide (2Wv, 8 ticks par cycle) et le y une onde plus lente (3Wn, 12 ticks). Deux vitesses dans un rapport 3:2 dessinent une figure de Lissajous. L’entrée y ne peut pas être alimentée par le dessus (les entrées de l’onde x y sont), donc Y74 l’envoie : 7 à droite, 4 en bas. T1 garde une longue trace. Essayez d’autres vitesses (1, 5…), ou ajoutez Z2 pour un kaléidoscope.

# LISSAJOUS #
V30
..........................2C8
........................1D2.SCEGEAGED
..........................P4.12
...3Wn
.....Y74.# y : une onde envoyee par Y #
.
.
..........2Wv
..........X..b.# x : une onde juste au-dessus #
.
.
T1..# dissolution lente = longue trace #
.
.
..........................gC4
........................1D4.SCAFG
..........................G3.24

Ouvrir dans Chipgrid ↗ · 120 BPM

Tunnel

Quatre anneaux Q au centre de l’écran ; le rayon de chacun vient d’une horloge qui compte 0–15 à sa propre vitesse (1, 2, 3, 5 ticks par pas) : les anneaux s’envolent vers l’extérieur et recommencent — un tunnel. U11 saupoudre quelques pixels blancs comme étoiles, T4 dissout les anciens anneaux. Déplacez le centre (gc) ou changez les couleurs.

# TUNNEL #
V00
........................1Cg
...1Cg....................S*0000000*0*00000
.Qgc.4...................J.B3C2o
..........................S00*000*000*000*0
...2Cg...................J.N010
.Qgc.2....................S0000*0000000*000
...........................N530
...3Cg
.Qgc.9....................gC4
........................1D4.SCAFG
...5Cg....................G3.24
.Qgc.7
.
.
U11.# 4 anneaux, 4 vitesses ; paillettes = etoiles #
T4

Ouvrir dans Chipgrid ↗ · 132 BPM

Kaléidoscope

Tout est dessiné dans le quart en haut à gauche : un sprite O à un x au hasard, dont la créature (graine) change à chaque temps — une horloge envoyée par Y84 — et une ligne L du coin vers un point au hasard. Puis Z2 le reflète gauche→droite et haut→bas : un kaléidoscope. T3 dissout le passé.

# KALEIDOSCOPE #
V30
..........................0R4
........................1D2.SCDEGA
..........................P5.12
...4C9...# graine d une horloge, envoyee par Y #
.....Y84...................D2.0R1
............................N01
.
..........0Re
..........O.4.d...........gC4
........................1D2.SCAFG
............0Rf...........B2.2
..........L00.be
.
.
Z2..# dessinez dans un coin, Z2 en fait quatre #
T3

Ouvrir dans Chipgrid ↗ · 116 BPM

Radar

Une ligne L du centre (gc) vers un point qui tourne : son x est une onde 4Ww, son y la même onde un quart de cycle plus tard (phase 9 sur 36) — sinus et cosinus font un cercle. T2 laisse le balayage s’estomper comme un écran radar. Deux anneaux Q font l’échelle. I3 écoute le canal de bruit et alimente U : des échos crépitent à chaque charleston et caisse claire.

# RADAR #
V20
........................1Cg
..........................S*0000000*0*00000
.........................J.B3C2o
...4Wn9...................S00*000*000*000*0
.....Y94.# y : meme onde.J.N010rt plus tard = cosinus #
..........................S0000*0000000*000
...........................N530
............4Ww0
..........Lgc..3..........2C8
........................1D2.SCEGEAGED
..........................P4.12
T2
.
.Qgc82
.Qgcc1
.
..I3
.U.3.# les paillettes suivent le canal de bruit #

Ouvrir dans Chipgrid ↗ · 124 BPM

VU-mètre en direct

L’image écoute la musique. Quatre I lisent chacun le volume d’un canal de la puce (0 pulse 1, 1 pulse 2, 2 triangle, 3 bruit) et règlent la largeur d’une barre H. Z0 reflète la gauche sur la droite : les barres se referment des deux côtés. Au milieu, un anneau Q respire avec la mélodie (I0 sur son rayon). Les quatre voix jouent — chaque barre suit sa voix.

# VU-METRE EN DIRECT #
V00
........................1Cg
...I0.....................S*0000000*0*00000
H03.4....................J.B3C2o
..........................S00*000*000*000*0
...I1....................J.N010
H08.7.....................S0000*0000000*000
...........................N530
...I2
H0d.2.....................2C8
........................1D2.SCEGEAGED
...I3.....................P4.12
H0i.d
..........................gC4
........................1D4.SCAFG
Z0........................G3.24
T6
..........................gC4
....I0..................1D2.SCAFG
.Qgc.7....................B2.2
.
# chaque I ecoute un canal ; Z0 en miroir #

Ouvrir dans Chipgrid ↗ · 132 BPM

Sur le temps

Sans la porte, O dessinerait à chaque tick. Avec ?O il attend le bang de 1D8, le même qui joue la basse : l’image et le son frappent ensemble. Les deux R changent à chaque tick, mais ne comptent qu’à ce moment-là. Essayez 1D4, ou une porte devant T2.

# SUR LE TEMPS #
.
1D80RsRz
..?O.a.7..# ? : le sprite ne dessine que sur le bang #
.B2C2
.
T2

Ouvrir dans Chipgrid ↗ · 124 BPM

Texte défilant

Le grand classique des démos. 8Cc parcourt une séquence de 12 lettres, une tous les 8 ticks. Sur le même temps, ?" pose la lettre en cours au bord droit, et M01 pousse tout vers la gauche, 8 pixels en 8 ticks : exactement une lettre. Mettez votre message dans la séquence, et réglez le c de 8Cc sur sa longueur.

# TEXTE DEFILANT #
.
D8.8Cc
.....SHELLO_WORLD_
?"uc1
.
M01.# une lettre tous les 8 ticks, M avance de 1 px par
.
.
..2C8
1D2.SCEGEAGED
..P4.12

Ouvrir dans Chipgrid ↗ · 120 BPM

Votre sprite

Les cases sous $ sont l’image, un chiffre par pixel. 4Wr alimente son x avec une onde : le cœur voyage. Dessinez le vôtre pendant la lecture.

# VOTRE SPRITE #
.
4Wr
$.688.....# les lignes sous $ sont l image #
.22..22
22222222
21222222
22222222
.222222
..2222
...22
.
.
T9

Ouvrir dans Chipgrid ↗ · 120 BPM

Parties

Un morceau a besoin de parties. 8D8 bange tous les 64 ticks. ?V et ?! attendent ce bang, puis lisent une horloge : la palette et le tempo sautent ensemble, et tiennent jusqu’au suivant.

# PARTIES #
.
8D88C3
..?V....# nouvelle palette tous les 8 temps #
.
8D8.8C3
..?!1.5..# nouveau tempo aussi #
.
...2Wa..............1Cg
.Qgc.7................S*0000000*0*00000
.....................J.B3C2o
Ug3...................S00*000*000*000*0
T3...................J.N010
......................S0000*0000000*000
.......................N530

Ouvrir dans Chipgrid ↗ · 115 BPM

Champ d’étoiles

Aucune étoile n’est déplacée. U saupoudre quelques pixels, + pousse toute l’image vers l’extérieur, T la dissout. Le reste vient tout seul. Essayez +40 pour la vitesse lumière.

# CHAMP D ETOILES #
.
V0
U31
+20..# des etoiles, zoomees, qui s estompent #
T1
.
.
..0R4
1D2.SCDEGA
..P5.12

Ouvrir dans Chipgrid ↗ · 120 BPM

Lien de salle

Un nom en majuscule est partagé par toute la salle. Le chef envoie sur B tous les 64 ticks. Chaque personne qui copie la deuxième partie y réagit : K efface l’image commune, et ?-11 coupe sa propre puce pendant un tick. Personne n’est obligé : suivre, c’est quelque chose qu’on branche soi-même.

# LIEN DE SALLE  -  pour le multijoueur #
.
# une personne, le chef : #
gD4
..@B
.
# chaque joueur qui veut suivre : #
&B
.K...# a son bang : efface l ecran, coupe votre puce #
?-11
.
Ug1
.
..gC4
1D2.SCAFG
..B2.2

Ouvrir dans Chipgrid ↗ · 120 BPM

Plasma

Le grand classique de la demoscene, en une ligne : ~02318 est un plasma, en mouvement, sur 8 couleurs. % sur le même calque y fait couler les couleurs. Par-dessus, un grand sprite tombe à chaque temps. Essayez les motifs 3 anneaux et 7 tunnel.

# PLASMA #
.
V0
[0
~02318..# une ligne peint tout l ecran #
4Cg
%
.
[1..................1Cg
]3....................S*0000000*0*00000
1D80Rl...............J.B3C2o
..?O.5.1..............S00*000*000*000*0
T9...................J.N010
......................S0000*0000000*000
.......................N530

Ouvrir dans Chipgrid ↗ · 124 BPM

Impulsion

; transforme un bang en une forme dans le temps : elle saute, puis retombe. Sa valeur est le rayon de l’anneau : il respire avec la grosse caisse. Une seconde, sur la mesure, pilote le zoom. Rien n’est dessiné à la main sur le temps : vous branchez l’impulsion, et tout bat.

# IMPULSION #
.
.1D8......1D8
...;f1......B1C3..# la grosse caisse fait sauter l annea
Qgc.7
.
.1Dg
...;w2
..+.0
T41.V0..~3.4c3
.
..gC4
1D4.SCAFG
..G3.24

Ouvrir dans Chipgrid ↗ · 118 BPM

Lueur

Comparez avec les autres traînées : aucun trou au hasard. Ta1 fait descendre chaque pixel dans la palette en même temps, du clair au sombre puis au noir : un point qui bouge laisse une douce traînée lumineuse. Changez la palette dans V1 : chacune a sa façon de s’estomper.

# LUEUR #
.
V1
Ta1.....# T avec un 1 : s estompe dans la palette #
.
3Wn.......5Wn
..Y13.......Y13
.
.4Wv.......3Wv
.X..1......Q..21
.
.
..2C8
1D2.SCEGEAGED
..P4.12

Ouvrir dans Chipgrid ↗ · 120 BPM

Profondeur

Trois calques à trois vitesses : c’est ainsi que les vieux jeux simulaient la distance, on appelle cela la parallaxe. M01 et M03 ne touchent que leur calque, et le vaisseau est sur le calque de devant, avec une onde sur son y : le défilement rapide l’étire en traînée de réacteur. Chaque [ règle le calque de tout ce qui suit : la disposition du code est la profondeur de l’image.

# PROFONDEUR #
.
V0
~6.484..# fond : un ciel immobile #
.
[1
M01.....# milieu : etoiles lointaines, lentes #
U11
.
.
[2
M03.....# devant : etincelles proches, rapides #
T7
.0Rn
Xv.1
.
]2
..4Wf
.O8.57
.
.
..gC4
1D2.SCAFG
..B2.2

Ouvrir dans Chipgrid ↗ · 116 BPM

Géant

Sur un vidéoprojecteur, les petits sprites disparaissent. ]3 et ]5 rendent ce qui suit trois et cinq fois plus grand, avec les mêmes gros pixels. La petite créature dans le code est la grande à l’écran.

# GEANT #
.
V3
~4.2d1..# un damier, derriere tout #
.
]3
"41eBIG
.
]5
8Wk
$.a88
..5...........gC4
.555555.....1D2.SCAFG
55255255......B2.2
55555555
5.5..5.5
.5....5
..5..5
.
.
T8

Ouvrir dans Chipgrid ↗ · 108 BPM

Piano mécanique

L’image joue la musique. Chaque H dessine une barre. Quatre yeux , parcourent quatre lignes de l’écran, et chacun bange une note quand il passe sur une barre. Vous composez en dessinant : déplacez une barre, allongez-la, ajoutez-en une, et l’air change. L’anneau mobile qui montre où ils en sont est sur le calque de devant : les yeux ne le voient pas.

# PIANO MECANIQUE #
.
1Cw.........H0441
,.41........Hg441
.P5C02......H4a41
............Hka41..# les barres sont la partition #
1Cw.........H8g44
,.a1........Hog44
.P5E02......Hck47
.
1Cw
,.g1
.P5G02
.
1Cw
,.k1
.P5A02
.
.
[2
1Cw
Q.c21...# le repere, devant #
T9

Ouvrir dans Chipgrid ↗ · 120 BPM

Air arc-en-ciel

Cet œil lit la couleur sous lui, et ce nombre devient la note. Le rouge joue une hauteur, le jaune une autre : la rangée de couleurs à l’écran est la mélodie. Changez la couleur d’une barre et vous changez une note.

# AIR ARC-EN-CIEL #
.
D41Cw.......H0c80
..,.c.......H8c81..# chaque couleur est une note #
P4.14.......Hgc83
............Hoc85
.
[2
1Cw
Q.c21
T9

Ouvrir dans Chipgrid ↗ · 126 BPM

Esc