Dayvid86's Forum Posts

  • Good morning,

    I see, so it's not even possible to create a Plugin for that.

    Clearly, I have a series of disadvantages with C3.

    We can't even tell him to go to Noeux while staying on the yellow road.

  • Hi, just out of curiosity, how much would it cost to create a C3 plugin to easily move an object along a defined route, traversed by nodes?

    The user will have to draw a route (straight lines or not)

    put nodes on the road to make intersections (crossroads), the aim here is to say to the software, here's the starting node, here's the node I want to go to, find the path to go to this node following the road, draw the path (or not, configurable and with the choice of drawing the path found), move the object on the path to the arrival node, once arrived, erase the drawing of the path found (or not, configurable).

    See this thread: construct.net/en/forum/construct-3/how-do-i-8/move-route-nodes-182467

    and the link to the new application (in case it is accepted or not): github.com/Scirra/Construct-feature-requests/issues/297

  • Thank you all for your help.

    It's far too complicated for me.

    It annoys me, however the one that suits me best and the least difficult in my opinion is that of: R0j0. but maybe not totally.

    Thanks again for your help.

    Best regards.

  • Hello,

    Thanks for the example, but that's not what I want!

    Here what I want is that when I click with the mouse on one of the nodes, that my character goes all alone on the node that I clicked looking for the path and always on the yellow road!

  • Nobody knows how I can do this, I can't find anything to help me, please help me.

  • Hello everyone,

    I'd like to make a system so that the character moves on a road with nodes, when the player “double-clicks” on an orange point with the mouse, he looks for the way to get to that node by moving on the node closest to where he is until he reaches his destination, the character can only move on the yellow road.

    Example: Current position = A1, destination = D1, look for the nearest node on the way to D1, and so on, I don't know if I'm clear, so the answer is: B1 - B7 - D1

    Example: Current position = D1, destination = C1, the answer is: B7 - B1 - B6 - B5 - C1

    Example: Current position = B3, destination = C2, the answer is: A1- B1 - B7- C2

    Example: Current position = B2, destination = C1, the answer is: a1- b1 - b7- c2 A1- B5 - C1 A1- B5 - C1

    Special case :

    Example: Current position = C1, destination = B2, the answers are.

    either : B5 - A1 - B2 (The most direct but...) Or B5 - B6 - A1 - B2 (Less direct but Noeux B6 is closer than A1, here B5 - A1 - B2 seems to be the best choice)

    There's also = B5 - B6 - B2 (A1 is closer than B2)

    You see what I mean, how am I going to do it? I'm not going to do them all 1 by 1, too much work, any ideas?

    I've created a yellow road map, I'd like my character to move only on what's in yellow with the pathfinding, I don't know how to do that, any ideas?

  • I'm dropping the scripts, far too difficult for me, and as for the game, it's compromised but I'm going to make one that will be simpler and with visual events.

  • Too much trouble, C3's script editor is far too limited, you can't do anything with it, no “search”, “replace”, no indentation, etc, it's just for pasting scripts and editing them quickly, you can't work well with it.

    So I've got Visual Studio Code, which is much better.

    I'd managed to script a bit and understand the logic a bit, then I wanted to switch to “TypeScript”, which is a very good tool in itself, but it's a pain in the ass to install and set up, and conversion isn't easy, a big pain, and what's more, once it converts the “TypeScript” code to JavaScript, it doesn't retain the layout (indentation, etc.).

    Coding with JS in itself isn't easy, because it doesn't report errors in real time, and that's not C3's thing. With “TypeScript”, it is, but it's far too annoying to use, all of which has put me in a very bad mood!

    but why am I bothering to code? can't I use C3 with events? for the logic of certain passages in the game world, no, because it's far too complicated to do so and can't be exported, that's why!

    I don't know if many people use scripting, but it's a pain in the ass, especially with “TypeScript”, and without it, it's hard to make JS!

  • Other game names found per month: Length a land's.

  • J'ai actuellement de gros problèmes. Il me sera beaucoup trop difficile d'implémenter toute la logique de certaines choses avec du code visuel, alors j'ai essayé les scripts et j'ai codé un peu pour voir car je ne connais pas du tout JavaScript, ce n'est pas le code qui pose problème mais la façon dont il fonctionne avec C3, je ne comprends rien, c'est la galère !

    Voici une ébauche de code qui ne veut pas dire grand chose pour le moment, impossible de voir les variables du code dans le debugger de C3, il faut un Console.log, si seulement c'était ça le problème, mais non !

    Certaines parties du code ne fonctionnent pas comme je m'y attendais, par exemple la console rafraîchit les messages et autres choses toutes les secondes alors que dans mon code je demande toutes les 100ms et 333ms de faire des choses.

    Et je ne sais pas comment travailler avec C3 avec JS, j'ai essayé de suivre les tutoriels mais tout cela me dépasse !

    J'ai traduit les commentaires en anglais juste pour que vous puissiez voir le désordre !

    Je dois implémenter une logique très compliquée pour gérer les différentes statistiques du joueur (faim, soif, énergie, etc.).

    Parce que certaines s'influencent les unes les autres, je ne sais pas comment travailler avec du code JS avec C3, je veux faire la logique de certaines choses en code parce que ce sera beaucoup plus facile pour moi, mais je suis coincé !

    edit : ça avance doucement mais sûrement, je pense avoir compris comment ça marche, je peux maintenant accéder aux propriétés C3 avec le « Runtime », par exemple pour modifier mes variables dans la feuille d'événement directement avec du code JS, mais c'est très restrictif car les variables doivent déjà être déclarées dans la feuille d'événement, je ne peux pas par exemple créer des variables dans mon code JS pour l'intégrer dans la feuille d'événement, ça ne marche que dans un sans, donc les noms de variables doivent être identiques dans les deux sinon ça ne marche pas !

    -------------------------------------------------

    I am currently having big problems. It will be far too difficult for me to implement all the logic for certain things with visual code, so I tried scripts and I coded a bit to see because I don’t know JavaScript at all, it’s not the code that is the problem but the way it works with C3, I understand nothing, it’s a struggle!

    Here is a draft code that doesn’t mean much for the moment, impossible to see the code variable in the C3 debugger, you need a Console.log, if only that was the problem, but no!

    Parts of the code do not work as I expected, for example the console refreshes messages and other things every second while in my code I ask every 100ms and 333ms to do things.

    And I don’t know how to work with C3 with JS, I tried to follow the tutorials but all this is beyond me!

    I translated the comments into English just so you can see the mess!

    I have to implement a very complicated logic to manage the various stats of the player (hunger, thirst, energy, etc.)

    Because some influence each other, I don’t know how to work with JS code with C3, I want to do the logic of certain things in code because it will be much easier for me, but I am stuck!

    edit: this is progressing slowly but surely, I think I've understood how it works, I can now access C3 properties with the “Runtime”, for example to modify my variables in the event sheet directly with JS code, but it's very restrictive because the variables must already be declared in the event sheet, I can't for example create variables in my JS code to integrate it into the event sheet, it only works in one without, so the variable names must be identical in both otherwise it doesn't work!

    // Mode Strict.
    'use strict';
    
    // Importez ici d'autres fichiers de script, par exemple:
    // Import other script files here, for example:
    // import * as myModule from "./mymodule.js";
    
    
    // Initialisation des variables.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Initialization of variables.
    let TempsCompteur01 = 100, TempsCompteur02 = 500, TempsCompteur03 = 0, TempsCompteur04 = 0;
    let TempsEcouleCompteur01 = 0, TempsEcouleCompteur02 = 0, TempsEcouleCompteur03 = 0, TempsEcouleCompteur04 = 0;
    let DernierTempsCompteur01 = Date.now(), DernierTempsCompteur02 = Date.now(), DernierTempsCompteur03 = Date.now(), DernierTempsCompteur04 = Date.now();
    
    // Enregistrez l'heure de début au lancement du programme. | Record the start time at the launch of the program.
    let TempsDebut = Date.now();
    let TempsEcouleDepuisDébut = 0;
    let TempsActuel = Date.now();
    
    
    // - FONCTIONS
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    // Génère un nombre à virgule aléatoire. | Generates a random number.
    function RandomFloat(min, max) {
     return Math.random() * (max - min + Number.EPSILON) + min;
    }
    
    
    // Calcule un taux en fonction du temps en degré indiqué, plus il fera froid et plus le taux sera important.
    // À TemperatureMinimum, le taux est de TauxMaximum, à TemperatureMaximum, le taux est de TauxMinimum.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Calculates a rate based on the indicated temperature in degrees, the colder it is, the higher the rate will be.
    // At TemperatureMinimum, the rate is TauxMaximum, at TemperatureMaximum, the rate is TauxMinimum.
    function CalculeTauxSuivantTemperature(TemperatureActuelle, TemperatureMinimum, TemperatureMaximum, TauxMinimum, TauxMaximum)
    {
     let Temps = parseFloat(TemperatureActuelle);
     TemperatureMinimum = parseFloat(TemperatureMinimum);
     TemperatureMaximum = parseFloat(TemperatureMaximum);
     TauxMinimum = parseFloat(TauxMinimum);
     TauxMaximum = parseFloat(TauxMaximum);
     if (isNaN(Temps) || isNaN(TemperatureMinimum) || isNaN(TemperatureMaximum) || isNaN(TauxMinimum) || isNaN(TauxMaximum)) {
     return "Tous les arguments doivent être des nombres.";
     }
     let Taux = Temps < TemperatureMaximum ? TauxMaximum - ((Temps - TemperatureMinimum) * ((TauxMaximum - TauxMinimum) / (TemperatureMaximum - TemperatureMinimum))) : TauxMinimum;
     return Taux;
    }
    
    
    // Calcule la Temperature ressentie du joueur en fonction du temps dehors et des vêtements qu'il porte.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Calculates the player's perceived temperature based on the outside weather and the clothes they are wearing.
    function CalculeTemperatureRessentie(TemperatureDehorsActuelle, IndiceVetementsPortesActuel)
    {
    TemperatureDehorsActuelle = parseFloat(TemperatureDehorsActuelle);
    IndiceVetementsPortesActuel = parseFloat(IndiceVetementsPortesActuel);
    return TemperatureDehorsActuelle + IndiceVetementsPortesActuel;
    }
    
    
    // Calcule la consommation d'énergie pour maintenir le corps à 37° en fonction de la Temperature ressentie du joueur.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Calculates the energy consumption to maintain the body at 37°C based on the player's perceived temperature.
    function CalculeConsomationEnergie(TemperatureRessentieActuelle, TemperatureRessentieMinimum)
    {
    TemperatureRessentieActuelle = parseFloat(TemperatureRessentieActuelle);
    
    // Calcule un taux en fonction de la Temperature ressentie du joueur, plus il fera froid et plus le taux sera important.
    // à 40° ce taux vaudra 0, pas de consommation d'énergie pour maintenir le corps à 37°, à -50° ce taux sera de 0.5.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Calculates a rate based on the player's perceived temperature: the colder it is, the higher the rate.
    // For example, at 40° the rate will be 0, so no energy will be consumed to maintain the body at 37°; at -50° the rate will be 0.5.
    let TauxSuivantTemperatureRessentie = 0.00
    TauxSuivantTemperatureRessentie = parseFloat(CalculeTauxSuivantTemperature(TemperatureRessentieActuelle, TemperatureRessentieMinimum, 40, 0, 0.1125));
    return TauxSuivantTemperatureRessentie > 0 ? TauxSuivantTemperatureRessentie : 0;
    }
    
    
    // Vérifie que les valeurs des variables sont correctes sinon les réajuste.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Checks that variable values are correct, otherwise readjusts them.
    function VerificationVariables(runtime)
    {
    if (runtime.globalVars.EauActuelle < runtime.globalVars.EauMinimum) runtime.globalVars.EauActuelle = runtime.globalVars.EauMinimum;
    if (runtime.globalVars.EauActuelle > runtime.globalVars.EauMaximum) runtime.globalVars.EauActuelle = runtime.globalVars.EauMaximum;
    
    if (runtime.globalVars.EnduranceActuelle < runtime.globalVars.EnduranceMinimum) runtime.globalVars.EnduranceActuelle = runtime.globalVars.EnduranceMinimum;
    if (runtime.globalVars.EnduranceActuelle > runtime.globalVars.EnduranceMaximum) runtime.globalVars.EnduranceActuelle = runtime.globalVars.EnduranceMaximum;
    
    if (runtime.globalVars.EnergieActuelle < runtime.globalVars.EnergieMinimum) runtime.globalVars.EnergieActuelle = runtime.globalVars.EnergieMinimum;
    if (runtime.globalVars.EnergieActuelle > runtime.globalVars.EnergieMaximum) runtime.globalVars.EnergieActuelle = runtime.globalVars.EnergieMaximum;
    
    if (runtime.globalVars.FatigueActuelle < runtime.globalVars.FatigueMinimum) runtime.globalVars.FatigueActuelle = runtime.globalVars.FatigueMinimum;
    if (runtime.globalVars.FatigueActuelle > runtime.globalVars.FatigueMaximum) runtime.globalVars.FatigueActuelle = runtime.globalVars.FatigueMaximum;
    
    if (runtime.globalVars.MagieActuelle < runtime.globalVars.MagieMinimum) runtime.globalVars.MagieActuelle = runtime.globalVars.MagieMinimum;
    if (runtime.globalVars.MagieActuelle > runtime.globalVars.MagieMaximum) runtime.globalVars.MagieActuelle = runtime.globalVars.MagieMaximum;
    
    if (runtime.globalVars.NourritureActuelle < runtime.globalVars.NourritureMinimum) runtime.globalVars.NourritureActuelle = runtime.globalVars.NourritureMinimum;
    if (runtime.globalVars.NourritureActuelle > runtime.globalVars.NourritureMaximum) runtime.globalVars.NourritureActuelle = runtime.globalVars.NourritureMaximum;
    
    if (runtime.globalVars.OxygeneActuelle < runtime.globalVars.OxygeneMinimum) runtime.globalVars.OxygeneActuelle = runtime.globalVars.OxygeneMinimum;
    if (runtime.globalVars.OxygeneActuelle > runtime.globalVars.OxygeneMaximum) runtime.globalVars.OxygeneActuelle = runtime.globalVars.OxygeneMaximum;
    
    if (runtime.globalVars.RageActuelle < runtime.globalVars.RageMinimum) runtime.globalVars.RageActuelle = runtime.globalVars.RageMinimum;
    if (runtime.globalVars.RageActuelle > runtime.globalVars.RageMaximum) runtime.globalVars.RageActuelle = runtime.globalVars.RageMaximum;
    
    if (runtime.globalVars.VieActuelle < runtime.globalVars.VieMinimum) runtime.globalVars.VieActuelle = runtime.globalVars.VieMinimum;
    if (runtime.globalVars.VieActuelle > runtime.globalVars.VieMaximum) runtime.globalVars.VieActuelle = runtime.globalVars.VieMaximum;
    
    if (runtime.globalVars.EfficaciteActuelle < runtime.globalVars.EfficaciteMinimum) runtime.globalVars.EfficaciteActuelle = runtime.globalVars.EfficaciteMinimum;
    if (runtime.globalVars.EfficaciteActuelle > runtime.globalVars.EfficaciteMaximum) runtime.globalVars.EfficaciteActuelle = runtime.globalVars.EfficaciteMaximum;
    
    if (runtime.globalVars.TemperatureDehorsActuelle < runtime.globalVars.TemperatureDehorsMinimum) runtime.globalVars.TemperatureDehorsActuelle = runtime.globalVars.TemperatureDehorsMinimum;
    if (runtime.globalVars.TemperatureDehorsActuelle > runtime.globalVars.TemperatureDehorsMaximum) runtime.globalVars.TemperatureDehorsActuelle = runtime.globalVars.TemperatureDehorsMaximum;
    
    if (runtime.globalVars.TemperatureCorporelleActuelle < runtime.globalVars.TemperatureCorporelleMinimum) runtime.globalVars.TemperatureCorporelleActuelle = runtime.globalVars.TemperatureCorporelleMinimum;
    if (runtime.globalVars.TemperatureCorporelleActuelle > runtime.globalVars.TemperatureCorporelleMaximum) runtime.globalVars.TemperatureCorporelleActuelle = runtime.globalVars.TemperatureCorporelleMaximum;
    
    if (runtime.globalVars.TemperatureRessentieActuelle < runtime.globalVars.TemperatureRessentieMinimum) runtime.globalVars.TemperatureRessentieActuelle = runtime.globalVars.TemperatureRessentieMinimum;
    if (runtime.globalVars.TemperatureRessentieActuelle > runtime.globalVars.TemperatureRessentieMaximum) runtime.globalVars.TemperatureRessentieActuelle = runtime.globalVars.TemperatureRessentieMaximum;
    
    if (runtime.globalVars.IndiceVetementsPortesActuel < runtime.globalVars.IndiceVetementsPortesMinimum) runtime.globalVars.IndiceVetementsPortesActuel = runtime.globalVars.IndiceVetementsPortesMinimum;
    if (runtime.globalVars.IndiceVetementsPortesActuel > runtime.globalVars.IndiceVetementsPortesMaximum) runtime.globalVars.IndiceVetementsPortesActuel = runtime.globalVars.IndiceVetementsPortesMaximum;
    }
    
    
    // Code à exécuter sur l'écran de chargement.
    // Notez que les layouts, objets, etc. ne sont pas encore disponibles.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Code to execute on the loading screen.
    // Note that layouts, objects, etc. are not yet available.
    runOnStartup(async runtime =>
    {
    	runtime.addEventListener("beforeprojectstart", () => OnBeforeProjectStart(runtime));
    });
    
    
    // Code à exécuter juste avant 'Au début du layout' sur
    // le premier layout. Le chargement est terminé et les instances
    // initiales sont créées et disponibles à utiliser ici.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Code to execute just before 'At the start of layout' on
    // the first layout. Loading is complete and initial instances
    // are created and available to use here.
    async function OnBeforeProjectStart(runtime)
    {
    	runtime.addEventListener("tick", () => Tick(runtime));
    }
    
    
    // Code à exécuter à chaque tick.
    // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Code to execute on every tick.
    
    function Tick(runtime)
    {
     TempsActuel = Date.now(); // Temps passé actuel. | Current past time.
    	
    	// Vérifie toutes les 0.1 seconde que les valeurs sont correctes sinon les réajuste.
    	// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    	// Checks every 0.1 second that values are correct, otherwise readjusts them.
     if (TempsActuel - DernierTempsCompteur01 >= TempsCompteur01)
     {
     VerificationVariables(runtime);
     DernierTempsCompteur01 = TempsActuel; // Mettre à jour le temps de la dernière mise à jour. | Update time from last update.
     TempsEcouleCompteur01 = 0; // Réinitialiser le temps écoulé. | Reset elapsed time.
     }
     else
     {
     TempsEcouleCompteur01 = TempsActuel - DernierTempsCompteur01; // Calculer le temps écoulé. | Calculate elapsed time.
     }
    	
    	
    	// Affiche dans la console toutes les 0.33 seconde du texte.
    	// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    	// Displays text in the console every 0.33 seconds.
     if (TempsActuel - DernierTempsCompteur02 >= TempsCompteur02)
     {
    		// TemperatureDehorsActuelle += RandomFloat(-10, 10)
    		
     runtime.globalVars.TemperatureRessentieActuelle = CalculeTemperatureRessentie(runtime.globalVars.TemperatureDehorsActuelle, runtime.globalVars.IndiceVetementsPortesActuel);
     let ConsommationEnergie = CalculeConsomationEnergie(runtime.globalVars.TemperatureRessentieActuelle, runtime.globalVars.TemperatureRessentieMinimum);
    			
     console.clear();
     console.log("Temperature Dehors Actuelle: " + runtime.globalVars.TemperatureDehorsActuelle);
     console.log("Energie Actuelle: " + runtime.globalVars.EnergieActuelle);
     console.log("Temperature Corporel Actuel: " + runtime.globalVars.TemperatureCorporelleActuelle);
     console.log("IndiceVetements Portes Actuel: " + runtime.globalVars.IndiceVetementsPortesActuel);
     console.log("Temperature Ressentie Actuelle: " + runtime.globalVars.TemperatureRessentieActuelle);
     console.log("Consommation d'énergie du corps Actuelle: " + ConsommationEnergie);
    
     runtime.globalVars.EnergieActuelle -= ConsommationEnergie;
    
    		// Calculer le temps écoulé.
    			// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    		// Calculate the elapsed time.
     TempsEcouleDepuisDébut = TempsActuel - TempsDebut;
     console.log(`Le temps écoulé depuis le lancement du programme est de ${TempsEcouleDepuisDébut/1000} secondes.`);
     
     DernierTempsCompteur02 = TempsActuel; // Mettre à jour le temps de la dernière mise à jour. | Update time from last update.
     TempsEcouleCompteur02 = 0; // Réinitialiser le temps écoulé. | Reset elapsed time.
     }
     else
     {
     TempsEcouleCompteur02 = TempsActuel - DernierTempsCompteur02; // Calculer le temps écoulé. | Calculate elapsed time.
     }
    }
    
  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Well, a name has been found, it just popped into my head, it doesn't mean anything special and doesn't exist, except for me who just created it: Langayland

    -------------------

    Eh bien, un nom a été trouvé, il m'est venu à l'esprit, il ne signifie rien de spécial et n'existe pas, sauf pour moi qui viens de le créer : Langayland

  • Ok, thx.

  • “layouts” is what here, because I get confused.

    “layers”, that's a layer, like a sheet of transparent paper, OK?

    “scene”, well it's the scene, the page where our objects are, ok?

  • quick little overview:

  • - ENGLISH:

    Hi, I would like to make a game as indicated in the title of this topic.

    So here are the main features of the game:

    - You have characteristics like: Life, Magic, Energy, Endurance, and much more, these characteristics will all evolve over time, and depending on what you do, but there will also be other characteristics which will evolve over time. the way of the Skyrim game (the more you use them, the more they will evolve), for example, swimming, running, jumping, etc.)

    - It will be an RPG game, we can imagine a character level, with experience that we gain (but I don't know exactly how yet)

    - Harvesting resources, such as wood, stones, ores, earth, clay, sand, water, plants, etc.

    - Crafting to make various objects.

    - Construction, for example building houses, farms...

    - Teraforming to customize your environment, flatten, plow, dig, pick, etc. (here I don't know if this will be feasible)

    - Planting and harvesting various plants and trees.

    - Fights and monster invasions that will all come broken, bosses to fight and thus unlock certain things...

    - One or more Story in the game.

    - Quests in the game.

    - Procedural game, so that nothing is the same from one game to another, (here I don't know if this will be feasible)

    - Level editor to create your own world, stories, quests etc. (here I don't know if this will be feasible)

    - Game in multiple languages

    I would like my Game to be customizable, in particular to choose the difficulty and variability, for example with game modes: survival activated or not, invasion or not, combat or not, quests or not, story or not, with boss or no, manufacturing or not, construction or not, harvests or not, planting or not, teraforming or not, etc.

    I would like to make a complete project before my game, ready to be made so that others can take the project and customize it as they wish to create their own game, it will have to have a C3 license for that of course, because otherwise they won't be able to.

    This prefabricated project will obviously be paid for as well as the game but it will be two distinct choices, you will be able to buy the game, and, or, the prefabricated project.

    My eyes are a little big but that's what I'd like to do.

    If people are interested in supporting me, helping me, giving opinions, testing, they will be welcome under certain conditions, so that it goes well, so that no one steals the project, all that.

    If you help me, I don't know how it will go. Please note, do not expect to receive anything in exchange because I cannot be sure that the project will go to the end, I prefer to be clear from the start to avoid all the inconveniences, if the project progresses well and everything goes well, then I think maybe we could consider compensation, but no idea how to do it, this is all new to me here.

    So what more can I say?

    I have already started the project but it is still at the very beginning.

    I'm primarily looking for French people because I'm French, but any help is obviously welcome :)

    ---------------------------------------------------------------------------------

    - FRANCAIS:

    Bonjour, j'aimerais réaliser un jeu comme indiqué dans le titre de ce sujet.

    Voici donc les principales caractéristiques du jeu :

    - Vous avez des caractéristiques comme : Vie, Magie, Énergie, Endurance, et bien plus encore, ces caractéristiques évolueront toutes avec le temps, et en fonction de ce que vous faites, mais il y aura aussi d'autres caractéristiques qui évolueront avec le temps. à la manière du jeu Skyrim (plus vous les utilisez, plus ils évolueront), par exemple, nager, courir, sauter, etc.)

    - Ce sera un jeu RPG, on peut imaginer un niveau de personnage, avec l'expérience qu'on acquiert (mais je ne sais pas encore exactement comment)

    - Récolter des ressources, telles que le bois, les pierres, les minerais, la terre, l'argile, le sable, l'eau, les plantes, etc.

    - Artisanat pour fabriquer divers objets.

    - Construction, par exemple construction de maisons, de fermes...

    - Téraformation pour personnaliser son environnement, aplatir, labourer, creuser, cueillir, etc. (ici je ne sais pas si cela sera réalisable)

    - Plantation et récolte de diverses plantes et arbres.

    - Des combats et des invasions de monstres qui viendront tous brisés, des boss à combattre et ainsi débloquer certaines choses...

    - Une ou plusieurs Histoires dans le jeu.

    - Quêtes dans le jeu.

    - Jeu procédural, pour que rien ne soit pareil d'un jeu à l'autre, (ici je ne sais pas si cela sera réalisable)

    - Éditeur de niveaux pour créer votre propre monde, histoires, quêtes etc. (ici je ne sais pas si cela sera réalisable)

    - Jeu en plusieurs langues

    J'aimerais que mon Jeu soit personnalisable, notamment pour choisir la difficulté et la variabilité, par exemple avec des modes de jeu : survie activée ou non, invasion ou non, combat ou non, quêtes ou non, histoire ou non, avec boss ou non, fabrication ou non, construction ou non, récoltes ou non, plantation ou non, téraformation ou non, etc.

    J'aimerais faire un projet complet avant mon jeu, prêt à être réalisé pour que d'autres puissent prendre le projet et le personnaliser à leur guise pour créer leur propre jeu, il faudra qu'il ait une licence C3 pour ça bien sur, car sinon ils ne le pourront pas.

    Ce projet préfabriqué sera évidemment payant ainsi que le jeu mais ce sera deux choix distincts, vous pourrez acheter le jeu, et, ou, le projet préfabriqué.

    Mes yeux sont un peu grands mais c'est ce que j'aimerais faire.

    Si des gens sont intéressés pour me soutenir, m'aider, donner des avis, tester, ils seront les bienvenus sous certaines conditions, pour que ça se passe bien, pour que personne ne vole le projet, tout ça.

    Si vous m'aidez, je ne sais pas comment ça se passera. Attention, n'espérez rien recevoir en échange car je ne peux pas être sûr que le projet ira au bout, je préfère être clair dès le début pour éviter tous les désagréments, si le projet avance bien et que tout se passe bon, alors je pense qu'on pourrait peut-être envisager une rémunération, mais aucune idée de comment faire, c'est tout nouveau pour moi ici.

    Alors que puis-je dire de plus ?

    J'ai déjà commencé le projet mais il n'en est encore qu'au tout début.

    Je recherche principalement des français car je suis français, mais toute aide est évidemment la bienvenue :)