MyGameMaker is tool that makes 3D games without any coding.
For complete beginners of this tool, I'll describe and proceed slowly, step by step.
Through this tutorial, you'll make a sample game you're seeing now.
You see, there are many labels about the level.
To make the screen look clean, I've checked "Turn off all markings" on the toolbar.
It has a moving platform, monsters, effects, everything that composes a 3D action game.
How it can be done without any coding - Let's see from now on.
A suggestion about using this tutorial - skim through it in 2x speed 1~2 times, after that, try yourself watching this tutorial again.
Let's look at the most frequently used mode buttons on the left side of the toolbar.
First button is Select Only Mode.
Second button is Move Mode.
Third is Rotate Mode.
Fourth is Scale Mode.
You can change them by QWER hot keys.
For users with little experiences on 3D editing, I'll show basic drag editing now.
I'll Open Object Library Menu, put some sample objects.
In Select Only mode, it can only select things.
I usually set back to Select Only mode by habit to prevent mistakenly dragging unintended objects.
Hold CTRL key and select by clicks, it's adding selection.
Hold ALT key and click objects, it's deselecting.
No selection is added while deselecting.
While Drag-Selecting, CTRL and ALT key also applies. I've deselected bottom ones by ALT-dragging
When moving, the axis of the movement is important.
If you start dragging on an object's body, it's restricted to horizontal axis.
If you start dragging by the gizmo's tip, it's restricted to that one axis.
Click spot may be somewhat narrow, look at the color change, take it slow till you get used to it.
If you drag at the R,G,B colored rects, it'll be restricted to two-axis.
It's not used very often, except for the blue colored horizontal axis.
Rotation also has narrow click spot, look at the color change, drag with caution at first.
While rotating, a bar shows indicating to move mouse at that direction.
If you select multiple objects and rotate, both position and object rotate.
Scale also has the axis constraints
If you grab an objects' body or center, it's Uniform Scale.
If you scale multiple objects, both position and object scale.
Linking is done by dragging from the child object to the parent object.
For beginners, select one object first, then drag it next. It's safer.
If you link, child objects follow the parent object.
UNDO is CTRL+Z. Delete test objects, moving to the real game objects.
Open Object Library menu.
To make it easy to attach, turn on Snap Mode on the toolbar.
Put one object by Drag&Drop to the screen.
Use mouse wheel up/down to zoom out.
If you hold mouse R-button and drag, it rotates the camera.
If you hold the mouse M-button and drag, it moves the camera.
Let's connect 4-pieces of that block in a row.
Since it's Snap Mode, if you move one near another, it connects automatically.
If it doesn't connect, rotate or zoom in the camera, (keeping L-button pushed), it'll connect eventually.
Let's save it here, go to top File menu, or use Ctrl+S.
Now I'll put some trees and rocks on the ground to decorate it.
Using the object library menu, Drag&Drop trees and rocks.
Because it's in Snap Mode, it's moving a little awkwardly, turn off the Snap Mode here.
Let's continue putting objects.
If you reuse same objects many times in a scene, it cannot help revealing a little repetition.
Let's give some randomization.
Press F key once it goes Horiz angle, F key once more to align it to the front direction.
Let's select objects to randomize by drag-selecting.
In this case, it's hard to select things only on the ground by one hit .
Hold ALT key, then deselect lower parts.
Now only trees and rocks are selected.
At this state, open Scale & Rotate Menu on the left side.
Drag L,R markers, set low and high range for the randomization.
Click Apply button and see.
To randomize rotation angles, use Random-Rot feature below the scale section.
Through this, you can relieve some feelings of repetition.
Now let's erect a wall to keep the character from moving out of the land.
We need a character first.
Go Lv.Design mode, open Choose Player Character Menu.
Drag&Drop the character to the screen.
If you press B key here, it switches to the game style control mode.
(look at this control icon here)
Use W,A,S,D key to move, Space bar to attack.
In game control mode, you can't move camera, and many edit features are disabled.
So you'll get to use B-key very often.
(pressed B KEY - the icon disappeared)
Now let's erect the wall.
It's done by drawing a path, then converting to BBOX.
Let's go to Path Mode.
On the tool bar right side, turn on draw mode by clicking the Draw button.
Draw a path through the land's outer limits.
Note - no dragging here, it's only clicks There're not much dragging in this tool, except for drag transforms, links, librarys.
After cycling the whole lands, you should close it by clicking the start point.
When you point at the start point, a circle must show. If it doesn't, zoom in a little.
A closed path is made.
Let's change it to a wall.
On the left side, open Path to Wall menu.
Press Generate Wall From Path button, a wall along the path is made easily.
Use B-key to go to game control mode, see if it blocks well.
It blocks well. That was too easy huh?
These objects don't need BBOX to block. It can block themselves.
Now let's make a flying platform that orbits outside.
It's animated by converting a path to animation keys.
Go to Object mode, grab a platform like object and drop.
(R Key) Enlarge it enough, so that monsters and player can stand there.
Go to Path mode.
Turn on Draw mode, draw a path which encircles the land mass.
It should close at the start point,too.
Oops, start position is not hitting this time, zoom in a little.
Platform should orbit by a curve path.
Keeping the selection, open the Path Edit menu on the left side.
Check Auto Bezier Path, it's converted to curve automatically.
(always keep the selection when you use left side menu features)
Go to Object mode, open top Edit menu, pick Key Animation menu.
Key Animation menu is shown on the bottom side. Click path animation button.
Turn off Rotation Keys, click OK to animate it. (You might experiment with these options later)
Animation following the path is generated automatically.
If you click the play button, you'll see the platform moves.
Many edit features don't work in Key Animation mode. You should always turn off Key Animation after it's done.
Flying platform also needs a blocking wall.
Go Path mode, draw a line along the edge.
Since Auto Bezier Path was turned on earlier, so it's drawing a curve.
Walls don't need to be a curve(waste of polygons) Change it to Linear Path.
On Path Edit menu, change it to Vertex mode, adjust the shape to fit the edge of the platform.
(I usually change back to Select Only mode to prevent mistakes)
Open Path to Wall menu, generate the wall.
Since the platform is moving, that BBOX should be linked to the platform.
Turn on Link mode on the toolbar.
Start dragging from the wall, release the button on the platform object.
(note the clipping box indicating the object being pointed)
Now let's attach a smoke effect to the platform.
Go to Effect mode.
Look at the platform object from the bottom side.
Open Effect Library menu, find smoketrail effect.
Drag&Drop the smoketrail effect on the extruding tip on the bottom.
Move down the effect a little, then enlarge it.
This should be linked to the platform object. Turn on Link mode.
Link the effect to the platform.
Let's see if the effect is following the platform as expected.
Go Object mode, open Key Animation menu, then play.
It follows well.
Now let's set where the character shoud be when the game starts.
Go Lv.Design mode
Move the character to a suitable start location, rotate the camera and zoom as how it should be when the game starts.
You can move the character by doubleclick.
Use game control mode (B key), place the character and set camera angle.
Okay, this is how it should when the game starts.
Open Initial Position & Camera mode on the left, check Set Start Position,
click Fetch buttons to copy current numbers.
Let's test it. Move to another location, click Go to Camera & Position, see if the position is saved.
Below features are camera restraints.
Check 'Set initial Updown Angle Limit' and fetch.
Check 'Set Zoom Distance Limit' and fetch.
Initial position, angles and restraints apply when the game is reset.
Now we'll start the level design. It's getting serious.
The term 'Event' means a combination of conditions and actions.
When the conditions are met, actions are executed.
Game stages are made up of a number of related events.
On Create Event menu, click 'Create on click position' button.
Event is created. (note-it's no dragging)
Let's give it a meaningful name. Open Event Options menu.
There's a field for event name. Enter 'Start event'
It's a good habit to always set a meaningful name.
(I'm sure you're used to B key at this moment)
This event will contain some actions necessary to start the game.
Those flying platforms or smoke effects, they don't do anything until proper actions are assigned.
We make some actions to activate them, then assign it the 'start event'
While pointing at the object (note the clipped box), click mouse R-button.
Choose Create Action menu, then pick 'Play Object Animation (set repeat & speed)'
You see a temporary action label.
'A' means it's an action, '?' means it's not assigned to any event yet.
Assign it to the start event by Drag&Drop.
Actions do act only if it is assigned to an event.
This 'start event' will execute as soon as the game starts, so it doesn't have any condition.
On the event's label, 'Start' icon means the event is waiting.
Click Play on the toolbar, the event executes and the platform moves.
Reset it. Let's make the effect act, too.
(note-always check where the clipped skyblue box is before pressing R-button)
While the cursor is pointing the effect, click R-button, then choose Create Action,
Pick 'Play Effect (repeat n times)'
To repeat it indefinitely, enter 9999.
Assign it to the start event.
Play now, see if the effect is activated as expected.
Now the monsters, monsters are placed in Gimmicks mode.
Gimmicks mode has three submodes, so you should move once more to the wanted submode.
Move to Respawn submode to make monsters.
Open NPC Library menu, place monsters on the platform.
The position of the marker is the position where the monster respawns.
Let's attach a HP bar to the monster. Go to Image submode on the toolbar.
Open Image Effect Library menu, drag&drop small energy bar to the monster.
Linking Image Effect to monster is automatic here, snapping effect means it's linked.
Now lets make effects that summon monsters.
Go to Effect mode.
Place 4940_stumperant_die… to where the monsters are.
These monsters and effects should be linked to the flying platform, too.
Let's link effects first. Turn on Link mode and link them.
Monsters are linked in GIMMICKS/Respawn mode.
Turn on Link mode and link.
Go to Object mode, open Key Animation Menu, then play. See if all entities are following.
Now let's make an event that activates monsters and effects.
Go to LvDesign mode.
If you assign too many actions into one event, it'll get difficult to manage later.
So, make new event. Name it '1st wave monster'
1st wave monster event will activate as soon as the game starts, so no condition is necessary.
Event labels don't have to follow the platform, but to make it easy to find, you can link them too.
I'll make summoning effects play first, delay 2.5 seconds, then make the monsters show.
Things are getting to crowded here, look closely at what it is pointing when you click R-button.
Point at effect and click R-button, choose Create Action.
Pick 'Play Effect' action since this will play only once.
On other effects, create 'Play Effect' too.
Assign them to the '1st wave monster' event.
Reset the game, test them.
Effects play as expected.
There are two kinds of Conditions and Actions.
There are ones that work on some entities. There are other ones without any entity related.
Delay is an action without any entity. It's called 'No-Entity Action'
Menu for No-Entity Action is called by the Detail Icon on the right side of the event's label.
Use 'Add No-Entity Condition' or 'Add No-Entity Action' as necessary.
Use 'Add No-Entity Action to this Event', then choose Delay.
Delay will be 2.5 seconds. (There's no drag&drop here. It's assigned implicitly)
Call 1st wave monster's detail menu.
Choose Show Event Table, look at how the event is composed.
There're no condition here so it executes as soon as the game starts.
Actions will execute top to bottom order.
Activating effects and delay action are set.
Now let's make Actions to respawn monsters.
Point the mouse to a monster then R-click.
Make 'Create npc' action on all three monster markers, assign them to the event.
Point the mouse cautiously.
See the title 'on Respawn' on the submenu? You know what you've clicked by this.
Reset again then play
Effect plays, then monsters show.
Check Turn off all markings, make it clean.
Uncheck Turn off all markings, resume editing.
Now let's make it warp to the main land when all 3 monsters are gone.
Go to Object mode, put an object looks like a warp pad.
Link the pad to the flying platform.
Go to Effect mode, put an effect which looks like warp field.
Move it up a little so it won't submerge into the platform.
Use Link mode, link it to the platform.
It works like - if you clear all monsters (condition), active warp field(action)
Go to LvDesign mode, create new event.
Name it 'enable portal'
We need a condition that checks if all monsters are gone.
That condition is made from the event that created monsters.
Point the '1st wave event', click R-button, open the submenu.
Use Create Condition, pick 'All enemy respawns from this event are removed'
Assign it to the 'enable portal' event.
With this, when the monsters are all dispatched, actions of 'enable portal' can be executed.
Create an action to active the warp field effect, then assign it to 'enable portal'
Let's play. If the effect plays when the monsters are dispatched, it's a success.
Monsters are gone, effect plays. It's good.
This effect is just for the looks. We need a way to know if the player is on the warp pad.
Checking the player's position is done by the Trigger.
Go to Gimmicks mode, go to Trigger submode.
Make a trigger by 'Create on Click Position' button. (no dragging)
Don't mind the size, place it on the center of the warp pad.
Use Scale mode (R key), scale down the size.
While doing Uniform Scale, it went up to the air. Triggers should merge into ground a little to be safe.
Moved down the trigger.
When the character moves into the trigger, see the color changes? (If the trigger is in the air even slightly, it may not detect)
Use Link mode, link the trigger to the platform, too.
Warp must be activated after the monsters are dead, so this trigger should be disable when the game starts.
Open Trigger Setup menu, check Start Disable. (keep the selection when using menus)
The trigger changes to gray meaning it's disabled.
Go to LvDesign mode.
It'll suffice to activate this trigger when the warp field effect activates.
(Important!) Trigger must be pointed here but it's hard to point. There are other things overlapped.
Use Cursor key Up/Down to cycle pointed entity, don't move the mouse. See the clipped box switching?
When it points at the trigger, click R-button.
(see the submenu saying 'on Trigger'?)
Create Enable Trigger Action. Assign it to the 'enable portal event'
Let's play and check.
If the trigger changes color when the monsters are dead, it's a success.
It works as expected.
Now let's make the event for warping to the main land.
It goes like this - if the player is in the trigger (condition), move the player to a designated position (action)
Zoom out and doubleclick to move the character to the mainland.
Make an event, name it 'warp to mainland'
In this case, its condition is on the platform, action is on the main land.
Point the trigger on the platform, R-click, use Create Condition, then pick Player In Trigger. (remember up/down key?)
We have to drag&drop a long distance, zoom out to see both.
Drag&drop the condition to the 'warp to mainland' event.
Now let's make an action to move character. It's in the No-Entity Action category.
Open the detail menu of 'warp to mainland', use Add No-Entity Action menu.
Pick Move player to position. Moved position is the current position of player character.
Let's play. See if it moves when you move into the warp field.
Now we'll set up 2nd wave monsters. From now on, we're not resetting the game.
I'll put a go right sign just for decoration.
2nd wave monsters will show up when the player goes into a trigger.
Go to Gimmicks mode, go to Trigger submode. Make a trigger.
Make it long and thin(R Key), so that player cannot skip through a hole.
Monster creation will be more of the same as the platform monsters.
Go Gimmicks/Respawn mode then use other monsters than the platform monsters.
Go Gimmicks/Image mode, attach HP bars to the monsters.
Go Effect mode, put summoning effects.
To combine them, go to LvDesign mode.
Make an event for 2nd monsters, name it '2nd wave monster'
Make play actions for those effects, assign it to the event.
Open up event detail menu, use No-Entity Action, then pick Delay action.
Make 'Create npc' action on each monster, then assign it to the '2nd wave monster' event.
The condition should be the player in the trigger.
On the trigger, create 'Player In Trigger' condition, then assign it the event.
Let's use Show Event Table, check if it's composed as intended.
If the player is in the trigger,
Effects are played,
wait 2.5 seconds,
Monsters will be created.
Let's test it. **Important - there's no RESET here.
Just Play. It continues.
It's a feature of this tool to continue play after editing.
It'd be a waste of time to restart from the start.
(In the next chapter, we'll see this tool's most unique feature - going back in time)
In a game stage like this,
blocking the player with wall or barrier to prevent skipping a wave is a common set-up.
Let's make a wall.
Go to Object mode, put one wall objects on the ground, rotate it 90 degrees to align the direction.
Move (W key) the wall to the end of the land.
Hold SHIFT key, then move one wall to the other direction to duplicate walls.
Duplicate several times to block the road completely.
Let's link them so that all pieces move by just moving the center piece.
See? It moves as one.
Let's make an animation of those going into the ground.
Opened the Key Animation menu (Ctrl + F9)
Animation length is long because we did a long animation previously.
Make the length 10.
At the first frame, click SET POS to save current position. (see the dot?)
Move slider to the 10th frame, move the wall object into the ground, then click SET POS to set the key.
Play the animation to check.
Go to LvDesign mode, I'll set up the event to lower the wall.
It'll be like - when 2nd wave monsters are dead(Condition), play wall animation(Action)
Make an event and name it 'open gate'
Make a condition of '2nd wave monster' event to check if monsters are removed.
(be cautious what you want is Condition or Action)
Assign it to the 'open gate' event.
Make an Action to play wall animation, then assign it to the 'open gate' event.
I'll have to test this, but monsters of the condition are already dead.
You already saw this tool can continue, but what to do in this case?
This program has a feature to go back in time.
Open Instant Replay menu on the left side.
See the time slider? Drag it and go back in time.
The player moves back and dead monsters are showing again.
Go back before the trigger, then Play again.
Monsters respawn again, the wall goes down by the condition. It completely went back in time.
This Instant Replay can be used in two ways.
Go back in time to change the Level Design, or just to see what you did in fast forward.
Let's go back in time again.
Go back before the trigger then play again.
This is re-recording the gameplay from a certain point.
You can also watch what you did, go back again.
This time it is recorded playback. (note the status text differs on the toolbar)
Playback speed is also changeable.
Now let's set up a big explosion, then a boss monster emerge from it.
Go to Gimmicks mode, go to TRIGGER submode, make a trigger to activate it.
This time, I've made a trigger on the character position.
Sometime it's useful if you focus the editing on the character movement.
Move the trigger(W Key), Scale (R Key) to make it thin and wide.
Go to Object mode, let's decorate the map a little more.
Place a castle, rotate it 90 degrees so that the door points to the left.
Let's make a big explosion. I'll use multiple effects with time differences.
Put the first effect.
Enlarge it enough.
Move it up from the ground.
It should be placed evenly without holes, use T key to see from the top, press T again to align viewing direction.
Move with holding SHIFT key to copy one by one.
Give some differences on the sizes.
Go to LvDesign mode and explode them.
Create a new event and name it 'boss monster'
It's condition should be player in the trigger.
Set up two effects for the first explosion, make actions and assign them.
Give it a little delay by adding No-Entity Action - Delay
I'll use 0.1s seconds to be subtle.
More of the same on the remaining effects, assign one or two effects, then give it a little delay.
When an effect is assigned, it has a black label on it. So it's easy to tell which effect is not yet done.
Play and test it. Step into the trigger.
Multiple large effects and subtle time differences made it more realistic.
Let's use Instant Replay again, go back in time.
Go back before the trigger.
Something is rather inconvenient here. When in the STOP state, those effects are exploding indefinitely.
It strains the eyes, makes it difficult to edit.
Go to Effect mode, select all of the explosion effects.
Open Effect Setup menu, check 'Disabled Effect While Editing'.
This option means - don't explode while editing.
See? Only effect boxes are displayed.
When you want to see the effects later, uncheck that option.
Go to GIMMICKS/RESPAWN mode, place a boss monster.
Go to GIMMICKS/IMAGE mode, this time attach a big 2D hp bar that. That should give a feeling that it's the boss.
Go to LvDesign mode, make an action of boss monster, assign it to the event.
Let's go back in time again. (In this tool, there'll be rarely any occasion to start over)
Now the boss monster is dispatched, we'll make event to show a game clear message.
Create new event and name it 'ending message'
Go to GIMMICKS/IMAGE mode, place the stage clear image effect.
It would be better to place it near the related event.
Go to LvDesign mode
Make a condition of 'boss monster' event that the boss is removed, assign it the 'ending message' event.
Make a play action of the stage clear image, assign it to the 'ending message' event.
Go back in time and play again.
Now the game stage is complete!!
You see? It really can be done without any coding.
This short game stage has this many variables.
Conditions or Actions of an entity is shown over each entity's head.
Conditions or Actions without entity is shown over its assigned event.
Color of these labels change to green after they're processed.
Click Reset button, all labels changed color to black.
After clearing the stage, assume any of the label didn't change its color,
it means it can't be reached, so something is wrong.
On the Flow Information Display menu, there're some features to optimize display of information.
'Show related items only' means to show only related things of currently selected events.
It makes it easy to know what are assign to an event.
'Hide Clear Items' hides processed actions and conditions while playing.
It helps to find unprocessed conditions or actions.
If events are connected by conditions, they are connected by arrows.
If you hide all 3D objects, it can be used as a simplified view of the stage.
MyGameMaker has a custom-made auto unwrapping lightmap feature.
Go to Light mode, let's make a directional light for shadowing.
Click Direc on the toolbar, this is Directional Light creation mode.
Click on sufficiently high point over the land to set the start position, (No drag, just a click!)
Next, click on center of the land to set the light's target position. (No drag just click again, used R-button to rotate camera)
Move the mouse out far enough to cover all of the map, then click to set the radius.
Made the light but no effect? Use CTRL+L to turn on realtime lighting.
Shadow seems too strong. Open Light Setup menu, tone it down to make it subtle.
When there're only Point,Spot,Direc lights, realtime lighting applies, lighting change is immediate.
It's dark but brightness will be set the next phase.
Let's set the tone by Ambient Occlusion, which is similar to Dome Light.
Up the radius to wrap all of the map.
Move the dome to align with the map center.
There's no dragging for the Dome, use only the left side menu.
Ambient Occlusion cannot support realtime lighting. (too many point lights)
Alternatively, move around the map then use Preview button to check the brightness and contrast quickly.
Open Object Lightmap menu, then render lightmaps.
Lightmap rendering utilizes multiple CPU cores.
When it goes to HTML5, it exports as lightmapped meshes.
Use Ctrl+L key turn lights ON/OFF and see the difference.
Even non-graphic designers can easily get good quality using Ambient Occlusion.
Professional 3D designers may prefer putting lights by hand.
(subtitle ended. postscripts will be written later)
Không có nhận xét nào:
Đăng nhận xét