Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Krozark

Pages: [1]
1
Discussions générales / SFML Blueprints - Un autre livre sur SFML
« le: Juin 01, 2015, 02:38:35 pm »
Bonjour !

Je suis heureux de vous annoncer que le livre sur la SFML SFML Blueprints à été publié il y a quelque jours.

Comme les précédents livre sur la SFML, il est publier par Packt  et est disponible à l'adresse suivante : https://www.packtpub.com/game-development/sfml-blueprints.

Ce livre à été écrit par moi même et traite de différents points.
Ainsi on pourra y retrouver les différents thèmes suivants :

  • Préparation des logiciels (compilateurs C++11), et installation de le SFML2.2
  • Architecture générale des jeux
  • Réalisation d’un Astéroid clone et d’un tétris (modèle d’entités, gestion du plateau de jeu)
  • Ajoutons de la physique à notre tétris (avec la librairie Box2D)
  • Création d’un GUI depuis zéro, puis utilisation de SFGUI. Intégration de celle ci au tétris
  • Notions sur le multithreading, mutex
  • Création d’un Hybrid RTS/tower defence. Model “Entity system”, gestion de cartes par tuile (hexagonale isométriques), logique du jeu…
  • Passer le jeu précédent à un jeu en réseau pour le rendre multi joueur. Utilisation de socket TCP, threads, mutex… Et sauvegarde de l’état du serveur (différentes matchs en cour) en base de données (Sqite3) pour reprendre les parties ultérieurement.

Ce livre contient 8 chapitres et chacun comprend au moins un projet, et est accompagné du code source que vous pouvez modifier comme vous le souhaitez.

Voici quelques screens des différents projets:
Chapitre 3

Chapitre 4 (nettoyage des ligne désactivé pour le screen)

Chapitre 7 + 8


J'espère que ce livre pourra aider les développeurs à créer les jeux qu'il souhaitent.

2
Discussions générales / Re : SFML Game Development -- Un livre sur SFML
« le: Novembre 17, 2013, 09:14:16 pm »
Pour les containeurs:
Je suis tout à fait d'accord avec toi pour dire que std::vector se comporte bien la plupart du temps, et que c'est celui à utiliser par défaut.
Pour ce qui est de l'emplacement, je sais plus où j'avais vus, mais il me semble que c'était un vector déclarer de taille fixe. Cette taille étant la taille d'une enum. Dans ce cas, un array aurais été préférable.


Templates variadiques:
C'est vrais que je n'ai jamais testé le C++11 sur autre chose que g++, et j’avais pas vraiment pensé au soucis de compatibilité qu'il peut encore avoir.

Un autre point, mais pour celui là, je ne suis vraiment pas sur de moi, d'où le fait que je n'en ai pas parlé.
Je sais que en C, les enum commencent pas forcément à 0, sauf si on spécifie explicitement (ça dépend des compilot).  Pour le C++, je n'ai aucune idée de si la norme définie que les enum commencent à 0. D'où l'habitude que j'ai de mettre "=0" à la fin du premier attribut. Dans le code il n'y à pas de "=0". Du coup je sais pas trop quoi en penser : la norme définie les enums comme commençant à 0 par défaut?

Sinon, au risque de me répéter, très bon livre.

3
Discussions générales / Re : SFML Game Development -- Un livre sur SFML
« le: Novembre 16, 2013, 06:38:25 pm »
Récemment, j’ai lu le livre «SFML Game Development»

Voici maintenant ce que j’en ai pensé:

Introduction :
   Ce livre présente des concepts de base pour la création d'un jeu 2D en utilisant la SFML2.0 et le C++11 en technologies de bases.
   Les thèmes abordés vont de l'installation de la SFML à la gestion de réseau, en passant pas la gestion des entités, actions du joueur, création d'une GUI, mais également la gestion des sons, musiques et autres ressources ainsi que la création d'un moteur de particules et «posts effects».

En bref :
   Le livre est très complet parcourant tous les outils de base permettant la création de jeux. Bien que que le jeu créé au fur et à mesure du livre soit un simple jeu 2D vue de haut, les concepts abordés sont applicables à la plupart des jeux actuelles, qu'ils soit en 2D ou 3D.
   Une connaissance de la SFML préalable n'est pas requise, tout étant détaillé pas à pas. Une connaissance du C++ est par contre recommandé.


Plus en détails :
   Biens que les concepts abordés soit bien détaillés, leur implémentations est parfois étrange. Par exemple, une des erreurs qui revient le plus souvent est la mauvaises utilisations des containers de la STL. Très souvent std::vector<T>  est utilisé alors qu'il y a bien plus adapté à la situation (array, list, stack ...). Il est toutefois à noter, que cela ne change en rien la logique du code, mais simplement des soucis d'optimisations.
   Un autre point que j'ai trouvé étrange lors de la lecture de ce livre, est que std::move est utilisé dans les premiers chapitres (abordant donc les rvalue-references) mais que les «move constructors» ne sont jamais abordés, et que std::move n'est plus utilisé par la suite alors que de nombreuse optimisations aurais là aussi pus être faites avec, sans pour autant changer la clarté du code.
   Le dernier points que je détaillerais n'est présent qu'une seul fois dans le code. Une surcharge est faite pour la méthode «load» de «ResourceHolder», dupliquant une partie du code (rompant les concepts  définies au début du livre prohibant la duplication). D’après moi, l'utilisation de «template variadiques» couplé à std::forward aurait été bien plus judicieux, et aurais également permis d'aborder ces ajout au C++ de façon simple et efficace.

        template <typename Resource, typename Identifier>
        template <typename ... Args>
        void ResourceHolder<Resource, Identifier>::load(Identifier id,Args&& ... args)
        {
            std::unique_ptr<Resource> resource(new Resource());
            if (!resource->loadFromFile(std::forward<Args>(args)...))
            throw ...;
            ... // insertion like before
        }
 

Mot de la fin :
   Beaucoup de concepts sont abordés implémenté et utilisé, et bien d'autre sont simplement citées pour les curieux ou pour améliorer le code proposé sans pour autant rentrer dans les détails.
   En claire un très bon livre, que se soit pour les débutants, les curieux ou encore les initiés.

Pages: [1]
anything