Intrinsic
Un nouveau moteur de jeux vidéo open source basé sur Vulkan

Le , par LittleWhite

0PARTAGES

9  0 
Intrinsic est un moteur de jeux vidéo basé sur Vulkan. Le projet a été initié par un développeur allemand Benjamin Glatzel et n'en est qu'à ses balbutiements, mais donne déjà un résultat prometteur.


Le moteur est totalement open source (licence GPL v3) et le code est hébergé sur GitHub.
Le moteur supporte les scripts grâce à LUA et est disponible avec un éditeur. Pour l'importation des ressources, le format FBX est supporté. Pour rentrer encore plus dans la technique, Intrinsic est programmé en C et C++. L'architecture est pensée pour utiliser les performances multicoeurs des CPU.
Du côté du rendu, le moteur supporte le Physically Based Rendering (PBR) ainsi que les lumières volumétriques. Finalement, le travail de Benjamin est compilable sous Windows (VS2015) et Ubuntu 16.04.


Ce travail n'aurait pas pu voir le jour sans les bibliothèques suivantes :


Votre opinion

Que pensez-vous du moteur et du code ?
Quelle utilité voyez-vous en ce moteur ?

Pour aller plus loin

Voir les ressources Developpez.com sur Vulkan.
Voir les ressources Developpez.com sur la SDL 2.

Source

Site officiel

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 27/10/2016 à 7:07
Mais tu peux le faire sans être vulgaire. Être ferme est convaincu ne nécessite pas d'être insultant. Si on te met un coup de poing dans la gueule en te disant "je ne fais qu’échanger", je suis pas sûr que tu le prennes bien.

Ton post original étant très critique, une critique constructive proposerait des améliorations. Et participer au projet est justement le meilleur moyen pour que ces améliorations soient prises en compte. Son post te suggère juste poliment d'aller jusqu'au bout de ta critique en montrant que ce n'est pas juste du venin craché à chaud sans réelle réflexion.

Si être faux-cul nécessite d'être poli, ce n'est pas parce qu'on est poli qu'on est faux-cul.
7  1 
Avatar de yetimothee
Membre averti https://www.developpez.com
Le 25/10/2016 à 13:42
Je laisse l'aimable lecteur juger de la pertinence et de la clarté du code source écrit par ce frénétique :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once

namespace Intrinsic
{
namespace Core
{
struct Application
{
  static _INTR_HASH_MAP(Name,
                        Intrinsic::Core::Dod::Components::ComponentManagerEntry)
      _componentManagerMapping;
  static _INTR_HASH_MAP(Name,
                        Intrinsic::Core::Dod::Resources::ResourceManagerEntry)
      _resourceManagerMapping;

  static _INTR_HASH_MAP(Name, Intrinsic::Core::Dod::PropertyCompilerEntry)
      _componentPropertyCompilerMapping;
  static _INTR_HASH_MAP(Name, Intrinsic::Core::Dod::PropertyCompilerEntry)
      _resourcePropertyCompilerMapping;

  static _INTR_ARRAY(Intrinsic::Core::Dod::Components::ComponentManagerEntry)
      _orderedComponentManagers;

  static void init(void* p_PlatformHandle, void* p_PlatformWindow);
  static void initEventSystem();
  static void shutdown();

  static enki::TaskScheduler _scheduler;
  static bool _running;

private:
  static void initManagers();
};
}
}
Hônnètement, un projet comme ça où y a pas le moindre commentaire de doc, où le C++ utilisé est digne d'un C++ 2003 écrit par un dev C, avec des macros d'inlining partout (obsession pour les perfs spotted), aucun tests unitaires (ou pas de location définie, oùkyson ?), 17 commits pour je ne sais pas combien de lignes de code (quelque chose comme 1 000 000 en comptant les dépendances intégrés dans le repo ???? ?)...

Pour moi le type qui écrit ça a clairement pas le niveau pour mener à bien son projet. Pour l'instant c'est un prototype, et un prototype vraiment fait à l'arrache. Reste à voir si ça sera refactorer pour donner quelque chose de propre ensuite.

Bref, utiliser cette chose pour un projet pro ça me semble risqué. Grand bien fasse à ceux qui voudraient se lancer dans l'aventure...
5  1 
Avatar de Squisqui
En attente de confirmation mail https://www.developpez.com
Le 26/10/2016 à 16:09
Citation Envoyé par yetimothee Voir le message
Je laisse l'aimable lecteur juger de la pertinence et de la clarté du code source écrit par ce frénétique :

[...]

Hônnètement, un projet comme ça où y a pas le moindre commentaire de doc, où le C++ utilisé est digne d'un C++ 2003 écrit par un dev C, avec des macros d'inlining partout (obsession pour les perfs spotted), aucun tests unitaires (ou pas de location définie, oùkyson ?), 17 commits pour je ne sais pas combien de lignes de code (quelque chose comme 1 000 000 en comptant les dépendances intégrés dans le repo ???? ?)...

Pour moi le type qui écrit ça a clairement pas le niveau pour mener à bien son projet. Pour l'instant c'est un prototype, et un prototype vraiment fait à l'arrache. Reste à voir si ça sera refactorer pour donner quelque chose de propre ensuite.

Bref, utiliser cette chose pour un projet pro ça me semble risqué. Grand bien fasse à ceux qui voudraient se lancer dans l'aventure...
Si le projet t’intéresse, n’hésites surtout pas à contribuer pour y remédier.
4  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 26/10/2016 à 8:09
Citation Envoyé par Traroth2 Voir le message
La GPL n'est pas une licence adaptée aux librairies si on veut qu'elles soient libres. La LGPL est la licence préconisée par la FSF pour ça.
Je ne sais pas d'où tu sors ça, mais quand je vais voir sur le site de la FSF, en général ça ramène au site GNU, qui lui est clair à ce sujet : la LGPL, c'est une exception, mieux vaut utiliser la GPL.
3  0 
Avatar de Bousk
Rédacteur/Modérateur https://www.developpez.com
Le 27/10/2016 à 9:54
Citation Envoyé par yetimothee Voir le message
Hônnètement, un projet comme ça où y a pas le moindre commentaire de doc, où le C++ utilisé est digne d'un C++ 2003 écrit par un dev C, avec des macros d'inlining partout (obsession pour les perfs spotted), aucun tests unitaires (ou pas de location définie, oùkyson ?), 17 commits pour je ne sais pas combien de lignes de code (quelque chose comme 1 000 000 en comptant les dépendances intégrés dans le repo ???? ?)...

Pour moi le type qui écrit ça a clairement pas le niveau pour mener à bien son projet. Pour l'instant c'est un prototype, et un prototype vraiment fait à l'arrache. Reste à voir si ça sera refactorer pour donner quelque chose de propre ensuite.

Bref, utiliser cette chose pour un projet pro ça me semble risqué. Grand bien fasse à ceux qui voudraient se lancer dans l'aventure...
Il s'agit d'un moteur donc oui les perfs sont primordiales.
Il peut très bien avoir utilisé un autre système de versioning auparavant et avoir ensuite tout transféré sur github avec un seul "first commit".
Je ne vois absolument pas ce que tu peux reprocher à ces seules lignes que tu montres : une structure de static pour contenir les paramètres de l'application, jusque là rien de choquant.
Les commentaires c'est gentil, mais écrire du bon code compréhensible c'est mieux. Les commentaires ont toujours été rare partout où je suis passé, juste de l'explication globale, très rarement technique pour démystifier un "appel magique" si y'en a.
Les tests unitaires c'est longs à écrire, encore plus à maintenir, autant se focaliser sur le projet. Et il est bien plus malin d'avoir des bots pour tester le jeu que des tests unitaires et tout le temps perdu à les écrire puis changer quand (fatalement) on change une fonctionnalité du jeu, ou en refacto une autre.
Bien sûr qu'il serait stupide de vouloir baser un projet pro sur ce truc, mais c'est l'intelligence du pro que je questionnerais à ce sujet.
3  0 
Avatar de derderder
Membre averti https://www.developpez.com
Le 25/10/2016 à 10:47
Citation Envoyé par Matthieu Vergne Voir le message
Ça, ça sent le gars qui a choisit sa licence au doigt mouillé. {'^_^}
Non, ça sent le gars qui veut se faire de l'argent en vendant la license non-GPL, comme le fait Ghostscript par exemple.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 25/10/2016 à 8:04
Citation Envoyé par Max Lothaire Voir le message
Étant donné que la licence est la GPL, est-ce que les jeux basés sur ce moteur seront soumis au copyleft ?
A priori oui, vu que tu es censé utiliser ce projet comme une lib (ton jeu ne peux pas fonctionner sans le moteur). S'il avait utilisé la LGPL, tu aurais pu choisir ta licence à condition de faire tout un mic-mac pour permettre à l'utilisateur de changer de lib (i.e. chargement dynamique et consort). Mais si c'est GPL, la question ne se pose normalement pas : GPL => GPL only. C'est son but après tout.
1  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 25/10/2016 à 9:20
Citation Envoyé par LittleWhite Voir le message
Après, sur le site officiel, c'est marqué que l'on peut contacter le développeur pour obtenir une licence du moteur qui ne sera pas sous GPL.
Ça, ça sent le gars qui a choisit sa licence au doigt mouillé. {'^_^}
1  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 26/10/2016 à 14:51
Citation Envoyé par Matthieu Vergne Voir le message
Ça, ça sent le gars qui a choisit sa licence au doigt mouillé. {'^_^}
Citation Envoyé par derderder Voir le message
Non, ça sent le gars qui veut se faire de l'argent en vendant la license non-GPL, comme le fait Ghostscript par exemple.
Citation Envoyé par Traroth2 Voir le message
Non, ça sent le modèle économique freemium.
Citation Envoyé par gb_68 Voir le message
Visiblement oui ; le projet vient de passer sous licence Apache 2.0.
Vous en faites pas, je vous en veux pas.
1  0 
Avatar de math_lab
Membre éprouvé https://www.developpez.com
Le 23/11/2016 à 11:09
Bah moi ce que je vois c'est bien du 'physically based shading' (d’après les shaders, j'ai pas regardé si ses rendus sont gamma-corrects).
1  0 
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -

Partenaire : Hébergement Web