Jump to content
Maarkreidi

Différences entre Cryengine et StarEngine

Recommended Posts

Différences entre Cryengine et StarEngine

N’en déplaise à certains, CIG reste la société de jeux vidéo la plus ouverte sur le suivi du développement de ses jeux. Pour être précis, être ouvert ne veut pas dire totalement transparent non plus mais si vous prenez la peine de vous balader sur Spectrum, vous pourrez y trouvez des fils de discussions auxquels les développeurs se joignent et  répondent dans la mesure de leurs connaissances et possibilités.

Dernièrement un joueur a demandé ce qui finalement différencie le Cryengine original choisi lors du démarrage du projet avec le Starengine qu’il est devenu depuis lors.

Voici un compte rendu des débats de ce fil de discussion. Les réponses ont été fournies par un seul développeur : Clive Johnson CIG.

Q Qu’est-ce qui change entre Cryengine et Starengine ?
Je n'ai aucune idée de ce que serait la liste complète, mais voici certaines des choses modifiées/remplacées/ajoutées qui me viennent immédiatement à l'esprit, sans ordre particulier.

  • 64 bit precision coordinate system conversion
  • 64 bit entity id conversion
  • Physics grids
  • Zone culling system
  • Game rules and game mode refactor
  • Memory manager
  • Batch workers
  • Background workers
  • Fiber support
  • Build system
  • Crash handler
  • Entity components
  • Update scheduler
  • Entity hierarchy
  • Entity aggregates
  • Object containers
  • Spawn batches
  • Serialized variables
  • Remote methods
  • Serialized metadata
  • Serialized snapshots
  • Entity lifetime policies
  • Asynchronous entity spawning
  • Asynchronous entity removal
  • Bind culling
  • Client Object Container Streaming
  • Server Object Container Streaming
  • Persistence
  • Item system
  • Vehicle system
  • Actor system
  • Network message queue
  • Datacore
  • Language support
  • Weapon system
  • Transit system
  • IFCS
  • ATC
  • Mission system
  • AI
  • Subsumption
  • GPU particles
  • Motion blur
  • Deferred renderer
  • Lighting
  • Shadow rendering
  • Volumetric rendering
  • Planetary tech
  • Weather effects
  • Clock synchronisation
  • Telemetry
  • Audio engine
  • Render to texture
  • Fluid simulation
  • Cloth simulation
  • Water/ocean rendering
  • VOIP
  • FOIP
  • DNA character customizer
  • LUA removal
  • Megamaps
  • Client crash recovery
  • UI
  • UI building blocks
  • Signed distance fields
  • Camera system
  • Animation system
  • Unification of first and third person persperspectives
  • Encryption
  • File system
  • Delta patcher
  • Star map
  • Quantum travel
  • More shaders than you could shake a stick at
  • Debug server renderer
  • Attachment system
  • Parallel network processing
  • Headless clients
  • Network entity replication
  • Atmosphere rendering
  • Melee combat
  • Cover system
  • Interaction system
  • Room system
  • Actor status
  • Diffusion
  • Entitlement system
  • Matchmaking
  • Lag compensation

Il y en a beaucoup, beaucoup d'autres. Sans parler de tous les outils, scripts, services back-end et services web nécessaires pour créer et modifier le contenu, construire les exécutables et les fichiers de ressources, déployer les serveurs, télécharger les clients et permettre au jeu de fonctionner réellement.
Toutes les choses que j'ai énumérées sont des modifications sur mesure effectuées par la CIG.

Q Utilisez-vous aussi de nouvelles choses provenant de Lumberyard ou bien un dérivé rend-il cela plus difficile ?
Le fait d'avoir autant de changements sur mesure rendrait l'intégration des changements de Lumberyard très difficile, voire impossible dans certains cas. Il faudrait évaluer soigneusement si le gain est supérieur à l'effort requis ou s'il serait plus facile/meilleur de développer notre propre solution. Pour autant que je sache, nous n'avons rien intégré de nouveau provenant de Lumberyard.

Q avec le recul, la construction d'un nouveau moteur à partir de zéro aurait-elle été la meilleure décision ? ou pour quelles raisons l'utilisation du moteur Cryengine/Lumberyard était préférable ?
R L'avantage de commencer avec un moteur existant est qu'il nous a permis de mettre en place assez rapidement un niveau de fonctionnalité de base sur lequel on peut ensuite s'appuyer. Construire un moteur à partir de zéro est une entreprise énorme et pour la plupart d'entre eux, vous avez très peu de choses à montrer en dehors de quelques démonstrations techniques de base.

Q Merci Clive. Le maillage des serveurs ne semble pas être répertorié ? Comment cela se présente-t-il ?
R Je n'ai répertorié que les travaux qui ont été achevés ou dont au moins une itération a été publiée dans un patch, c'est pourquoi le Server Meshing n'y figure pas. On y travaille, mais au-delà de cela, je ne suis pas censé en parler.

Q J'ai remarqué une ligne sur la suppression de LUA. Est-ce que cela signifie que StarEngine n'est plus que du C++ maintenant ?
R Oui, à part les shaders et le scripting des missions et le comportement de l'IA via Subsumption, tout est en C++


Ce court entretien avec Clive réponds à pas mal de questions que beaucoup se posaient et on peut espérer qu’on ne verra plus des postes stupides qui demandent à CIG d’utiliser tel ou tel nouveau moteur en imaginant qu’un tel changement accélérerait le développement de SC. Car en vérité si un changement de moteur devait effectuer, CIG serait contraint de recommencer toutes ces modifications encore une fois pour accommoder le moteur aux besoin de Starcitizen/SQ42.

Certains tiquent encore sur le choix du Cryengine à l’époque mais c’était le moteur le plus avancé à ce moment et il fallait pouvoir rapidement construire une Démo à présenter pour la campagne kickstarter. Et honnêtement, qui d’entre nous aurait financé un projet de jeu vidéo sans une jolie démo ? Même si on s’appelle Chris Roberts une telle entreprise aurait été vouée à l’échec.

Evolution du moteur dans le temps  :

  • 2011 - Une démonstration de Star Citizen est créée sur la base de Cryengine 3.7 comme le sera le jeu 
  • 2012-2015 - CIG réécrit tellement de Cryengine (avec l'aide de quelques personnes qui ont travaillé sur Cryengine lui-même) qu'ils l'appellent en interne Star Engine.
  • 2015 - Amazon achète les droits de Crytek (qui semble avoir une portée globale pour ~50 millions de dollars) pour utiliser Cyrengine et le rebaptiser comme leur propre moteur, Lumberyard.
  • 2015 ( plus tard ) - Amazon et CIG cessent de prendre les nouvelles itérations du Cryengine de Crytek.
  • 2016 - CIG commence à afficher le logo de Lumberyard au lieu de Cryengine et annonce qu'ils sont passés à Lumberyard.

 

Source :  Spectrum

Trad @Maarkreidi Swissstarships.org

Share this post


Link to post
Share on other sites

×
×
  • Créer...