Alexis Bauchu - On est pas des machines

Coders are also human beings

vendredi, juin 11 2010

Team Fortress 2 à -50% + sortie sur le Mac

Ca serait juste con de passer à côté: TF2 à 10€. C'est vraiment un super bon jeu, j'y joue encore (enfin les jours où j'ai un PC...)

Et j'adore la communication de l'équipe de TF2. Vous pouvez voir tout ce que comporte cette mise à jour "Mac" ici : Mac Update (allez au moins voir la vidéo, elle est marrante). On notera notamment l'ajout, 119 updates plus tard, d'un mode tutorial. Comme quoi il n'est jamais trop tard!

vendredi, février 12 2010

Astuce Youtube: commencer la lecture à un instant donné

Il peut être très pratique lorsque vous faites circuler un lien Youtube de faire démarrer la vidéo à un instant précis. C'est ce qui m'est arrivé alors que je voulais donner un exemple de comment le son est géré dans les combats de Zelda Wind Waker. Et comme je passe toujours beaucoup de temps à chercher cette info sur internet, je vais l'écrire ici pour m'en souvenir.

La manoeuvre est plutôt simple. Il faut rajouter un paramètre particulier au bout de l'url:

#t=XmYs

avec X = le temps en minutes et Y = le temps en secondes. Par exemple:

La vidéo originale: http://www.youtube.com/watch?v=zxelhv6sP2c
La vidéo commençant seulement au moment des combats: http://www.youtube.com/watch?v=zxelhv6sP2c#t=1m02s

Et c'est tout!

mercredi, février 10 2010

Retour sur la Global Game Jam 2010, part 3 et fin

Lire la 2ème partie

Pour ce dernier post sur la Global Game Jam 2010, voici mon bilan personnel de l'événement. La GGJ 2010, c'était...

... un jeu vidéo

Parce que le but de l'opération c'est quand même de réaliser un jeu vidéo. Voici donc Meet Me at the Banana Disco, un jeu qui vous mets dans la peau d'un homme qui sort en boîte de nuit et qui tente de récupérer un maximum de numéros de téléphone. Pour cela il faut aller parler avec les gens, ce qui se manifeste dans le jeu de manière musicale.

Meet Me at the Banana Disco - Discuter

Chaque "clubber" émet une phrase musicale (deux notes dans le cas ci-dessus) et il faut répondre par la même phrase musicale pour séduire. Les notes sont produites en maintenant la touche espace et en appuyant sur une flèche du clavier. A l'intérieur du club, la tâche est difficile car la musique est plutôt forte.

Meet Me at the Banana Disco - Discuter

Pour pas un rond, vous avez donc:

  • un gameplay musical
  • un look sobre et marrant en pixel art
  • trois ambiances sonores et visuelles différentes

Vous pouvez jouer en cliquant ici (soyez patients, le chargement au début est un peu long).

... des rencontres

Je ne connaissais pas du tout les gens avec qui j'ai travaillé sur ce projet: Guillaume Martin (programmeur), William David (game designer et graphiste pour l'occasion) et Matthieu Morizet (sound designer). Je tiens à dire que c'est des gens super sympa, super comptétents, et encore une couche de super sympa par dessus. J'étais content qu'on ait des tas de goûts et de références en commun (je suis parti avec le disque dur plein de super sons electro grâce à Matthieu). C'est dans ce genre d'occasion qu'on se rend compte que le monde est très petit: Guillaume et William connaissaient des amis de l'ENJMIN parce qu'ils ont travaillé avec eux. C'est aussi les mecs qui ont fait Tuper Tario Tros que j'avais découvert 2 semaines plus tôt.

... un cours condensé sur la réalisation d'un jeu vidéo

Quand on y pense, bosser 48 heures d'affilées, c'est comme abattre une bonne semaine de travail bien dense! Une semaine durant laquelle vous vivez en avance rapide le cycle complet de la vie d'un jeu: conception, production, validation et livraison. Avec tout ce que ça implique au niveau humain, au niveau logistique, etc. Alors que dans l'industrie, il existe des gens qui n'ont jamais vu la fin d'un projet! Ca arrive: des projets non retenus au bout de leur phase de conception, des annulations pures et simples, des coupes dans le budget. Certains bossent en freelance sur des projets déjà commencés et qu'ils quitteront avant qu'ils soient finis.

... une expérience à ré-itérer

J'ai adoré participer à cet événement. Les gens m'ont demandé: "alors c'est pour quand les résultats?". Je ne comprenais pas la question.
- Mais les résultats de quoi?
- De la Game Jam!
- Mais tu veux que qui dise quoi?
- Ben on veut savoir qui a gagné.
- Personne ne gagne!
Et je trouve ça beau. Les gens qui se retrouvent là le font parce que ça leur fait plaisir. Quand vous retrouvez un ami musicien après un boeuf, vous lui demandez pas qui c'est qui a gagné? Non?

samedi, février 6 2010

Retour sur la Global Game Jam 2010, part 2

Lire la 1ère partie.

Pour cette 2ème partie, Je vais raconter en photos (vous trouverez les images en grand sur cet album Flickr)

Comme je le disais dans le billet précédent, une fois le thème "Deception and Seduction" dévoilé, chacun à eu du temps pour réfléchir et ensuite présenter son idée: 45 secondes seulement pour convaincre le public...

Pitch de Paris by Night

... grâce au texte ou aux images ...

Pitch de Parisian Moon Sheep

... puis démarchage directement auprès des participants.

GGJ 2010 - Discussion

"Je te jure, grosse comme ça!"

Une petite pause pizza (gracieusement offerte par l'ISART)...

Buffet de pizza 2

... et ensuite tout le monde se met au travail

Salle 2 / 2

A ce stade, tous les détails du gameplay ne sont pas encore décidés, il s'agit de rafiner, préciser le concept de départ. Puis de répartir les tâches. Premier objectif: réaliser un premier prototype pour s'assurer que l'idée de départ est la bonne. Il faut en arriver vite là, car si le concept est mauvais, il faut encore prendre le temps de corriger ou d'en inventer un autre. C'est ce à quoi nous occupons nos premières heures, mais ça prend plus de temps que prévu: il faut installer les logiciels manquant sur son ordinateur, mettre en place un pipeline pour travailler en équipe, configurer SVN, etc. Aussi, je me familiarise avec l'Action Script 3 que je n'ai jamais touché de ma vie ainsi qu'avec le framework Flixel. Rien de bien méchant au final, mais notre temps est compté.

Beaucoup font leur première nuit blanche dès le vendredi soir. Moi j'ai vraiment besoin d'une pause à 5h du matin et je vais me coucher sur un matelas pneumatique fourni pour l'événement. A 10h le réveil est difficile: je suis dans le noir, j'ai l'impression d'avoir dormi une heure ou deux et je manque de me rendormir. Par peur de faire mauvaise impression auprès des gens qui comptent sur moi, je regarde tout de même ma montre. AH! C'est le matin, il faut se remettre au travail. Mes collègues n'ont pas dormi du tout. Guillaume (l'autre programmeur) ne viendra même pas manger avec nous vers 13h le samedi. C'est dans le cours de la deuxième nuit qu'il poussera son premier soupir et s'effondrera sur sa table pendant une heure, avant d'aller se coucher un peu plus confortablement. D'ailleurs c'est le moment que beaucoup d'autres choississent pour tomber comme des mouches.

Effets de la fatigue 1
Effets de la fatigue 2

Dimanche à 14h55, nous finissons de corriger quelques bugs qui feraient tache dans la version à uploader 5 minutes plus tard sur le site officiel de la Global Game Jam. A 15h, nous ne sommes pas aussi prêt que nous le souhaiterions, mais c'est comme ça! Notre version est présentable et fonctionnelle, c'est l'essentiel.

Une fois les projets uploadés, nous rangeons nos affaires et nous préparons pour les démonstrations. Chaque groupe joue ou fait jouer à son projet et dois expliquer en quoi il répond aux contraintes et si il atteint des objectifs optionnels.

Demo de Give me your Skin

La presse spécialisée était là à toutes les étapes de l'événement: Game One, JeuxVideo.com (ou .fr??), Gamekult, etc.

Couverture presse

Nous présentons Meet Me at the Banana Disco, un jeu en Flash dans lequel il faut entrer dans un night club et séduire un maximun de personnes, malgré le volume de la musique. Le gameplay repose donc sur de mini séquences musicales à reproduire pour séduire une personne. Les réactions sont bonnes.

Demo de Meet Me at the Banana Disco
Cloture

A suivre...

Si le sujet vous intéresse, inscrivez-vous à mon flux RSS. N'hésitez pas à poser des questions ou faire vos remarques dans les commentaires!

Lire la 3ème partie

mardi, février 2 2010

Retour sur la Global Game Jam 2010, part 1

Global Game Jam Logo

Vous l'avez peut être suivi sur mon compte Twitter, le week-end dernier j'ai participé à la Global Game Jam à Paris. Il s'agit d'un événement mondial qui en est à sa deuxième itération. On pourrait traduire en français par "Session d'improvisation de jeu vidéo mondial". Ce qui veut pas dire grand chose comme ça, mais disons que pendant tout un week-end, des programmeurs, des game-designers, des sounds designers et des graphistes se retrouvent, font connaissance, et développent ensemble un jeu vidéo.

L'événement avait deux sites en France cette année encore: Angoulême et Paris. La GGJ d'Angoulême était hébergée par l'école nationale du jeu vidéo (l'ENJMIN) et cette année la GGJ Paris était hébergée par l'ISART Digital (école de jeu, d'animation 3D et de web). La GGJ c'est l'occasion de rencontrer des professionnels: le sympathique Oliver Lejade du studio Mekensleep (Soul Bubbles) était notre hôte; Fabien Delpiano de PastaGames a fait une apparition et a ouvert la session par un discours de motivation et de conseils. Dommage qu'il n'ait pas pu rester. C'est un gars du Sud et il avait un train à prendre.

Après quelques jeux et un petit pot pour faire connaissance avec les participants, le sujet est dévoilé: "deception and seduction", avec en rab l'obligation de faire apparaitre dans le jeu au moins un des éléments suivants: un singe, un âne, une clé. C'est pas des belles contraintes ça?? Optionnellement, les participants peuvent tenter d'atteindre des objectifs qu'ils choisissent: jeu sans téléchargement, utiliser moins de 16 couleurs, jeu multi ou communautaire, etc.

A partir de là, chacun a réfléchi pendant 45 minutes sur une idée de jeu: il fallait trouver des mécaniques et un contexte qui colle aux contraintes. Je peux vous dire que c'est pas facile. Est venue ensuite la phase de présentation: on nous a donné 45 secondes pour présenter notre idée aux autres participants pour les convaincre de travailler sur ce projet. Ensuite, de manière informelle, les gens ont pu discuter entre eux de leurs idées et former les groupes. Les dernières associations ont eu lieu pendant la dégustation de pizza gracieusement offerte par l'ISART. C'est comme ça que j'ai fait la connaissance de Guillaume, William et Matthieu.

Si le sujet vous intéresse, inscrivez-vous à mon flux RSS. N'hésitez pas à poser des questions ou faire vos remarques dans les commentaires!

Lire la 2ème partie.

mardi, janvier 26 2010

World of Goo décortiqué

World of Goo Screen

Je vous ai déjà parlé de World of Goo dans un billet précédent, plutôt orienté économie, mais finalement je n'ai jamais parlé du jeu en lui même. World of Goo (WoG pour faire court) est un jeu de contruction / réfléxion sorti fin 2008 et développé par 2Dboy, un studio indépendant américain. Et par "studio", j'entends "juste deux talentueux ex-employés d'EA". Le but du jeu est de créer des tours et autres structures composées de petit êtres vivants appelés "balls of Goo" (intraduisible, mais imaginez une boule de pétrôle ou de morve dotée d'une paire d'yeux) afin d'atteindre un tuyau qui va aspirer les boules non utilisées. L'objectif étant d'atteindre le quota requis en fin de chaque niveau.

Dans mon esprit, WoG est, avec Braid, une icône du jeu vidéo indépendant, parce qu'il a prouvé au public que les "jeux de garage" pouvaient être de vraies réussites, à la fois critiques et financières. Le label "indé" en a gagné en crédibilité et la visibilté de cette catégorie de jeux a été améliorée. C'est un de mes coups de coeur de 2008. J'aime chaque élément du jeu: son gameplay de contruction avec ses pièges physiques; sa direction artistique étrange et attachante; sa bande son tantôt enjouée, tantôt mélancolique, tantôt épique; et son humour. Au delà de ça, en tant que développeur, je suis sensible à l'histoire du développement du jeu (un simple jeu expérimental devenu une production couronnée de succès), l'esprit de ses développeurs, etc.

Mais ce dont parlent rarement les test du jeu, c'est aussi les messages que le jeu véhicule, car derrière une façade de jeu cartoon plein d'humour, se cache en réalité une critique de notre société: les grands groupes qui écrasent leurs employés et leur concurence, la course à la beauté, la course au progrès, la main-mise des géants de l'informatique sur nos information personnelles... Beaucoup de thèmes sont ainsi abordés de manière indirecte, camouflés dans le décor ou dans le gameplay. C'est le sujet d'un dossier (en anglais) sur GameObserver.com appelé "We are World of Goo" (à lire ici). En voici quelques extraits:

Quand vous complètez le niveau “Hang Low”, la société "World of Goo" ouvre ses portes et on nous montre une vidéo de sa clientèle. Les clients ont tous le regard porté vers le nouveau bâtiment de la société et quand ils parlent, ils ne s'expriment pas avec des mots mais en poussant de petits cris aigus, à la manière de souris. Serait-ce la façon dont la société World of Goo, et que les entreprises du monde réel qu'elle représente, nous considèrent, comme des souris couinantes qui n'existent que pour consommer leurs produits?

Au début, l'idée d'utiliser la beauté comme source d'énergie pour alimenter le monde semble inspirée, jusqu'à ce qu'on se rende compte de quelle genre de beauté il s'agit. Le genre qui exclut certaines personnes pour le bénéfice d'autres, le genre pour lequel certains "moins chanceux" sont sacrifiés. Une beauté conservée seulement grâce à la chirurgie et aux injections; des visages qui perdent leur abilité à s'exprimer au nom de la "beauté".

Si vous ne connaissez pas le jeu ou si vous vous intéressez à la manière dont est construite le jeu, je recommande chaudement le visionnage de cette vidéo (encore en anglais, mais on peut activer les sous-titres) qui se concentre sur la manière dont le gameplay du jeu est présentée au joueur et comment l'aspect technique soutient ce gameplay.

lundi, janvier 25 2010

Et meilleurs voeux pour 2010!

Opera de Valencia

Mesdames et Messieurs, je vous souhaite une bonne année 2010!

2009 a été pour la moi la fin d'un cycle, d'un grand cycle: c'était la fin de mes études! 2010 sera un repère facile à me rappeler du début de ma vraie vie d'adulte. Tout est à faire et tout et permis: je suis célibataire, j'ai pas de prêt à rembourser, je peux aller où je veux! Mais j'ai aussi tout à prouver, et d'abord à moi-même.

Vous remarquerez que depuis le début de ce billet je parle en français. C'est une de mes résolutions 2010: basculer "Coders are human beings too" en français. Oui ça faisait classe de parler en anglais, oui ça me permettais d'avoir un lectorat plus large... Mais dans les faits, je n'ai que 9 abonnés à mon flux RSS et tous sont français. Google Analytics me le dit, en 2009, j'ai eu 900 visiteurs américains contre 600 français. Sauf que les américains tombent sur le site "par hasard" et repartent en moins de 20 secondes en moyenne, alors que les français restent en moyenne au moins 3 minutes. Il est donc logique que je change la langue d'écriture pour le français.

C'est un choix valide pour plein d'autres raisons:

  • une partie des français qui voulaient me lire ne sont pas à l'aise avec l'anglais
  • il ne faut pas se leurrer, je n'ai pas encore les moyens de prétendre me faire embaucher à l'étranger
  • écrire en anglais me demande des efforts supplémentaires et je me suis souvent retenu d'écrire
  • peu importe la langue, il faut du contenu!!

Tout ça m'amène à une autre résolution 2010 un peu multiplpe: rendre le blog plus attractif, raconter des choses intéressantes, faire des vidéos, coder plus et partager avec vous, etc. Objectif pour janvier 2011, avoir 100 abonnés au flux RSS. C'est pas énorme non plus, mais ça représente une croissance ENORME par rapport à 2008-2009.

A bientôt donc!

Sur la photo: l'opéra de Valence (photo de Guillaume Bauchu)

jeudi, décembre 17 2009

ModDB introduces Desura

Desura

This is big news: ModDB is launching a new service called Desura. Think distribution service (like Steam), except that it will also support mods and custom content and that it will be all community oriented. By community oriented, I mean that for each game / mod, community members can add their comments, reviews, screenshots, etc.

What appeals me the most in the project is the support of mods. Finding, installing and patching a mod is such a hassle, I was thinking of doing a Steam-like app just to support HL2 mods, but ModDB is doing it for just any game. Awesome.

Here's an extract from the FAQ:

Q: Is the idea that Desura will provide an easy way for people to automatically download/install mods for any game they own (possibly excepting games purchased through Steam and the like)? So essentially you just click "Gimmie that mod!" and it downloads, installs, and then patches?
A: Exactly like this

This could be really good! For the moment, the product is in private beta. More when it goes publically live.

War has been declared! (in TF2)

TF2 Soldier Vs Demoman War

War is raging there. And also, TF2 will be available for free the time of a weekend this very weekend, just as the soldier vs demo update is released. I highly recommend that you try it (you can preload the game there).

jeudi, décembre 3 2009

Unit tests with Boost.Test

I've just started using Boost.Test to get to know unit testing a bit better. I use it to try a Fixed Point number class that I made. For those who wonder what a fixed point number is, in short, it's a float in an integer. This is useful when your hardware doesn't have a FPU, like the Nintendo DS. But this is not my point, I'll discuss that in a proper blog post. This is about a problem I had when I tried to compile my unit test program on Linux.

Installing the Boost library on an Ubuntu system is really easy. It's just a sudo apt-get install libboost-dev or a click on this link (note: this link uses the apt protocole that only works on supporting systems, such as Debian and derivatives). On Windows, I preferred to recompile the library than to download the installer because it required me to fill a form for a company I didn't know and don't care about. This was actually not hard: Boost has it's own build system capable of... building itself! Yes! The builder first builds itself and then builds the library.

Compilation is actually not necessary. At least not for all the modules of Boost. In the case that interest me, Boost.Test can work either with headers only or with a runtime version. I still don't know what's in the runtime that you can't find in the headers, but I'll figure this out another time. Trying the Unit Test Framework was a breeze. Here's an extract:

#include "FixedPointMath.hpp"
 
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
 

BOOST_AUTO_TEST_CASE( Constructors )
{
    FP12 a(12);
    FP12 b(23);
    FP12 c;
    FP12 d( b );
    FP12 e( 3.4f );
    FP12 f = FP12(42) / FP12(6);
    FP12 ff = FP12(45) / FP12(6);

 
    BOOST_CHECK_EQUAL( a.toInt(), 12 );
    BOOST_CHECK_EQUAL( b.toInt(), 23 );
    BOOST_CHECK_EQUAL( c.toInt(), 0 );
    BOOST_CHECK_EQUAL( d.toInt(), 23 );
    BOOST_CHECK_EQUAL( e.toInt(), 3 );
    BOOST_CHECK_EQUAL( f.toInt(), 7 );
    BOOST_CHECK_EQUAL( ff.toInt(), 7 );

}

And this is all you have to do. The macro BOOST_TEST_MAIN takes care of initializing a main entry point for you and BOOST_AUTO_TEST_CASE creates a test case and a default test suite without any work from you. You just specify the name of the test case. Is the case where all the tests are ok, the output looks like this:

Running 1 test case...

*** No errors detected

Introducing an error on purpose gives you this;

Running 1 test case...
UnitTestFixedPoint.cpp(34): error in "Constructors": check ff.toInt() == 8 failed [7 != 8]

*** 1 failure detected in test suite "Master Test Suite"

You can then move on to more complicated tests. Anyway, this piece of code doesn't compile on Linux. You can't just do g++ UnitTestFixedPoint.cpp -o UnitTestFixedPoint because, obviously, you need to link against the Unit Test Framework and you have to tell GCC which library to pick. Automagically, there's nothing to do in Visual Studio and Boost.Test knows how to tell it what the right library is. Fine. Do:

g++ UnitTestFixedPoint.cpp \
   -o UnitTestFixedPoint \
   -lboost_unit_test_framework

>Undefined reference to `main'

Oh come on! Now what? Some research on the internet bring the following result:

For your program to successfully link with the dynamic library the flag BOOST_TEST_DYN_LINK needs to be defined both during dynamic library build and during your program compilation.

Why didn't you say so? Ok, now with some patching for the 'Nux version only, this works much better:

#define BOOST_TEST_MAIN
 
#if !defined( WIN32 )
    #define BOOST_TEST_DYN_LINK
#endif
 
#include <boost/test/unit_test.hpp>

More on that when I'm satisfiyed with my tests!

lundi, novembre 30 2009

Still very good sales on Steam

Yep, still good sales there.

  • Mirror's Edge at 3.74€
  • Monkey Island Special Edition at 2.24€
  • The Chronicles of Riddick, Assault on Dark Arena at 9.99€

I recommend Mirror's Edge if you've never played it.

jeudi, novembre 26 2009

Steam Season Sales

The season sales started on Steam. It the right occasion to get some good games at a cheap price for example, today, Grid is at 5€. The offers change every day, so check it regularily.

Steam Early Sales Page.

mercredi, novembre 25 2009

Meta-Balls

Don't confuse this with meat balls, this has absolutely nothing to do with it! My friend Garry Williams posted this video on Youtube. These are meta-balls he computed in real time:

Meta balls in 2D are quite simple. Take an image. Each of you meta balls emit a field, the closer you are from the emitter, the stronger is the field. Then, your color each pixel depending on the value of field at that position. The field doesn't necessarily describe a circle, it can be elipses or anything. Anyway, it can look like that:

2D Meta Balls

Is this case, pixels are colored in black where the field is the strongest and uses gradients of orange and yellow for the other values. So when these shapes move around and meet, they seem to "merge" in an hypnotic lava lamp effect!

Well that's pretty easy in 2D space, because you're computing your values in a discrete finite domain. But how do you do that in 3D space, where the values are in a continuous domain? Well you have make it discrete. And then use voxels (volumetric pixels) and find a way to render them, which is not trivial (our GPUs only know how to render triangles).

Any questions? Wanna know more? Well ask Garry! Hahaha, just kidding, ask your questions in the comments.

Note that this is work in progress.
Garry's meta-balls project page.
Download the application.
Download the source code.

mardi, novembre 24 2009

Unreal Development Kit

Epic released what they call the UDK. It's basically the Unreal Engine 3, for free!

Here are the best news:

You can create standalone applications with UDK. This means that users will be able to install and run your game without owning a copy of Unreal Tournament 3.

Now go get it and make some great games!

vendredi, novembre 20 2009

Concours d'entrée de l'ENJMIN

Il est fréquent que les gens qui ont pu rentrer à l'ENJMIN se voient demander de mettre à disposition le dossier qui leur a permis de passer la première des trois étapes du concours d'entrée. Voici le mien: Travels in scriptoria et son extension technique: Architecture.

Quelques précisions: ce document est la réponse à la première épreuve du concours d'entrée de l'ENJMIN (Ecole Nationale des Jeux et des Media Interactifs Numériques) à Angoulême, France. La consigne était de proposer un concept de jeu en se basant sur l'ouvrage "Travels in the scriptorium" de Paul Auster.

A la relecture de ce dossier, je rigole pas mal et je me rends compte de ce que j'ai appris ces deux dernières années.

Google releases the Chromium OS open source project

This had to happen, Google has entered the OS business. Well, they're not in the Desktop OS business, their strategy is to win the market of the eBooks, those really small and cheap computers aiming at connectivity. The main idea behind this product (Chrome OS) is that people are 90% of their time on the internet. And that... ok they tell it very well themselves, just watch this video:

Done? Ok. It seems quite logical to get to this point. With all the services that we use on internet, most of our data is alreay in the cloud, so this all fits. When I saw Chrome on Windows for the first time, with its task manager, its separate processes for each tabs, its workers (similar to threads, they're part of HTML5)... I realized that the browser was really becoming the new OS. No problems of portability (well almost), your data always available all around the world... The advantage of this approach is that you can then build a really cheap and really fast computer just designed to go on the internet. Google also provided a video live demo:

So this is not the OS proper for now, just the open source project, so that devs can already dive into the code and collaborate or experiment with it. It's all there: the Chromium projects.

Note: I thought I remembered that they already had released somehow a desktop OS, called gOS, but they did not. gOS stands for "Good OS" and is a modified version of Ubuntu with an emphasis on web 2.0 apps and "in the cloud" data.

lundi, novembre 16 2009

GMod Contest

Garry Newman, father of Garrysmod, started a gamemode contest.

The idea is that he wants to introduce Fretta (see "What is Fretta?" in my link above) with a few good gamemodes in the bundle. So the gamemode can be anything and the 5 best gamemodes get 1000$, they get to be shipped with Gmod and then you get to update them through Steam and add achievements to them.

I don't have a strong idea of what I could do yet, but I'm gonna compete.

mercredi, novembre 4 2009

World of Goo and myths about games on Linux

I'd like to share with you some stats that 2D Boy published after the big sales they had for the 1 year birthday of World Of Goo (WoG for short). The point was that you had the choice in the price of the game, from 0.01$ to whatever you want. 2DBoy released the results of the first week of that event: they sold a lot of copies of the game, but most of them at 0.01$, which means 0$ because this all goes to PayPal for the transaction. So they tried again for another week and the game kept selling good but this time, at a much better average price, certainly due to people knowing that 2DBoy don't really get any money under a paid price of 1$.

But what I'd like to highlight, is the results per OS. It's a well know fact that if you wanna play games on a computer, you must have Windows, otherwise your choice is very poor (extremely poor on GNU / Linux). Developers and publishers don't care much about the other platforms and I bet they think the market is not big enough on these systems. But if you look at the market shares of WoG, you get a surprise:

World Of Goo Sales - Market Shares per OS

During those two weeks, only 65% of copies of WoG were downloaded for Windows! This is far from being an undeniable domination of the market! GNU / Linux gets 17% of sold copies and Mac OS gets 18%. In these days where the iPod and the iPhone are real hits, Apple is regaining a fair number of shares of the desktop computer market, so the Mac score is quite understandable. But it's a bit more surprising for Linux. It seems obvious then that the fans of the penguin crave for games on their OS. It's easy to say that people don't play on Linux, when in fact there's just no game to play. So that's one myth busted. Note: last christmas, the guys from Wolfire got to the same conclusion and wrote a nice article about why developers should support Mac OS and Linux.

Another myth is that Linux users (and more generally open source fans) are cheap people, that they always want everything for nothing. Well guess what, here's the graph of the average price paid for WoG, per OS:

World Of Goo Sales - Average Price Paid per OS

I say: myth busted

What system do you use? Do you play games on it?

dimanche, novembre 1 2009

Little Survey

Hello dear reader,

I know, I haven't been writing a lot lately, but I'm starting to wonder: "what's the point?". I'm not even sure I'm being read. So, here are a few questions that I'd very much like you to answer in the comments:

  • How did you discover this blog? (web search, I told you, you followed links, etc)
  • Why do you read it? ("it's the first time", "I'm here by accident", "I know you personnaly", "I'm interested in Ubiquity / game dev / Ubuntu", "you're from ENJMIN", etc)
  • How do you read it? ("I sometimes check the web site", "I subscribed to the RSS feed")
  • Optional: if you subscribed to the RSS or ATOM feed, what client (program) do you use? (Google Reader, iGoogle, Netvibes, etc)
  • If you actually DO read me, what would you like me to talk about?

Thanks for your time.

samedi, septembre 26 2009

No Sound in Jaunty (Ubuntu 9.04) with nForce 2

I had some problems with the sound after installing Jaunty on my old computer. I followed a lot of instructions from bugs reports, from forums, and nothing worked. I could have sound in Totem with the OSS mixer, but not Alsa. The rest was not working: Firefox, Flash, VLC, none of them deliverd any sound. All the parameters seemed fine with Alsa, but I couln't get any sound with it. Weirdly, alsamixer wouln't run because it couln't find any device and Pulseaudio couln't recognize my nForce 2 sound chip. I though it had to do with the hardware and the drivers.

And then by accident, I noticed that when logged in other sessions than mine, everything worked fine, with the same parameters. So it got me thinking and I figured it out: I had that user account on that machine for a very long time. And every time I was upgrading Ubuntu, I was keeping the old files in /home/myname. So versions after versions, sound drivers files added up, but not nicely. So I did some cleaning, removing option folders from software that hasn't been installed in years on my machine and moved everything remotely related to Gnome or Alsa. Then I logged in: BAM! Everything was working again!

wild_jaunty_jackalope

- page 1 de 3