Showing posts with label demoscene. Show all posts
Showing posts with label demoscene. Show all posts

Sunday, January 04, 2026

I must make some isocahedron gem!

This is a screenshot from @makeshifted, back in December 2022, that showed up in the last snapshot the Internet Archive could take of my twitter timeline. A repost with the annotation "3D was *that* awesome back in the Assembly 9x #demoscene days."

It showed up again a few times ago and I told to myself "you know, those stonekeys in Commander Keen ? Well, if I can make NDS 3D look that sleek, I won't need to pixelstudy them!

And it appeared again, posted by @benji__t this week-end while I'm doing my farewell tour on twitter.  

One possible system of Cartesian coordinate for the vertices of a regular icosahedron, giving the edge length 2, is: where denotes the golden ratio. -- https://en.wikipedia.org/wiki/Regular_icosahedron --

https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Coxeter%27s_snub_octahedron_from_octahedron.gif/100px-Coxeter%27s_snub_octahedron_from_octahedron.gif
Oh! look at that ...  

Take a tetrahedron of psi, split summit so that it turns into a 2-edge, and voilà! isocahedron !

- - - 

those words above were written around the 19th of February, last year. I haven't written a single line of DSGL to make it appear in the infinite pyramid, and while I initially thought of using it as keygems, I realise that what they really be are the "magic stones" that you collect after defeating bosses.

Sunday, March 23, 2025

On a retrouvé Basket Island

On peut difficilement sous-estimer l'importance du musicien Français Maf sur la musique de mon frère. Assez pour le détourner du genre "Luc Baiwir" omniprésent depuis le concert de '97. Ce que ça a de bien, c'est qu'on peut alors utiliser les commentaires qu'il laissait dans ces pour retracer les influences ... comme le fait que c'est par l'intermédiaire du magazine "PC-Team" que nous avons découvert ledit Maf.

Parmi les titres qu'il avait partagés via la rubrique "productions des lecteurs", il y avait notamment une série de modules faisant référence à une mystérieuse "Basket Island".

Eh bien il est temps de lever ce mystère: quelqu'un a mis en ligne une vidéo de la diskette de démo du jeu "Basket Island" sur lequel l'équipe Syndrome dans laquelle Maf travaillait avec Guillaume Werlé (code) et Raph Le Gall (gfx).

This is the story about a French prototype game named "Basket Island". We had started our university years, and we encountered a collection of .MOD files French musician Maf wrote two years earlier. Some of them were referring to a then-mysterious "Basket Island" project, and my brother especially liked how he managed to have syncoped beat in the otherwise square playback of modtrackers. The influence went beyond mere technique and my brother started investigating the sample set and the style of Maf until he was ready with his own "CJ(is)land" tune.

Des petits écrans qui s'enchaînent, des persos qui suivent le ballon et tentent de mettre des paniers. De quoi convaincre une autre équippe de Posse Press responsable du magazine AMIGA DREAM en '96 de partager l'info avec leur lecteurs. Cette démo fait suite à une autre diskette qui présentait un slideshow de captures d'écrans (ou juste de maquettes, en fait ^^") sur une des musiques de Maf.

I recall my brother did call Maf at some point (pricy, international phone call), and likely this is where we learnt that Basket Island had been an amiga game project, but it never got completed. Nowadays, there are a few videos of the recovered demo disks Maf's demoscene group had sent to game / amiga magazine to promote the game.

Le jeu n'aura jamais été fini. Je vous laisse le soin de creuser les liens à la recherche d'une raison officielle. De mon côté, entre la musique qui s'arrête sans prévenir dans la démo et l'instruction invalide je dirais que toute sympathique qu'ait été la démo, il y avait un gros travail de nettoyage à fournir pour que le code devienne stable et fiable. En plus de ça, on se rend également compte en regardant les phases de jeu que l'IA du joueur 2 n'arrive pas vraiment à défendre son panier et que la dynamique du jeu ne permet pas non plus au joueur humain de s'interposer pendant les phases de contre-attaque. Un peu comme si on avait été face à un pacman où les fantômes ne vous pourchasse pas vraiment, mais se contentent de tourner en rond. 

Despite brilliant graphics and clean rendering, the demo also show that the game engine lacked stability and that gameplay was still very rough, hardly fair to the human player. I guess that's why killed the project before it could be shipped ...

Probable que tôt ou tard, l'équipe (ou ses membres ^^") ait fini par se concentrer sur un projet plus fiable pour assurer leur avenir.

Friday, November 10, 2023

Neocities

Pendant des années, j'ai eu un site présentant mon projet d'OS et mon activité sur la démoscène... et quelques-uns des jeux qu'on avait réalisés avec des amis. Le point commun entre eux, c'était le nom de l'équipe: "PPP Team (Software)". Il a migré de mon compte étudiant à mon compte de chercheur, puis il a fini par disparaître corps <body> z'et bien quand j'ai quitté l'unif.

Dommage parce qu'il n'y a plus rien pour parler de notre passage sur la Inscene ou des concepts originels du Clicker32 sans lui.

Mais entre deux tweet, j'entends parler d'un nouveau service d'hébergement orienté "bon vieil HTML", sans lourderie en php: neocities. Vu que mon premier hébergeur était geocities, ça fait mouche, bien sûr.

Je transfère donc mes derniers backups sur  https://pppteam.neocities.org/ pour voir ce que ça donne ...

Somebody on twitter mentioned neocities ... Since I have old (pre-php) web contents that has turned unavailable lately, I decided to re-upload it on brand new https://pppteam.neocities.org/ ... So you can visit my old demoscene archives and operating system development manifesto and I don't have to wonder how I could convert that into wordpress

bin ça donne plutôt sympa ^_^

Friday, October 15, 2021

Coupez!

Imaginons qu'on ait envie de faire un peu de demoscene au milieu de Linux. Imaginons encore qu'on ait vraiment besoin qu'une partie du programme ne soit jamais interrompue par autre-chose. Difficile, hein ?

J'ai fait un truc un peu du genre, un jour, mais il faut avoir accès à la configuration du bootloader. De même qu'on peut forcer le kernel Linux à n'utiliser qu'une partie de la mémoire, on peut restreindre l'ensemble de coeurs accessibles au scheduler grâce à isolcpus=0,1,2 (ou tout autre combinaison qui vous convienne, laisser un coeur sur 4 au système, c'était un peu extrême :-P). Quel est l'intérêt ? eh bien, c'est que si ces coeurs ne sont plus utilisés par les processus génériques, un programme ayant les droits suffisant peut toujours faire appel à sched_setaffinity() pour se lier à un coeur en particulier, y compris un coeur qui avait été 'isolé' du reste du système.

Je me demande si ça donnerait quelque-chose d'intéressant sur le devterm. 'faudra que j'y exécute un lscpu ce soir, tiens... Pourquoi je vous ressort ça là maintenant? Hmm ... peut-être à cause du gars qui faisait la promotion de ce genre de technique poussée au point d'héberger un système temps-réel à côté de Windows entre la démo de miroirs déformables en temps réel, les caméras 3D temps-réel et du système de lentille liquide contrôlée électriquement sur la foire de Stuttgart ...

Sunday, September 19, 2021

Eclipse Operating System

Un de mes objectifs en 1997, c'était de parvenir à maîtriser le mode 32-bits des PC. Windows était encore un hybride 16/32 à l'époque, et pas franchement convainquant pour la programmation de jeux. Tous les jeux dos parus sur les dernières années annonçaient "Dos4GW" ou quelque-chose de ce genre, et la taille toujours croissante des modules de mon frère me faisaient bien comprendre que "640Ko pour tout le monde", ça ne serait plus suffisant bien longtemps.

Seulement voilà: basculer du mode 16-bit au mode 32-bit (connu à l'époque sous le nom de 'mode protégé'), ça demande une rigueur à tout épreuve et ma documentation était malheureusement plutôt imprécise. En plus, les fonctions du BIOS et du MS-DOS deviennent du coup inaccessibles (plus de chargement de fichier ni de changement de mode graphique, par exemple). Et au milieu de tout ça, je tombe sur une pépite venant de la démoscène: Eclipse Operating System et son jeu-démo Greedy. Il me lancera à la recherche du Watcom C++ sans lequel on ne sait pas recompiler les exemples. Une chasse qui durera jusqu'à la Inscene, si ma mémoire est bonne.

edit: on présentait Greedy dans le PC-Team #15, p. 78. C'était en Juillet '96, il était proposé en shareware et était toujours baptisé "eclipse pacman"
Du coup, il faudra que je vous parle de Slurp'n'Burp

oh!? on dirait que c'était Rez à la bande son !?

Friday, January 15, 2021

Les démos

 Après la bafouille sur "Titanic Death by a Worm", vous avez peut-être l'impression que la démoscène, c'est une page que j'ai tournée depuis longtemps. Dans un sens, vous n'avez pas tort, mais n'allez pas croire que j'aie coupé tous les ponts pour autant.

Bon, d'accord, depuis 2005, je n'ai clairement plus un PC capable de faire tourner des productions récentes, et depuis que youtube a débarqué dans l'équation, j'avoue me contenter de regarder des vidéos des démos plutôt que les démos elles-même. Le fait que j'utilise mon PC aussi pour les paiements en ligne et qu'il tourne Linux n'y est pas complètement étranger.

J'essaie aussi de me tenir à la page, et de ne pas sombrer dans le nostalgisme à ne regarder que Heaven Seven ou Second Reality. Non, chaque année je creuse comme je peux pour essayer de trouver les pépites publiées dans l'année. Pour 2020, selon moi, c'était Apex par Bitbendaz

Je salue bien sûr tous les afficionados de l'Amiga et du Commodore 64 qui continuent à donner de leur temps pour que leur idole survive. Mais je dois reconnaître que ce n'est pas l'esthétique qui m'interpelle. En 2018, ma démo-fétiche, c'était par exemple "Reboot" d'Umlaüt Design.

Et la découverte de 2019, c'était "ninjadev" avec des titres plus exotiques les uns que les autres comme Construct (bravo les Légos), Flat shade society (bravo le jeu de mots) ou What are you syncing about (bravo la bande son)

Thursday, January 07, 2021

Titanic death by a worm

Petit retour sur une lecture de Cactuceratops contre Conquer (bad fur day), qui cherche à comprendre pourquoi les voix du personnage principal 'rippées' hors du jeu sonnent différemment. Pour info, c'est un des premiers jeux à utiliser de la compression MP3 pour les échantillons vocaux. Au milieu de ses investigations, elle met le doigt sur un fait intéressant: certains blocs de son dans le MP3 sont marqués 'copyrightés' et les autres pas. Si on retire les blocs 'copyrightés', le son est parfaitement normal.


Le bit de copyright est justement celui qui distingue de l’entête le plus fréquent celui qui apparaît seulement pour la voix de Conker. Son dernier octet est en effet égal à 0xC8 plutôt qu’à 0xC0 (les quatre derniers bits valant 1000 au lieu de 0000). 
Et ce quelque chose, c'est les mouvements de la bouche de Conker, ce qu'on appelle le “lip-sync”. Ces 9 octets ajoutés viennent de l'outil développé par Mike Currington pour faciliter le travail des animateurs et rattacher ses nombreuses expressions aux articulations de sa voix
En clair, les développeurs de chez Rare ont improvisé un fichier avec entrelacement audio/data en tirant parti du fait qu'ils avaient leur player "à eux" et donc l'opportunité de travailler avec leur propre solution de multiplexage. Et après avoir vu des formats .LBM qui embarquent leur aperçu dans une section .TINY, des .MODs avec des e-mails planqués dans le 6eme instruments, etc. Je me dis ... "c'est bien le genre de hack auquel j'aurais eu recours, si j'avais été dans la boîte".

En fait, je pense bien que j'ai déjà réellement voulu utiliser un truc pareil. Retour en '99

Début de l'année, je me suis acheté mon premier PC perso: un AMD K6-II, premier à avoir je ne sais plus trop quelles extensions 3DNow! auprès d'un étudiant quelques années au-dessus de moi, ci-dessous Gino. Comme il avait voulu attirer mon attention dessus, je fais au téléphone "oui, j'ai vu. Comme je code en assembleur, c'est le genre de chose que je note tout de suite". Et lui "ah!? Tu fais de l'assembleur! Tu vas à la Inscene, alors ?"

Et de fil en aiguille, on se retrouvera avec mon frère dans la voiture de Gino avec nos tours (plus ou moins grosses), nos écrans (pas plats), le synthé de mon frangin (iirc), des sacs de couchage et quelques blocs-notes. C'est là que sera présenté Crazy Brix et El Ritmo Latino.

Pendant que mon frère participe à toutes les compétitions-surprise de musique et graphisme, que Gino fait du photoshop et retouve des connaissances, moi, je suis plongé dans le code source Visual C++ de notre Grrand Prrojet: "Titanic Death by a Worm" qu'on avait largement pré-produit depuis la fin des examens.

Je m'étais déjà bien lâché sur les p'tits personnages, contrairement aux Worms qui sont tous les mêmes (mais auxquels on donne une personnalité), nous on leur a donné à tous un look perso et des attaques spécifiques.

Mon frère avait fait un .IT avec toutes les actions prévues dans le script (ou il avait fait le script dans Impulse Tracker, en fait. Je ne sais plus trop). Restait à trouver comment aligner les actions des pixels avec le replay du module. Eh bin, puisque dans un .IT, y'a moyen d'utiliser plus de 26 effets différents (arpeggio, glissando, vibrato ...), on aura qu'à se réserver un effet qui ne changera pas le son, mais qui pilotera l'avancement dans le script visuel.

Bon, par contre si vous avez déjà fait une game jam, vous devinerez la suite, hein. Avec à peine une coquille où on sait passer en 320x200 dans DirectX (merci Gino) et charger mikmod.dll au moment de monter son PC et qu'on bloque sur le choix de comment créer des classes dérivées à partir d'une classe de base et d'un script texte ... eh bin, je me serai beaucoup pris la tête, et il n'y aura jamais de pworms.exe ...

edit: et pourtant, le projet pworms n'était pas trop démesuré comparé à "Kid, show me your dreams" et "Comin' to my Haus" (ne parlons même-pas de l'intro du jeu polycosmos, hein ;)



Friday, November 16, 2018

rez x-factor 2

Let this be my official "I love (idea I have of) the demoscene" post. (better late than sorry)

back in '96, demoscener REZ wrote a stunning .mod track featuring about 1'30" of chiptune within 3x64 lines of 5-track (amiga-compatible?) patterns ... He did so by pushing the use of loop commands to an extreme. I love that spirit of taking something that was meant to work within some constraints and pushing it far out of its limits.

He also used very pleasing waveforms (reminding me of Namco's wavetables), of 16 to 64 bytes plus a few larger (300 and 700 bytes) drums. The result is a stunning 8.8K chiptune. Of course, by now, we have 4K compos with songs twice the lenght, but REZ did it without requiring a custom player. Chapeau.

Je l'avoue: j'aime la démoscène. Cet esprit de faire-plus-avec-moins qui a conduit en '96 REZ à faire un morceau entier en 3 patterns, usant et abusant des commandes 'boucle-moi-ça', utilisant des sons de 16 à 64 bytes tenant plus de la WaveTable façon Namco que du véritable sample. Le tout pour une taille record (à l'époque) de 8.8Ko.