SMILE GAME BUILDER

SMILE GAME BUILDER

Not enough ratings
Making Quiz Show Mini Game.
By baka.cdaz
Making Quiz Show style Mini Game by using Common Event.
   
Award
Favorite
Favorited
Unfavorite
Introduce
What we gonna do?
* In this tutorial we gonna create the Quiz Show Mini Game.

* When Mini Game Start the host or riddler or what ever you gonna call this character will introduce player about the game rules.

* Then he gonna ask player 10 questions.
With 4 choices answer for each questions.

* The order of question to apeared will random.

* If Player answer the wrong question player gonna kicked out from mini game.
And teleport to another map

* If player can answer 10 question in row without make any mistake they gonna get money reward and teleport to another map.

Our completed game will be look like this.

You can download playable demo here.
http://geocities.ws/b/s/bs_dimension/game/sgb/demo/QuizShow_Demo.zip

**** before we start please download this Empty Project Template first.****
http://geocities.ws/bs_dimension/game/sgb/template/QuizShow_Template.zip

I will explain explain everything based on this file.
So, I highly recommended you to use it too.

Events/Switches/Variable need to working on.
* 1 Normal Event.
* 9 Common Events.
* 2 Variables.
* 1 Switch.

What is on the Empty Template?
* 2 Map scene.
One for our Mini Game and Another map where player start and get kicked back when they failed.

* 2 Character Event just for show one is for host character another is Fake Player Character.(We gonna hide the real one)
Both of them just for show so just leave theme alone.

Prepare the Game
Create Director Event

* Create new Advanced Event and let's call it "Director" put in anywhere you want.
Change [Start event] to [Triggered automatically(1 time only)].

* Since we gonna make Quiz Mini Game.We want player sitting dug and answer the question not running around so we can Ban all player movement by.

* Double Click on Event to open [Edit Event] Menu.
Click on [Add Event Panel]

* Go to [Battle/Store/Game System]
Click on [Allow/Disallow User Control]
Change it to [Disable]

Prepare the Variables
* In this game we need 2 Variable to working with.
Let's prepare them by.

* Open [Edit Event] menu for [Director].
Add Event Panel.

* Go to [Event Switches/Condition Check] and Click on [Variable Box].

* Then Click on [Variable No.]'s Dropdown menu.

* You gonna see bunch of NAMLESS variable on the list.
Just change 1st on the list to [Question_Number] and change the 2nd to[Question_Random]

* [Question_Number] will store Number of Question you gonna show.
And [Question_Random] gonna use for randoming next question to show that will talk about it later now going to work on [Question_Number] first.

So double click on [Question_Number] to choose it.

* We gonna start at 1st question not 0th question so change the [Value] to [1]. and select [Put into variable box as-is]


Hide Player's Character

* We already has fake character sitting on the chair.
So we do not need to show the real one on the screen.
Just Hiding it by .


* Go to [Player Movement/Event] and Click on [Make palyer invisible/visible]
Choose[Make Transparent].

Make introduction dialogue for host character.

* Go to [Displaying Messages/Image] on [Edit Event] menu and click on[Display dialogue]
Enter what you want him to talk.

* Save file and Playtest your game.

* Now you can see our fake character on the chair and host introduce the game rules.
Event Sheets & Question Counter
We already introduce our game’s rule.We already prepare our variable.
Now let start making look more playable game.

Create 2nd Event Sheet

* Looking on your very top of [Edit event] menu. you gonna see a tab name[Event Sheet].
What is [Event sheet] well, we can think about it as [Transforming Form] of event they has normal form and Super Saiyan form or something like that.

For this game and this event we need2 form or to[ Event Sheet] of it.

First one for introducing your game's rules and reset the variable every time you start this minigame.

Second is the real gameplay of this mini game. it will called next question and count the number of question that player reached.

* Click on [Rename event sheet] on the top of [Edit Event] menu.
Change 1st sheet name to [Start].

* Click on [Add new event sheet] to create 2nd sheet.

* Let’s change the name to [Questioning].

* Go to [Start Event] of 2nd Sheet.
Click on Dropdown menu and chage it into [Triggered Automatically(Repeated)]

* Unlike the 1st sheet that we made it [1 time Only] now we made it [Repeated] because we want it to keep asking the question again and again until we want to stop.

Checking Question Number

* Add event panel

* Go to [Event Switches/ Condition Check]
Click on [Variable Box Check].

* On [Select variable box number] drop-down menu.
Click and select [Questioning_Number].
Change the value to [11].
Select[When the value is Greater or Equal.].

What we just did is make the game check if the question reach 11th yet?
In otherworld “if the player already finished all 10 questions yet?”.


Show Question Number


* Now out game has separated into 2 branches.
[Yes] branch and [No] branch.


* Go to [No]’s Branch.
Create new [Dialogue] Event Panel.

* Enter”Question No. \Variable[0]”
***Don’t mind that my screen shot show [Yen Symbol] instead of [\] it just because my PC has Japanese font it actually [\] on my Keyboard)***

[\Variable[0]] that we just put in is a command to make the game show value of Variable Number 0 into Dialogue / Message box

In our case Variable Number 0 is what we called [Question_Number].
So it gonna show our value of [Quesion_Number] in the box.



Adding Up Question Number

* Still on [No]’s branch, Add new Event Panel.

Create [Variable Box] panel.

* Click on Drop-down menu select[Question_Number].
Change the Value to 1.
Select [Add Value to Variable Box].

* Now every time the game go to this branch it will add 1 to [Question_Number] until it reached 11.

* Playtest you game.

Now you can see the host talking about No. of question from 1- 10 as he should do.
But something still strange,right?.


what is strange is “Where is the Introducing scene gone”.

It’s not showing up because of we did not give conditions to Event Sheets yet.
And it automatically show the Last Sheet if we not give the condition to them.


Making Condition

* Now to the left side of [Edit event] menu on [Questioning] Sheet.
Click on [Add Condition] Choose [ Event Switch]
Click on 1st Dropdown Menu and you gonna see 2 tab
[Normal Swtich] and [Local Switch].

[Normal Switch] is a Switch you can get from every Event
and [Local Switch] is only for this one event you can not access them from anywhere else.

* So in this case we gonna use [Normal Switch].

* Double Click on 1st [No Name] switch on the list.
And change it]s name to [Reset].


* Click on 2nd Dropdown menu and select to [Is On].

* Then go to 1st Sheet(Start) and go Add Condition for it in the same way but this time we make condition for[Reset] to [Is Off].

If you Playtest you game now you will see the Introducing Massage but no Question appear.
Because of now we has condition for 2nd sheet to appear only when we flipped that [Reset] switch on.

Flipped the Switch On

* Go to the end of [Start] workflow click [Add event panel].

* Go to [Event Swicthes/ Condition Check]
Click on [Event Switch]

* Change Dropdown menu to [Reset] and [Turn On]

Now when the host finished his introducing dialogue the [Reset] switch will flipped [On] and send Player to 2nd Sheet(Questioning).

Knowing Common Event
Now we has question counting system but where is our question ?
Well, I leave the questions alone until now because we not gonna did it directly into [Director] event we has but did it with new [Common Event] we gonna create.

What is Common Event ?

It’s The Event that not place anywhere in the map but you can called it to use anywhere and anytime.

And also if your game is more complex making the same set of command again and again is just waste your time and make you has more chance to make a mistake.
(Imagine you need to make same 100 lines of command in every scene.)

It you just put those command into one Common event and just called it from another event is more better idea.

Even if you make any mistake in Common event you can just fix it in Common event and it gonna fix the problem in every Event that calling it.

In this case we will make 20 patterns of question as Common event and use another Common event to randomize what the game will choose as next question.

Now, let’s messing around with Common Event.
Fun with Common Event(Part 1)
Create First Common Event


* On the left side of [Smile Game Builder]’s Interface Click on [Edit Game Data].

* Click on the tab name [Common Event].

* The empty list on the left side is the list of Common Event we has.
The Upper right is Pre-Made Common Event that SGB Dev made for us but just leave it alone this time.

* Click on [Advance Event(Fully Customize Yourself)] to create our brand new Common Event .
Then Click [<Add] for open [Edit event] menu for Common Event.

As you can see [Edit event] menu for Common Event is mostly the same as Normal Event only difference is [Start Event] box.

There are no condition about contact with MC anymore but replace with [No Trigger(execute from another event)].

And that is what exactly we wanted so just leave it alone.



Make reaction for the Right choice

* What we gonna make first is Common Event for what gonna happens when player choose the right choice.
In this Common Event we gonna show message and play sound effect.
And also add value to [Question_Number] too.
(We gonna remove the same command that we create on [Director] lator)

* Change the name of this Common Event to[Right].

* Click on [Add event panel].

* Go to [Special Effect/Music] and Click on [Play Sound Effect].
Choose the sound you want from the list.

* Go to [Display Message/Image] and Click on Display Dialogue] and put whatever you want in to the box.
In my case I make him say”It's the Right Answer !!!”

* Go to [Event Switches/Condition Check] and Click on [Variable Box].
Select [Question_Number].
Value = [1]
Select [Add to value in variable box]

* Click Apply and close [Edit event] window down.

Make reaction for the Wrong choice

* Create Another Common Event for what gonna happened after play choose the wrong choice let’s change the name to [Wrong].

We don’t need to add up the value of [Question_Number] here because of if the player choose the wrong answer the minigame will end.
So instead of create [Variable Box] we just need to called [Game Over Scene].

* Go to [Battle/Store/Game System] and Click on [Exit Game].
Choose[Game Over]

* Apply and close [Edit event] window.

Create Random Event

* Create a Common Event let’s named it [Random] this gonna be Event that randomize next question.

But we still did not have any Question Events yet
So just create it and leave it alone for now.

1st Question Event.

* Just create new Common Event like we did before.
Change the name of new Common Event to [Q_Pattern_0].

* Click on [Add Event Panel] and go to [Displaying/Message/Image].
Then Choose [Display Dialogue] and enter your first question.

* Click on [Add Event Panel] and go to [Displaying Message/Image] and choose [Display Selection] then Enter your Choices of answer for this question.

Now we has 4 branches for each choices.

* Then go to corrected branches of this question.
Click on [Add panel event] under corrected choice.

* Go to [Battle/Store/Game System] Click on [Run Common Event].

* Click on Drop-down menu it will show you the list of Common Event you has.
Just select [Right] as destination.
And enable the check-box that said [Wait Until Run Destination Event Completes].

* Did the same for all Wrong Choice but change Destination Event to [Wrong].
Now we finished our 1st question then just Click [Apply] and close this window.


Check Random Variable

* Now go back to [Random] just double click it’s name on list to open [Edit event] window.

* [Add event panel] and go to [Event Switches/Condition Check] Click on [Advance Variable Box Check]

* This gonna use for randomize the number of next question.
If [Question_Random] the game will load[Question_Pattern_0] as the next question.
But since we still has only one question so just use this setting for now.

* [Add event panel] go to [Event Switches/Condition Check] again and Click on [Variable Check].



* Go to [Yes] brunch and Click [Add event panel].

* Go to [Battle/Store/Game System] and Click on [Run Common Event]

* Choose [Q_Pattern_0] as destination .

And also don’t forget to enable [Wait Until...]’s check-B.
Then [Apply] and close this window.


What we just did is make the game check if [Question_Random]’s value = [0] or not.
If [Question_Random] = 0 then called [Q_Pattern_0] .

If you Playtest now you will see that nothing happened at all.
Because we has Common Event but we did not called it from Normal Event yet.

And that is what we gonna do in next chapter.
Fun with Common Event(Part 2)
Calling out for [Random]


* Go back to [Director] Event.

* Go to 2nd Event Sheet(Questioning).

* On [No] brunch Click [Add event panel].

* Go to [Battle/Store/Game System] and Click on [Run Common Event].
Choose [Random] as destiny eneble [Wait Until...] checkbox.

* Right Click on [Variable Box] that we create long time ago and delete it.
We already create another one in [Right] so we don’t want this anymore.

Click Apply and close the window.

Try to Playtest your game.
Now the host will ask you the same question 10 time.

If you get it right to the end he will stop asking
But if you make any mistake it will show Gameover scene.

But did you feel “Question No…” message box little glitchy it look like it’s appear to fast and crash with last message box.

It’s not a big problem you can just ignore it but if you are perfectionist and can’t forgive that glitchy thing then go back to [Common Event] tab on [Edit Game Data].

Make Dialogue Box Delay

* Go back to [Right] common event and at the end of line Click on [Add event panel].

* Go to [Special Effect/Music] and the Click on [Wait specified time].
Enter amount of time you want to wait until “This is Question No. XXX” gonna show.
For me I’m OK with 0.5 sec so I will just leave it alone.

[Apply] and close this window.

Playtest again and you can see timing of message is a little better now.
Fun with Common Event (Part3)
Create More Question Events

* Go back to [Common Event] tab if you not already did.
Now we gonna create other question.

In my demo game I made 25 question’s event
But for this tutorial I think just 6 is enough for make everyone understand the idea of common event.
Create other [Q_Pattern_1] to [Q_Pattern_5].

Actually we did not need to create it all from scratch.
All we gonna do is reuse [Q_Pattern_0] .

*Click(not Double Click) on [Q_Pattern_0] Click [Copy](on the top menu).
And then click [Paste] .
* Now you has new Event called[Q_Pattern_0_2] or something like that.
Just change the name to [Q_Pattern_1].

* Replace your 2nd question in [Display Text] of [Q_Pattern_1]

* Replace your Choices.

* And Change destination of Common Event under the choice to lead only corrected one to [Right].
And change another destination to [Wrong].

* Did the same for [Q_Pattern_2] to [Q_Pattern_5].


Randomize Question


* Go back to [Random] common Event. go back to [Variable Box Op.].
Change [How ?] from [Fixed Value] to [Random Number].

Unlike[Fixed Number] this [Random Number] has 2 value you need to enter.

[Min] is minimum value that the game will randomly create.
[Max] is Maximum value that the game will randomly create.

* Now now has 6 Destinations ( [Q_Pattern_0]- [Q_Pattern_5])
So let’s put 0 to [Min] and put 5 to Max.

[Apply] and close this window.

Calling out for more Question Events


* Right Click on [Variable Box Check]of [0] that we create before.
And [Copy] it.

* [Paste] it into [No] Branch.

* Change[Value] in new[Variable Check] to [1]
And Change Destination of [Run Common Event] under it to [Q_Pattern_1]


Now the game will randomize value of [Random] if the value = 0 game will show [Q_Pattern_0] if the value =1 then show [Q_Pattern_1] .
* Did the same thing until you reached [Variable Check] of [5] and [Q_Pattern_5] as destination
* Playtest your game again.

As you can see our game will randomize your new question if you choose the right answer.
The game will over if you choose wrong choice.

What we need is the ending for this Mini Game.

Our game almost finished.
Let’s finished it in the next chapter.
Final Chapter (Make the Ending)
Finally we are almost there final chapter of this tutorial.
We already finished the Hard and complex part so this part is pretty easy one.


Create Winning sequence.

* Go back to 2nd Sheet of [Director] event.

* As you can see we has 2 branch coming from [Variable Box Check].
The branch on the right the [No] branch that we are working with in the last chapter is what the game do when player still not finished 10th question yet.

And another one the [Yes] branch is what will happened when player finished 10th question.

So, we gonna working with that [Yes] in this time.

We gonna make the host say some “Congratulation” word with fanfare sound.
Give the player some money reward and teleport them to another Map.

* Go to [Yes] brach Click on [Add event panel].

* Go to [Special Effect/Music] and select [Play fanfare].
Choose any sound you like to play.

* Go to [Display Messages/Images] and choose [Display Dialogue].
Enter what you want him to say.

* Click on [Add event panel] under this panel.
Go to [Stats/Items] then choose [Increase / Decrease Money].
Enter amount of money reward you want to give to player.

Now, we gonna fadeout the screen and teleport player to another Map.

* Add another Event Panel go to [Special Effect/Music].
Select[Brighten/Darken Screen].
Enter the time you want the game to take while fadeout or just leave it alone as default value.

* Add another Event Panel go to [Player Movement/Events] choose on [Move to Another Location].

* Click on [Designate Jump Destination] button.

* Click on [Change Map] button.

Choose [Lobby].

Click on location you want played to teleported to ,or put number in [coordinate] fill box.
Click [OK] button.

* Right click on [Brighten/Darken Screen] we created.
[Copy] and then paste it under [Move to Another Location] and choose [Brighten] to fade-in when player finished teleport.
(If you did not do this step the screen will still in dark even after finished teleport.)

Giving back right to control the game to player.

* Click on add event panel Go to [Battle/Store/Game System].
Click on [Allow/Disallow User Control] Change it to [Enable].

Flipped [Reset] switch off.
So this [Director] will change back to 1st Sheet after you leave the room.
(If you did not flipped it back the game will continue at last question before you finished or failed).

* Click on [Add event panel] and go to [Event Switches/Condition Check]
* Click [Event Switch].
* Click on Dropdown menu and choose [Reset] then [Turn Off].

If you Playtest your game and finished 10th question the host will congratulated you.
Give you some money and teleport you to [Lobby].
(You can open Main Menu in the game to see if your money is changed.)
and you will get Game Over scene if you failed.

But did you think it is a little extreme to make player get Game Over just because they failed Mini Game ?


Did you think just kick them back to [Lobby] without give then any money is enough ?
Well,I think so let’s change that outcome.
Final Chapter (Finished your game)
Change Failed outcome.


* Go back to 2nd Sheet(Questioning) of [Director] again for the last time.
We will copy last part of Winning Outcome to Reuse for Failed Outcome.

* On Upper-Right of [Edit Event] window did you see the text that said[Display Mode] and two button on the right side of it ?

you can change Display Mode of this window from Flowchart to text.(Command Line).

* Then click the left button to change to Text mode.

The reason I tell you to change to text mode is we can selected multiple line of command in this mode.

That made it more fast to copy bunch of command to another event.

* Now Click on the line that said
“[Brighten/Darken Screen] Turn screen Darken After…..”

Hold [Shift] on your keyboard and click on the line that said
“[Event Switch]Turn Switch[0:Reset] Off”

As you can see now we make hilight over those line.
So,right click on your mouse and [Copy].

* Close this window and go back to [Common Event] menu.

* Open [Wrong] Common Event.

* Delete the line that said
“[Exit Game] Proceed to gameover screen”.

* Click on final line that said “[End of Event]”.

* Right Click and [Paste] or just Click [Paste] button on the top.
[Apply] and Playtest your game.

As you can see if player failed they will not end up in Game Over anymore.
Now we are finished our work in this room.

So we gonna change Start Location of player to [Lobby].
And then make a door to teleport player to this Mini Game.


Change Player’s Start Location.

* Just Go to [Lobby] map right click on the location you like to start your game.
And select [Make this the start point].

That all we need to do for this step next we will create the door to send Player to our Quiz Show Game.

Create the door to Quiz Show Room Map

* On the right side of SGB window click on [Event] tab.
And then click on [Door/Stair].

* Click on [Door-Link to another place].

* Click on narrow doorway on the top of our map to put the door here.

[Door-Link to another place] window will be appeared.

* Click on [Change Map] and select[Quiz Show].

* Click On the map at the top of doorway of [Quiz Show] of just put 15,16 into X and Y coordinate fill box.

[OK] and close the window.

Our game is finished just Playtest and have fun !!
2 Comments
JoniCat 23 Apr, 2018 @ 11:12am 
There are some spelling mistakes in this tutorial which can cause a little confusion at times, but on the whole it was very good.
Just to clarify, the format needed in the Display Dialogue box to correctly list the question number is

'Question No. \Variable[0] !!'

Without the quotes of course. It is a backslash that is needed, NOT a forward slash as the guide implies.
CompanionWulf 3 Jan, 2018 @ 9:51pm 
Brilliant tutorial. It's well laid out and easy to follow too, but at the end it becomes a fun little mini-game!