How to control a character like in popular Dudeski game in HTML5 with Construct2

Read all posts about "" game

Did you play Dudeski?

You have to ski down a mountain as an avalanche chases after you. Ski between gates, dodge obstacles, discover the secrets of the mountain, and try making it all the way to the bottom.

Let’s have a look at the way you control the player:

* Touching the left side of the screen the skier turns left

* Touching the right side of the screen the skier turns right

* Touching both sides of the screen the skier prepares to jump

* Releasing at least one side of the screen while preparing to jump, the skier jumps

* While jumping the skier can still turn left and right but can’t prepare to jump

I am showing you how to do the same thing with Scirra’s Construct2, but I am also going to feature a jump power so the longer you prepare to jump, the longer you will jump.

Here’s what we are going to do:

First, we create two transparent sprites which will always be in front of the game. One will entirely cover the left side of the screen, and one will entirely cover the right side of the screen. In my example, the sprites will be completely opaque and red for the left side of the screen and green for the right side.

These two sprites will act as buttons, so we basically have a left and a right button, which may have various states:

Let’s explain it:

When both buttons aren’t pressed, there could be two reasons:

1) The player isn’t doing anything, in this case we do nothing

2) The player just released them while he was charging the jump. In this case we start jumping

When left button is pressed, the player wants to turn left, no matter if while jumping or on the ground

Same thing for right button

When both buttons are pressed, there could be three reasons:

1) The buttons are pressed while jumping, in this case we do nothing (he’s already jumping)

2) The buttons are pressed for a very limited amount of time: probably the player was turning left (or right), then decided to turn right (or left) and for a small amount of time both buttons had been pressed, although the player did not want to jump, in this case we do nothing

3) the buttons are pressed more than a certain amount of time = the player wants to jump so we start charging jump power.

Now, let’s translate it all to Construct2:

You can check the result pointing your mobile browser at http://www.emanueleferonato.com/wp-content/uploads/2014/06/ski/ or using this nice QRCode

You can also download the full Construct2 project.

Next time, a real skier and some obstacles.

Get the most popular Phaser 3 book

Through 202 pages, 32 source code examples and an Android Studio project you will learn how to build cross platform HTML5 games and create a complete game along the way.

Get the book

214 GAME PROTOTYPES EXPLAINED WITH SOURCE CODE
// 1+2=3
// 100 rounds
// 10000000
// 2 Cars
// 2048
// A Blocky Christmas
// A Jumping Block
// A Life of Logic
// Angry Birds
// Angry Birds Space
// Artillery
// Astro-PANIC!
// Avoider
// Back to Square One
// Ball Game
// Ball vs Ball
// Ball: Revamped
// Balloon Invasion
// BallPusher
// Ballz
// Bar Balance
// Bejeweled
// Biggification
// Block it
// Blockage
// Bloons
// Boids
// Bombuzal
// Boom Dots
// Bouncing Ball
// Bouncing Ball 2
// Bouncy Light
// BoxHead
// Breakout
// Bricks
// Bubble Chaos
// Bubbles 2
// Card Game
// Castle Ramble
// Chronotron
// Circle Chain
// Circle Path
// Circle Race
// Circular endless runner
// Cirplosion
// CLOCKS - The Game
// Color Hit
// Color Jump
// ColorFill
// Columns
// Concentration
// Crossy Road
// Crush the Castle
// Cube Jump
// CubesOut
// Dash N Blast
// Dashy Panda
// Deflection
// Diamond Digger Saga
// Don't touch the spikes
// Dots
// Down The Mountain
// Drag and Match
// Draw Game
// Drop Wizard
// DROP'd
// Dudeski
// Dungeon Raid
// Educational Game
// Elasticity
// Endless Runner
// Erase Box
// Eskiv
// Farm Heroes Saga
// Filler
// Flappy Bird
// Fling
// Flipping Legend
// Floaty Light
// Fuse Ballz
// GearTaker
// Gem Sweeper
// Globe
// Goat Rider
// Gold Miner
// Grindstone
// GuessNext
// Helicopter
// Hero Emblems
// Hero Slide
// Hexagonal Tiles
// HookPod
// Hop Hop Hop Underwater
// Horizontal Endless Runner
// Hundreds
// Hungry Hero
// Hurry it's Christmas
// InkTd
// Iromeku
// Jet Set Willy
// Jigsaw Game
// Knife Hit
// Knightfall
// Legends of Runeterra
// Lep's World
// Line Rider
// Lumines
// Magick
// MagOrMin
// Mass Attack
// Math Game
// Maze
// Meeblings
// Memdot
// Metro Siberia Underground
// Mike Dangers
// Mikey Hooks
// Nano War
// Nodes
// o:anquan
// One Button Game
// One Tap RPG
// Ononmin
// Pacco
// Perfect Square!
// Perfectionism
// Phyballs
// Pixel Purge
// PixelField
// Planet Revenge
// Plants Vs Zombies
// Platform
// Platform game
// Plus+Plus
// Pocket Snap
// Poker
// Pool
// Pop the Lock
// Pop to Save
// Poux
// Pudi
// Pumpkin Story
// Puppet Bird
// Pyramids of Ra
// qomp
// Quick Switch
// Racing
// Radical
// Rebuild Chile
// Renju
// Rise Above
// Risky Road
// Roguelike
// Roly Poly
// Run Around
// Rush Hour
// SameGame
// SamePhysics
// Save the Totem
// Security
// Serious Scramblers
// Shrink it
// Sling
// Slingy
// Snowflakes
// Sokoban
// Space Checkers
// Space is Key
// Spellfall
// Spinny Gun
// Splitter
// Spring Ninja
// Sproing
// Stabilize!
// Stack
// Stick Hero
// String Avoider
// Stringy
// Sudoku
// Super Mario Bros
// Surfingers
// Survival Horror
// Talesworth Adventure
// Tetris
// The Impossible Line
// The Moops - Combos of Joy
// The Next Arrow
// Threes
// Tic Tac Toe
// Timberman
// Tiny Wings
// Tipsy Tower
// Toony
// Totem Destroyer
// Tower Defense
// Trick Shot
// Tunnelball
// Turn
// Turnellio
// TwinSpin
// vvvvvv
// Warp Shift
// Way of an Idea
// Whack a Creep
// Wheel of Fortune
// Where's my Water
// Wish Upon a Star
// Word Game
// Wordle
// Worms
// Yanga
// Yeah Bunny
// Zhed
// zNumbers