Jeu C++ besoin de conseils
RipKentaro
2022-11-20 00:52:12
Voilà un peu comment s'articule ma classe game.
https://image.noelshack.com/fichiers/2022/46/7/1668901859-image.png
J'ai envie de coder le déroulement de la partie (en fonction de la map, quelle wave apparaît etc).
Quelle serait la meilleure approche ?
wiiuyes
2022-11-20 01:01:28
je sais pas explique nous en plus
c'est du tour par tour?
t'as déjà une gameloop?
t'as des classes? (player?)
RipKentaro
2022-11-20 01:05:17
Le 20 novembre 2022 à 01:01:28 wiiuYes a écrit :
je sais pas explique nous en plus
c'est du tour par tour?
t'as déjà une gameloop?
t'as des classes? (player?)
Je pense pas que ce soit hyper important, mais si tu veux c'est un Tower Defense que je code from scratch en C++.
Je veux simplement implémenter le déroulement d'une partie avec des conditions etc. Et pour ça j'aimerais savoir comment les gens feraient ça en pratique.
Ce que je compte faire c'est de créer une fonction pour chaque map que j'appellerai dans Update Game.
poulpejeu
2022-11-20 01:06:08
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
RipKentaro
2022-11-20 01:08:03
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
poulpejeu
2022-11-20 01:09:46
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
RipKentaro
2022-11-20 01:10:26
Le 20 novembre 2022 à 01:09:46 poulpejeu a écrit :
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
Je fais aussi ça par plaisir. J'aime bien l'informatique
ChatBoudin
2022-11-20 01:13:11
Le 20 novembre 2022 à 01:09:46 :
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
Je fais ça par plaisir c'est quoi ton souci ? T'es du genre à "pas te prendre la tête" dans ton temps libre c'est ça ?
Sinon pour l'op, aucune idée de comment on fait un moteur from scratch ahi
Mais bonne chance
ChatBoudin
2022-11-20 01:14:58
Le 20 novembre 2022 à 01:13:30 :
Le 20 novembre 2022 à 01:10:26 :
Le 20 novembre 2022 à 01:09:46 poulpejeu a écrit :
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
Je fais aussi ça par plaisir. J'aime bien l'informatique
Tu passes à côté de ta vie si tu continues dans cette voie
Arrêté de dire des trucs de low iq sans déconner, t'es un malaise ambulant
Retourne regarder tes matches de foot et boire des bières au café du coin, c'est une vie tellement plus trépidante
RipKentaro
2022-11-20 01:19:20
Le 20 novembre 2022 à 01:13:11 ChatBoudin a écrit :
Le 20 novembre 2022 à 01:09:46 :
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
Je fais ça par plaisir c'est quoi ton souci ? T'es du genre à "pas te prendre la tête" dans ton temps libre c'est ça ?
Sinon pour l'op, aucune idée de comment on fait un moteur from scratch ahi
Mais bonne chance
J'ai déjà codé le moteur je t'envoie une vidéo
RipKentaro
2022-11-20 01:21:34
Le 20 novembre 2022 à 01:19:20 RipKentaro a écrit :
Le 20 novembre 2022 à 01:13:11 ChatBoudin a écrit :
Le 20 novembre 2022 à 01:09:46 :
Le 20 novembre 2022 à 01:08:03 :
Le 20 novembre 2022 à 01:06:08 poulpejeu a écrit :
Si tu éteignais ton ordinateur et tu sortais prendre l'air ? faire du dev mais
Resaissis toi khey la vie c'est pas ces merde
C'est un projet pour l'école. Je fais du dev oui mais aussi de la callisthénie. Et bon prendre l'air à 1h du mat
Pas le choix donc je croyais tu faisais ça par plaisir
Je fais ça par plaisir c'est quoi ton souci ? T'es du genre à "pas te prendre la tête" dans ton temps libre c'est ça ?
Sinon pour l'op, aucune idée de comment on fait un moteur from scratch ahi
Mais bonne chance
J'ai déjà codé le moteur je t'envoie une vidéo
https://image.noelshack.com/fichiers/2022/46/7/1668903683-image.png
https://cdn.discordapp.com/attachments/325602732901662721/1043682286526271498/20221120_011947.mp4
wiiuyes
2022-11-20 01:25:16
T'as une gameloop
Dedans tu update a la fois tes tours qui ont un attribut cooldown pour check s'ils peuvent tirer sur les ennemies
Et tupdate ta liste d'ennemie que tu fais avancer a chaque tick
Utilise une variable deltatime pour que ça soit indépendant des fps
RipKentaro
2022-11-20 01:29:25
Le 20 novembre 2022 à 01:25:16 wiiuYes a écrit :
Parfait c'est ce que je comptais faire
Dedans tu update a la fois tes tours qui ont un attribut cooldown pour check s'ils peuvent tirer sur les ennemies
Ok c'est ce que j'ai fait (exemple en vidéo juste au dessus)
Et tupdate ta liste d'ennemie que tu fais avancer a chaque tick
Pareil
Utilise une variable deltatime pour que ça soit indépendant des fps
Mais du coup c'est mieux de coder le déroulement d'une partie en dehors de la fonction principale UpdateGame ? Ou bien tout écrire dedans ?
Perso je comptais faire une fonction différente en fonction de la map, vu que je compte mettre des ennemis différents dans les autres maps. Il faut aussi mettre les conditions d'arrivée pour certains boss etc.
wiiuyes
2022-11-20 01:34:01
[01:29:25] <RipKentaro>
Le 20 novembre 2022 à 01:25:16 wiiuYes a écrit :
Parfait c'est ce que je comptais faire
Dedans tu update a la fois tes tours qui ont un attribut cooldown pour check s'ils peuvent tirer sur les ennemies
Ok c'est ce que j'ai fait (exemple en vidéo juste au dessus)
Et tupdate ta liste d'ennemie que tu fais avancer a chaque tick
Pareil
Utilise une variable deltatime pour que ça soit indépendant des fps
Mais du coup c'est mieux de coder le déroulement d'une partie en dehors de la fonction principale UpdateGame ? Ou bien tout écrire dedans ?
Perso je comptais faire une fonction différente en fonction de la map, vu que je compte mettre des ennemis différents dans les autres maps. Il faut aussi mettre les conditions d'arrivée pour certains boss etc.
Tu fais une classe gameobject ou une interface iupdatable qui contient une méthode abstraite update(dt)
Tu crées tes entités de jeux updatable en héritant de celles ci dans une classe (Tower, Enemy) et tu codes le comportement de tes objets dans leurs fonctions update
La logique d'une entité reste dans sa classe, le updategame fait l'appel de update() sur toutes entités que t'as instancié et qui sont dans une liste
Ne hardcode pas en fonction de la map
Anorexyl
2022-11-20 01:36:04
Le 20 novembre 2022 à 01:29:25 :
Le 20 novembre 2022 à 01:25:16 wiiuYes a écrit :
Parfait c'est ce que je comptais faire
Dedans tu update a la fois tes tours qui ont un attribut cooldown pour check s'ils peuvent tirer sur les ennemies
Ok c'est ce que j'ai fait (exemple en vidéo juste au dessus)
Et tupdate ta liste d'ennemie que tu fais avancer a chaque tick
Pareil
Utilise une variable deltatime pour que ça soit indépendant des fps
Mais du coup c'est mieux de coder le déroulement d'une partie en dehors de la fonction principale UpdateGame ? Ou bien tout écrire dedans ?
Perso je comptais faire une fonction différente en fonction de la map, vu que je compte mettre des ennemis différents dans les autres maps. Il faut aussi mettre les conditions d'arrivée pour certains boss etc.
Fais un maximum de fonctions, les plus courtes et simples possible.
Donc oui fait une fonction (et même plusieurs) à part pour chaque scenario, puis que tu vas appeler à chaque tour de boucle dans ton UpdateGame() avec tes conditions.
RipKentaro
2022-11-20 01:41:08
Le 20 novembre 2022 à 01:36:04 Anorexyl a écrit :
Le 20 novembre 2022 à 01:29:25 :
Le 20 novembre 2022 à 01:25:16 wiiuYes a écrit :
Parfait c'est ce que je comptais faire
Dedans tu update a la fois tes tours qui ont un attribut cooldown pour check s'ils peuvent tirer sur les ennemies
Ok c'est ce que j'ai fait (exemple en vidéo juste au dessus)
Et tupdate ta liste d'ennemie que tu fais avancer a chaque tick
Pareil
Utilise une variable deltatime pour que ça soit indépendant des fps
Mais du coup c'est mieux de coder le déroulement d'une partie en dehors de la fonction principale UpdateGame ? Ou bien tout écrire dedans ?
Perso je comptais faire une fonction différente en fonction de la map, vu que je compte mettre des ennemis différents dans les autres maps. Il faut aussi mettre les conditions d'arrivée pour certains boss etc.
Fais un maximum de fonctions, les plus courtes et simples possible.
Donc oui fait une fonction (et même plusieurs) à part pour chaque scenario, puis que tu vas appeler à chaque tour de boucle dans ton UpdateGame() avec tes conditions.
Je vais faire comme ça, je pense que c'est ce qu'il y a plus intuitif et peut être remodeler quelques aspects en m'inspirant de ce que vient de poster wiiu au dessus.