Overblog Suivre ce blog
Administration Créer mon blog
16 avril 2007 1 16 /04 /avril /2007 23:02
Je me posais la question de savoir si je laissais le nom actuel de "Ka-BoOm" à mon jeu, le nom en question ne me plaisant qu'à moitié. J'avais envisagé un jeu de mot assez pitoyable basé sur le verbe angais "to blow", sachant qu'en anglais ce verbe veut dire "exploser" mais aussi "souffler". Je trouvais ça intéressant étant donné qu'on trouve ces deux actions dans le jeu : à la fois les mines qui explosent, mais aussi le fait que le joueur doive souffler sur la mèche d'une bombe pour l'éteindre !
Après, fort de cette bonne (?) idée, j'ai séché pour trouver le titre :
  • "Blow" ? Trop court et pas suffisamment identifiable
  • "Blow or Blow" ?
  • "Blow in or blow up" ?
  • "Blow or be blown" ?
  • "Blow da bomb" ?
  • "Bomb blower" ?
  • "Blow'em all" ? Un peu trop pokemonesque...
  • "To blow or not to blow" ? Des accents shakespeariens, qui collaient avec les têtes de mort du design, mais un peu trop long - et pas très jeu vidéo !
Bref, si je ne trouve pas rapidement, j'en resterai au bien moins intellectuel mais bien plus évocateur "Ka-BoOm". Mais je peux aussi utiliser l'un de ces titres comme sous-titre de Ka-BoOm. Votre avis ?
Repost 0
Published by Stravingo - dans Jeu : Ka-Boom
commenter cet article
15 avril 2007 7 15 /04 /avril /2007 11:40
Et voici la première version jouable de Ka-BoOm ! Bon, elle est loin d'être définitive, je n'ai pas encore implémenté tout ce dont je parlais hier - et oui, je ne passe pas (l'intégralité de) mes nuits à coder !
Les contrôles sont les suivants :
  • Stylet : retourner une dalle
  • L ou R + Stylet : marquer une dalle
  • Pad : scroll du terrain en mode double ou huge
  • Start : interrompre la partie pour revenir au menu
  • Micro : souffler pour éteindre une bombe !
La fameuse originalité dont je parlais hier est la suivante : dans les versions classiques du démineur, il peut arriver en début de partie que l'on clique sur une dalle contenant une bombe alors qu'on n'avait pas encore dégagé de zone, ce qui fait qu'on perd bêtement sans avoir pu deviner qu'il y avait là une bombe. Sooo frustrating ! 0009.gif
Dans Ka-BoOm, lorsqu'on est dans cette situation, la bombe n'explose pas immédiatement. Elle apparaît dans l'écran du haut et vous avez 2 secondes pour éteindre sa mèche en soufflant dans le micro !

kaboom-screenshot-04.jpg

Attention, le jeu doit impérativement être testé sur une vrai DS et non pas sur émulateur, pour des questions de vitesse et de bugs graphiques (mauvaise gestion de l'alpha-blending par les émulateurs), mais aussi parce que vous avez besoin du micro. A vous de jouer ! 0009.gif

icon-download2.gif Télécharger Ka-BoOm v0.1 (ZIP, 601 Ko)
Repost 0
Published by Stravingo - dans Jeu : Ka-Boom
commenter cet article
14 avril 2007 6 14 /04 /avril /2007 22:37
Le développement de Ka-BoOm avance plutôt bien. On va dire que le jeu est terminé à 85% : il est jouable, mais il manque encore la gestion des highscores et les graphismes ne sont pas encore définitifs. Le menu est pour le moment un peu en vrac, il faut que je trouve un bon design. J'essaie aussi d'utiliser la fonction rumble de certains linkers ou du rumble pack officiel de Nintendo, mais sans succès pour le moment. Bon, ce n'est pas non plus indispensable, c'était juste pour faire vibrer la console lors d'une explosion et renforcer les animations graphiques déjà implémentés (explosion, écran qui tremble).
Voici les premiers screenshots. Une particularité du jeu est de permettre de jouer sur un terrain de 1 écran (normal), de 1x2 écrans (double) ou de 2x2 écrans (huge). Il y a aussi une petite originalité que je vous laisserai découvrir dans la version que je mettrai en ligne probablement demain.

kaboom-screenshot-01.jpg     kaboom-screenshot-06.jpg

kaboom-screenshot-03.jpg     kaboom-screenshot-05.jpg

Ok, c'est hideux, mais encore une fois les graphismes ne sont pas définitifs. En particulier, le logo "Ka-BoOm" est particulièrement moche, mais je ne me suis pas attardé à le fignoler étant donné que le titre du jeu est encore provisoire. Je n'ai toujours pas trouvé le titre idéal, mais j'ai une petite idée, un mauvais jeu de mot. Attendez vous à être navrés.
Repost 0
Published by Stravingo - dans Jeu : Ka-Boom
commenter cet article
13 avril 2007 5 13 /04 /avril /2007 11:04
Comme je le disais précédemment, les jeux du démineur ne sont pas très nombreux sur NDS. J'ai recensé les titres suivants :
Si j'en ai oublié, signalez les moi ! Mon objectif avec Ka-BoOm est de faire mieux que ces titres, voire plus original, si tant est que ce soit possible sur un tel sujet !
Repost 0
Published by Stravingo - dans Jeu : Ka-Boom
commenter cet article
13 avril 2007 5 13 /04 /avril /2007 00:23
Mon premier jeu sur NDS n’aura rien de révolutionnaire car ce sera un... démineur ! Bon, je vous entend d’ici : quoi, encore un démineur, il en existe déjà des brouettes, etc. J’en conviens, ce ne sera pas le jeu le plus original de l’année ! Mais je me suis lancé dans sa réalisation parce qu’il n’y a finalement pas tant de démineurs que ça sur NDS et qu’ils manquent cruellement de fun. Ma version apportera quelques petites innovations...
Mais surtout ce premier jeu est avant tout l’occasion pour moi de découvrir la programmation sur NDS. Ce type de jeu a aussi pour avantage d’être facile et rapide à programmer : j’en suis approximativement à 75% du développement. Il ne me reste plus guère à faire que le menu, la gestion de la victoire et de la défaite, ainsi que la gestion des meilleurs scores. Le plus difficile encore sera de lui trouver un nom ! Son nom de code est pour le moment Ka-BoOm, l’onomatopée américaine pour une explosion (l’équivalent du "boum" français, quoi). Des screenshots arriveront sous peu...
Repost 0
Published by Stravingo - dans Jeu : Ka-Boom
commenter cet article
12 avril 2007 4 12 /04 /avril /2007 15:37
palib-logo.gif
Devkitpro est le SDK qu’il vous faut pour développer sur NDS. Il vient avec la librairie libnds qui vous évite d’avoir à accéder au bas niveau du matériel de la console pour la programmer. Vous pouvez ainsi accéder aux différentes fonctionnalités de la console en évitant de manipuler des registres ou d’écrire et de lire des données à des adresses spécifiques de la mémoire. Mais bien que libnds vous simplifie la tâche, la programmation directe à l’aide de cette librairie reste assez ardue. En particulier, l’initialisation de la console, la gestion de la mémoire et des graphismes sont plutôt lourds. Heureusement pour les homebrewers est arrivée la libraire Palib. Développée par un molusque parisien (salut Mollusk 0009.gif), elle simplifie la programmation sur NDS en s’appuyant sur la libnds dont elle cache la complexité. Une communauté internationale très dynamique de homebrewers s’est organisée autour de cette librairie qui évolue constamment, apportant périodiquement son lot d’innovations.
Pour mes premiers développements sur NDS j'ai choisi d'utiliser Palib qui s'avère très agréable, bien que souffrant parfois de manque de doc. Il faut souvent aller voir dans le code source (fourni) afin de trouver l'information ou comprendre le fonctionnement de telle ou telle fonction. Mais Palib est un projet très dynamique - ce qui peut expliquer que le code évolue plus rapidement que la doc - et cela devrait aller en s'améliorant.
Repost 0
Published by Stravingo - dans Général
commenter cet article
11 avril 2007 3 11 /04 /avril /2007 14:08
ndslite-noire.jpgPourquoi m'être lancé dans le développement sur NDS? Presque par hasard, sur l'achat impulsif d'une NDS, un cadeau d'anniversaire fait en février à mon neveu Samuel par manque d'idée... et du coup je m'en suis aussi acheté une pour moi ! Et oui, j'aime me faire des cadeaux. Après avoir offert à Sam la DS Lite blanche, je me suis offert la noire. Elles sont toutes les deux magnifiques. J'avais lu sur bien des forums que l'inconvénient de la noire était qu'elle se salissait rapidement et bien c'est vrai ! Vous aurez beau faire tout votre possible, vous ne pourrez éviter de la recouvrir d'empreintes de doigts ! Les ingénieurs de Nintendo ont du boulot pour la prochaine version de la console. Dans leur todo list, à la suite d'évidentes améliorations techniques, je leur conseille de prévoir un traitement spécial de la coque ou l'utilisation d'un autre matériau.

Une fois la console achetée, étant programmeur depuis bien des années, la suite logique était de chercher à programmer la bête. Je me suis donc lancé le défi de réaliser quelques projets de jeux (et oui, j'aime aussi me lancer des défis). Tout cela remonte maintenant à 2 mois et ça avance plutôt bien. Bientôt les premiers résultats sur ce blog !
Repost 0
Published by Stravingo - dans Général
commenter cet article
11 avril 2007 3 11 /04 /avril /2007 12:50
Développer sur NDS est relativement facile pour peu que l'on ait des connaissances en C/C++. Il y a aussi la possibilité de développer en assembleur, mais de nos jours on préfère pour des raisons de rapidité de développement utiliser des langages de haut niveau, quitte à écrire certaines parties critiques du code en assembleur pour accélérer les traitements. J'ai choisi pour ma part de développer en C/C++.

L'étape suivante est de se procurer un système de développement que l'on utilisera sur PC (ou sur Mac) qui permettra d'écrire le programme et de le compiler en un code machine compréhensible par la NDS (processeurs ARM). La solution officielle consiste à s'inscrire auprès de Nintendo pour demander le système de développement (SDK) officiel de la console. Autant dire que cela ne concerne que les grosses boîtes, qui cherchent à développer des jeux commerciaux. L'autre solution, beaucoup plus grand public, est d'utiliser le formidable Devkit Pro, système gratuit de développement sur consoles (NDS mais aussi GBA, GameCube, GP32, PSP). C'est la solution adoptée par tous les programmeurs de "homebrews", ces programmes amateurs (dans le sens noble du terme - encore que, des fois...) faits à la maison. Ou dans le garage.

Mais une fois le programme écrit puis compilé sur PC se pose un gros problème : la NDS est une console fermée, elle ne dispose pas contrairement à la PSP d'un port USB qui permettrait d'y transférer le programme. Il y a la possibilité de lancer le programme sur un émulateur, il en existe plusieurs pour la NDS, mais ceux-ci sont encore perfectibles. Ils n'émulent pas encore correctement toutes les fonctionnalités de la console, et pas avec une vitesse suffisante. Heureusement, il existe ce qu'on appelle des "linkers", cartouches au format NDS ou GBA, s'insérant respectivement dans les slot-1 et slot-2 de la console, et disposant de mémoire flash dans laquelle on peut installer nos programmes fait maison. J'utilise une M3 DS Simply, très bon linker Slot-1.
m3ds-simply.jpg
Mais les émulateurs sont néanmoins indispensables à mon sens dans la chaîne de développement pour tester rapidement son programme, pour éviter d'avoir à le transférer systématiquement sur le linker après chaque compilation. J'utilise pour ma part l'excellent No$gba, le meilleur émulateur NDS à l'heure actuelle.

En résumé, pour être fin prêt pour le développement de homebrews, il faut donc un SDK, un émulateur, un linker... et une console, à moins de développer uniquement sur émulateur !
Repost 0
Published by Stravingo - dans Général
commenter cet article
11 avril 2007 3 11 /04 /avril /2007 01:01
Et voilou !
Quelques octets de plus jetés dans la toile, mais qui les rattrapera ? Vers combien d'internautes désoeuvrés (ou perdus) iront-ils ? Un petit octet pour moi, un mégaoctet pour l'humanité ? Dans ce flux d'octets qui jaillit du net pour venir vous frapper la rétine, je parlerai de mes développements pour la Nintendo DS, petite console de jeu (mais pas seulement) bien sympathique au très fort potentiel ludique. Programmer la bestiole est un vrai plaisir. Elle a pour elle des atouts parfois très originaux : double écran, écran tactile, micro, WIFI, 3D accélérée, ainsi que des extensions possibles (gyroscope, pack rumble), etc. Parvenir à tirer parti intelligemment de toutes ces possibilités sera un challenge mais je relève ici le défi ! Les idées ne me manquent pas, le temps si - malheureusement !
Tout cela se mettra progressivement en place. C'est là l'intérêt d'un blog, permettre de voir l'évolution des choses au jour le jour.
Il y a un début à tout. Une fin aussi, mais on verra plus tard... 0009.gif


Repost 0
Published by stravingo - dans Général
commenter cet article