Scenes and Chapters


#1

I have a bunch of little questions. I’m looking at original Choicescript only, no mods. Here we go:

  1. Can you rename the Next Chapter button?
  2. Can you remove the Next Chapter button?
  3. Is there a benefit/detriment to linking the game with goto_scene instead of listed through the mygame?
  4. Is there much benefit to using multiple short scenes instead of one long scene? If so, is there an optimal size or size that is “too big” for a single scene file?
  5. Do temp variables vanish during a goto_scene? If so, does this mess up temp variables when using savepoints for games like Zombie Exodus?
  6. Is there much benefit to avoiding global variables by using temp variables?

#2
  1. *page_break New Button type
    It also works with *finish IIRC.
  2. I think *goto_scene does not produce a Next Chapter button.
  3. To my knowledge there is no downside to using *goto_scene over *finish.
  4. This really depends. Once scenes hit a certain length they can take a little while to load, particularly if they are being played online. This can cause some issues if the game is online and being played on a spotty internet connection. But other than that there isn’t a huge issue about the size.
  5. Yes, *temp variables disappear whenever there is a new scene. I’m not sure how games like ZE handle their internal saving, but if you really don’t want to crowd up mygame.js, I’m pretty sure *create still technically works.
  6. It saves a little bit of memory (and with some games, the lists of variable can be huge), and I think it helps some authors to keep in mind what is important and unimportant, but to my knowledge you’d really have to try to break CS to get a list of variables big enough for it to really matter.

#3

I’ll just babble on about variables and mygame.js since Reaperoa ninja’d me.

Δ.) Because one might hate the idea of a messy mygame.js file, I’d recommend that you can create your first scene as, let’s say, a genesis scene, where you *create all the ittybitty world stats, *set them, and then finish with a *goto_scene. You’ll never have to worry about seeing the petty booleans or variables that you only ever use once or twice in your mygame.js… and you can also *delete them once done.

That’s also useful for generating a random startup for testing.

Ω.) On the other hand, you can still have a fairly organized mygame.js using Javascript comment commands. // can interrupt even in the middle of the stat list, allowing a semblance of division, and therefor organization. I’ll give you a pic of one of my decommissioned games.

https://dl.dropboxusercontent.com/u/156662388/snippy%20snippy.PNG

I broke up characters and their starting stats using a double backspace, allowing me to keep track of their differences.


#4

Cool, thanks for the speedy replies. I always get a couple of handy tips from these discussions.

I think I’ll switch to goto_scene so I can control the Chapter breaks. I’ll also be more generous with my global variables over temp.

What’s the difference, if any, between *create and *temp?


#5

Programatically? None.
They’re created via the same method.

Create makes variables in the stats object, temp makes them in the stats.temps object (which is wiped every scene).


#6

Oh, if anyone’s following this:

Make sure you include all your scenes in your mygame, even if you use the *goto_scene to jump around. This way they get checked during QuickTest. :slight_smile:

I ran into a bunch of errors and didn’t know why QuickTest wasn’t finding them at first. Got it now. :wink:


#7

I’d go for an organized mygame.js file over *create-ing anything, myself. Not sure what the “genesis scene” really gets you, @Caddmuss – does it really make a difference where the ittybittys get stashed? The omega option looks much more appealing to me.


#8

@Lucid thanks; I’ll keep that in mind when I next use the *goto_scene command! And, to add in my opinion, I use mygame.js instead of *create for variables (entirely). Also, I believe that somewhere (possibly in the CoG blog) the removal of the *create command was thought about, so if that happens there could be a spot of bother (not too much extra work, but it would be annoying and every second spent bug fixing is a second not spent writing)!


#9

@Havenstone, I toyed with the idea of a randomly-generated world with a rather large number of variables. With the small, but numerous pitfalls that a cluttered mygame.js looked like when I started, the usage of an invisible vignette seemed to make sense to me, though it may be more than a bit vague to you.

NBD though, I abandoned it, for the most part, and figured I keep the idea for another day while I (pretend to) work on other things.