Open World Strategies


#1

Hey all

I was wondering if anyone knew any strategies or even any basic on how to make the world more open world. My story is lacking some of the “exploration and discovery” parts. I have no idea on how to have the player like travel from area to area without having me like walk them around.

Is there any good way to do it?


#2

The obvious way (obvious to me, at least) is to have a *choice that says

*choice
  #Look at the cave
  #Go back to town
  #Explore the forest
  #Talk to NPC

with appropriate *gotos for each choice. And in the cave, you can go back to town, or explore the forest, or rest in the meadow… Etc.


#3

wont that become too complex after a while? like having a choice within a choice withic etc going on?

Like I want to make it so that you can go from any location in the game to any other as long as you “walk” far enough


#4

It sounds like you might be better off using another system, like RPGMaker perhaps.


#5

I spent about five moths working on a project that was open world. It can be done in CS but is a mosterous task. There are other programs that are better suited for this. You can create openness feel in small areas with *gosub_scene.


#6

what’s the difference between go_sub scene and goto scene?


#7

I was typeing from my phone, *goto_scene is what I ment but *gosub_scene is useful if you have several tables you want to call from at different places in the game. It will go to the scene and then return to where the reader left off.

*Edit I use it to for each time the player clicks a choice I
*set sec +1
and it
*gosub_scene date
It checks the date and changes the calender and then returns to the scene. The player never notices the action.


#8

wow that’s useful for measuring time and stuff


#9

It took me awhile to write the code and I did not want to add it to each page as it is 8626 word count on the code. So I just wrote it to a page then gosub_timer each time, saves a lot of time and space.


#10

so each time you use it it updates the date? Do you mind if I take a look at that code? It might be useful. No problem if you dont want to share


#11

I am all about sharing :slight_smile: Would never made it this far with out others sharing with me. I have not posted code yet on the new forum so may take me a minute to figure out.


#12

Yeah a date system would be a godsend because my game needs to track food and water supplies that dwindle as time goes on


#13

The code is far to big to post here so I uploaded to my server
http://www.lordirish.com/GIL/timer.txt
I am not a programer so may be a bit ugly but works. :slight_smile:

*Edit I wrote it for my PRG game but have moved it to my Ghost game and will have to mod a little bit.


#14

jesus christ that’s complex. I imagine the actual calendar/timer part is under label timer. I wont need the resting stuff.

Is there any particular way to use this? or just go_sub timer?


#15

I need to mod it for straight date and time tracking I will work on this tomorrow and post the code with directions on how to add and use in a game.

It will be fairly straight forward
*set sec +1
*gosub_scene timer

That is the code you will use each time you want to change the timer.
Then I will list the vars you will need to set under startup, and how to display it under stats

*Edit working on a modification of it now may have it up tonight.

**Edit Seems this was an early code where I had not worked out all the kinks lol. But I am happy to say i have the time working and the date mostly fixed. I still have a flaw in the display of the day but should only take a little bit of rewriting to fix. I will fix and upload the code later tonight…


#16

The issue with an open world like this is, it’s all text and code.

If it were a 3D game, you could resue a 3d model of a house, then stick a different NPC and decoration in there. Well I’m not saying it’d be easy to do a 3d open world, I’m saying the approach is different. And the visual cues would automatically tell the player where he can go.

What I believe would be great however is half-open world; you have the “linear” story but each chapter is a new small village, or forest, and you get to explore a bit before you need to move again

On the other end, an advantage I see for an open world is your code never truly gets outdated. You make city A with different quests maybe, or things to do. When you wanna update, you add a new city once it’s ready. Since it’s not a main linear story (or if there’s one, it’s still not following a specific timeline, there is no “end”) you can always add more, like an expansion.

Now that I think of it, some CoG are open worlds, except it’s not about location: it’s about story choices. It’s not open world, it’s open-story.

In code the two aren’t really different.

Edit: since this is in the ChoiceScript section, does it mean comments need to address coding specifically, or is my comment just fine?


#17

nah it’s good. though coding ideas is what i was looking for


#18

I wrote a game for LordIrish’s competition that had a number of rooms (I think the number I finished before submitting was ten.) I used a random number generator to select which room people ended up in, then let them leave and try again if they wanted a different room, but you could just as easily have a list of ten options for where to go.

Basically, each room is largely self-contained. There’s a variable for each room that tells whether it was visited. (You could add one to say how many times the room has been visited, if you want there to be more scenes in the same location if you go back.) Most of the interaction between rooms was by means of stats (if you discovered more of the mystery, your “Awareness” went up, which would let you ask more specific questions in a later room.) But I could also use “if (room visited)” (text referring back to what you saw there) to link them in the story.

So, the easiest thing to do is have a sort of hub that players can return to between visiting different areas, then choose again where to go. Don’t allow them to return to the hub until they’ve finished the scene there, then if they return to that area, it will be the next section of the story there rather than having to remember exactly where they left off.

We’re trying to code something like that for @fantom’s collaborative game idea, and are figuring out how complicated to make it in terms of how often you can leave, how often you can return, and how many items/skills/discoveries in one area will be necessary to solve something in another.

To keep it simple, keep your scenes in that area self-contained as much as possible. Having been to the garden doesn’t have too many other variables affecting it, all that really matters is once you rejoin the main plotline, do you have a flower or don’t you?

p.s.: @TheGuardian163
You’re fine! You’ve been giving a lot of helpful advice lately, keep it up.


#19

So i was planning one master scene, and all the other scenes would be split off from that. Like a train station you could take any number of trains to other scenes


#20

For a simple way to track time:

*create variable time_count

Each time you choose an action:

*set time_count +1

Then you can refer back to:

*if time_count<3 (etc.)
   You have time to do another thing.
*if time_count>=3
   You are out of time to do anything else today.

Let’s add a date as well as some smaller units of time:

*if time_count>=3
   You are out of time to do anything else today.
   *set date +1

On the stat screen:
Date:

*if date=0
   Friday, June 2nd   
*if date=1
   Saturday, June 3rd
*if date=2
   Sunday, June 4th

…and so on.

You can also use a script to turn the date number into a text description.

*create display_date
*gosub_scene whats_the_date

(in scene whats_the_date)

*if date=0
   *set display_date "Friday, June 2nd"

(etc., use the *return command at the end of that scene. display_date is now the correct text string and can be used in your stat screen.)