lundi 6 janvier 2014

Typer Defense et love2d

Pour la New Year Game Jam, j’ai fait un petit jeu en LÖVE (alias love2d). Il s’appelle « Typer Defense » et c’est un mélange entre un tower defense et un typing game. Il est dispo pour Linux (si vous avez love2d 0.9 à disposition dans votre distro), Windows et Mac OS X.

Screenshot et liens de téléchargement sur cette page : Typer Defense

C’est le résultat de deux jours de travail donc ne vous attendez pas à un chef d’œuvre ;-).

C’était la première fois que j’utilisais love2d et voici ce que j’en ai retenu :

Points positifs de love2d :
- Facile à apprendre et utiliser.
- Bonne documentation.
- Contient l’essentiel pour créer des jeux 2D (texte, images, input, particules…).
- Le langage de programmation utilisé est Lua, qui est facile à apprendre, largement connu et utilisé, et depuis love2d 0.9 LuaJIT est utilisé ce qui devrait permettre une vitesse d’exécution correcte comparé à un programme compilé.
- Très facile de faire des exécutables pour Windows et OSX sous Linux.
- Un simple jeu 2D consomme peu de temps CPU.
- Idéal pour la réalisation d’un prototype.

Points négatifs de love2d :
- Impossible de faire un binaire pour Linux (du moins, ce n’est pas documenté).
- Il n’y a pas de compatibilité ascendante : un projet love2d 0.8 ne marchera très probablement pas avec love2d 0.9.
- Pas de 3D.
- Code source et resources accessibles avec un simple unzip, ce qui peut être considéré comme un point négatif pour les projets commerciaux.

Est-ce que j’utiliserais love2d à nouveau ? Le gros problème est la distribution pour Linux. Si j’arrive à faire des binaires qui fonctionnent pour presque toutes les distributions (peut-être en compilant love2d sous Xubuntu 10.04, comme j’ai procédé pour Smart Lines), alors pourquoi pas, au moins pour des petits jeux gratuits. Mais javascript est un concurrent qui a le mérite de tourner directement dans le browser, et ce sur encore plus de plateformes que love2d.

mercredi 18 décembre 2013

Restaurer la fenêtre de downloads dans Firefox 26

Mozilla, dans sa quête pour rendre Firefox de plus en plus pourri depuis la sortie de Firefox 4, a totalement supprimé de Firefox 26 la fenêtre listant les téléchargements en cours et passés. Elle avait déjà été remplacée dans Firefox 25 mais il était possible de la restaurer, ce qui n’est plus le cas maintenant.

Heureusement, un certain « ungram » a créé une extension qui permet d’avoir à nouveau une fenêtre pour les downloads. Elle n’est pas identique à l’ancienne mais c’est déjà beaucoup mieux que l’atrocité que Mozilla nous a pondu !

samedi 28 septembre 2013

Supprimer les warnings du pilote rtl2800usb et améliorer le ping

Ma première clef wifi, avec un chipset 8712u, fonctionne correctement (en ce moment) mais ne possède pas d’antenne externe et la connexion est parfois très mauvaise. J’avais donc acheté une clef avec antenne ayant une très bonne réception, mais nécessitant d’installer une version modifiée du pilote du fabriquant (8192cu)… Et elle a décidé d’arrêter de fonctionner il y a quelques semaines (elle se déconnecte toute seule et ça fait planter le PC).

Mon troisième essai : une ALFA AWUS036NH équipée d’une antenne de 5dBi.

ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter

Celle-ci fonctionne avec le pilote rtl2800usb fournit avec Linux. Je l’ai utilisée sous Linux 3.10 et Linux 3.11 et ça marche tout seul, il suffit de brancher la clef.

En revanche, mes logs (dmesg et /var/log/*) sont remplis de milliers de ces messages :

ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 0
ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 0, dropping

Et le ping vers mon routeur est très aléatoire :

64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=5.49 ms
64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=5.28 ms
64 bytes from 192.168.0.254: icmp_seq=4 ttl=64 time=1.40 ms
64 bytes from 192.168.0.254: icmp_seq=5 ttl=64 time=10.0 ms
64 bytes from 192.168.0.254: icmp_seq=6 ttl=64 time=387 ms
64 bytes from 192.168.0.254: icmp_seq=8 ttl=64 time=830 ms
64 bytes from 192.168.0.254: icmp_seq=9 ttl=64 time=1.25 ms
64 bytes from 192.168.0.254: icmp_seq=10 ttl=64 time=5.03 ms
64 bytes from 192.168.0.254: icmp_seq=11 ttl=64 time=358 ms
64 bytes from 192.168.0.254: icmp_seq=12 ttl=64 time=5.19 ms

Notez que 2 paquets ont été perdus. Au même moment, mon ordinateur portable avec son wifi intégré affiche un ping inférieur à 2 ms.

Après quelques recherches, j’ai trouvé que désactiver l’économie d’énergie de la clef permet de supprimer les warnings et d’améliorer le ping. Il suffit d’exécuter la commande suivante :

sudo iw dev wlan0 set power_save off

« wlan0 » doit bien sûr correspondre à l’identifiant de votre clef. Quand à rendre ça permanent, vous pourriez rajouter cette commande dans /etc/rc.local si votre distribution le permet, ou alors écrire une règle UDEV comme expliqué dans le wiki d’Arch Linux :

Créer le fichier /etc/udev/rules.d/70-wifi-powersave.rules et y coller cette ligne :

ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan0", RUN+="/usr/bin/iw dev wlan0 set power_save off"

Suite à la désactivation de l’économie d’énergie de la clef, le ping vers mon routeur est maintenant correct :

64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=7.83 ms
64 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=1.25 ms
64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=1.23 ms
64 bytes from 192.168.0.254: icmp_seq=4 ttl=64 time=1.13 ms
64 bytes from 192.168.0.254: icmp_seq=5 ttl=64 time=1.23 ms
64 bytes from 192.168.0.254: icmp_seq=6 ttl=64 time=3.48 ms
64 bytes from 192.168.0.254: icmp_seq=7 ttl=64 time=1.13 ms
64 bytes from 192.168.0.254: icmp_seq=8 ttl=64 time=2.56 ms
64 bytes from 192.168.0.254: icmp_seq=9 ttl=64 time=1.03 ms
64 bytes from 192.168.0.254: icmp_seq=10 ttl=64 time=2.68 ms

Je n’ai cependant pas constaté d’amélioration dans le chargement des pages web ou des vidéos youtube.

mercredi 24 juillet 2013

Initiative citoyenne européenne pour le revenu de base

Une initiative citoyenne européenne en faveur du revenu de base a été officiellement lancée en janvier 2013 afin que le revenu de base devienne un sujet de débat officiel de la Commission Européenne et du Parlement.

À long terme, l’objectif est d’offrir à chaque personne dans l’UE le droit inconditionnel à la sécurité de ses besoins matériels de base, propre à lui assurer une vie digne selon les termes des traités de l’UE et à lui permettre la participation à la société.



À court terme, il est demandé à l’UE de promouvoir des initiatives telles que des études pilotes, et d’examiner différents modèles du revenu de base inconditionnel.

Signez l’initiative si vous pensez que cette idée mérite au moins d’être étudiée.

mardi 23 juillet 2013

Conservez votre vie privée sur internet

Suite à l’annonce ô combien surprenante que Microsoft, Google, Apple et autres entreprises nord-américaines donnent accès directement aux données personnelles de tous leurs utilisateurs aux services d’espionnage des États-Unis d’Amérique, le site prism-break.org a été créé.


Vous y trouverez de nombreuses recommendations de logiciels et services constituant une alternative saine et respectueuse de votre vie privée à l’offre de ces entreprises, comme par exemple :

- le moteur de recherche startpage, qui permet d’utiliser Google sans que toutes nos recherches et les liens sur lesquels nous cliquons soient enregistrées.

- le logiciel de messagerie instantanée Pidgin avec son plugin OTR, qui permettent de discuter vraiment en privé sur de nombreux réseaux (Jabber/Facebook, ICQ, AIM…).

- RetroShare, qui permet des échanges privés et/ou anonymes de messages et de fichiers, sans utiliser aucun serveur central (et son wiki non officiel pour débuter).

- le système d’exploitation libre Debian.

vendredi 19 juillet 2013

Faire marcher correctement les ascenseurs de Gtk3

Si vous utilisez des applications Gtk qui sont récemment passées de Gtk2 à Gtk3, comme par exemple le lecteur de flux RSS Liferea, vous avez pu remarquer que les scrollbars (ascenseurs) ne se comportent plus de la façon habituelle : lorsqu’on clique au dessus ou au dessous de la barre de défilement, au lieu de provoquer un défilement d’une page, la barre se déplace maintenant d’un seul coup à l’endroit où on a cliqué.

Pour restaurer le comportement standard, il suffit d’éditer ou créer le fichier ~/.config/gtk-3.0/settings.ini et d’y placer ces deux lignes :

[Settings]
gtk-primary-button-warps-slider = false

samedi 13 avril 2013

Smart Lines dispo pour Ubuntu

Fin 2004 sortait la première version de Smart Lines pour Windows, Amiga et MorphOS. En 2005, la version Mac OS X (PowerPC) faisait son apparition, et… en 2006 j’arrêtais de le vendre pour des raisons technico-légales indépendantes de ma volonté.

Aujourd’hui (enfin, il y a deux jours, mais on va pas chipoter !), Smart Lines est à nouveau disponible, et puisque j’utilise exclusivement Linux depuis trois ans c’est sans surprise que vous apprendrez qu’il est disponible pour Ubuntu, dans l’Ubuntu Software Center !

Il fonctionne également sous d’autres distributions Linux et je compte le rendre disponible ailleurs, mais le software center d’Ubuntu était la première étape que je visais. Je pense aussi refaire des versions pour Windows et OSX (Intel cette fois), même si c’est pas exactement ce qui me fait le plus rêver.

Pour ceux qui ne suivent pas, Smart Lines est un puissance 4 en 3D vraiment super trop bien. Il dispose d’un mode deux joueurs (sur le même ordinateur) et d’une intelligence artificielle particulièrement stupide au niveau 1 et imbattable au niveau 6. (En fait c’est pas vrai, je n’ai pas pu me résoudre à rendre le niveau 1 vraiment stupide…) L’essentiel du jeu a été fait par moi, la super chouette musique par mon pote Lanael, et pour les crédits complets vous n’avez qu’à acheter le jeu.

Pour fêter ça j’ai créé un compte youtube pour y mettre une vidéo de gameplay :