Ce n'est pas un premier cours, mais une petite démo des spécificités du langage Backsic. Pour comparer avec ce que vous connaissez déjà, ou pour faire une première idée de ce que vous allez bientôt découvrir !Samedi 4 Avril 2026Vous connaissez la tradition ? Dans notre monde la première étape est toujours d'apprendre à afficher un "Hello World" à l'écran. Mais comme on est ici pour s'amuser et comme Backsic est fait pour, on va faire ça avec un peu de style.


Un nuage de 200 objets qui vont se déplacer dans un agréable ballet. Ce n'est pas un cours, ce n'est pas fait pour être simple, mais pour montrer rapidement ce qu'est Backsic...

' HELLO WORLD - 3D
' beaucoup de choses en quelques lignes :
' des objets, de la trigo, du hasard, des boucles,
' une fonction, un tableau de données, des effets

?horizon = 175
?max = 200

for 1 to ?max as ?i
' création des 200 mots
?color = (random 50 to 200)
?obj = "voxel-?i"

if (even ?i) = 1
color 0, ?color / 2, ?color * 2' bleu
create text "HELLO" as ?obj
else
color ?color * 2, ?color / 2, 0' orange
create text "WORLD" as ?obj
end

' un petit effet visuel...
paint ?obj to "neon"
zoom z ?obj to 4
' et positionnement
goto "random position", ?obj
next

label "random position" local
' une fonction avec paramètre pour placer chacun mot
param ?objet
global ?horizon
' positionnement aléatoire :
?x = (random -?horizon to ?horizon)
?y = (random -?horizon / 2 to ?horizon / 2)
move ?objet to ?x, ?y, ?horizon
turn ?objet to ?y, -?x / 2, 0
' chaque objet sa propre vitesse :
[speed, ?objet] = (random 10 to 100) / 50
return

move "camera" to 0
free "camera"

do
' la boucle principale : animation des 200 objets
for 1 to ?max as ?j
?obj = "voxel-?j"
move z ?obj by -[speed, ?obj]
' l'objet passe derrière la caméra ? on recommence !
if (move z ?obj) < 0
goto "random position", ?obj
end
next

' un effet de caméra subtilement choisi
?angle + 1
turn y "camera" to 15 * (sin ?angle / 2)
turn z "camera" to 10 * (cos ?angle)

' et une variation de l'horizon
?horizon = 175 + 100 * (cos ?angle / 2)
show fog #303 to ?horizon
update
loop

Regarder /hello-world



?horizon = 175
Les variables débutent par un point d'interrogation.

for 1 to ?max as ?i
presque du basic, mais pas exactement. Le "as" permet d'avoir une syntaxe symétrique.

?obj = "voxel-?i"
ici la variable ?i est automatiquement inclue dans le texte pour créer les noms "voxel-1", "voxel-2", etc.

if (even ?i) = 1
Condition : pas de booléen, et surtout pas implicite.

create text "HELLO" as ?obj
Bien sûr il est possible d'afficher également du texte en 2D.

goto "random position", ?obj
rien de plus clair, et pourtant une fonction

label "random position" local
un label peut être global, local, avec ou sans paramètre, avec ou sans valeur de retour. Chaque étape est optionnelle pour aller d'une sous-routine à une fonction locale réglementaire.

[speed, ?objet]
Ceci est une structure : un élément particulièrement puissant en Backsic. Permet d'organiser vos données en tableaux, multidimentionnels, associatifs. Des clés, des variables.

?angle + 1
Inutile de faire plus compliqué : cette ligne ne peut pas avoir d'autre sens.

?horizon = 175 + 100 * (cos ?angle / 2)
Ici un cosinus : vous notez qu'elles sont de la forme (cos) et non pas cos() : la lecture se fait plus explicite, plus littéraire et moins scientifique.




A propos La plateforme Premier Programme
© 2026 Backsic