Tout d'abord, pourquoi ce nom "Bibheist Games" ?

A vrai dire, "Bibheist" est un surnom dont j'ai été malencontreusement affublé il y a longtemps de cela par de vieux vieux potes et qui est encore d'usage aujourd'hui. Son éthymologie est assez "obscure" et ressort de circonstances ... euh ... quelque peu éthyliques. Je ne m'étendrais donc pas davantage là-dessus...

A vrai dire, la création de jeu vidéo m'attire depuis très très longtemps déjà.

Je remonte dans un temps que "ceux de moins de vingt ans ne peuvent pas connaître"

Console Atari 2600

Atari... Lorsque j'ai aperçu pour la première fois cette console et ce logo sur une publicité à la télévision, je suis tombé littéralement en extase ! (Je m'en rappelle encore)

Bon, évidemment, aujourd'hui, les performances de cette machine relèvent de la préhistoire mais à l'époque, le concept était pratiquement révolutionnaire. Atari en a quand même vendu quelques millions et elles coûtaient une fortune !

A part saliver devant les quelques rares publicités diffusées à la télévision, rien à faire : le prix de la console était exhorbitant. Néanmoins, les Dieux de Galaxie se sont penchés apparemment sur mon cas et éprouvèrent de la pitié.

En effet, le journal "Tintin" organisait un grand concours avec la RTBF dans le cadre d'une très vieille émission intitulée "BD Bulles". J'ai eu l'immense chance de toucher le 3ème prix (une chaîne Hifi de grande valeur) qui fut revendue aussitôt pour financer l'achat frénétique de ce "bijou technologique" !

C'est après avoir découvert Pac Man et Space Invaders que je me suis fait la promesse : "Un jour, je créerai un jeu vidéo !!!".

Mais comment faire ???

En effet, il y avait un problème non négligeable : les ordinateurs domestiques n'existaient tout simplement pas.

Amstrad CPC 464

Quelques années plus tard, la "micro informatique" prend son essort.

Une révolution est en marche ! C'est la mode des ordinateurs "8 bits" qui se répand à une vitesse infernale : ZX Spectrum, Dragon, Atari 600XL et 800XL, le fameux et inoubliable Commodore 64 ... mais aussi l'Amstrad CPC et son célèbre et bruyant lecteur de cassettes. Et j'en passe...'

Je reçois (après moult tractations) en cadeau de lors de ma communion (merci Jésus !) un exemplaire d'un Amstrad CPC 464.

Au départ, un rien désappointé car le Commodore 64 m'apparaissant plus "puissant" (du moins, pour les jeux, c'est l'évidence même). Mais en matière d'apprentissage de programmation, le Commodore s'avère en fait une machine plus ardue à aborder (j'étais encore à l'école primaire) tandis que l'Amstrad CPC est plus idéal pour ce genre d'initiation.

Et ... hem... J'avoue ici un "terrible secret" : j'ai donc appris le langage BASIC et j'ai aimé cela.

Néanmoins, les jeux uniquement réalisés en BASIC sur cette machine avaient un potentiel "assez limité". Mes créations se sont limitées à de très petits shoot'em up ou des petits jeux d'aventure...

En effet, l'Amstrad disposait d'un potentiel limité (soit 40 kilo-octets pour un programme, ses données et ses graphiques) et ne permettait pas l'utilisation de 'Sprite' de manière native. Les graphismes à la portée des débutants se résumaient surtout à utiliser des caractères redéfinis avec une matrice de 8x8 bits..

Bref, nous sommes à des centaines d'années-lumières de Super Mario Bros.

C'est alors que j'ai découvert l'Assembleur. Il était possible d'étendre le BASIC avec de nouvelles fonctions comme des Sprites en manipulant directement la mémoire de l'écran. Le processeur Zilog Z80 était vraiment puissant pour l'époque.

Par contre, le Z80 se résume en fait à un registre accumulateur (8 bits...), 3 paires de registre (permettant de stocker des nombres sur 16 bits avec quelques pirouettes) ainsi qu'une pile LIFO.

Bref, c'est chaud : des heures de travail teintées de sueur. A la moindre erreur, la machine se plantait impitoyablement.

A titre d'exemple...

Mais au final, j'étais enfin capable d'intégrer un sprite animé sur un décor au sein d'un programme en BASIC.

Bon, en 2021, ceci parait plus que ridicule ! Il doit bien exister des milliers de librairies (au bas mot) qui permettent de réaliser ce type d'opération. Mais à l'époque, sans Internet, cela ne donnait pas si mal que cela.

Amiga 500

Amiga... De la pure magie dans une boîte en plastique élégante !   

La Loi de Moore étant bel et bien effective, les ordinateurs 16 bits ont rapidement supplanté la génération vieilissante des ordinateurs 8 bits.

Deux machines sont rapidement devenues les "leaders" de ce nouveau marché : l'Amiga 500 et l'Atari 520ST.

L'Atari ST se démarquait par des capacités sonores tout à fait exceptionnelles. Mais (de mon point de vue), l'Amiga 500 le surpassait complètement en matière de résolution et de puissance. Doté de 512 ko de mémoire vive et d'un processeur Motoral 68000 cadencé à 7,09 MHz, il est assisté de 3 puces complétaires gérant l'adressage mémoire, l'affichage et le son. Et (alleluija !!!) d'un lecteur à disquettes !

Ceci dit, Commodore gardait ses travers.

Certes, la marque proposait une grande sélection de jeux d'une beauté hallucinante qui ont tenu le haut du pavé de longues années (Monkey Island, Defender of the Crown...) mais exposait un modèle de programmation BASIC vraiment pauvre et complexe.

Seule solution : l'assembleur. Néanmoins, en mode 16 bits et surtout en programmation multithreads, c'était véritablement l'enfer sur terre.

Amos

AMOS Basic... La Pierre Philosophale tant attendue !   

Ce magnifique langage s'affranchissait des contraintes mise en place par Commodore sur son langage BASIC et mettait ainsi tout le potentiel de cette machine aux petits développeurs. Il incluait notamment un langage d'animation nommé AMAL qui simplifiait drastiquement la gestion des ressources graphiques, et ce, dans une optique multithreads.

Un pur bonheur !!!    

Je réalisais plusieurs essais et notamment un bon clône du titre Arkanoid mais aussi un jeu de plateforme/action décrivant les aventures d'un Ninja se débarassant de ses adversaires à l'aide de shurikens et de quelques attaques spéciales... Le niveau de ces jeux devenait progressivement "potable".

Mon avenir en tant que développeur de jeu s'annonçait donc radieux mais survinrent des problèmes de taille !!

Que les Dieux nous protègent !

Bières et filles...    

Une nouvelle révolution non technologique mais bien "biologique" fit alors irruption dans mon existence de manière brutale et assez hypnotisante, je dois dire.

Le houblon à foison, les potes, les fêtes "jusqu'à pas d'heure" et ... (euh ... je m'arrête ici ! ) sont profondément incompatibles avec une activité de type "Geek".

Je me résolus à des choix "radicaux" en mettant mes projets de développement au frigo, afin de me lancer plus intensément à ces passionnants nouveaux phénomènes.   

Quelle abomination :!!

Malédiction !!!   

Bien que la bière garde toujours tout aussi bon goût, je ne pouvais m'empêcher d'imaginer les grandes lignes d'un nouveau petit projet.

Quand la catastrophe frappa !

Les premiers PC compatibles faisaient leur apparition tandis que les grandes marques phares Commodore et Atari sombraient dans les affres de faillites apocalyptiques. Ces nouvelles sonnaient le glas du développement de jeux vidéos !

En effet, pratiquement tous les PCs étaient équipés d'une carte graphique implémentant la norme d'affichage CGA (Color Graphics Adapter), affichant une résolution de 320x200 en une horrible palette de 4 couleurs ou encore du 640x200 en monochrome.

Ne parlons même pas de la vitesse d'affichage de ce type de carte graphique et encore moins des langages de programmation préhistoriques qui refirent surface, stériles à toute forme de développement un peu créatif.

Je fis bien quelques tentatives mais les résultats obtenus étaient à proprement parler désespérant et nécessitaient un temps et une énergie considérable.

Je me consolais en me concentrant de toutes mes forces sur les bières et les filles !

Unity

De nombreuses années se sont écoulées depuis.

Un temps incroyable fut nécessaire pour voir apparaître des PCs suffisamment puissants pour atteindre (et dépasser !) les performances des machines 16 bits de l'époque mais aussi une maturation des systèmes d'exploitation et des langages de programmation permettant de rendre plus accessible la création de jeux vidéos pour les développeurs amateurs.

Bien que les développeurs professionnels ont vite repris en force leur production sur les PC dès leurs apparition (chapeau bas pour cette performance !), la conception de jeux vidéos était devenue d'une complexité sans nom, ne permettant pas à un développeur "occasionnel" de se lancer facilement dans cette activité.

L'émergence et la généralisation d'Internet ainsi que la multiplication des terminaux (consoles, smartphones, tablettes...) n'ont évidemment rien arrangé.

Toutefois, au fur et mesure des années, des "game engines" ont commencé à faire leur apparition sur différents systèmes et à être adopté par des communautés grandissantes.

Un cercle vertueux s'est alors amorcé et a même tendance à s'emballer ces derniers temps.

Il existe aujourd'hui un grand nombre de moteur de jeux multiplateformes qui sont d'ailleurs poussés à leur paroxysme par les professionnels mais qui sont aussi accessibles à une grande communauté de passionnés.

J'ai personnellement passé en revue les leaders du marché et j'ai été rapidement convaincu par le moteur Unity.

Certains détracteurs diront qu'il ne s'agit pas de la plateforme la plus performante. Le point mérite un débat mais ce n'est pas mon objectif sur ce site. Il existe une kyrielle de vidéos sur YouTube si ce sujet vous intéresse.

Unity présente de nombreux avantages :

  Unity est entièrement gratuit pour des étudiants et les développeurs en herbe

  Sa courbe d'apprentissage est "relativement" rapide

  Unity est particulièrement adapté pour les jeux en 2D (bien qu'il se défend pas mal sur certains concepts en 3D)

  Unity est la plateforme de référence pour les jeux introduisant un nouveau game play

  Unity propose un magasin de ressources (ou Asset Store) mettant à disposition des modèles 2D, 3D, des sons, des effets spéciaux, des extensions dont les versions gratuites sont déjà de très bonne qualité

  (A titre personnel) Unity est fondé sur le langage C# que je maîtrise depuis de nombreuses années. 

Et donc, hop hop hop !!! C'est reparti avec "Bibheist Games" !!!