dannylv100.com
  • Projects
    • Shrapnel - Senior LD
    • Flat Kingdom
    • Doom (2016) Design Test
    • Aero
    • 3rd Person Shooter
    • A Game In the Dark
    • Freeze-E Frosty's
    • Forge Editor - Halo 5
  • Blog
  • Resume

Level Design 101: Physics vs Scripted

2/12/2014

0 Comments

 
Picture
  Welcome to another edition of Level Design 101. This time I am going to tell you a story from my previous experience helping out a friend with a project they were working on.

Note: A few details were changed in order to protect the identities of the people involved.

Picture
   A few years back a friend called me over to help them with this level they had been working on. The level was pretty straightforward, you run and gun yourself through a few corridors of a mansion. Eventually you come to the end of the level and you can see the ext. You're at the top of the stairs and at the center of the room is a lone NPC. It is all pretty standard but this NPC is completely unaffected by any of your shots.
Picture
   This is how it was set up. The player has the high ground and they can see the enemy on the ground below them. Above the enemy is a large chandelier. According to what my friend was going for, they wanted the player to come in and shoot the chandelier so that it would fall down and kill the enemy so the player can exit the level.

   The room was relatively empty. Just the staircase for the player to walk down from, the chandelier and the locked exit door for the player to escape from once the enemy is taken care of.



Picture
Picture
The enemy is completely unaffected by any attacks.
   The enemy will stand in the center of the room and fire at the player. If the player tries to shoot the enemy they will quickly find out that the enemy is immune to any damage. The player however is still susceptible to all damage.
Picture
Picture
   My friend wanted the player to figure out that the chandelier was the key to defeating this enemy. When the player enters the room they have a clear shot at the chains that held up the chandelier. This however is not in any way clearly stated or alluded to.

   Once the chains are shoot by the player the chandelier will fall from the ceiling and crush the enemy. This is the only way for the player to move forward to the end of the level.

Picture
   When my friend showed me this chandelier sequence, it went off without a hitch. He ran straight into the room and fired right away at the chains. The chandelier fell, the enemy was defeated and the level was completed.

   It was now my turn to
give the level a try. I played through the first few rooms with no issues. I finally got to the last room and I fired straight at the chandelier....and it just swung around the ceiling. I fired at it over and over again and it just kept swinging in place. It finally just shot off the ceiling and flew into a corner of the room.
Picture
Picture
   So here is the issue. The chandelier is set to work as a "Physics Asset". The way the chandelier moves and falls is completely left to chance. I tried the sequence again and again. More often than not the chandelier would either just swing in place and if it did break free from the chain it would be thrown to some other side of the room. This meant that the enemy in the center of the room would become unbeatable and therefore the level would impossible to complete.

    Time to run the numbers. If I shot at the chandelier ten times, and it
fell on target twice that would mean there would be an 80% chance of it going wrong.

  So think of it like this, if you were to knock an apple off of a tree using a rock, would you be able to make it land exactly where you wanted every time? There are so many things you would have to factor in when you through that rock, not to mention that once you hit that apple you would have no control over how fast or where it would fall. You can not predict the course it would take.
Picture
Making the chandelier rely on physics will make it's path unpredictable.
   What I suggested to my friend was for them to instead change the chandelier into a scripted event. This would mean giving the chandelier a few simple parameters that would ensure it behaved how we wanted it to. I suggested we give the chandelier a code that said "When I take damage play the falling animation". When the falling animation took affect it would follow a predetermined path that would land on the enemy crushing him every time.
Picture
   My friend was very adamant about having the chain be physics based because "It was cool". So they turned to me and said "Nope". They decided that having that random element was a lot more interesting than a scripted event. I know a lot of people hate scripted events (I do too) but in this scenario it made the most sense.

   When you have a condition such as "Enemy can only be defeated by the falling chandelier" and "Chandelier will work properly some of the time". You really see a fundamental problem forming, and you don't even have to be a game designer to see that.

   You never want to purposely design a "No Win Scenario". The worst part about this chandelier fiasco is that it always has the chance of going wrong. These kinds of scenarios are cheap and frustrating. No one ever wants to play a game where you fail due to things that are out of your control. As designers we should try and take as much control over the game as we can so that we may create enjoyable obstacles for players to engage in.
"Nope." - Unknown Game Designer
Picture
   I heard from a few other people that my friend went ahead and showed off their level. As I predicted the chandelier sequence broke during the run through. In fact, they had to start over three times before they gave up and ended the walk through.

   Physics in levels can add a great level of unpredictability, but when it interferes with design it is best to stick to something that will almost certainly work, especially if it has something to do with a puzzle. The short and long of it is, know when you should have something scripted and when something should be random.​
​
- Danny Q
@Dannylv100
​

0 Comments



Leave a Reply.

    Dannylv100

       I am an Indie Game and Level designer, Consultant and host of Divercast.

    Space Image
    Picture

    Picture
    Picture
    Picture
    Picture
    Picture
    Picture
    Picture
    Picture

    Picture


    Submit a Question
    Picture
    Picture
    Picture

    Picture
    Dannylv100 on Twitch

    How to support Dannylv100

    Popular Podcast Episodes:

    Episode 21
    Episode 24
    Episode 25

    DLC Episodes

    Ep1 - Misc Movie Talk
    ​Ep2 - Gears 4 Impression
    ​Ep3 - A-plaque-alypse​

    Popular Indie Arcade:

    Indivisible
    ​The Night That Speaks
    ​Greedy Guns
    ​

    Popular Posts:
    Frosty's - Now on Itch.io
    How to make checkpoints....
    The Wanderer: A New Infe...

    Monthly Blog Archive

    WWP Appearance
    E3 Survival Guide
    ​Gears 4 - COG Hammerburst ​
    Knights vs Ninjas (Part 1)
    Halo 5: Warzone Accessibility 
    Halo 5: REQ Card Redesign
    ​
    New The Last of Us Enemy
    GDC 2014 Video Roundup
    ​Mass Effect 3: Tracker Class
    Mass Effect 3: DLC classes 
    ​Frosty's: Lost Levels
    ​
    Frosty's: Soundtrack
    ​Importing to UDK from Max
    ​Basic Checkpoints (UDK)
    ​
    Physics vs Scripted Events
    Picture

    Categories

    All
    Blog Post
    E3
    FF Level Design
    Flash Game
    Forge
    Forge Creation
    Freeze E Frosty
    Game Design
    Game Design Doc
    Gears Of War
    Halo 5
    In Defense Of
    Indie Arcade
    Indie Dev
    Iphone
    Iphone Game
    Itch.io
    Level Design
    Level Design 101
    Lost Chapters
    Podcast
    Steam
    Support This Site
    Thoughts
    Tutorial
    Twitch
    Udk
    Unity
    Youtube



    Archives

    September 2018
    August 2018
    July 2018
    June 2018
    May 2018
    April 2018
    February 2018
    December 2017
    October 2017
    September 2017
    August 2017
    July 2017
    June 2017
    May 2017
    April 2017
    March 2017
    February 2017
    January 2017
    December 2016
    November 2016
    October 2016
    September 2016
    August 2016
    July 2016
    June 2016
    May 2016
    April 2016
    March 2016
    February 2016
    January 2016
    December 2015
    November 2015
    October 2015
    September 2015
    August 2015
    July 2015
    June 2015
    May 2015
    April 2015
    March 2015
    February 2015
    December 2014
    November 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    April 2014
    March 2014
    February 2014
    January 2014
    December 2013
    September 2013
    July 2013
    June 2013
    April 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    November 2011
    October 2011
    September 2011
    August 2011
    June 2011
    May 2011

    RSS Feed

Powered by Create your own unique website with customizable templates.