hey!
i have a relatively ambitious idea — to make a real-time open-world text adventure. i chose GM, because in addition to the usual text-based narration and answer choices, i want to incorporate different visual and audio effects into the game, depending on the environment. i want the game time of day to be changing constantly as well.
i've watched a series of tutorials from the official GM channel and made this game where you need to fly a spaceship and shoot at asteroids. after that i've tried to intuitively push buttons and write code using the commands and language structures manual, but this is definitely not enough, because i don't have a general idea on how to use GML and GM in general, so i have some questions for experienced developers.
in my idea there are three categories of locations in the game. big locations (countries, regions), usual locations (city, settlement), small locations (building interiors, squares, street pieces). characters move between locations due to business or time of day (for example, a character may work at the market all day and go to sleep in his house at night). the player can communicate with them, and some of them give quests.
i don't have enough understanding how to build the structure of such a game.
it seemed like a good solution to load the characters and locations replies from a JSON file so i've found some tutorials and posts on the subject. it also seems logical to me that each character should be an object that has different states (so that characters use different lines depending on how the story goes). but i have no idea how to organize the rooms better:
each room is a small location?
there is a single game room, and the locations are set in an array or JSON?
how do i implement the essence of the in-game time? should it be a script?
i would be very grateful if someone could clarify how to arrange the structure for my game and try to give me as much detail as possible about the basic principles that should guide me. please ask me anything if something looks unclear or messy!
also if you know for sure that the implementation using Python, for example, for these purposes is going to be much easier, please let me know.
i have a relatively ambitious idea — to make a real-time open-world text adventure. i chose GM, because in addition to the usual text-based narration and answer choices, i want to incorporate different visual and audio effects into the game, depending on the environment. i want the game time of day to be changing constantly as well.
i've watched a series of tutorials from the official GM channel and made this game where you need to fly a spaceship and shoot at asteroids. after that i've tried to intuitively push buttons and write code using the commands and language structures manual, but this is definitely not enough, because i don't have a general idea on how to use GML and GM in general, so i have some questions for experienced developers.
in my idea there are three categories of locations in the game. big locations (countries, regions), usual locations (city, settlement), small locations (building interiors, squares, street pieces). characters move between locations due to business or time of day (for example, a character may work at the market all day and go to sleep in his house at night). the player can communicate with them, and some of them give quests.
i don't have enough understanding how to build the structure of such a game.
it seemed like a good solution to load the characters and locations replies from a JSON file so i've found some tutorials and posts on the subject. it also seems logical to me that each character should be an object that has different states (so that characters use different lines depending on how the story goes). but i have no idea how to organize the rooms better:
each room is a small location?
there is a single game room, and the locations are set in an array or JSON?
how do i implement the essence of the in-game time? should it be a script?
i would be very grateful if someone could clarify how to arrange the structure for my game and try to give me as much detail as possible about the basic principles that should guide me. please ask me anything if something looks unclear or messy!
also if you know for sure that the implementation using Python, for example, for these purposes is going to be much easier, please let me know.
Last edited: