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 :

LionEngine (Moteur 2D en Java)


Sujet :

Projets

  1. #1
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut LionEngine (Moteur 2D en Java)
    Bonjour,

    Je me permet de vous présenter mon moteur de jeu, le LionEngine (développé en Java), permettant de réaliser des jeux plus rapidement, grâce à un ensemble d'outils pour manipuler les ressources (Images, Son, Entrées...), ainsi qu'un lot de classes abstraites pour faciliter le développement.

    J'ai commencé à travailler sur ce moteur en même temps que j'étais sur mon remake de Lionheart (version Java).
    L'intérêt était de réaliser un moteur correspondant aux besoins (d'où le développement d'un jeu en simultané utilisant ce moteur).
    (Il me sert aussi pour mon remake de Warcraft I)

    L'objectif de ce moteur est de regrouper un ensemble de classes abstraites contenant les éléments les plus redondant/communs pour chaque types de jeux (Plateforme, Stratégie, RPG...). En effet, que ce soit un Mario, ou un Lionheart (sur Amiga, connu notamment pour son aspect technique), plusieurs aspects sont identiques.

    Voici ce que permet entre autre le moteur à l'heure actuelle (version 2):

    • Gestion de l'affichage (compatible fenêtré/plein écran)
    • Contrôle de la résolution de l'écran (largeur, hauteur, profondeur)
    • Gestion facile des ratios d'affichage (4:3, 5:4, 16:9, 16:10)
    • Gestion précise du frame rate (extrapolation possible)
    • Chargement rapide de graphismes (bmp, png, jpg)
    • Contrôle avancé des graphismes (sprites, animations, tiles, parallaxe...)
    • Chargement et lecture de fichiers audio (wav, mp3)
    • Manipulation de fichiers (lecture/écriture/parseur xml)
    • Interception des entrées (clavier/souris) (détection des touches, clics souris...)
    • Option de filtrage (Bilinéaire, hq3x)
    • Petit réseau (Client/Serveur/Sockets)
    • Ensemble de classes abstraites prêtes à l'utilisation (world, map, player, camera, pathfinding...)
    • Plusieurs classes utilitaires (courbes curvées, parseur, fenêtres...)
    • Ensemble d'exemples (launcher, jeu de plateforme, pathfinding...)



    Exemples de points possibilités techniques:
    - Imitation du rasterbar (technique sur Amiga pour augmenter le nombre de couleurs)



    - Filtrage HQ3X:


    - Réaliser un prototype de Mario rapidement:


    - Remake Warcraft I:



    * La page du projet se trouve ici:
    http://www.b3dgs.com/v5/page.php?lan...ion=lionengine

    * Les tutos/cours se trouvent ici:
    http://poj.b3dgs.com/page.php?lang=fr&section=home
    (Explications théoriques sur la partie interne d'un moteur, réalisation d'un jeu de plateforme...)


    * Deux projets en construction à l'aide de ce moteur:
    - Lionheart Remake (Plateforme)
    - Warcraft Remake (STR)


    Actuellement, je travaille la partie "Jeux de Stratégie";
    * Voici un petit avancement:
    - Attaque
    - Extraction, mouvement en groupe
    - Projectiles
    - Projectiles multiples

    Je précise que ces vidéos ont pour but de présenter des caractéristiques gérées par le moteur de manière abstraite, et modulable; ce n'est pas le Gameplay qui est mis en avant. Ce point sera abordé dans le cadre d'un jeu utilisant le moteur.


    * Petites notes à propos de l'état du moteur à l'heure actuelle (version 3 encours):

    J'ai apporté énormément de couches abstraites pour aider à la réalisation d'un jeu de type Stratégie (et conjointement Hack'N Slash).

    Entre autre, l'architecture est découpé de cette façon:

    Objets abstraits
    * AbstractEntity : classe la plus basse désignant tout objet pouvant appartenir ou non à un joueur, avec lequel il est possible d’interagir (de manière plus grossière, les bâtiments et les unités)
    - AbstractBuilding : première couche plus spécifique, réalisant un contrôle bas niveau de ce que peut être un bâtiment
    - AbstractUnit : comme précédemment, mais pour les unités.

    Dans un but d'architecture propre, et de modularité la plus extrême possible (afin de ne pas brider les volontés du développeur), j'ai organisé les "habilités" principales en module, afin d'avoir un couplage le plus faible possible:


    Habilités
    * BuilderAbility : module permettant à celui qui l'utilise de construire un objet de type AbstractBuilding à une position spécifique. Il est aussi possible de compléter les méthodes de bases (par exemple, pour afficher la progression à l'écran)

    * ExtractAbility : module traitant l'extraction de ressource (généralement associé à la même unité pouvant construire). Il est possible de définir un lieu d'extraction (de type AbstractEntity), ou d'une localité (pour un Tile par exemple, comme des arbres). La routine bas niveau s'occupera de gérer les allé-retour de l'unité; après avoir spécifié la zone de retour (pouvant être calculée automatiquement à partir du plus court chemin, selon les attributs définis par le programmeur)
    On pourra aussi définir un temps d'extraction/dépôt, avec les animations qui vont bien, et des effets supplémentaire en remplissant la fonction prévue à cet effet.

    * ProducerAbility : ce module permettra de produire n'importe quoi de type AbstractUnit. Généralement utilisé par les bâtiments (même si c'est applicable à une unité), le fonctionnement est similaire à la classe précédente, avec une routine fonctionnant en interne, qu'il est possible de compléter. Là encore, on peut définir la capacité de la file de production, le temps pour chaque élément, avoir la progression...

    * AttackerAbility : ou comment transformer le possesseur en unité de combat. Je ne donnerai pas trop de détails sur cette dernière, car j'y travaille.


    Ces principales habilités sont donc applicables à n'importe quoi. Tout ce qu'il faut, c'est ajouter un champs à la classe l'utilisant, implémenter l'interface, et effectuer une délégation pour chaque méthode.


    Il est aussi possible de redéfinir une habilité en héritant de la version abstraite (pour des cas plus particulier).


    Ensuite, c'est un peu de même pour des classes moins générale, telles que StrategyCamera (gérant le point de vue du joueur), et StrategyCursor (pour cliquer sur la map ou le panel de contrôle, ou encore effectuer une sélection avec filtrage des éléments selon ce que l'on souhaite).

    Même chose pour les deux principales routines: AbstractEntryHandler (qui s'occupe de mettre à jour tous les objets), et AbstractControlPanel (pour gérer le panel, afin d'avoir des infos sur les unités sélectionnées, leur actions...)

    Concernant les compétences, j'ai essayé de construire quelque chose de solide et efficace:
    Que ce soit pour lancer un sort (Heal, Firebolt...), déplacer, attaquer, construire; tout est mis au rang de Skill au sens large.
    Il suffit de décrire dans un fichier externe, des infos (nom, description, icone...), de créer une classe pour chacune d'elles, d'appeler la méthode addSkill(...) d'une AbstractEntity, et cette dernière apparait dans le Panel de contrôle, et on peut interagir avec celle-ci. Tout est paramétrable à souhait et facilement (je veux afficher les compétences sur 3 colonnes, avec un espacement X Y, et rajouter un cadre de sélection; ou cacher ce bloc, dans le cas d'un grand nombre).
    Il suffit ensuite de définir l'action de cette compétence (appeler la BuildAbility pour construire un bâtiment à partir de son nom; produire une unité en l'ajoutant à la file de production; donner de la vie à un blessé...)
    Il est évidemment aussi facile d'ajouter des effets visuel et sonore.

    Je travaille en parallèle sur un remake de Warcraft I, et je m’étonne moi même de la facilité à développer un tel jeu en utilisant mon moteur !


    Lorsque j'arriverai à quelque chose de très productif, je préparerai un tuto pour réaliser un jeu de stratégie; ainsi qu'une doc expliquant l'architecture globale du moteur.

    Merci d'avoir eu le courage de lire jusque ici

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Points : 47
    Points
    47
    Par défaut
    sympa...
    On pourra y mettre nos propres images, decors et objets?

  3. #3
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Oui bien sur.

    - Tout fonctionne dans un premier temps comme une API, proposant des méthodes pour charger simplement des animations, images, sons, lecture/écriture, xml... bref, la boite à outils.

    - Une première surcouche intègre un réel moteur, avec une boucle principale, gérant les updates (extrapolation comprise) et le rendu (en double buffering), récupération des entrées/sorties (clavier/souris).

    - Ensuite, une 2ème surcouche propose un ensemble de classes abstraites/interfaces, afin de faciliter de dev de jeu, avec une racine pour du dev de manière globale, et des packages plus spécialités (plateforme, stratégie...)


    La première partie (API), vous en faites ce que vous voulez (il est toujours possible d'utiliser d'autres API conjointement venant d'ailleurs).
    La deuxième est elle l'arborescence de base (architecture à utiliser).
    Tandis que la 3ème est totalement définissable, modifiable, paramétrable.

    Tout est fait pour brider le moins possible la volonté de l'utilisateur (aspect créatif), en essayant de simplifier tout ce qui est simplifiable.

    Tu peux donc charger ce que tu veux, l'afficher où tu veux, et utiliser des morceaux de ce qui te semble utile

    Si tu veux te faire une meilleur idée, je t'invites à regarder ce tuto, pour réaliser un prototype de Mario:
    http://poj.b3dgs.com/page.php?lang=f...platform_mario

  4. #4
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Voilà, j'ai enlevé le paysan, pour le remplacer par... une petite armée de grunt !

    Orcs vs Humains


    J'ai ajouté un système de détection d'ennemis dans un rayon définissable.
    Comme ça, les unités pouvant attaquer ne resteront pas passives lors d'une attaque, sauf si on leur demande.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 59
    Points : 62
    Points
    62
    Par défaut
    Amusant, j'ai une question:

    Est-ce-que ce moteur peut s'intégrer dans une Applet Java ?

    dstar

  6. #6
    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 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Votre moteur semble super niquel.
    Je trouve malheureux (ou alors je n'ai pas trouvé) qu'il n'y ai pas de doc, digne de ce nom, sur votre site. Dans le sens javadoc, qui indique les fonctions disponibles pour chaque classe.

    Sinon, vous vous reposez sur quelles technologies ? (OpenGL pour les effets d'eau, avec un shader ?)
    Et puis, quelle est la quantité de mémoire vive utilisé par un jeu ?

    Sinon pour vous aider : cours et tutoriels Java : http://java.developpez.com/cours/
    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.

  7. #7
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    J'ai passé toute ma pause du midi là dessus!
    Il y a une javadoc de fournie dans le rar proposé en téléchargement!

    Le site présente bien le projet et il y a un tutoriel pour assimiler les routines de base et démarrer.

    Il n'y a pas de framework additionnel, tout est fait en JAVA.

    J'ai de mon côté une API perso qui me permet de développer des jeux (pareil sans framework additionnel), mais il semble être de moins bonne qualité que ton projet!

    La seule déception concerne l'indisponibilité des sources. C'est un choix, je le conçois très bien, mais pour des personnes comme moi qui souhaitent comprendre et apprendre c'est vraiment dommage!

    Bonne continuation!

    Billy

  8. #8
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    @dstar: Alors là tout de suite, je ne me prononcerai pas, car je n'ai pas fais d'essai pour le moment (ce n'est pas encore ma priorité). Mais en principe, j'ai tout construit pour que cela soit faisable à moindre coût. Donc à voir prochainement

    @LittleWhite: A propos de la doc, je suis conscient qu'elle était un peu légère dans la version 2. Pour la prochaine (v3 en construction), j'étoffe très largement la doc, afin de comprendre immédiatement à quoi sert quoi en lisant n'importe quelle fonction (accompagné d'exemple dans certains cas).
    Pour les effets, simple travail sur le buffer en cours avant de l'envoyer à l'écran.
    Au niveau de la mémoire, Warcraft prend pour le moment moins de 20Mo, et Lionheart en prend moins de 16Mo. Après, tout dépend de ce qui est chargé par l'utilisateur (son, images...). Mais de manière générale, c'est très faible. L'environnement à vide ne consomme déjà presque rien. Le Garbage Collector ne prend pas plus de 0.01% d'activité (d'après le profiling sous netbeans)

    @billynirvana: A propos des sources, pas de soucis, je ne suis pas du genre à penser que je détient le secret ultime à ne pas divulguer :p
    Cependant, il est rare que je mette la source quand je travaille activement sur quelque chose. Je préfère attendre que le tout soit suffisamment robuste avant de le rendre accessible; simple question de finition.
    Donc pour répondre, les sources seront disponibles par la suite (démos comprises).


    Merci pour vos réponses !

  9. #9
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Toujours dans les automatismes de base, à savoir la détection de choses à attaquer dans un certain rayon, j'ai inclus le choix d'objets.

    Par défaut, l'objet le plus proche est choisis.
    Si il n'est plus accessible (trop de monde autour, bloqué), il cherchera le suivant et l'attaquera.

    Petite illustration, avec un rush d'orcs dans une ville vide:
    http://www.b3dgs.com/v5/projects/lio...uto_attack.mp4

    En principe, on ne devrait pas trouver d'adversaire oisif à proximité d'une cible potentielle. A moins qu'aucune ne soit accessible.
    Ces opérations sont quasiment "gratuites" en terme de perf, puisque j'ai indexé un ID dans la structure de la map, me permettant de savoir qui occupe telle case.

    Si vous voyez un attaquant oisif, c'est que la cible n'est pas dans son champs de vision (là aussi, définissable).

  10. #10
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Pas de soucis pour les sources, ce n'est pas une question de curiosité ou autre mais juste parce que j'aime bien apprendre, comprendre et m'épanouir dans ce que j'aime faire.

    D'ailleurs j'ai une question: Est-ce que Java 7 t'a dépanné pour certaines routines/fonctions?

  11. #11
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Pas plus qu'avant de quitter Java 6 :p
    Disons que je n'ai rien utilisé de spécifique à Java 7 pour le moment, si ce n'est l'allègement de la syntaxe (notamment au niveau des exceptions, et de la généricité)

  12. #12
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Et voici la suite, avec la gestion du célèbre brouillard de guerre:
    Brouillard de guerre

    Ici ça reste simpliste, mais il est possible de compléter la chose en ajoutant une couche supplémentaire, afin de différentier la zone découverte de la zone visible.

    J'avoue que j'ai eu un peu de mal pour gérer correctement le truc (au niveau de l'affichage). Mais tout n'est pas totalement parfait (quelques soucis au niveau des angles...).

  13. #13
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Hello!

    Pour un ancien projet jeu multijoueur en lan j'avais essayé d'inclure un chat à la warcraft 3.

    Et je n'étais pas satisfait du tout ^^. L'ajout d'objets Swing rendait le tout très moche. Même avec le double buffering activé, j'avais des clignotements!

    Es-t-il possible de réaliser un tel composant avec ta librairie? Je ne parle pas de la couche client/server, mais juste l"aspect visuel, l'aspect graphique.

    A+

  14. #14
    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 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Citation Envoyé par DjThunder Voir le message
    Et voici la suite, avec la gestion du célèbre brouillard de guerre:
    Brouillard de guerre

    Ici ça reste simpliste, mais il est possible de compléter la chose en ajoutant une couche supplémentaire, afin de différentier la zone découverte de la zone visible.

    J'avoue que j'ai eu un peu de mal pour gérer correctement le truc (au niveau de l'affichage). Mais tout n'est pas totalement parfait (quelques soucis au niveau des angles...).
    J'imagine qu'il n'y pas de gestion de découvert, mais pas dans le champ de vision.
    -> Soit, lorsqu'un perso est passé par là, mais que actuellement, on ne peut pas voir, car aucun perso dans les alentours, il faut que la zone soit à moitié grisé (pas noir, pas éclairée).

    Est ce que vous gérez les clics sur la minimap ?
    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.

  15. #15
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    On peut interagir avec la minimap (clics et déplacements)

    Et la suite qui va bien avec la 2ème couche du brouillard de guerre:
    Brouillard de guerre complet

    On dissocie bien la partie visitée de la partie visible.
    Cela n'était pas présent dans Warcraft 1, mais dans le 2 (optionnel).

  16. #16
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Petites touches concernant les améliorations de compétences:
    Upgrades

    On peut donc voir la dépendance des compétences & batiments (archer), ainsi que des améliorations de cette dernière.
    J'ai rajouté un champs spécial concernant l'unlockage d'une compétence.
    Cela permet de traiter le rendu différemment d'une désactivation (si l'on préfère l'afficher sur fond rouge que pas du tout par exemple)

    Petit détail concernant le retro-upgrade (upgrade des unités ayant été crées avant l'upgrade).

    Ces parties sont principalement gérées coté utilisateur du moteur (le faire dans le moteur risquerai de limiter la liberté). Et puis pour ce qu'il y a à faire, ce n'est pas bien grave (ça prend tout au plus 5min de gérer ce genre de chose, vous verrez tout ça lors d'un exemple)

  17. #17
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    A présent, on rentre un peu plus dans le sujet, avec quelques automatismes pour l'ordinateur, histoire de ne pas jouer tout seul !

    L'ordinateur attaque !

    On peut donc établir facilement des indications pour l'ordinateur (construire un TownHall si il n'y en a pas... idem pour une Barracks; produire des unités si besoin, selon leur nombre; lancer une attaque si il y a assez d'unités disponibles...)

    L'accès à l'environnement est en taux constant, puisque il est possible d'intercepter la création d'entité, et donc de stoker dans une variable, pour chaque type, leur nombre (nb de travailleur, fermes...).

    On peut aussi définir, grâces à des champs spéciaux, des types d'attaque (kamikaze, prudente...). Par exemple, si l'ordinateur souhaite s'aventurer dans une zone sans savoir ce qu'elle y trouvera, on peut lui spécifier un champs pour intercepter un quelconques ennemi, ou bien tracer sa route en l'ignorant. Il ne s'agit que de champs de base; le reste est complétable aisément par l'utilisateur à tout moment.

    Je poursuis encore un exemple d'IA basique, et je pense qu'il sera temps d'écrire un petit tuto pour présenter tout ca

  18. #18
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Bonsoir,

    Et oui, cela faisait un moment que je n'avais pas donné de nouvelles au sujet de mon moteur de jeu...

    Il est donc temps de passer à l'étape suivante, avec une petite vidéo qui récapitule les grandes lignes offertes par le LionEngine, en matière de jeux de stratégie:
    - http://www.b3dgs.com/v5/projects/lio...e_strategy.mp4
    - (ou) [ame]http://www.youtube.com/watch?v=IofUjsovfXc[/ame]

    J'ai également repris la partie cours (que je mettrai en ligne prochainement) pour y inclure les dernières nouveautés.

    A priori, tout devrait être livré dans la semaine prochaine (LionEngine v3.0.0, javadoc, site cours/tp, demo de Warcraft Remake)

  19. #19
    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 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    J'ai vu deux détails à améliorer:
    - ça serait cool de voir là ou l'on peut construire les bâtiments (je veux dire, genre un bâtiment fantôme, pour voir la où le bâtiment sera construit) ;
    - un clic droit sur la mine, lorsque un ouvrier est sélectionné équivaut à lui dire de récolter la ressource.

    Sinon, joli boulot, comme toujours
    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.

  20. #20
    Membre habitué Avatar de DjThunder
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 117
    Points : 144
    Points
    144
    Par défaut
    Alors ces détails ne concernent pas le moteur, mais la partie cliente (warcraft en l'occurence); mais j'ai rajouté ceci dans la demo pour faire plaisir à monsieur

    Petit retard concernant le livrable... un soucis de javadoc (affichage de la doc buggé; et la solution est tout aussi bizarre. Je détaillerai tout ça d'ici quelques jours)

Discussions similaires

  1. Nouvelle version RTFTemplate (moteur RTF en Java)
    Par azerr dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 23/12/2011, 10h49
  2. Moteur 3D pour java
    Par ToTo13 dans le forum Moteurs 3D
    Réponses: 2
    Dernier message: 27/07/2007, 15h44
  3. Moteur de blog java
    Par xfacq dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 29/09/2006, 09h03
  4. Réponses: 17
    Dernier message: 28/05/2006, 12h25
  5. Les systèmes de templates / Moteurs de templates java
    Par eXiaNazaire dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2006, 13h38

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