Ex: Simple Platformer

Download Assets

https://drive.google.com/file/d/1arkVoY2tQdWBh5_jys8zmPeY242umBIV/view?usp=drive_link

Layout

  • New game with defaults

  • Go to Layout 1

    • Size property

    • (1000, 500) value

Setup Character

  • Insert New Object -> Sprite -> upload character1.png

  • add new frame

  • Insert New Object -> Sprite -> upload character2.png

  • add new frame

  • Insert New Object -> Sprite -> upload character3.png

  • Animations panel -> click name of animation e.g. Animation 1 -> check loop

Character Behaviors

  • 0 frame sprite

  • Behaviors -> Add new behavior type

    • Platform to jump run along platforms

    • Scroll To viewports follows/pans with Character

    • Bound To Layout keep Hero within Layout

Ground

  • New object Tile Background -> upload ground.png

    • Note: you may have to resize the Character to proportionate to the Ground or vice

  • Extend ground to full length of Layout 1

Platform

  • New object Tile Background -> upload platform.png

  • Behaviors -> Add new behavior type Solid

Walls

  • New object Tile Background -> upload wall.png

  • Behaviors -> Add new behavior type Solid

Check: Initial Level Layout

Ensure the level is playable

  • Adjust height of platforms and walls

  • Experiment with

    • Character sprite -> Jump strength

  • Adjust scale of characters, platforms, etc.

Check: Collision Points

Check where objects touch, overlap, etc.

  • double click Hero sprite

  • click on Edit Collision Points button

  • edit if needed

Mirroring Movements

Mirror character movements

  • Go to Layout 1

  • Add invisible Keyboard object

  • Go to Event sheet 1

  • New Event

    • Condition: Keyboard object -> On key pressed -> Left

    • Action: Character -> Set mirrored -> State Mirrored

  • New Event

    • Condition: Keyboard object -> On key pressed -> Right

    • Action: Character -> Set mirrored -> State Not mirrored

"Hurty Things"

Things that hurt our character

  • New object Tile Background -> upload spikes.png

  • Go to Event sheet 1

    • Condition: Character -> On Collision with another object -> Spikes

    • Action: System -> Restart Layout

  • Take note of Hero starting position

  • Add Action for this Event

    • Action: Hero -> Set Position -> your starting x and y values

Reward & Complete Level

  • Reward outside of layout

    • select star object

  • Add Behaviors

    • Destroy outside of layout to keep out of layout until needed

    • Physics

  • Go to Event sheet 1

    • Condition: Character -> Is overlapping another object -> Finish

    • Action: Finish -> Spawn another object

    • Action: Character -> Start ignoring user input -> Start ignoring

Z-Index : Background Image

  • New object Tile Background -> upload zIndexTile1.png

  • Rename object to zIndexTile1

  • New object Tile Background -> upload zIndexTile2.png

  • Rename object to zIndexTile2

  • Select TileZIndex -> Z Order -> Send to bottom of layer

  • Optionally, change Opacity if too dark

Lift or Elevator

  • New object Tile Background -> upload greenPlatform.png

  • Rename object to Lift

  • Add Behaviors

    • Solid to stand on

    • Sine to rise/lower like a sine curve

  • Sine section -> Movement property -> Vertical value

  • Sine section -> Period property -> 3 value or seconds to go up/down

  • Sine section -> Magnitude property -> 100 value or how far it goes up/down

  • Adjust values as needed

Collectible

  • New object Sprite -> upload collectible1.png

  • Rename object to Collectible1

Collectible Effect

  • Go to Layout 1

  • New object Particles -> upload collectible1.png

  • Particles object -> Properties

    • Spray cone : 360 value

    • Type : One-shot

  • Go to Event Sheet

  • Condition: Charcter -> On collision with another object -> Collectible1

  • Action: Collectible1 -> Spawn another object -> Collectible1

  • Action: Collectible1 -> Destroy

Next Level Door

  • Go to Layout 1

  • New object Sprite -> upload door1.png

  • Rename object to NextDoor

  • Go to Event Sheet

  • Condition: Character -> NextDoor

  • Action: System -> Go to next layout

Last updated