Unamed rebirth

Endive, parce que tout le monde aime ça (humour)

a marqué ce sujet comme résolu.

Reprise du dernier message de la page précédente

Attend mais si tu refais ton jeu en "std::cout << "C++" << std::endl" comme tu dis, pourquoi aurait on besoin de Python ?

124813612512481361251248136125124813612512481371251249137125124913712512491371361249137136124913

+4 -0

Ardakaniz n'a pas tord, Nazara est beaucoup plus intéressant (je trouve) que la SFML du fait de son ECS et de tout un tas d'autres trucs. Son binding lua, bien qu'incomplet à ce jour (mais en cours, vivement la 0.2 !) reste très efficace pour du scripting et une bonne modularité, aussi, n'hésite pas à passer à NazaraEngine, j'ai fait le premier pas (je viens aussi de la SFML) et je peux te dire que je ne regrette pas !

"I do not know but I do wanna know"

+2 -2
Auteur du sujet

Ardakaniz n'a pas tord, Nazara est beaucoup plus intéressant (je trouve) que la SFML du fait de son ECS et de tout un tas d'autres trucs. Son binding lua, bien qu'incomplet à ce jour (mais en cours, vivement la 0.2 !) reste très efficace pour du scripting et une bonne modularité, aussi, n'hésite pas à passer à NazaraEngine, j'ai fait le premier pas (je viens aussi de la SFML) et je peux te dire que je ne regrette pas !

jejeleterrible58

je sais bien, tout le monde me dit que Nazara serait bien plus intéressant, mais je suis dans mes petites habitudes avec la sfml (grace au binding python entre autre) et pis je pense essayer nazara, mais pas avec Unamed :) (faut d'abord que je finisse ce projet x))

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+0 -0

C'est rapide de faire ses premiers pas en Lua, surtout quand tu connais déjà la programmation. Le langage est assez facile à utiliser, par contre pour faire la POO faut bidouiller un peu. Mais c'est un langage très utilisé dans le scripting, donc ça peut valoir le coup d'essayer par rapport à Python. ^^

+1 -0

Il me semble même que Blizzard a utilisé Lua pour World of Warcraft.

Donc je pense que ça doit être un bon langage pour le scripting. ;)

Edit : Et puis c'est vrai que j'ai vu pas mal de jeux qui l'on aussi utilisé.

Édité par FougereBle

Ku Wenja warhata? U miha Wenja warha!

+1 -0

Par contre pour faire la POO faut bidouiller un peu.

Smokiev

C'est là que Nazara et son binding intervient ! Par exemple celui du module NazaraCore. Ça peut paraître compliqué, mais généralement, y'a pas plus d'une ligne pour bind une fonction membre :

1
2
3
Nz::LuaClass<A> a{ "A" };
a.BindMethod("PrintTwice", &A::PrintTwice); // En imaginant le contenu de la fonction 
a.Register(luaInstance);
1
2
a = A() 
a:PrintTwice("Nazara <3")

Et voilà ;)

Édité par Δrdakaniz

Je plussoie sur le fait que Lua est génial à intégrer et extrêmement modulable. J'avais commencé pourtant à essayer de faire un scripting avec Python comme toi mais les bindings ne sont pas aussi propres ni bien maintenus je trouve. Je suis passé au Lua et je regrette pas. Ceci dit Python a déjà fait ses preuves dans le scripting de jeux, à toi de voir.

Édité par Mizugola

+4 -0
Auteur du sujet

Si t'utiliserais Lua, t'aurais aucun problème, en plus ça tombe bien, Nazara en a un binding super utile ! ;)

#NazaraFanBoy

Ardakaniz

x) meeh euh vive Python d'abord :-°

Cithoran

vous pouvez expliquer ces votes :) ? au lieu de juste dire "vive lua"

Ardakaniz n'a pas tord, Nazara est beaucoup plus intéressant (je trouve) que la SFML du fait de son ECS et de tout un tas d'autres trucs. Son binding lua, bien qu'incomplet à ce jour (mais en cours, vivement la 0.2 !) reste très efficace pour du scripting et une bonne modularité, aussi, n'hésite pas à passer à NazaraEngine, j'ai fait le premier pas (je viens aussi de la SFML) et je peux te dire que je ne regrette pas !

jejeleterrible58

après ca reste un choix si je suis sur la sfml. j'ai déjà eu à changer de lib en cours de projet, c'est plus galère que bénéfique, parce que déjà on ne maitrise pas la lib !

C'est rapide de faire ses premiers pas en Lua, surtout quand tu connais déjà la programmation. Le langage est assez facile à utiliser, par contre pour faire la POO faut bidouiller un peu. Mais c'est un langage très utilisé dans le scripting, donc ça peut valoir le coup d'essayer par rapport à Python. ^^

Smokiev

Il me semble même que Blizzard a utilisé Lua pour World of Warcraft.

Donc je pense que ça doit être un bon langage pour le scripting. ;)

Edit : Et puis c'est vrai que j'ai vu pas mal de jeux qui l'on aussi utilisé.

FougereBle

donc, comme blizzard utilise lua pour wow, et que le lua en général est très utilisé, je devrais obligatoirement l'utiliser moi aussi :-° ? i don't see any logic here. hormis le fait que, comme tu l'as dit @smokiev, que c'est simple à apprendre tout ça, mais python je connais déjà, le binding est simple, et puissant (à sa manière soit). et je sais que je peux faire bien plus de choses en python qu'en lua (genre de l'héritage multiple, metaclass, decorateur, … et plein d'autres tricks très chelou mais géniaux, genre de la réouverture de class :-° sans vraiment les réouvrir x))

Lua is a powerful, efficient, lightweight, embeddable scripting language.

Depuis le site officiel de Lua. Il est prévu pour être intégré dans des applications en C ou C++ à la base.

Escargot à Moustache

donc … ?

This document describes how to write modules in C or C++ to extend the Python interpreter with new modules. Those modules can not only define new functions but also new object types and their methods. The document also describes how to embed the Python interpreter in another application, for use as an extension language. Finally, it shows how to compile and link extension modules so that they can be loaded dynamically (at run time) into the interpreter, if the underlying operating system supports this feature.

Python doc

concrètement python a été conçu de telle sorte que l'on puisse aussi s'en servir pour scripter dans un projet. certes à la base il a pas été vu comme ça, plus comme un langage à part entière. et c'est ce qui lui fait sa grande force imo

Par contre pour faire la POO faut bidouiller un peu.

Smokiev

C'est là que Nazara et son binding intervient ! Par exemple celui du module NazaraCore. Ça peut paraître compliqué, mais généralement, y'a pas plus d'une ligne pour bind une fonction membre :

1
2
3
Nz::LuaClass<A> a{ "A" };
a.BindMethod("PrintTwice", &A::PrintTwice); // En imaginant le contenu de la fonction 
a.Register(luaInstance);
1
2
a = A() 
a:PrintTwice("Nazara <3")

Et voilà ;)

Ardakaniz

c'est très fortement possible que je puisse faire de même en python ;) j'ai juste à me faire un ch'tiot wrapper autour de PyTypeObject du binding python et je peux meme faire plus puissant

en résumé, j'ai choisi python parce que je le connais bien, que le binding m'a plus, que je suis pas le seul à faire de même aussi

http://www.gamasutra.com/view/feature/131372/gdc_2002_game_scripting_in_python.php

ewi, c'est qu'un choix technique


j'aimerai pouvoir comprendre pourquoi, un jour au moins, quand je râle pas (ici j'ai juste informé urio que j'utilisais python pour scripter), tout le monde vient me donner des conseils, comme si en fait je venais de dire "olala j'utilise python pour scripter, c'est nul, conseillez moi des trucs"

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+4 -0

Attention. Je ne t'es jamais dit "Blizzard a utilisé lua pour wow donc tu dois l'utiliser.".

J'ai simplement dit que si ils l'ont utilisé, c'est que c'est sans doute un bon choix.

Mais bien sûr tu fait comme tu veux. C'est ton projet après tout. ;)

Ku Wenja warhata? U miha Wenja warha!

+1 -0

J'ai simplement dit que si ils l'ont utilisé, c'est que c'est sans doute un bon choix.

Pas le même projet, pas les mêmes contraintes, pas la même ampleur.

Cithoran connait python, il a un niveau correcte mais pas exceptionnel (de mémoire), son projet a, j'imagine, aussi le but de se perfectionner en programmation et en python.

Sous ces critères, étant donné ses connaissances et objectifs, ses choix me semblent pleinement justifiées. Parce que sinon, on peut aussi lui conseiller Unity, mais pas sur que ça réponde à ce qu'il cherche, même si ça permet de créer des jeux aussi (et plus facilement que la SFML ou Nazara, qui n'est même pas utilisé par Blizzard ⸮).

Hier, dans le parc, j’ai vu une petite vieille entourée de dinosaures aviens. Je donne pas cher de sa peau.

+7 -0

Juste pour préciser : Je ne lui ai jamais conseillé d'utiliser Lua (un langage que j'ai du toucher seulement deux minutes). ;)

Simplement, comme tout le monde lui conseillais ce langage, j'ai juste ajouté une petite précision sur celui-ci (juste pour dire "C'est un bon langage de scripting").

Après, si il souhaite resté sur du Python, il en à tout à fait le droit, et si c'est ce qu'il préfère, alors je lui dit "Vas-y !". :)

Personnellement, je ne connais pas c'est deux langage, donc de toute façon je ne peut donner mon avis (si… je trouve le logo de Lua plus beaux que celui de Python, mais je doute fort que ce soit utile pour le choix final du langage ! Oups, je confond avec le logo de Love2D :D ).

En tout cas, bonne chance Cithoran pour ton projet !

J'avais suivi la précédente version en regardant toutes les vidéos, et j'ai trouvais que tu faisais un super travail. Je suivrais cette version de la même manière. :)

Édité par FougereBle

Ku Wenja warhata? U miha Wenja warha!

+1 -0
Auteur du sujet

Attention. Je ne t'es jamais dit "Blizzard a utilisé lua pour wow donc tu dois l'utiliser.".

J'ai simplement dit que si ils l'ont utilisé, c'est que c'est sans doute un bon choix.

Mais bien sûr tu fait comme tu veux. C'est ton projet après tout. ;)

FougereBle

mea culpa alors, j'ai mal interprété x)

J'ai simplement dit que si ils l'ont utilisé, c'est que c'est sans doute un bon choix.

Pas le même projet, pas les mêmes contraintes, pas la même ampleur.

Cithoran connait python, il a un niveau correcte mais pas exceptionnel (de mémoire), son projet a, j'imagine, aussi le but de se perfectionner en programmation et en python.

Sous ces critères, étant donné ses connaissances et objectifs, ses choix me semblent pleinement justifiées. Parce que sinon, on peut aussi lui conseiller Unity, mais pas sur que ça réponde à ce qu'il cherche, même si ça permet de créer des jeux aussi (et plus facilement que la SFML ou Nazara, qui n'est même pas utilisé par Blizzard ⸮).

Gabbro

exact :3 et python (ok certains ne verront pas cela comme un argument) est pas mal utilisé ici, et la communauté plus généralement est grande

après le jeu est pas voué à devenir PSDK 3.0 avec un scripting supra performant et donnant du 12K FPS (inutile d'en avoir autant au passage)

('pis de toutes façons PSDK est passé en alpha fermé, et NuriYuri gère bien mieux que moi pour ce qui est de la reprog totale du RGSS de RPGM et du scripting en ruby x) )

Juste pour préciser : Je ne lui ai jamais conseillé d'utiliser Lua (un langage que j'ai du toucher seulement deux minutes). ;)

Simplement, comme tout le monde lui conseillais ce langage, j'ai juste ajouté une petite précision sur celui-ci (juste pour dire "C'est un bon langage de scripting").

Après, si il souhaite resté sur du Python, il en à tout à fait le droit, et si c'est ce qu'il préfère, alors je lui dit "Vas-y !". :)

Personnellement, je ne connais pas c'est deux langage, donc de toute façon je ne peut donner mon avis (si… je trouve le logo de Lua plus beaux que celui de Python, mais je doute fort que ce soit utile pour le choix final du langage ! Oups, je confond avec le logo de Love2D :D ).

En tout cas, bonne chance Cithoran pour ton projet !

J'avais suivi la précédente version en regardant toutes les vidéos, et j'ai trouvais que tu faisais un super travail. Je suivrais cette version de la même manière. :)

FougereBle

la dernière partie de ton message me touche énormément, merci beaucoup !


je remarque que j'ai miss click sur "résolu" –'


des news : http://wearecoders.hostux.fr/projets/article.php?project=1&id=2

Édité par SuperFola

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+0 -0

http://chemaguerra.com/lua-vs-python/ Cet article résume bien la chose. Python est indéniablement plus complet que Lua mais il le paie au prix fort. Lua écrase littéralement Python en terme d'utilisation de RAM et vitesse. Python va aussi avoir plus tendance à "salir" le code hôte là où Lua se fera discret. Python est prévu pour être un langage à part là où Lua est vraiment fait pour être intégré :)

Édité par Mizugola

+3 -0
Auteur du sujet

http://chemaguerra.com/lua-vs-python/ Cet article résume bien la chose. Python est indéniablement plus complet que Lua mais il le paie au prix fort. Lua écrase littéralement Python en terme d'utilisation de RAM et vitesse. Python va aussi avoir plus tendance à "salir" le code hôte là où Lua se fera discret. Python est prévu pour être un langage à part là où Lua est vraiment fait pour être intégré :)

Mizugola

merci, j'avais effectivement déjà lu cet article, mais perso ce qui reste intéressant avec python, c'est la communauté immense, ses possibilités. même si c'est "lourd", je pense pas que ca soit très gênant avec l'usage qui en sera fait x)

le débat étant clos, je vous informe que le module de scripting est à environ 50% de ses capacités finales xP le plus gros qui me reste actuellement à faire avec joue avec les events (donc passage d'un event sfml à un dict python). sinon je bosse lentement sur le scéna, les ressources bougent aussi légèrement (surtout les personnages spéciaux, mais il m'en reste encore pas mal à faire)

ps: et mon versionner automatique m'indique qu'on est à la 1.0.11(464.131) xD (ca intéresse toujours quelqu'un les nombres chelou)

edit: et j'ai retrouvé mes "vieilles" bonnes perfs' (j'avais perdu ~250-400 FPS en modifiant le fonctionnement de ma statemachine, on retourne enfin à 2500 FPS sur mon pc, avec le scripting (en mode drawing seulement pour le moment, j'ai pas commencé de scripts qui jouent avec les events parce que le module permettant ça est pas fini)

Édité par SuperFola

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+0 -0
Auteur du sujet

je suis en train d'améliorer l'éditeur de map (vue en multi layering, meilleures outils (inspirés fortement de ceux de RPGMVX xD)), et donc cela peut sous entendre un début de mapping bientot :ahde:

sinon j'ai un pnj manager que je dois encore linker au scripting pour créer des pnj facilement via python, et régler quelques petits problèmes pourraves avec des images détruites (toujours avec les pnjs)

ensuite je posterai le scéna, et peut etre une démo (fonctionnelle normalement)

donc, si tout se passe bien j'aimerai tourner une video bientot, mais faudrait que j'ai un début de combat du coup je pense

vos avis ? (combats ou pas pour la prochaine démo ?)

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+2 -0
Auteur du sujet

hey what's up guys, it's chief pat.. euh cithoran here >_<

(après cette blague très très drôle passons à quelque chose de plus intéressant sans rien dire :-° )

le wiki se complète petit à petit : https://github.com/Loodoor/Unamed-Endive/wiki

le scripting aussi : https://github.com/Loodoor/Unamed-Endive/commit/ad8f8617c444f2c17c34afd58dcca379ab604695

des screenshots in game sont maintenant possible avec F5 : https://github.com/Loodoor/Unamed-Endive/commit/bfd0dc179604b4c452a4d059cdd14c1b1011101e

je commence enfin à bidouiller la map pour la placer correctement (sans devoir faire des micro hack avec des offset de map juste pour savoir où est le perso, comme dans l'ancienne version :-° ) : https://github.com/Loodoor/Unamed-Endive/commit/be29650ba152e173f77b60559928af76d683e941

un petit clean (et une update de la version au passage) : https://github.com/Loodoor/Unamed-Endive/commit/ecf7e6c829e124770cb111651769cbcb42e17aa8

Notez que j'ai déplacé les dlls dans une "release" spéciale, et qu'un micro tuto pour installer les dépendances et compiler le projet est disponible ici : https://loodoor.github.io/Unamed-Endive/compiling.html

et l'éditeur se fait peau neuve (avec un projet spécialement pour lui xP) : https://github.com/Loodoor/Unamed-Endive/commit/c90910742833d2cc944c07d5d351a78bc149c143

bref de petits changements, et une issue de corrigée : https://github.com/Loodoor/Unamed-Endive/issues/3

et sûrement bientôt une release (enfin avant faut que je taffe sur les différentes vues, le passage intermap, et peut etre le combat) !

Python is good | CV | Kafe lang (C++17) et Unamed (C++14/SFML2.4)

+0 -0

Comment ça se fait que tu perds tes globales ? Tu peux pas les réinjecter ou trouver un moyen moins laborieux qu'appeller une fonction pour chaque globale créée ? Surtout que c'est quelque chose dont on se sert au moins une dizaine de fois par script :)

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte