IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Création de jeux vidéo Discussion :

Passer de la console au GUI [Graphismes]


Sujet :

Création de jeux vidéo

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Passer de la console au GUI
    Bonjour la communauté,

    Je suis en train de développer un wargame 2D multi-joueurs tour par tour (2 à 7) en réseau en C++ sous code::block (W7)
    Le jeu tourne pour le moment en mode console, ce qui n’est pas très sexy .
    La prochaine étape est donc de développer le/la GUI avant de m’attaquer à la partie réseau.

    Je cherche donc la « bonne » biblio pour ce faire. Je suis conscient que ce sujet a été évoqué plusieurs fois mais les discussions que j'ai lues étaient anciennes et ne couvrent pas vraiment mon besoin...

    Alors en fouillant le net, on trouve SDL mais il y a aussi GTKmm (pour le C++).
    De ce que j’ai compris, SDL est « bien » pour les graphismes (civ, call to power est juste le type de « rendu » old school que je cherche) mais GTK est appréciable pour la gestion des menus / boutons.

    Pour aider les conseilleurs du club à me conseiller, je spécifie un peu plus mes besoins ci dessous :
    - Une fenêtre principale qui affiche une carte type wargames (hexagones) avec des fonctions classiques zoom, scrolling, click souris pour indiquer des déplacements d’unités d’hexagones en hexagones.
    - Une fenêtre « menu principal » avec des fonctions ouvrir, sauver, quitter.
    - Des fenêtres pop-up qui apparaissent quand on click droit sur certains hexagones (villes) ou unités de la carte et qui permettent de voir ou d’éditer les données des unités militaires par des boutons + et – ou des entrées claviers.
    Je précise que je ne connais aucune biblio graphique et que la « facilité » d’apprentissage / présence de tuto… est un point qui compte dans le choix (on va oublier Qt par ex.)

    Je vous remercie par avance pour votre support.
    Rick.

    P.S: Le projet est spécifié, les règles sont écrites, des prototypes de fenêtres existent (image powerpoint), le coeur est déjà là et ne bug pas ; si un(des) développeur(s) graphisme et/ou réseau s'ennuie(nt) ^^, qu'il(s) n'hésite pas à me contacter, à plusieurs on est plus fort.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    En effet, je pensais à Qt (peut être j'ai un faible pour cette bibliothèque ). Si vous ne faites pas de Qt, alors ce sera de la SDL, ou de la SFML (notamment intéressante car C++), mais cela vous obligera à réimplémenter un système d'interface utilisateur (les menus, les sous fenêtres). Toutefois, il existe des solutions plus immédiates : http://sdl.beuc.net/sdl.wiki/FAQ_GUI (comme Agar que je connaissais de nom).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    Merci petitblanc de ce retour,

    Je commence à piocher SFML...
    Rien que l'installation avec code::block est un pensum mais les tuto ont l'air très clairs et ça donne envie de s'y mettre.
    Effectivement il semble bien que j'ai à "créer" les boutons mais je pense trouver des exemples "tout prêt" sur le forum / wiki.
    Alors bon, go pour SFML, d'autant qu'il y a aussi un module réseau...

    Rick.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Pour un jeu, mieux vaut utiliser une lib multimedia (SDL, SFML, ...) qu'une lib UI (Qt, ...). Elles sont mieux articulees et plus facilement utilisables pour les besoins de boucle de gameplay, update rapide etc
    Quant qu module reseau, SFML fournit juste la surcouche basique des sockets. En lib reseau il vaut mieux regarder Raknet (RIP) ou dernierement celle de Valve (https://www.developpez.net/forums/bl...u-open-source/) qui semble prometteuse
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Qt est capable de faire des graphismes rapidement, mais c'est un peu moins immédiat. On peu aussi faire une fenêtre en Qt, mais un rendu avec la SDL ou la SFML. Aussi, je pensais à Civ2, lorsque je parlais de Qt.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Effectivement, on peut integrer une fenetre de rendu autre dans Qt, c'est de cette facon que sont faits certains editeurs, en integrant le rendu du jeu.
    Mais est-ce que ca vaut vraiment le coup (c'est pas une chose triviale a faire) ?
    Si c'est pour faire une GUI de jeu, autant la faire ingame avec les technos du jeu. Et pour faire des menus supplementaires de debug etc, ImGUI est vraiment top et simple a integrer (et facilement retirable pour faire des versions publics).
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    La refaire avec la techno utilisée pour le jeu, je suis bien d'accord (et j'en avais parlé), mais refaire tout un système de fenêtrage peut être aussi chronophage. Mais si c'est pour deux boutons + 1 menu, alors oui, cela peut valoir le coup (et encore, cela dépend du niveau de décoration souhaité).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer une variable entre 2 GUI
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/05/2009, 14h48
  2. [Débutant] Passer une variable d'un GUI à un autre
    Par pompier21 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 28/01/2009, 10h09
  3. Sortie console vers GUI
    Par Micke7 dans le forum Langage
    Réponses: 14
    Dernier message: 19/11/2008, 15h11
  4. mandrake:passer du mode console au mode graphique
    Par zchallal dans le forum Mandriva / Mageia
    Réponses: 2
    Dernier message: 12/12/2006, 21h45
  5. ecrire dans fenetre console depuis GUI?
    Par gregcat dans le forum Delphi
    Réponses: 1
    Dernier message: 17/09/2006, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo