Aller au contenu | Aller au menu | Fil des billets

Un peu de code

Aujourd'hui, je vais vous parler rapidement d'une classe (pas au sens rpg) très importante est de sa descendance, la classe Actor.

Un Actor est une représentation physique et graphique d'un élément intéractif du jeu. Cet élément peut être déplacé, animé mais il n'a pas d'IA et ne peut pas intérargir par lui-même. Ce peut être un fruit ou une chaise par exemple. La classe Creature représente un Actor amélioré. Elle possède une IA et peut interragir avec des Actor ou d'autre Creature.

Quelques exemples de classes Creature: Wilddog : Une Creature quadrupède de type canidae dont dérive de nombreux types de Creature (Wardog, Wolf, Fox, etc...). Werewolf : Une Creature bipède. Humanoid : La classe Humanoid est une classe particulière dans le sens où c'est la seule qui dispose de nombreuses possibilités de customisations visuelles, comme tout bon rpg qui se respecte. Là encore, de nombreuses classes dérivent de la classe Humanoid: Knight, Mugger, Noble, Vendor, Villager, Sorcerer, etc... La classe Sorcerer est une classe un peu à part dans TOE, mais j'y reviendrai plus tard. Contrairement à ce qu'on pourrait croire, la classe Player ne dérive pas de la classe Humanoid. Elle encapsule la class Creature. Dans TOE, le joueur est obligatoirement une Creature, mais pas nécessairement Humanoid. Le joueur peut incarner un chat, un oiseaux ou un lapin. La seule condition est que le module le permette, ce qui n'est pas le cas du mode "Story".

Tout comme dans Skyrim, il n'y a pas de classe de personnage. Seulement des Perk et des Spell. Les attributs de la créature qu'incarne le joueur (force, dextérité, constitution, etc...) sont déterminés librement à sa création et évoluent en fonction de ses actions et de ses choix. Les perks et sorts s'acquièrent avec l'expérience, en lisant des manuels ou auprès de maîtres et même en affrontant des ennemis.

Les combats se déroulent à l'ancienne. Il faut comprendre par là qu'ils ne sont pas dynamiques comme dans les jeux d'actions et les rpg "modernes". Il faut faire face à un acteur (du moins dans la majorité des cas), puis le sélectionner. Ensuite, ce sont les jets de dés et le rapport des caractéristiques des protagonistes qui déterminent si vous touchez votre cible ou pas (comme dans World of Warcraft). Aucun skill particulier n'est nécessaire pour le joueur, TOE n'est pas un jeu d'arcade. On enchaine les techniques selon le bon sens pour en maximiser les effets tout en choisissant judicieusement les cibles et le combat est plié. Bon, encore faut-il avoir la composition de groupe, le niveau et l'équipement suffisant. Et après, y a plus qu'à ramasser le loot!

Mecanim

Je suis passé récemment à Unity 4. Je ne sais pas encore si c'était vraiment judicieux, mais il sera difficile de faire marche arrière maintenant. Le principal problème que je rencontre actuellement concerne le Mecanim. Bien qu'il permette de simplifier une bonne partie de la gestion des animations et permette, dans une certaine mesure, de "retargetter" des animations, il possède un gros défaut qui, je l'espère, sera vite corrigé. Il est actuellement impossible d'y ajouter dynamiquement de nouveaux états ainsi que de nouvelles animations. Ce qui va complètement à l'opposé de ce que je souhaite faire pour TOE. Il semble qu'Unity prévoit "d'ouvrir" un peu cette grosse boite noire dans une version ultérieure. Reste à savoir quand. Bien sûr, il me reste la possibilité d'utiliser le mode legacy (comme dans Unity 3.5) mais ça serait dommage pour les quelques bonnes idées apportées par Mecanim.

Tales of Eresia

RPGXXX devient TOE (Tales of Eresia). C'est toujours un nom de code, mais le triple XXX n'était certainement pas la dénomination la plus appropriée pour le nom de code d'un RPG. TOE donc, sera un RPG à la croisée des chemins entre World of Warcraft, Baldur's Gate et Skyrim. Un peu ambitieux me direz-vous ? Sans doute. Mais TOE est avant tout un projet pour me détendre, me faire plaisir. Bien que je n'ai que très peu de temps à lui consacrer (surtout en ce moment), je ne souhaite pas créer un jeu au rabais. Il sera sans aucun doute moins vaste, moins riche, moins beau que ses modèles. Mais peu importe, l'important est ailleurs.

L'un de mes principaux objectifs est de pouvoir proposer un jeu complètement "modable". Dès mes premières réflexions sur la structure du moteur, j'avais déjà cette idée en tête. C'est pourquoi j'ai décidé de proposer deux modes de jeu. Le premier, le mode "Story", sera fermé. Fermé dans le sens où aucun mod ne sera autorisé et le choix de personnage principal qu'incarnera le joueur sera bloqué. Le scénario impose un personnage d'une certaine race et d'un certain genre. Étrange pour un RPG. Peu importe. Ce mode de jeu suivra le scénario sur lequel je travaille depuis si longtemps. Le deuxième mode, le mode "Sandbox" sera complètement ouvert. Le monde, les pnj et les quêtes secondaires du mode "Story" seront disponible dans un package servant d'exemple. D'autres packages pourront être installés pour proposer un monde complètement nouveau avec ses propres créatures, personnages et quêtes. D'autres mods pourront simplement se contenter d'ajouter de nouvelles quêtes, armes, ou autres équipements à d'autres packages. Tout ou presque peut être modifiés dans TOE. Les modèles, animations, quêtes, dialogues, interactions, items, sorts, perks, etc... Je fournirai un éditeur basique pour créer et modifier la plus part des ressources du jeu. Mais pour faire un mod complet, il faudra posséder Unity (la version free devrait suffire).

Galleries

I've just added the first gallery (link is on the right sidebar just under the slideshow). Only one gallery is available for now and with just a few screenshots from RPGXXX. Like all the blog the gallery is still wip.

What is RPGXXX ?

A slideshow composed of a few screenshots has appeared to illustrate a bit this blog. Although a bit old, they should give you a better idea of the RPGXXX's style. You have probably noticed that it is heavily inspired by World of Warcraft though it's a solo RPG. World of Warcraft has held for four years a special place in my gamer's life. One of the qualities that I liked the most in this game is the "smoothness" of its controls. It is difficult to describe and therefore to reproduce. I have also never found these feelings in any other MMORPG. The quality of the animations of the characters that populate this game and thus, your avatar, certainly contributes greatly to this feelings. Too bad, I have no talent in this area. Other sources of inspiration come from Baldur's Gate, for relations with and between the characters that follow you during your adventure and from Skyrim for the technical part (radiant quest system, and dialog system). But I will go more into detail on these topics on another occasion.

My new toy, Unity

From the very beginning, I code in C++ and Lua for game code or assembler then HLSL and Cg for graphics. However, I discovered C# about 4 years ago by fiddling with a famous game from Maxis. Very pleasant to use, elegant and effective enough to manage the gameplay of a video game. When I started the RPGXXX project, I was naturally using my usual tools and methods. But I quickly realized that I could not develop a project of this scale alone in this way. Then, I've looked for a free tool allowing me to quickly create a prototype. I knew Unity for some time, but early versions were not convincing. However, during my search that name came out numerous times in the links spewed by google. So I decided to give him a second chance. And now, I'm tinkering with this tool for almost two years. A bit buggy but very comprehensive, Unity provides a good platform to develop quickly, not only a prototype, but a full game. Today, many confirmed dev studios do not hesitate to use this tool to develop their games like InXile, Red Thread Games or Amplitude Studios and I almost forgot Richard Garriott with his new adventure of the Avatar Shroud of the Avatar.

For two years now, I write Unity scripts with C# and try to bring my project to life.

Welcome

Welcome on this blog. Here I will talk about video games and especially video game development.

I'm working in video game industry since 1999 mostly as graphics programmer and lead programmer. After all this time, working for other's projects, I wanted to use my technical skills to express my creative skills.

RPGXXX. This is the codename of the project I'm working on for more than a year now. I don't know where this project will lead me, but I have lot of fun working on it and that's what matter to me.

To be continued.

Catégories