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

Projets Discussion :

Projet jeux power-kube et moteur de jeux [Projet terminé]


Sujet :

Projets

  1. #21
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut Conseil développement de jeux
    J'ai un conseil à tous ceux qui veulent développer des jeux eux même :
    Voici ce que j'ai appliqué pour mon jeux et qui fonctionnent , après le succès du jeux c'est autre chose, c'est une question de gout mais il faut d'abord qu'il plaise à la personne qui le créé.

    1 ) choisir son langage

    2 ) choisir ses outils

    3 ) créé un moteur de jeux (il peut reposer sur un moteur 3D existant ou partir de zéro )

    4 ) créé un éditeur de ressource pour le jeux ( modèles , niveaux etc .. )

    5 ) créé la logique du jeux qui utilise le moteur de jeux.


    Le jeux est donc composé de 3 parties ;
    1) les ressources ( textures , modèle 3D , description des niveaux , position des objets dans le monde etc ... )
    2) le moteur de jeux et éditeur de ressources.
    3) la logique du jeux ( le fonctionnel )

    La création de la logique du jeux permet de tester le moteur de jeux et l'éditeur de ressources et d'ajouter les fonctionnalités important pour la réalisation du jeux.

    En suite vous pourrez créé plein de jeux avec votre moteur de jeux qui sera adapté au mieux a vos besoin.
      0  0

  2. #22
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Je viens de voir un truc dommage , pour developpez.com et pour tous ceux qui font des jeux sur ce forum c'est que google de ressort pas les résultats de ce forum.
    Par exemple quand je met power kube dans google je tombe pas sur le forums de developpez.com ce qui est dommage.
      0  0

  3. #23
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Je découvre ton projet et je trouve le résultat très propre. On devine facilement qu'il y a eu du taff.
    Le seul défaut que je trouve à ton projet, c'est qu'il soit écrit en Java (je rigole hein ^^)
    Sans forcément dévoiler tes secrets de fabrication, n'hésite pas à nous faire partager les grandes lignes de ton architecture technique, les principaux modules et la façon dont ils sont reliés. Quels sont les principaux problèmes que tu as dû résoudre ?
    Tutoriels et FAQ TypeScript
      0  0

  4. #24
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Non je suis d'accord c'est un défaut d'être écrit en JAVA car il faut gérer la version du JDK , le jeux est écrit en java 1.8 et j'ai choisi d'inclure une version de Java 1.8 portable dans mon jeux pour éviter d'avoir a installé Java.
    Sinon pour les grandes lignes d'architecture technique j'ai déjà posté le procédé que j'utilise pour afficher les cubes mais je vais le remettre :- )


    l'architecture et les fonctionnalités de mon moteur de jeux pour le rendu sont les suivantes :
    d'abord j'utilise un octree pour sélectionner les éléments à afficher du décor.
    les feuilles de l'octree sont constituées de bloque pouvant contenir 16*16*16 cubes et utilise un VBO.
    Chaque feuille de l'octree est aussi stockée sur carte graphique grâce à une texture 3D.
    Chaque couleur de la texture 3D décrit comment un cube devra être représenté.
    Les composantes de chaque couleur sont utilisés de façon suivante :
    La composante rouge détermine la texture à appliquer sur face orientée suivant l'axe des X, cette valeur est aussi un index vers un texture array qui a 256 entré au maximum.
    La composante verte détermine la texture à appliquer sur face orientée suivant l'axe des Y, cette valeur est aussi un index vers un texture array qui a 256 entré au maximum.
    La composante bleue détermine la texture à appliquer sur face orientée suivant l'axe des Z, cette valeur est aussi un index vers un texture array qui a 256 entré au maximum.
    Une couleur noir signifie qu'il n'y a pas de cube.
    L'utilisation de la texture array et de la texture 3D se fait dans un shader pour déterminer la couleur de chaque pixel.

    Ensuite pour optimiser au maximum le rendu intérieur l'algorithme suivant est utilisé :
    1) on récupère toutes les feuilles de l'octree qui sont visible pour la caméra et dont la distance par rapport à la caméra est inférieur à une valeur (valeur paramétrable).
    2) on trie toutes les feuilles de la plus proche à la plus lointaine.
    3) on parcours la liste pour afficher les feuilles et ont s'arrête quand on a dépassé un certain nombre de triangle (valeur paramétrable )
    4 ) on exécute une query opengl pour savoir si la skybox du monde est visible
    si elle n'est pas visible on s'arrête la , le reste du monde n'est pas à afficher.
    si le pourcentage de pixel visible de la skybox est inférieur à une valeur (valeur paramétrable )
    alors on effectue une query opengl pour chaque feuille de l'octree (la forme utilisée pour la query est un cube de 16*16*16)
    si le cube de 16*16*16 est visible alors cette feuille est à afficher.
    sinon elle n'est pas à afficher.
    sinon on fait un rendu du reste des feuilles sans query

    Dans le moteur il existe une option qui permet d'économiser la taille VBO, la géométrie des faces à afficher est simplifiée et
    c'est shader qui fait des discards en fonction de la texture 3D pour ne pas afficher les faces des cubes qui sont vide.

    Pour les ombres j'utilise une shadowmap qui est mise à jour uniquement quand on ouvre une porte par example pour laisser entré la lumière.
    Pour les textures j'utilise un mimap et un filtre anisotropique.
    Il est possible d'ajouter des objets transparent.
    Le monde peut contenir beaucoup de lumière la limite est pas plus de 8 lumières pas feuille de l'octree.
    Une sorte d'antialiasing simple est réaliser en faisant le rendu de la scene vers un FBO, ensuite quand on affiche le FBO on fait dans le vertex shader la moyenne des 8 pixels autour du pixel qu'on affiche.

    J'essai d'implémenter pour les ombres le subpixel shading mais pour l'instant le résultat n'est pas concluant donc il ne sera pas dans la version béta du jeux qui va bientôt sortir avant la fin de l'année.
      0  0

  5. #25
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Ok, merci pour cette description.
    Tutoriels et FAQ TypeScript
      0  0

  6. #26
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Voilà powerkube beta est dispo.
    Il faut télécharger le lanceur https://github.com/dadou666/Lanceur/...er/lanceur.zip
    Il faut dézipper l'archive et ensuite lancer powerkube.exe.
    Ensuite il faut s'inscrire avec une adresse email et changer le mot passe temporaire.
    Si à la première connexion le téléchargement de démarre pas (la bar de progression qui n'avance pas) il faut relancer , il y a un bug dans le lanceur que je ne reproduit pas systématiquement.
    Suivant la puissance de la machine on peut sélectionner la profondeur de champ .
    Pendant le jeux il faut faire escape pour afficher le menu du jeux ou sortir du menu courant pour retourner au menu précédent, les touches + et - permettent de faire défiler la sélection ou l'écran et la touche entré de sélectionner le menu ou l'action.
      1  0

  7. #27
    Membre éprouvé Avatar de maeiky
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 201
    Points : 976
    Points
    976
    Par défaut
    C'est pas un peu compliquer pour juste tester le jeu de faire une inscription? De plus il faut entre le "#" suivi du numéro temporaire pour que ça marche.

    Bon le jeu marche, première impression, ça manque de fluidité. Par exemple, les sauts sont très séquentiels, on monte, puis on redressant, de façon constante, on voit le gros if/else ici
    Inspire toi des sauts à la Mario, c'est une formule toute bête du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int saut = -10;
    update(){
    posY += saut;
    saut ++;
    }
    Aussi pas de support QWERTY

    Sinon en général c'est un bon début, continue comme ça!
    Linx, un nouveau langage intuitif
    Simacode IDE, auto-complétion & compilation instantané
    GZE, moteur 2d/3d multi-langage/multi-plateforme
      0  0

  8. #28
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Merci pour ton test tu es mon premier testeur.
    Oui l'inscription c un peu compliquer je suis d'accord mais ça me permet de connaître la progression des joueurs s'il vont jusqu'au boss de fin pour voir si la démo est pas trop dure et de savoir combien de personne vont tester la démo.
    Sinon pour le qwerty c'est en cours je fera une modification bientôt (le lanceur permet de mettre à jour automatiquement le jeux ).
    Sinon c'est quoi ta carte graphique ? je sais j'aurais du enregistrer cette information vu qu'il y a une inscription.
    Si le jeux n'est pas fluide (FPS en dessous 45 ) tu peux modifier la profondeur de champ.
      0  0

  9. #29
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2016
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Septembre 2016
    Messages : 244
    Points : 993
    Points
    993
    Par défaut
    Salut,
    Je suis le sujet de loin. Ton projet est sympa. (D'ailleurs tout projet est de base sympa et à encourager).

    Si je peux me permettre, ton brouillard est un peu trop gris. Ce qui est dommage car cela attriste tes scènes. Si tu regardes bien tous les jeux ayant des brouillards, ces derniers ne sont quasiment jamais gris. Dans plusieurs de tes scènes, je mettrais un brouillard légèrement bleuté pour rappeler l’atmosphère terrestre. Comme tu t'inspires de Skyrim, voici un exemple:

    Cela donne tout de suite plus de gaité à la scène. Mais ce n'est peut-être pas ce que tu recherches graphiquement. D'ailleurs, c'est peut-être l’ambiance voulue ?
    «Le management, tel qu’on l’apprend dans les écoles et tel qu’on l’applique ensuite, sous prétexte de «motivation du personnel», organise exactement le contraire, à savoir la démotivation organisée.» - Bernard Stiegler
      0  0

  10. #30
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Excellente idée , je vais faire en sorte de permettre de changer la couleur du brouillard .
      0  0

  11. #31
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Merci à OuiOuiDidou pour l'idée de refonte de mon site.
    Donc voici le nouveau design de mon site www.power-kube.com ou il est possible de télécharger le lanceur pour tester power-kube beta.
      0  0

  12. #32
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Le Launcher avait un bug , je viens de corriger, il maintenant disponible sur www.power-kube.com
      0  0

  13. #33
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Nouvelle version de powerkube beta :
    • Correction Moteur, du mode sans ombre (les fenêtres ne s'affichaient plus ou pire plantage du jeux).
    • Evolution Jeux, la cible permet uniquement de savoir ou ont peut sauter plus bas (vert c ok rouge le joueur meurt )
    • Evolution Moteur, on peut raser les murs, une remarque qu'un pote m'a fait en jouant avec mon jeux.
      0  0

  14. #34
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Voici une video de démo de mon moteur de génération procédural.


    Comme peu de personnes ont téléchargées la version powerkube beta sur www.power-kube.com , je me dis le truc que je peu faire pour au moins m'amusé, c de faire créer les niveaux par l'ordinateur comme ça je les connaîtrais pas, et donc ça sera aussi la découverte pour moi.

    Pour faire ça j'utilise un truc super adapté a un univers fait a base de cube , la génération procédure par grammaire.
    Le concept est simple utilisé une grammaire pour générer aléatoirement les mondes.
    J'ai donc créer le model suivant, un morceau de monde est décrit de la façon suivante
    class Lien {}
    class Morceau {
    Lien PX,MX,PY,MY,PZ,MZ;
    }

    On ales règles suivante :
    Deux morceaux A,B peuvent être lié suivant l'axe X si PX(A) == MX(B)
    Deux morceaux A,B peuvent être lié suivant l'axe Y si PY(A) == MY(B)
    Deux morceaux A,B peuvent être lié suivant l'axe Z si PZ(A) == MZ(B)

    Ensuite il suffit de chercher une configuration du monde vérifiant ces règles si elle existe... et la il y a plein de méthode plus au moins efficace.
      0  0

  15. #35
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Et une autre videos sur la génération procédural avec plus d'éléments de base
      0  0

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Ca donne un bon résultat.
    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.
      0  0

  17. #37
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Ca donne un bon résultat.
    et ce n'est que le début....
      0  1

  18. #38
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Nouvelle version de powerkube beta ( Lanceur toujours disponible sur www.power-kube.com

    Evolution Jeux, une croix bleue transparente indique l'objectif courant , ce qui permet de savoir ou aller( un pote m'a dit que l'univers était trop ouvert, et qu'il savait pas ou aller ).
    Evolution Jeux, le pouvoir pour ouvrir les portes vertes a maintenant une forme de clef.
    Evolution Jeux, quand la barre de pouvoir est au maxi les cellules d’énergie ne bloque plus le joueur.

    Evolution du lanceur, amélioration de l'interface d'inscription et de modification du mot de passe.
    Evolution du lanceur, le lanceur retient le dernier mot de passe donc plus la peine de le ressaisir.
      0  0

  19. #39
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Modification du lanceur disponible sur www.power-kube.com

    Il ressemble à ça maintenant
    Nom : Lanceur.png
Affichages : 186
Taille : 39,5 Ko

    pour créer un compte appuyer sur inscription :
    Nom : inscription.png
Affichages : 146
Taille : 2,3 Ko


    Saisir un nom et une adresse email et appuyer sur valider.

    Nom : ModifMDP.png
Affichages : 138
Taille : 3,1 Ko

    Modifier le mot de passe en utilisant le mot de passe temporaire envoyé par mail (#XXXXXXXXX ) et appuyer sur valider

    Nom : Login.png
Affichages : 151
Taille : 2,4 Ko
    Saisir l'utilisateur et le nouveau mot de passe
    et appuyer sur valider

    S'il y a des mises à jour une bar de mise à jour apparaît.
    Nom : Update.png
Affichages : 191
Taille : 1,7 Ko

    Une fois la mise à jour fini la fenêtre de configuration des paramètres graphiques apparaît.

    Nom : ConfigGraphic.png
Affichages : 179
Taille : 3,7 Ko
      0  0

  20. #40
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Et une autre mise à jour.

    Mise à jour du jeux :
    Modification d'indicateur d'objectif , maintenant c'est un cercle rouge avec la distance de l'objectif par rapport au joueur.
    Le fond du menu (bouton echap ) est transparent, c'est plus jolie je trouve.
    Correction du bug qui faisais que le bosse devenait inactif quand on mourrait suite à la pluie de météorite.

    Le lanceur est toujours disponible sur www.power-kube.com
      0  0

Discussion fermée
Cette discussion est résolue.

Discussions similaires

  1. [PROJET EN COURS] Moteur de jeux.
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 20/06/2014, 16h17
  2. Paladin : un nouveau projet de moteur de jeux par la communauté Mozilla.
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 19
    Dernier message: 09/09/2011, 12h40
  3. Cherche developpeur pour moteur de jeux 2d/3D
    Par Nadirov dans le forum Projets
    Réponses: 2
    Dernier message: 02/08/2006, 17h16

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