Cutscenes With Huge Character Rosters

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
Hi everyone, I've been puzzling over how to handle this for a little while, so I thought I'd bring it here.

I have a scenario where the player can choose from around 40 characters to assign to a task. In the next screen, I'd like to play a cutscene featuring only the characters the player chose, in which their sprites all appear on the map.

How would you go about handling this? I can't think of any non-insane solutions, but maybe there's a smart way to go about it with a plugin or a trick with javascript I don't know about.

Thanks!
 
Last edited:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,667
First Language
German
Primarily Uses
RMMV
the most important rule for cutscenes is to have all commands in a single controlling event.
all those characters need to be remote-controlled placeholders and have not a single command in them - not even their movement.

And if you control everything from a single controlling event, it doesn't matter if that event controls 5, 50 or 200 events - it is more tedious the more lines you have to add to the controlling event.

and in your case, if you only need the selected actors, then you only use as many events as you'll get members and have the controlling event change the event graphics based on which ones are in the party.
or make the controlling event move everything, but have the character events be conditioned to "actor exists" which means the events not in the party will no longer be there.
 

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
Well, I'm no stranger to cutscenes in general, but the reason this is so tricky for me is that they are not actually "actors," but NPCs you can assign to tasks around your base of operations.

The practical issue I'm running into is that I can't think of a good way to change 4 different tile images in a map to match those of the selected NPCs without the problem of overlapping conditionals.

BUT, the idea of just adding an actor slot for every NPC and putting them in the party temporarily to assign a tile to match an actor slot is something I hadn't considered before... is that possible with javascript?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,667
First Language
German
Primarily Uses
RMMV
no need for javascript, that is pure eventing and databasing
 

Tea's Jams

I'm human
Global Mod
Joined
Mar 28, 2017
Messages
1,039
Reaction score
2,578
First Language
English
Primarily Uses
RMMZ
Could you assign each one a variable, write a conditional branch and use an event spawner plugin?
 

Liandra Aura

Game Director
Veteran
Joined
Feb 21, 2013
Messages
128
Reaction score
65
First Language
English
Primarily Uses
RMMV
Could you assign each one a variable, write a conditional branch and use an event spawner plugin?
This is exactly what I was going to suggest. Assign each actor and position a variable. If actor A = Variable C, show NPC attached to actor A at variable C. It's a lot of event coding but should get you there. I'd jot it all down on paper and try to organize before you make a go at it though.
 

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
Could you assign each one a variable, write a conditional branch and use an event spawner plugin?
I hadn't seen the event spawner plugin before now, so this is another helpful possible step!

But I'm still a little stumped by the quandary of how to spawn them without overlapping tiles, since there are 40+ possible NPC options and only a handful of tiles where the few you select will spawn.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
@Andar : There's one problem with your idea. With a roster of 40 and 4 characters that can be used, that is 40C4 combinations, which is more than you can have for event pages. Even without going that deep, 40 is still more than you have for event pages in MV due to MV capping you at 20, so another solution is needed.

Plus, there is no basic command for if actor x is in slot 2. The command is only for if actor x is in the party but you need to account for in what order they are in too else you may get actor x showing up 3 times on scene and none of the others.

Myself I usually just put everyone in my game in the cutscene somewhere, with the implication that they are in the reserve group that is not fighting but instead is making sure no one else ambushes you from behind (or maybe doing their own fights).
 

Tea's Jams

I'm human
Global Mod
Joined
Mar 28, 2017
Messages
1,039
Reaction score
2,578
First Language
English
Primarily Uses
RMMZ
What about having the conditional branch change the image of four events that you have on the other map?

Although Like @bgillisp mentioned since there are only twenty pages per event, you'll have to get fancy. I would suggest something like a jump to label and put two npcs per page or something like that.
 

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
Well, I'm not sure changing the image gets around the problem of ensuring each event is a unique character.

If there's a line of Javascript that can check for actor slots, I can see one possible path to success with a lot of work. If there isn't, this might just be a totally lost cause lol
 

Tea's Jams

I'm human
Global Mod
Joined
Mar 28, 2017
Messages
1,039
Reaction score
2,578
First Language
English
Primarily Uses
RMMZ
That's why I mentioned the jump to label thing. You can write your 40 unique dialogs in one event putting 2 npcs on each page, then have the conditional branch change the image AND jump to that characters dialog. Then you can use only 4 npc events for the cutscene.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,667
First Language
German
Primarily Uses
RMMV
With a roster of 40 and 4 characters that can be used, that is 40C4 combinations, which is more than you can have for event pages.
that isn't how I would have done it. It probably got mixed up because I described two different methods to handle this in one post.
but I don't have time to give details on both methods, and the OP sounds as if he already has found his solution
 

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
That's why I mentioned the jump to label thing. You can write your 40 unique dialogs in one event putting 2 npcs on each page, then have the conditional branch change the image AND jump to that characters dialog. Then you can use only 4 npc events for the cutscene.
I guess my brain is having a hard time envisioning how this one would work, but maybe you can help explain it better.

Let's say I make a great big event and label it all for whatever reason, how do I choose which event gets changed with each conditional? Let's say there are 4 events, since I need 4 NPCs to spawn.

If I turn event 1 into character A, then jump to another label for event 2, how do I prevent it from also becoming character A?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,667
First Language
German
Primarily Uses
RMMV
If I turn event 1 into character A, then jump to another label for event 2, how do I prevent it from also becoming character A?
you need to start from the other side, which is why this is usually done from the other side and with actors. If they aren't actors it is much more difficult to do.

The first step is to get an array of which four characters are needed. By default this can only be done as "actors in party", so you'll have to use scripting and an array if they are not actors in the party.

As soon as you have that array (or four variables each holding one choosen number), then the first event checks the first selection and is changed to that sprite, then the second event is changed to the second selection and so on.
And you'll have four labels for the four different events, and inside them the selections based on the stored IDs.
 

Drunken Paladin

Veteran
Veteran
Joined
Jul 20, 2012
Messages
84
Reaction score
55
First Language
English
Primarily Uses
you need to start from the other side, which is why this is usually done from the other side and with actors. If they aren't actors it is much more difficult to do.

The first step is to get an array of which four characters are needed. By default this can only be done as "actors in party", so you'll have to use scripting and an array if they are not actors in the party.

As soon as you have that array (or four variables each holding one choosen number), then the first event checks the first selection and is changed to that sprite, then the second event is changed to the second selection and so on.
And you'll have four labels for the four different events, and inside them the selections based on the stored IDs.
The part that I'm still getting stuck on is how the second event is bypassing the first array to only change into the second. The only way I can think of is creating ANOTHER conditional for each array that checks whether it's already in use, so 40 conditionals are effectively inside 40 more.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,355
Reaction score
7,667
First Language
German
Primarily Uses
RMMV
that is why I told you that you need to get a list of all selected option before setting anything - that way you don't need any check for what is in use, because it already prevents doubles automatically (unless you allow things to be selected twice).

In the case of actors the engine handles that automatically.

But it is that first step that is extremely important - getting the selections already done, NOT have the events make the selections.
If you have that first step, all you need to check for the 40 options each without any need for that "check the other events".
 

ImaginaryVillain

One With The Particle
Veteran
Joined
Jun 22, 2019
Messages
787
Reaction score
4,413
First Language
Absurdism
Primarily Uses
RMMV
Oh, I do so love an eventing puzzle… This can be accomplished with just Yanfly’s Event Spawner (but I doubt I could resist using Self Variables/Switches to make it more exciting if it were me). I’ll use 4 NPCs for the example but hey you can change the number as you see fit.


Anyway so here’s the plan, make a map you want to select the characters on such as a base/town/etc. Place your 40 NPCs on it and assign each a number 1-40 (not a variable you can just number them). Give each a dialogue to select which of the 4 they are (if order matters at all) or it can just be a “pick me” option if order doesn’t matter. When one is picked, put their number “1-40” into a variable for whichever place in the 4 characters they are. Also create a parallel event (lowest priority) which sets variable “Task Done” to 0, and runs the Yanfly despawn map command for your cutscene map.


Now on an event map setup all 40 characters as their own individual events. You can even make each do whatever action they are supposed to do. Set them to parallel. Also make each one increments variable “Task Done” by 1 when they finish.


Finally on the your cutscene map, create one event. This event will look at the 4 picked character variables. It will have 5 pages… Page 1 have a list of if Character Variable 1 = # then Yanfly Spawn Event the matching event from the event map at a predetermined location. Create matching pages for the other 3 Character Variables but pick other predetermined locations. Then create a 5th page that checks for Task Done = 4. On that page, transfer the player back to the base map.


Since your base map will then erase your cutscene map’s events, and reset the Task Done variable, it’s now reusable to do it again and again till you get bored.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:
To whom ever person or persons who re-did the DS/DS+ asset packs for MV (as in, they are all 48x48, and not just x2 the pixel scale) .... THANK-YOU!!!!!!!!! XwwwwX

Forum statistics

Threads
105,847
Messages
1,016,972
Members
137,561
Latest member
JaCrispy85
Top