Showing posts with label twitter. Show all posts
Showing posts with label twitter. Show all posts

Monday, September 28, 2026

GetThread.pl

With Nitter.net receiving a cease-and-desist from the dark side, it's time I try harder to get something useful from the back-up I made before leaving twitter ... If we do just

sed -e "s/<h1/\n<h1/g" Alltweetsfromblogger.html | \
      grep 935254889919369216 | sed -e "s:</p>:</p>\n:g" | \
      cl xml

we end up with two "conversation" blocks, because the way I proceeded was

  1. paste the link
  2. paste the copied contents
  3. "Conversation" with `<h1>` tag is something that comes from the copy-paste

That was the starting point.  

  • Agreed, the command line is ugly, and its output isn't miuch better. 
  • Agreed, its scope is fairly limited: Alltweetsfromblogger is a thing I crafted on Google Documents with a manual routine from my list of threads this blog has links to.
  • There are still some problems after you extracted as one line the : both before-conversation and in-conversation links are undistinguishable, apart from the fact one points to a date, which is weak

* but * Google Docs also offers .md export, and looking at the .md conversion, I did spot blank lines while there are none in the conversation itself. So maybe adding a blank-line-to-newline converter before we look for the post ID will help ? 

sed -e "s/<h1/\n<h1/g;\
s:<p class=.c0 c3.><span class=.c2.></span></p>:<hr/>\n:g" Alltweetsfromblogger.html |\
grep "935254889919369216[^<]" | sed -e "s:</p>:</p>\n:g" | cl xml

That was the start, somewhere quite near after nitter.net disappeared. The idea since then is to extend the "blogpress" scripts, and have the "development stories" as well as chats with fellow developers aside the main blog text.  

I stuck to the html export: the .md file would have been easier to parse, but the embedded pictures in base64 encoding promised to be a pain to work with. It's not the best software in the world, but I managed to couple it with a few lines that scan the json files from my old twitter backup so that I can identify when pictures in the Google Document are actually thumbs of videos, and reinject the link to the videos.

I did some planning-on-calendar that truly helped nailing down some details, but the photo I shot is completely unreadable :-/ Fuzzy blogging for fuzzy coding ... 

It's been about 1 month now and finally I get the kind of output I want. It's time to let you know about it and see how I can actually get those "threads" embedded into the sample chapter. 

Sunday, November 24, 2024

Leaving twitter

I've spent most of my spare time posting farewells to the people I was following on twitter. I have now more following on mastodon than there, despite starting not far from 400 followed people. The place has become aggressive to creative people with the TOS update of November 15th.

I created myself a bluesky account too, because it's clear most of the gamedev and pixelart people will / have migrated there. And a ko-fi supporter account for those who haven't migrated and possibly won't.

I'm glad I had decided to reduce my implication on twitter. I'm glad I had captured most of the key interactions already in 2022 when twitter became unreadable for non-subscribers, although I still have many posts linking to items trapped in twitter.

Because the harshest discovery of the week was that twitter archive does not feature any of the replies, likes and everything you *received* from others. Only what *you* did. That means any conversation is lost and any thing I could have said in reaction to someone else's post is missing key context. With over 14000 tweets in the archive and no more public access to the platform's content, automating recovery is not an option. With bluesky, everybody's repository can be downloaded without authentication.

So I'll do my best to recover what I can manually, with the help of blogger archive. I'll post recovered things under the fromTwitter. I'll have some more key replies cross-posted as blogger comments (apologies to comments authors if they feel offended that I took that freedom. You have the right to make me remove them if you want to, of course). When possible, I'll augment the link to twitter threads with an abbr of what was said in the post. The process of that recovery is threaded on mastodon.

And Mastodon ? Well, it will be about the same: the exported data has an 'outbox.json' and a 'media_attachments' folder, but that's it (apart for likes, avatar and bookmarks). inReplyTo entries will list some other's status entries (actually an URL with https://instance.domain/users/userid/statuses/tootid), but that URL is nowhere to be found in the .json file. We *can* get some stuff out of it though, like calling /api/v1/statuses/tootid/context, which gives json arrays ancestors and descendants, the second having all the replies. They have the initiator type xhr in firefox network inspector. And the thing I replied to is in /api/v1/statuses/tootid. That should be scriptable enough.

Saturday, August 24, 2024

game design with Super Sunny World

There is a NES game in the making. Yes, a new one. A homebrew, of course. There are quite a few ongoing, actually, but this one features artwork from Kenneth Fejer ! and aims at cloning the gameplay of Super Mario Bros in a different setting. And I must admit I'm loving the simple charm it has, and I've been using Matt's posts on Super Sunny World as a sandbox to toy with game design ideas since March '23 the same way I did with Cyber Shadow a few years ago.

Matt proposes "grow up" power that sits still and "fire" power-up that slides away (like a SMB mushroom). Personally, I feel like both sliding and sitting idle do not fit the power-up personalities. I'd like the "grow-up" flower to have a little motion. To make it easier to grab than Mario's mushroom, it could be floating down towards the player. (post-thought: that might be luring a bit too much into Leilani's Island gameplay ^^")

Also, it feels odd that the pearl slides since it is in a shell but if it was a bare pearl, it would perfectly work to see it rolling away. I'm afraid it moves a bit too fast now and I'm unsure you could catch it unless you realized that you can run, which most young player won't. And even if it is only barely faster than yourself, 

Another follower, XPascalou, points out that In Super Mario Bros, players have to work to get their power-ups. It is not "free". Players have to master "run & jump" to catch the mushroom or the star. The star is even harder to catch because it gives much more power. That's true, but level designers put some surrounding elements so that early mushrooms are redirected towards you. (that would be interesting to study SMB1 maps to see how often that happens and when the games start making you take risks for a mushroom, then compare that with SMB3 and Giana Sisters)

Sometimes, it's just a tiny interaction, like when Matt announce he has adjusted the "hit range" for going down tree trunks, and now allows the player to trigger the transition when "duck sliding" across the top. But by all the hours spent on Super Princess Peach ... Thank you, Matt.

Sometimes, there's more meat, like when Matt wants to introduce a cousin to the snail (his default koopa-like creature). But as much as I love its look, with spikes-like on the shell, it looks more like it's deadly to jump on its head and seeing it shielded against shots was a surprise. (I guess I must unlearn to think of them as fireballs ^^"). It would be nice that the shots would slightly bounce them backwards (unless they entered the "stick to the ground" state after they bounced once, possibly).

Of course, for a programmer, it's always nice to get crusty details about what did not really went right, like how initially, shots would be "swallowed" by blocks 1 tile about the ground. Especially because that feels like something the Giana Sisters would have featured, and thus gives a new light on why there were such weird behaviours in that game.

It's nice to see other platformer authors come up with creative alternatives like waterfalls we can swim in ... rather than artificial ladders or elevator that would have felt out of place in the Sunny's world setting. +1 for using white clouds at the bottom of waterfall only when it is swimmable (it wasn't the case initially, and it will definitely help distinguish interactive and decorative waterfalls). I think mixing swimmable and non-swimmable waterfalls will be very demanding for non-expert players and should only be done if there's plain ground to catch us if we're confused. The way that waterfall is placed in the level perfectly introduce the mechanics in a no-tuto way, too ^_^

And then there are the cases where Matt's post make me think "uh. No. I wouldn't do that in my own game", like with the fishes:

fun twist on the "flying cheep cheeps" 🐡 for my NES game, Super Sunny World 🌞! Instead of just jumping and falling, they land and slide across solid surfaces. Maybe I should replace the fish sprite with a penguin sprite

Maybe they could either slow down and become immobile hazard on the ground or fall back through the ground once they are done bouncing ? I like them being fishes. Sliding penguins only work with slippery ground (and well, so could fishes, if ground is slippery) oh. Or they could slide to a stop, then miserably try to avoid you with ridiculously small jumps. Possibly jumping faster if you approach them.

I could try it, but my plan it to have 3 of those active at the same time, at all times, so my instinct is the keep the movement very linear and consistent, to allow the player to more easily track 3 moving enemies flying around the screen.

Okay, a last one, because that was on my blog-me list for such a long time:

Did you ever notice: In Mario 3, if you hit a block that bounces up, it pushes mario downward faster than if he hits a solid block?

I noticed that while playing "Croc World" demo which was lacking it. It felt cheap. I think Mario's Y speed is reverted while bouncing on an active block. On a solid block, the speed is simply set to 0 so it takes a little time to start falling down. Note on Matt's video how the same question block is active when flashing and just solid once empty. That surely contributes to how the game communicates what is interactive and what isn't.


Friday, January 20, 2023

jewel colors by Prowler

 Comme souvent, ces temps-ci, c'est par un tweet que tout a commencé: une image de l'artiste Prowler (croisé sur Nectarine et un peu sur pixelation pendant l'ère des forums) prévue pour un music disk sorti de Nectarine il y a 2 ans (pour amiga. Eh oui) dont les couleurs m'ont tapé dans l'oeil.

I 'know' Prowler for some time, now, since he was one of the most welcoming dude on Nectarine, but little did I know that he had drawn the cover of some 21th Century Music Disk for the commodore Amiga... Hopefully, Prowler was on twitter too, and he eventually posted the rework of his 'skylab', and the colors he used immediately struck me. Especially the greens.

Une palette désertique digne du Dune de Cryo avec une teinte secondaire en vert particulièrement attrayante ... alors que je ne suis toujours pas satisfait par les tons verts utilisés pour les trucs spéciaux de ma pyramide.

#77ff99 - #44bb77 - (#389e72?) - #229955 - #007744 - #006633 - #004422 ... 

Puis je me suis amusé du fait que certaines briques s'agençaient presqu'en bloc de tetris sur mon mockup. Comme je suis dans la semaine des plate-formes-sur-rail en forme de Snake et du boss Araknoïd, je me dis qu'on mettrait bien franchement des tetrominos en guise de blocs dans cette pyramide qui n'en est pas une... ça a l'air de plaire. On verra bien si on en met uniquement dans les zones secrètes, ou un peu partout.

You see, I'm not that satisfied with the colors I've been using so far for the green, interactive things in my "pyramid-that-is-a-computer" tileset. 

(je serais curieux de les comparer avec les couleurs des émeraudes d'Aladdin sur SNES, tiens)

You'll note on the new mock-up that some of the rectangular bricks have been merged together to make tetrominoes ... This was the week where I realised that platforms-on-rail in my pyramid could easily mimmic the good-ole-game 'nibbles' (snake) and that I could name the scorpio-boss 'Araknoïd' and design the arena such that Bilou has to break bricks/pots to hit the boss, tetris-shaped walls would definitely be fitting. Good news is that most of poll respondents did agree (sorry for the few RSS readers around here: blogger has long dismissed the poll widget. Feel free to make your voice heard in the comments)

edit: bon, les diamants d'Aladdin (SNES) n'ont pas vraiment le niveau en comparaison. Je serais presque tenté de dire que ceux de Commander Keen 4/5 étaient plus intéressants. La palette de couleur n'est pas particulièrement inspirée, sauf peut-être la teinte la plus sombre, le 003828. Le reste fait presqu'EGA non assumé.

Sunday, November 20, 2022

#RIPTwitter ?

C'était un drôle de vendredi, ou tout Internet semblait convaincu qu'on vivait les dernières heures de twitter.

Cette année-ci, j'ai une bonne raison de ne pas me laisser affecter par ce genre de nouvelle, mais ça ne m'a pas empêché de voir que j'étais loin d'être indépendant de ce réseau social, même si j'ai pris pas mal de distance (plus de #screenshotsaturday ou de #OneTagPerWeek, par exemple)

Il faut dire que twitter a pris la place des forums quand j'ai migré hors de l'environnement universitaire (enfin, ceux qui étaient encore existants). Il a aussi bouché tant bien que mal le trou laissé par la disparition de Google Reader et des flux RSS. Et il me sert de va-et-vient pour les images et vidéos provenant de ma switch comme de ma 'liseuse' avant d'en faire quelque-chose de précis pour mon blog. Au point qu'en août 2021, j'écrivais "typing 'twitter' is like opening the fridge. You don't remember why you did it. Your body just believed it would solve the problem your mind hasn't identified yet."

Mais plus gênant, j'ai pris l'habitude de faire des liens vers des conversations twitter quand il y a eu des discussions préalables, ou quand une image full HD d'un jeu switch est en ligne mais qu'une version réduite suffit pour les besoins d'illustration du blog. Et tout ça, ça veut dire que mon blog lui-même perd un membre si twitter disparaît.

J'ai donc demandé une archive de mes données twitter. Mais le 'takeout' est loin d'être automatique, et quelques heures plus tard, ne voyant toujours rien venir, je prend une archive de mon blog (instantanée) et je greppe tout ça un bon coup pour trouver tous les liens du blog vers twitter (enfin, je pense).

Mauvaise nouvelle, les pages correspondantes ne sont que des coquilles vides, dans lesquelles du code javascript ira écrire le contenu des tweets. Le seul outil capable de faire ça, c'est un navigateur complet (je pense). C'est donc au clavier-souris que j'ai passé presque la totalité de mon samedi à copier-coller les tweets identifiés dans un gros .odt sous google-document (365+ pages au final) avec les URLs par-devant pour pouvoir retrouver et reconstruire le contenu-satellite au cas où ...

edit: il aura fallu finalement près d'une semaine pour recevoir l'archive de 1Go avec entre autres toutes les images et toutes les vidéos postées dans mes tweets.

Bref, ça m'a permis de fortifier un peu mon compte Mastodon.

[done] Et il faudra que je vous parle de ce https://goodboygalaxy.com/

edit++: le week-end du 1/7/2023, twitter a été scellé derrière un mur. Plus d'accès possible aux tweets si on est pas identifié sur la plate-forme. ça signifie qu'il faut définitivement que je procède à la migration vers Mastodon.

edit+++: novembre 2023. Les notifications twitter sont pourries depuis 1 ou 2 mois par des spammeur.se.s qui veulent qu'on viennent voir leur profil payant ailleurs.

edit: essayer twitter archive parser

edit++++: juillet 2024. L'option "poster sur twitter" vient de disparaître de la galerie NintendoSwitch :-/

edit----:novembre 2024, twitter s'arroge le droit d'exploiter nos données pour alimenter ses modèles d'IA. Il est temps que je déménage pour de bon.

Saturday, December 31, 2005

Twitter Trapped [t.a.g.]

At some point in the future, twitter will no longer exist. That will be a shame, because after dev-fr.org will have closed, that will be the spot where I'll keep contact with homebrew community and get in touch with many indie devs and gamedevs of the 90's. I'll be gone by then but some of my posts will still be heavily referencing contents hosted solely on twitter and until I managed to convert the archives I downloaded into something that can be hosted online, I'll rely on services like archive.org or nitter to avoid luring you into what had turned into the darkest place of the web.