Chers colègues et amis linuxiens,
Spacewar! est une ré-implémentation fidèle de Spacewar! 4.8 (juillet 1963) pour PDP-1 en Rust. Programation à virgule fixe, noyau no_std.
Deux vaisseaux, un puits de gravité, quelques étoiles et un bouton « hyperespace » fortement déconseillé.
J'ai aussi ajouté la musique dans le même esprit avec une réimplémentation de Harmony Compiler.
Pour jouer, il faut être deux.
Pour ceux qui ont la flegme de compiler j'ai essayé de fournir les exécutables pour différents systèmes ici dist/ mais je n'ai pas pu tester les autres plateformes à part linux.
Sinon pour installer cargo install --git https://codeberg.org/sbechet/spacewar spacewar
Projet que je n'aurai jamais lancé sans l'aide de Claude par manque de temps.
Amusez vous bien :-)
# Cool
Posté par vmagnin (site web personnel, Mastodon) . Évalué à 4 (+2/-0). Dernière modification le 10 mai 2026 à 16:47.
C'est sur GitHub ou Codeberg ? (je ne vois pas le dépôt dans ton GitHub)
J'ai réussi à télécharger avec :
Pour l'instant, j'ai une erreur, il faut installer
alsa. On verra ce soir.[^] # Re: Cool
Posté par Seb B . Évalué à 2 (+2/-0).
Oui, j'ai fixé partout (sauf dans la journal, je ne sais pas faire) : 100% codeberg.org
[^] # Re: Cool
Posté par gUI (Mastodon) . Évalué à 4 (+1/-0).
Du coup c'est quoi la ligne complète du cargo install ? Je peux faire la modif pour toi.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Cool
Posté par BAud (site web personnel) . Évalué à 1 (+1/-2).
bin t'as toute la doc' sur https://codeberg.org/sbechet/spacewar
[^] # Re: Cool
Posté par gUI (Mastodon) . Évalué à 5 (+2/-0).
merci pour le RTFM mais je suis juste là pour proposer de corriger le message, pas pour apprendre à utiliser cargo sur codeberg.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Cool
Posté par BAud (site web personnel) . Évalué à 2 (+0/-0).
ce n'est pas un RTFM ('fin si, si tu le prends comme cela ce qui serait dommage :/).
il n'y a que l'URL à changer :
cargo install --git https://codeberg.org/sbechet/spacewar spacewarcomme visible dans le dernier commitMerci de respecter tes interlocuteurs qui essaient d'aider et de ne pas réagir à fleur de peau lorsque ce n'est pas indiqué ;-)
[^] # Re: Cool
Posté par gUI (Mastodon) . Évalué à 4 (+1/-0).
pardon c'est vrai que je suis parti au quart de tour, j'ai mal lu l'URL, je pensais que c'était la doc de codeberg, et pas le dépôt lui-même.
j'ai corrigé le journal.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Cool
Posté par BAud (site web personnel) . Évalué à 2 (+0/-0).
pas de souci, merci ;-)
[^] # Re: Cool
Posté par vmagnin (site web personnel, Mastodon) . Évalué à 4 (+2/-0).
J'ai réussi à le compiler directement sur une Fedora 44.
C'est chouette pour un jeu de 1963 ! Ils étaient en avance d'une quinzaine d'années par rapport aux jeux d'arcade. Dommage qu'il faille être deux derrière le clavier pour jouer…
En regardant rapidement le code source, je vois qu'un projet Rust peut contenir des "sous-projets" ? (je ne sais pas quel est le vocabulaire officiel)
Dans le
Cargo.tomlon a :Ca m'intéresse car je suis lentement en train d'apprendre le Rust.
[^] # Re: Cool
Posté par robotux . Évalué à 2 (+1/-0).
Le portage DOS sur 8086 permettait de jouer à deux personnes sur un seul clavier, déjà à l'époque !
[^] # Re: Cool
Posté par jsbjr . Évalué à 3 (+2/-0).
Comme marqué dans le
Cargo.tomlça s'appelle unworkspace.Si tu lis le Rust book, l'une des meilleures références pour apprendre Rust, c'est expliqué là: https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
# C'est triste le manque de temps
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 7 (+4/-0).
J'avais réalisé une version en C++ à partir d'une traduction/adaptation Javascript du code original, de mémoire, cela ne m'avait pas pris plus d'une journée, le code n'étant pas très gros, et la traduction assez "mécanique" en dehors de quelques détails (par exemple, la version originale et la traduction Javascript génèrent du code à la volée pour précalculer la rotation des vaisseaux, ma âersion génère une liste de lignes à tracer).
Bon, je n'avais pas mis de musique, et mon émulation du tube cathodique est peut-être beaucoup plus simple.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.