« 1 ... 6 7 8 (9)


Re: hARMful engine
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2524
Hey ! J'ai effectivement commencé à regarder Rust et à voir ce qu'il y a en graphisme 2D. Je regarderai ce qu'offre Piston qui semble être un moteur assez complet (ou un ensemble de lib, je sais plus trop avec le vocabulaire propre à Rust...).
Par contre, c'est un langage assez complexe et avec pas mal de choses qui lui sont propres. J'ai lu que la moitié du livre pour l'instant (chapitre 10/20), sans avoir encore pu aborder le plus gros (programmation fonctionnelle et orientée objet). C'est un langage très intéressant, par exemple il permet de stocker des données de différents types dans des listes. J'avais jamais vu ça dans d'autres langages ! Après je m'y retrouve avec le C++ avec lequel je vois des concepts proches.

Bref, j'ai commencé à développer un embryon d'architecture ECS mais en C++. L'apprentissage de Rust est un peu trop long, j'y vais en douceur. Et en plus, si finalement je mets ça dans du C++, ça évitera de tout recoder.

Cette refonte me permet de passer directement sur du C++17, voire commencer à intégrer du C++20 tel que les "concepts" qui servent de contraintes sur les classes/fonctions génériques.
Le code est donc un peu mieux foutu avec des améliorations sur la sécurité. J'utilisais déjà des pointeurs dits intelligents mais le code et la technique s'améliorent encore car c'est prévu dès le début. Au final, il pourrait très bien être écrit en Rust comme en C++.

C'est clair que ça va changer pas mal de choses sur l'architecture, et si les performances suivent ça ne sera que mieux. L'ECS me permet en plus quelque chose qui était impossible jusque là : la communication via des événements ! Et ça manquait cruellement, même si je dois encore creuser le sujet vu qu'il reste des inconnues.

Un autre point, c'est OpenGL. Avec cette nouvelle architecture, il me sera possible profiter du multithreading et de l'utiliser à fond. Et comme j'ai déjà appris pas mal de choses en OpenGL, je me dis que la transition vers Vulkan devrait être plus facile.
L'autre avantage de Vulkan, c'est qu'avec une seule API on peut aller sur plusieurs plateformes (au lieu de OpenGL + OpenGL ES). Avec ce moteur, je voulais m'orienter surtout vers de l'embarqué (et principalement le Raspberry Pi). Vulkan pourrait me permettre d'unifier le moteur sur desktop et autres plateformes, et peut-être même le web assembly plus tard. Mozilla a proposé une API pour le web basée sur Vulkan : https://www.developpez.com/actu/125712/Mozilla-propose-au-groupe-Khronos-une-nouvelle-API-graphique-pour-le-Web-Obsidian-est-basee-sur-Vulkan/

Bon, pour l'instant je vais me contenter de finir mon POC purement C++, à voir ensuite.

Contribution le : 06/07 16:58:20
_________________
Venez tester notre projet de Blender Clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: hARMful engine
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2524
J'ai continué à faire des recherches sur le développement d'une architecture ECS. C'est un changement de paradigme, au-delà de la programmation orientée objet, c'est ce qu'on appelle du "Data-Driven Programming" (ou programmation orientée donnée).

Je ne connais pas du tout ce paradigme, j'avoue être particulièrement enthousiaste à l'idée de découvrir une nouvelle façon de programmer. Mais avant de me lancer dedans, il faut voir comment ça se goupille...

J'ai vu le moteur de jeu 2D/3D Amethyst écrit en Rust.
https://amethyst.rs/

Comme j'appends ce langage, c'est encore mieux que Piston dont je parlais dans le post précédent. Ici, ça me permettra d'utiliser Rust et l'architecture ECS, tout en faisant un petit jeu (ce dont j'avais aussi envie) ! Bref, c'est ce qui s'appelle joindre l'utile à l'agréable en faisant d'une pierre trois coups.

Le fait d'utiliser un moteur basé sur la mécanique ECS pure me permettra de répondre à des questions sur le fonctionnement pour lesquelles je ne trouve pas de réponse sur internet. Dans la doc de Amethyst que j'ai très rapidement parcourue, j'ai vu des choses très très intéressantes encore. Ce sera probablement une grande source d'inspiration !!

J'ai une idée de jeu (plateformer 2D). En fait, je pense faire un jeu comme GrotteRaider que j'avais déjà réalisé avec un pote. J'aimais beaucoup ce jeu mais il était codé à l'arrache et le gameplay trop limité.
https://www.youtube.com/watch?v=e9O3BfUpXQU

Cet après-midi je veis esquisser un peu de gameplay avant d'installer Amethyst. Je vous tiendrai au courant du développement (dans un topic à part bien sûr).

Pour conclure, le projet hARMful va être mis entre parenthèse au moins pendant les deux mois d'été. Il n'est pas abandonné du tout, mais j'ai besoin d'en apprendre plus sur cet ECS et pour ça, il me faut pratiquer avec un moteur existant avant de reproduire.
En sus, j'en ai un peu marre de faire que du rendu. Développer un jeu c'est quand même plus drôle.

Contribution le : 10/07 13:51:14
_________________
Venez tester notre projet de Blender Clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: hARMful engine
OverdOzed
Inscrit:
19/07/2011 20:39
De Corsica !
Post(s): 1214
Rien de mieux que de s’immerger quelques temps dans la techno pour bien la comprendre
Fiou j'ai regardé Amethyst rapidement (juste un mec qui testait pour la première fois) pour voir le workflow et en fait si je dis pas de bêtises il n'y a pas de GUI ! Du coup c'est code pur à donf et commandes dans la console (pour les vrais de vrai )

Je me demande si tu va devoir intégrer ton propre moteur physique, quoi que j'imagine qu'ils ont fait des librairies pour ça. En tout cas je vais guetter le sujet !

Bonne continuation ++

Contribution le : 10/07 22:05:04
_________________
Venez tester notre projet de Blender clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: hARMful engine
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2524
Oui, c'est un moteur qui se code à la mano.

Les lignes de commandes sont très limitées en Rust. Cargo est une boîte à outils pour le langage Rust qui fait le café : il télécharge les dépendances, compile, exécute... le tout avec une simple ligne de commande. Du coup, t'as qu'à taper "cargo run" et il fait tout avant de lancer ton programme.
Il sert aussi à préconfigurer un nouveau projet !

Pour le moteur physique, je ne sais pas encore mais je n'en ai pas vu dans Amethyst. Je pensais à quelque chose d'assez basique, j'ai déjà eu l'occasion de coder celui de GrotteRaider et ça marchait plutôt bien !

Il y a aussi un éditeur graphique encore à l'état expérimental. Peut-être que ça viendra dans quelques années !

Merci !

Contribution le : 11/07 12:59:48
_________________
Venez tester notre projet de Blender Clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 ... 6 7 8 (9)




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Moteur de jeu GameBlender et alternatives [non résolu] Cs (heliport, telecom, dunes)    [1][2][3]...[47] 463 139712 Aujourd'hui 02:09:14
sbkodama 
Le coin des geeks gain de fluidité viewport entre ryzen 3900X et 3950X    [1][2][3] 20 403 Aujourd'hui 00:37:23
papillon 
[WIP] et travaux terminés [WIP] Teeny Tiny - Story    [1][2][3]...[10] 97 7284 Hier 23:56:34
meltingman 
[WIP] et travaux terminés [WIP] Kanata et personnage secret coucours Blender 3D France    [1][2][3] 21 185 Hier 23:54:02
meltingman 
Questions & Réponses [non résolu] Simulation Tissu Temps Reel 3 39 Hier 22:36:51
meltingman 
Le coin des geeks Ralentissement du chargement de Blender 8 147 Hier 17:43:54
Rimpotche 
Questions & Réponses Boids, boids, boids...    [1][2] 15 205 Hier 17:42:12
Rimpotche 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Nouvelle mise à jour Steam    [1][2][3]...[63] 622 104317 Hier 06:04:14
timeman13 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[12] 116 7668 19/09 14:26:23
meltingman 
Questions & Réponses les cheveux le scale    [1][2] 11 84 19/09 13:39:48
Rimpotche 
Questions & Réponses Problème de brouillard. 8 248 19/09 11:33:19
Farber 
The Blender Clan 'tchat Les Timelapses de Stev 2 704 19/09 07:37:12
stev 
Questions & Réponses [WIP] Cours Blender 2.9 une proposition de liste 6 375 19/09 01:29:48
meltingman 
[WIP] et travaux terminés [terminé] Blender 2.9 Tracking Camera - Tutoriel en Français 2 83 18/09 19:48:43
meltingman 
The Blender Clan 'tchat Benchmark EEVEE    [1][2] 19 572 17/09 20:08:01
JaAlVir657 
Questions & Réponses application de texture à taille réelle sur objets 3D simples 4 144 17/09 12:52:58
jc223 
Questions & Réponses Anomalies visuelles lors d'un export vidéo 4 115 17/09 10:37:47
Bibi09 
[WIP] et travaux terminés [WIP] Court métrage de sauvegarde des tortues marines 3 180 15/09 23:31:29
meltingman 
Questions & Réponses Médaille club de karate 3 181 15/09 15:25:10
meltingman 
Questions & Réponses Dimininuer la déformation avec une texture transparente (Cycles) 3 211 15/09 09:32:10
Gabdng 

Qui est en ligne
155 utilisateur(s) en ligne (dont 123 sur Forums)

Membre(s): 4
Invité(s): 151


BrookSanto, SherylGamb, BelindaCon, RobbyFoutc, plus...
Nouveaux membres
CyrilTinli 21/9/2020
Pearlene55 21/9/2020
MarquisEic 21/9/2020
IAISteffen 21/9/2020
MarisaMull 21/9/2020
MartinaPhi 21/9/2020
MellissaBu 21/9/2020
ArletteTro 21/9/2020
RachelleKe 21/9/2020
LesAlderso 21/9/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 9
BUG de Lyon
plus 264 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445