Littérature de développeurs

Pour tout ce qui est fan arts, homebrew, shooters codés à la main, rip de sprites, doujins et toute autre productions artistiques ou logicielles faites maison.
Répondre
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Allez hop, j'avais parlé de faire une critique de livre concernant la programmation de jeux, alors je m'y met.

"Devenez un petit génie des jeux vidéo"

Ce livre, au titre quelque peu racoleur, a été écrit par Ian Cinnamon. Si vous ne le connaissez pas, c'est normal. C'est une sorte de petit génie de l'informatique américain qui à l'âge de 15 ans est déjà certifié Java et C++ et qui étudie dans une prestigieuse école américaine.

Passons au plus intéressant, le livre. Celui ci se propose d'apprendre a des gens qui a la base n'y connaisse rien a l'informatique les joies de la programmation de jeux video 2D en Java.
Pour cela l'auteur commence avec quelques exemples simples et classiques : hello world, devinez le mot de passe etc. Une façon simple de découvrir ce que sont les Variables, boucles et structures conditionnelle.
Niveau Java, rien de bien intéressant, les notions d'objet et de dérivations ne sont même pas abordés alors que ce sont tout de même les bases du développement java. Le pire étant qu'on n'en verra pas plus dans le reste de l'ouvrage (Bon okay, on utilise quand même UNE classe interne pour gérer un thread…)

Arrive ensuite la partie la plus intéressante du livre, le codage de VRAI jeux.
Problème, l'auteur se disperse en voulant présenter plusieurs type de jeux, sans rien développer. Du coup ça reste techniquement très moyen voir mauvais. Les jeux tournes a moins de 15 images secondes (forcement entre chaque affichage on attend 75 ms a rien faire), pas de scrolling parallaxe et même pas de scrolling tout cours, pas d'animation, gestion des collisions avec service minimum, "intelligence artificielle" ridicule etc.

Exemple pour un pseudo pacman :
A chaque frame, les fantômes se déplace dans un direction aléatoire et si c'est impossible d'aller dans cette direction, il reste sur place.
Alors qu'il aurait été tout aussi simple de choisir une direction et de s'y tenir jusqu'à la prochaine intersection tout en évitant les direction impossible

Niveau codage des jeux, on se demande comment l'auteur a pus être certifié Java. Tous les projets tiennent en une seule classe, pas d'optimisation graphique ou autres. La seule chose qui m'as intéressé finalement c'est la manière dont il a décrit un niveau de jeux de plateforme a partir d'un tableau de caractère. Je ne connaissait pas, et j'ai retrouvé ça plus tard sur internet.

Ah oui, j'oubliais. le livre présente un exemple de shmup basique qui arrive quand même à ramer sévère alors qu'il n'y a que quelques ennemies a l'écran

Livre a déconseiller
Risike
Dieu de la Borne
Messages : 1935
Inscription : 01 déc. 2009, 13:30
Localisation : Citoyen du monde, partisan d'un monde sans frontière

Je parie qu'il utilise les interfaces graphiques (JFrame, JPanel et compagnie) pour gérer des jeux en 2D. Grosse erreur. Déjà la JVM est une vrai usine à gaze, et ces librairies sont faites pour faire des formulaires et non des affichages de sprites. Et puis faire apprendre la programmation en commençant par JAVA... ça me fait rire car c'est comme ça qu'on m'a appris à l'IUT (heureusement que j'avais déjà 5 ans de dev amateur...).
Le coup du "petit génie de 15 ans" c'est vraiment un argument marketing de merde ! Le pigeon moyen voit ça et se dit "Si une mioche de 15 ans peut le faire, alors je peux le faire !". Et l'éditeur touche le pactole ! :aaah:

Ensuite la certif JAVA (langage propriétaire) je veux bien car Sun organise ce genre de concours, mais une certif C++, euh... ça veut rien dire ! :[

D'ailleurs je pense ne pas être le seul qui à 15 piges développait déjà des jeux. Perso c'était en assembleur Z80 sur calculette TI-83 (bien plus complexe que le JAVA, même si la notion d'objet m'était totalement inconnue). Faut croire qu'on est beaucoup de petits prodiges... :mrgreen: Quant à certains développeurs super balèzes et encore plus jeunes de dev-fr.org... eux sont carrément des génies stéroïdés ! :envie:

Ahhh la naïveté de l'américain moyen m'aura montrer qu'au lieu de glander à la maison je pourrais aussi tenter d'arnaquer des milliers de lecteurs. :idea:
La jeunesse n'est pas une période de la vie, mais un état d'esprit...
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Effectivement, il utilise les JFrame. Certe, niveau perf, ça ne vaudras jamais une API spécialisé sur un langage compilé, mais je t'assure qu'avec, si c'est bien fait, on peux deja faire des trucs bien sympa. Je posterais ici un debut de moteur pour une jeux de plateforme ce soir (avec animation et scrolling parallax en 800*600), avec le projet netbeans associé. Si ça peut servir a quelqu'un...
Risike
Dieu de la Borne
Messages : 1935
Inscription : 01 déc. 2009, 13:30
Localisation : Citoyen du monde, partisan d'un monde sans frontière

Aille aille aille quelle perte de temps d'avoir fait ça ! Dès que tu vas afficher quelques dizains d'images à l'écran, tu vas avoir un framerate ultra merdique.
Et tu as réussi à éviter les clignotements ?
La jeunesse n'est pas une période de la vie, mais un état d'esprit...
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Rahlala, attend ce soir ^^
Pas de clignottement, j'utilise le double buffering et ça marche nickel
Pour les images je suis en 800*600, ce n'est pour le moment pas très chargé, mais c'est loin de ramer.
Si il y a trop d'image a charger, il y a moyen de charger a la volé je pense ( facile a faire pour un shoot avec scolling forcé) et de virer les image de fond qui ne sont plus utilisé.

Raison du choix du java pour ce projet :
Pouvoir par la suite justifier a un future employeur d'un projet java un peu poussé( je n'ai bossé qu'en C++ pour le moment) et surtout ne pas me prendre la tête quand je passe de MacOs X a Windows (même si ça necessite quelques precaution niveau code )

Pour les question sur mon code ou autre question sur le java, je propose de me contacter par MP afin de ne pas pourrir l'annuaire
Risike
Dieu de la Borne
Messages : 1935
Inscription : 01 déc. 2009, 13:30
Localisation : Citoyen du monde, partisan d'un monde sans frontière

Pas de prob !
La jeunesse n'est pas une période de la vie, mais un état d'esprit...
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Un modo pourrait il couper et copier dans un nouveau sujet les posts suivant ma critique du bouquin ?
ça permettrais d'entamer une discussion ailleurs tout en evitant de remplir le sujet avec une discussion sur les capacités du java pour le developpement de jeux video.

Merci
Avatar de l’utilisateur
Radigo
Counter Stop
Messages : 7567
Inscription : 22 mai 2003, 17:31
Localisation : Paris
Contact :

Euh, oui.. comment dire... je vais essayer de pas tout pêter dans la manip.

Image

Opération du topic à coeur ouvert réussie à 100% !
"HYPER GAGE : 500%"
Image
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Merci Radigo et felicitation pour cette opération :D
Répondre