Salut à tous, j'ai quelques questions à poser, en rapport avec le C++ et le monde de la création de jeux en général
!
Alors :
[CPP] 1] => Pour un débutant en C++, est-ce que Allegro est à recommandé ? J'ai lu que du bien sur cette lib, mais on parle plus de la SFML ou de la SDL
!
[General] 2] => Je me suis toujours demandé comment fonctionnait les scripts. Comment en faire, les gérer, les créer, ect...
!
[CPP] 3] => Entre la référence (&) et les pointeurs (*), je ne vois pas vraiment de différence à mon niveau. Il y a une vraie spécialité avec les pointeurs (Mise à part l'allocation dynamique). Car là, pour mes fonctions, que je passe en référence ou en pointeurs, j'ai les mêmes résultat et la même vitesse
!
Et ce sera tout pour le moment
!
Cordialement
!
"[General] 2] => Je me suis toujours demandé comment fonctionnait les scripts. Comment en faire, les gérer, les créer, ect...
! "
le mot "script" peut désigner une infinité de choses. tu pourrais préciser?
"[CPP] 1] => Pour un débutant en C++, est-ce que Allegro est à recommandé ? J'ai lu que du bien sur cette lib, mais on parle plus de la SFML ou de la SDL
! "
elles doivent chacune avoir leurs avantages et leurs inconvénients, c'est ce qu'il faut vérifier... je préfère personnellement la SDL parce que les fonctions avancées de SFML ne m'intéressent pas.
+ j'ai pratiquement jamais entendu parler d'allegro. ![]()
"le mot "script" peut désigner une infinité de choses. tu pourrais préciser?
"
Je veux dire, par exemple dans les jeux, quand on est à une certaines position, il se passe tel action
!
"elles doivent chacune avoir leurs avantages et leurs inconvénients, c'est ce qu'il faut vérifier... je préfère personnellement la SDL parce que les fonctions avancées de SFML ne m'intéressent pas.
"
Oui, j'ai lu que la SDL était plus séquentiel et que la SFML était objet
!
"+ j'ai pratiquement jamais entendu parler d'allegro.
"
Moi c'est quand j'ai cherchais comment faire un jeu en C++, je suis tombé sur une youtubeuse angalaise (Oui, une programmatrice
!) qui programme avec Allegro
!
"Je veux dire, par exemple dans les jeux, quand on est à une certaines position, il se passe tel action
! "
ah, ces trucs... il y a tellement de manières de faire, pratiquement toutes sont nazes, en fait la réponse m'intéresse aussi. une liste de triggers (genre : couper telle ligne) construite à partir d'un xml, contrôlés régulièrement et reliés à des callbacks?
"Oui, j'ai lu que la SDL était plus séquentiel et que la SFML était objet
! "
oui, déja on ne peut pas utiliser la sfml quand on veut en rester au C.
ensuite, la sfml nécessite openGL pour fonctionner, donc une accéleration matérielle, sinon elle est pratiquement inutilisable. ça peut être utile de le savoir
après, je ne connais pas tous les détails, je ne l'ai utilisé qu'a quelques reprises, le temps de lui préférer SDL.
" oui, déja on ne peut pas utiliser la sfml quand on veut en rester au C.
"
Forcément, le C est procédural
!
Mais ouais, les scripts ça m'intrigue vraiment
!
ben je suppose que pour les scripts, il y a toujours moyen de bricoler de petits trucs dans son coin, adapté à ce qu'on fait et lourds, moches, lents et étriqués.
et c'est surtout que la sfml est écrite en c++, à la base... donc forcément, t'es obligé de faire pareil, ca n'a pas rapport avec le fait que le C soit "procédural". ![]()
Ha bon.
Pour moi le rapport logique était :
C => Procédural
C++ => Objets
SFML => Objets
Mais bon, pourquoi pas
!
Pour les scripts je vais chercher sur internet
!
reponse en vrac. Allegro c'est vieux, mais ca marchait super bien. Je ne sais pas si c'est toujours mis a jour ou pas. (Note: c'est un vrai "je ne sais pas")
Pour la question des scripts, je ne suis pas bien sur de quoi tu veux parler. Je suppose tu parles d'utiliser un langage externe genre javascript (ou Lua, ou autre) pour simplifier l'ecriture des niveau. Basiquement l'integration consiste a exposer les donnees de ton moteur de jeu a un langage de script. Il s'agit d'ecrire des fonctions en C qui peuvent etre appelle en javascript. Ensuite, ton moteur de jeu appelle des fonctions ecrite en javascript lors d'evenement de jeu (mort d'un personnage, creation d'un personnage, level up...).
Perso je ne l'ai jamais fait, mais ca ne m'a pas conceptuellement difficile.
"reponse en vrac. Allegro c'est vieux, mais ca marchait super bien. Je ne sais pas si c'est toujours mis a jour ou pas. (Note: c'est un vrai "je ne sais pas")"
Je ne sais pas, mais depuis ce soir je m’amuse avec
!
Ensuite pour la question des scripts, j'avais pas penser comme ça
!
Mais, comment ils font pour faire leurs effets impressionnants scripté sur un niveau entier
!
Je pense savoir comment faire, j'avais même fais un plan pour utiliser des fichiers .txt
!
Précise ta question pour les scripts. Il y à plusieurs façon de faire. World Of Warcraft par exemple utilise les scripts pour l'interface utilisateur, pour les commandes dans la console, pour le chat, a priori aussi pour scripter les boss et les events.
Comme le dit Godrik c'est toi qui expose certaines fonctions à lua, et c'est à toi de voir ce que tu vas faire en lua et ce que tu vas faire en C/C++.
L'avantage de lua, c'est d'être super flexible et plus haut niveau, également ça ne nécessite pas de compiler le projet, ce qui peut être long dans un gros projet et donc de focus sur le côté gameplay.
Tu peux tout faire en C++ si tu le souhaites, lua apporte juste cette flexibilité sympatique, ainsi que quelques fonctionnalité sympa comme les coroutines.
Si tu t'amuses avec Allegro, alors utilise Allegro, ya aucun mal à ça. C'est un peu vieux mais ça à l'air d'être mit à jour, donc utilise le ![]()
"Précise ta question pour les scripts. Il y à plusieurs façon de faire. World Of Warcraft par exemple utilise les scripts pour l'interface utilisateur, pour les commandes dans la console, pour le chat, a priori aussi pour scripter les boss et les events."
Je parle des scripts tel que Call of Duty (
) par exemple, où tu dois être à côté d'une porte pour que le script se lance et que les personnages fassent des actions
!
"Si tu t'amuses avec Allegro, alors utilise Allegro, ya aucun mal à ça. C'est un peu vieux mais ça à l'air d'être mit à jour, donc utilise le
"
Bha, je pense que c'est une bonne approche "facile" de la SDL.
Je regarde les vidéos de cette youtubeuse : http://www.youtube.com/watch?v=twCcrheACDY
Elle fait aussi des speed draw en pixel art super beau
!
Et ça améliore mon anglais
!
http://www.mti.epita.fr/blogs/2012/03/17/le-scripting-dans-les-jeux-video/
Je viens de trouver ça pour le scripting, c'est pas mal
!
Bah par exemple pour cod, il doit surement y avoir des objets invisible, et dès que le joueur rentre en collision avec ça exécute le script.
Enfin j'imagine.
Sinon la question [CPP] 3] Vous en parlez pas ?
si godrik n'a rien dit dessus, c'est qu'il n'y a probablement pas de différence.
peut-être qu'il ne faut plus utiliser de référence en c++, peut-être que c'est un truc à réserver au C, comme l'utilisation de malloc, etc. ![]()
Ça me rassure , je préfère de loin les références .Les pointeurs , c'est pas trop ma tasse de thé ![]()
je préfère les pointeurs, c'est comme de jouer à p0rtal avec tes données. ![]()
Sauf que tu ne sais pas toujours ce qui passe par tes portails
Oublie jamais d'initialiser à zéro, et de remettre à zéro quand tu détruis l'objet.
Et juste en passant, on peut faire du C avec la SFML ![]()
C'est juste pas super optimisé.
"Oublie jamais d'initialiser à zéro, et de remettre à zéro quand tu détruis l'objet. "
oui, je l'ai découvert dans la douleur lorsque j'ai passé un projet de VCPP à C::B.
le premier les mettait à zéro tout seul. pas le second. yay les plantages aléatoires, qui disparaissent quand tu met des printf de debug. \
/
"C'est juste pas super optimisé."
Qu'est-ce qui te fait dire ça ? T'as rencontré un problème de performance gênant avec CSFML par rapport à la SDL ?