Français | English |
TUER est né en octobre 2006 en partant du code source du jeu Art Attack de Vincent Stahl qui utilise son propre moteur 3D D3caster. Ce dernier repose sur le rendu logiciel et le lancer de rayons primaires. J’avais passé les 2 premières années à réécrire une grande partie de ce moteur afin d’utiliser l’accélération graphique avec OpenGL via JOGL et un réseau de cellules et de portails. J’en avais profité pour rajouter quelques fonctionnalités mineures et pour revoir l’intégralité du code source. Les performances sont largement meilleures, ma version est environ 64 fois plus rapide que la version originale à résolution égale. Cette version de mon jeu est encore à l’heure actuelle la version la plus aboutie sur le plan fonctionnel. Les robots sont encore en 2D, seul le lance-roquette est disponible. | TUER was born in October 2006 by using the source code of the game Art Attack created by Vincent Stahl who use his own 3D engine D3caster. It relies on software rendering and raycasting. I had spent the two first years in rewriting a huge part of this engine in order to use the hardware acceleration with OpenGL through JOGL and a network of cells and portals. I had added some minor features and to redesign the entire source code as well. The performances are largely better, my version is 64 times faster than the original version with the same screen resolution. This version of the game is still the most complete version. The robots are still in 2D, the only available weapon is the rocket launcher. |
Vidéo | Video |
De septembre 2008 à octobre 2009, j’avais essayé d’utiliser JMonkeyEngine 2.0 à la place de mon moteur ce qui fut une énorme perte de temps comme je m’épuisais à en corriger les nombreux bogues. C’est un excellent moteur mais son système de rendu basé sur JOGL était dans un état lamentable à mon arrivée. Depuis octobre 2009, j’utilise Ardor3D, le moteur 3D en Java le plus stable à ma connaissance. Je peux enfin passer plus de temps à avancer dans le développement de mon jeu que dans la correction des bogues des outils. J’utilise également Paul Lamb’s Sound System avec l’API Java Sound. J’ai écrit son chargeur de modèles au format MD2 et un portage de son système de rendu basé sur JOGL de la version 1.1.2 à la version 2.0. Je me suis créé un petit éditeur de cartes appelé JFPSM.A l’heure actuelle, la maquette basée sur Ardor3D ne contient pas toutes les fonctionnalités de la version la plus aboutie mais le seul ennemi disponible est animé en 3D, il est déjà possible de prendre une arme dans chaque main, plusieurs armes sont disponibles.Je dois reconnaître que le développement de mon jeu a été très fortement perturbé depuis le 7 mai 2010. Néanmoins, les fonctionnalités suivantes sont en préparation : | From September 2008 to October 2009, I had tried to use JMonkeyEngine 2.0 instead of my engine which had been a huge waste of time as I was tired of fixing its numerous bugs. It is an excellent engine but its JOGL renderer was in a really bad state when I began using it. I have used Ardor3D since October 2009, the most reliable 3D engine written in Java as far as I know. I can finally spend much time in developing my game than in fixing bugs in various tools. I use Paul Lamb’s Sound System too with the API Java Sound. I have written an MD2 loader and I have recently ported its JOGL renderer from JOGL 1.1.2 to JOGL 2.0. I have created a small map editor called JFPSM.The blueprint based on Ardor3D does not currently contain all features of the most complete version but the only enemy is animated in 3D, it is already possible to take one weapon in each hand, several weapons are available.I have to admit that the development of my game has been disturbed since the 7th of May 2010. However, the features I’m preparing for the next version are these furthers: |
JFPSM essaie d’utiliser un patron de répétition de textures lorsqu’une même texture est utilisée pour plusieurs quadrilatères identiques reliés les uns aux autres comme sur un damier. Cette optimisation a été proposée par un membre du forum game-corp.net. | JFPSM tries to use a pattern of texture repetition when a same texture is used in several identical quads linked together like in a draughtboard. This optimization has been suggested by a member of the forum game-corp.net. |
Toutes les dépendances sont incluses. L’ensemble est plus gros, c’est à moi de mettre à jour chaque bibliothèque mais le projet est plus facile à utiliser, il n’est plus nécessaire de bidouiller le chemin d’accès aux bibliothèques natives utilisé par Java (le script Ant s’en charge) ni d’aller chercher les bibliothèques sur plusieurs dépôts. Il suffit de récupérer le projet avec SVN et d’utiliser Ant soit en ligne de commande soit dans son environnement de développement intégré favori sachant que j’ai commencé par l’intégration d’Eclipse (je dois encore mettre à jour les explications fournies sur mon site web). Je pourrais utiliser Maven (cela m’éviterait d’avoir à stocker les bibliothèques sur mon dépôt SVN) mais certaines bibliothèques requises ne s’en servent pas encore. Cela donnerait donc un truc hybride dans lequel certaines bibliothèques seraient récupérées avec Maven et d’autres seraient dans le dépôt SVN. Pour le support des autres EDI, je ferai peut-être un effort pour Netbeans (comme pas mal d’étudiants s’en servent) mais il est hors de question que je teste chaque EDI, je pense en particulier exclure ceux qui sont propriétaires et/ou payants. | All dependencies are included. The whole is bigger, updating all libraries is up to me but the project is easier to use, there is neither any need to tinker the Java library path (the Ant script does it) nor to get the libraries from several repositories. All you have to do is get the project with SVN and use Ant from command line or with your favorite integrated development environment knowing that I have begun the integration in Eclipse (I have to update the explanations provided on my web site). I could use Maven (it would avoid storing the libraries on my SVN repository) but some required libraries does not use it yet. It would become an hybrid thing containing both libraries updated by Maven and libraries in the SVN repository. Concerning the support of other IDE, I will make an effort for Netbeans (as lots of students use it) but no way, I won’t test all IDE, I plan to specifically exclude the proprietary or not free of charge ones. |
L’installeur IzPack sera utilisé avec Java Web Start. Au fur et à mesure que mon jeu grossit, cela devient inévitable. Je pense aussi que ça fera plus professionnel. | The IzPack installer will be used with Java Web Start. As my game becomes bigger, it becomes necessary. I think that it will look more professional too. |
Le passage à JOGL 2 est pour très bientôt. JOGL 1.1.1a n’est plus maintenue et JOGL 2 devient suffisamment stable pour être utilisée dans mon jeu. J’ai porté la partie JOGL d’Ardor3D vers JOGL 2. Cette étape n’est pas anodine comme JOGL 2 supporte OpenGL-ES ce qui ouvre la voie du support des smartphones sous Java SE for Embedded. Apple ayant fait machine arrière au sujet de l’impossibilité d’utiliser Flash et Java sur IOS 4, il se peut qu’un jour TUER tourne sur Iphone si et seulement si Oracle arrive à faire valider Java SE for Embedded et sa Sensor API par Apple. Quant à Android, j’ai un peu peur des mauvaises performances comme ça n’utilise pas une vraie machine virtuelle mais une DVM avec un compilateur JIT bien moins performant que celui de Java SE for Embedded. J’ai récemment appris qu’un salarié de SRA International a lui aussi fait un portage d’Ardor3D mais avec NEWT ce qui pourrait me simplifier la tâche pour supporter des smartphones Nokia sous Linux Meego disposant de base de Java SE for Embedded 1.6. | The switch to JOGL 2 is going to be done soon. JOGL 1.1.1a is no more maintained and JOGL 2 has become reliable enough to be used in my game. I have ported the JOGL part of Ardor3D to JOGL 2. This step is not trivial as JOGL supports OpenGL-ES which allows the support of smartphones using Java SE for Embedded. As Apple has recently gone backwards about the impossibility of using Flash and Java on IOS 4, TUER might work on IPhone if and only if Oracle succeeds in getting the validation of Java SE for Embedded and its Sensor API from Apple. Concerning Android, I fear the bad performances as it does not use a real virtual machine but rather a DVM with a JIT compiler less powerful than the one of Java SE for Embedded. I have recently learned that an employee of SRA International has just made its own port of Ardor3D too but with NEWT which could ease my task of supporting Nokia smartphones on Linux Meego with Java SE for Embedded 1.6. |
Un petit niveau à ciel ouvert réalisé à partir d’un modèle d’Oto The Cleaner sera prochainement disponible. Je l’ai converti du format Blender au format WaveFront OBJ pour pouvoir le charger dans Ardor3D. | A small outdoor level made with a model created by Oto The Cleaner will be available soon. I have converted it from the Blender format into the WaveFront OBJ format in order to be able to load it in Ardor3D. |
La localisation des dégâts comme dans Golden Eye 007 (version N64) et Turok 2 sera disponible l’an prochain. D’une part, le système de pickingd’Ardor3D me permettra de trouver le point d’impact. En fonction de ce dernier, je localiserai les triangles concernées, je changerai les coordonnées de textures de leurs sommets afin d’afficher les blessures.D’autre part, des modèles au format MD2 seront découpés en plusieurs membres (torse, bras, jambes, tête, etc…). Chaque membre sera associé à un noeud du scénographe. Ces noeuds seront associés à un seul noeud qui sera doté d’un contrôleur, c’est ce dernier qui décidera quels membres doivent être affichés et quelle partie de l’animation doit être jouée en fonction de l’intelligence artificielle et des dommages. | The location of the damages like in Golden Eye 007 (N64 version) and Turok 2 will be available next year. On one hand, the picking system of Ardor3D will allow me to find the impact point. I will find the concerned triangles by using it, I will modify the texture coordinates of their vertices in order to display the wounds.On the other hand, the MD2 models will be split into several limbs (torso, arms, legs, head, etc…). Each limb will be bound to a node of the scene graph. These nodes will be bound to a single node that will have a controller, it will decide which limbs will be shown and which frame of the animation has to be displayed functions of the artificial intelligence and the damages. |
Les photos de cet article sont mises à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Pas de Modification 3.0 non transposé. |
The photos of this article are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License |
Cet article est mis à disposition selon les termes de la Licence Creative Commons Attribution – Pas d'Utilisation Commerciale – Partage à l'Identique 3.0 non transposé |
This article is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License |
Auteur : Julien Gouesse | Author: Julien Gouesse |
-
Articles récents
- Manifestation du premier mai 2024 lors de la fête du travail à Paris [Demonstration of May first, 2024 during the Labor Day in Paris]
- Mon week-end dans les gorges du Verdon [My weekend in the Verdon Gorge]
- Quelques pistes pour des rencontres hors ligne à Paris [A few leads for some offline dating in Paris]
- Mon comparatif des lieux de karaoké à Paris [My comparison of karaoke spots in Paris]
- Manifestation contre la loi immigration (loi Darmanin) dimanche 21 janvier 2024 à Paris [Demonstration against the immigration law (Darmanin’s law) Sunday, January 21st, 2024 in Paris]
Archives
- Mai 2024
- avril 2024
- mars 2024
- janvier 2024
- décembre 2023
- août 2023
- juillet 2023
- juin 2023
- Mai 2023
- avril 2023
- mars 2023
- février 2023
- janvier 2023
- octobre 2022
- août 2022
- Mai 2022
- juin 2021
- Mai 2021
- mars 2021
- février 2021
- janvier 2021
- décembre 2020
- novembre 2020
- octobre 2020
- juin 2020
- Mai 2020
- avril 2020
- mars 2020
- février 2019
- décembre 2018
- Mai 2018
- septembre 2017
- juillet 2017
- Mai 2017
- mars 2017
- novembre 2016
- Mai 2016
- avril 2016
- mars 2016
- janvier 2016
- décembre 2015
- octobre 2015
- août 2015
- juin 2015
- Mai 2015
- avril 2015
- février 2015
- janvier 2015
- novembre 2014
- octobre 2014
- septembre 2014
- août 2014
- juillet 2014
- juin 2014
- Mai 2014
- avril 2014
- mars 2014
- février 2014
- janvier 2014
- décembre 2013
- octobre 2013
- septembre 2013
- août 2013
- juillet 2013
- juin 2013
- Mai 2013
- mars 2013
- janvier 2013
- décembre 2012
- novembre 2012
- octobre 2012
- septembre 2012
- août 2012
- juillet 2012
- juin 2012
- Mai 2012
- avril 2012
- mars 2012
- février 2012
- janvier 2012
- décembre 2011
- novembre 2011
- octobre 2011
- septembre 2011
- juillet 2011
- Mai 2011
- avril 2011
- mars 2011
- février 2011
- décembre 2010
- novembre 2010
- octobre 2010
- septembre 2010
- août 2010
Catégories
Categories
- 11 septembre 2001
- A bout portant
- ACTA
- AdopteUnMec
- amour
- APRIL
- art
- be2
- CGT
- CNRS
- communisme
- doom-like
- droit d'auteur
- Flash
- FPS
- féminisme
- gastronomie
- Goldeneye
- HADOPI
- INPI
- Isabelle Vodjdani
- Java
- JOGL
- journée internationale de la femme
- Jussieu
- l'amour est aveugle
- LCR
- LGBTI
- Linux
- logiciels libres
- loppsi 2
- LRU
- manifestation
- marxisme
- Meetic
- Molehill
- NPA
- OpenGL
- P2P
- Paris
- Pastas Party
- PIPA
- retraite
- révolution
- Sarkozy
- secret story 4
- skyblog
- SOPA
- speed dating
- The Company Men
- trotskysme
- TUER
- télé-réalité
- UNEF
- URSS
- wordpress