[concept map] Tutorial

[concept map] Tutorial

Postby bonifarz » 31 Mar 2013, 22:39

This is another concept idea for a tutorial, hopefully not an entirely useless one: A timetrial map for offline use with a few triggers that successively unlock the various impulse moves and give you some instructions about each of them as they are enabled. I tried to keep the outline as simple and clear as possible.

There is absolutely no art on this map yet, so this is simply a concept to test the mechanics. This version does not include any texturing, lighting, decorative geometry and clipping, particles or sounds, and the hub area is just a placeholder. If you feel like adding any of these, you are explicitly allowed to do so. Also, I am not a native speaker, so the instructions may not always be as clear as they should be. For convenience, a dump of all those instructions is found below.

EDIT: Version 0.2 comes with the following changes.
  • Holo bots (mapmodels) that give you a clue where exactly to jump, boost, kick or slide
  • A replay file (Turorial.dmo). Put it in the demos/ subdirectory and play it with /demo Tutorial
  • Slightly different variables to disable impulse moves, thus some different ordering and instructions.
  • The wall running and impulse boost sections should be easier to complete now
  • First attempt to support custom key bindings in the instructions
  • Still no textures or art stuff whatsoever
Note: The demo for the sliding section is an epic fail, but I really did not have the patience to make a better one =)

Tutorial.0.2.zip
version 0.2 includes holo bots and a dmo (replay) file.
(215.97 KiB) Downloaded 381 times


Tutorial.zip
this one is version 0.1
(117.31 KiB) Downloaded 351 times


Here are the current triggers to copy/paste, they are usually not saved with the map.

{l Code}: {l Select All Code}
on_trigger_0 = [
  newgui Hint0 [
    guishowtitle
    guititle "^fy Welcome to the tutorial"
    guifont super [
      guilist [ guitext "^fw Here you can learn about all impulse moves and parkour techniques." ]
      guilist [ guitext "^fw This area consists of nine sections, each with a tutor NPC like me." ]
      guilist [ guitext (concat "^fw Talk to the other tutors using the^fy" (searchbinds "use") "^fw key to learn new moves and abilities.") ]
      guilist [ guitext "^fw The tutors will not only give you instructions, they also unlock those moves for you." ]
      guilist [ guitext "^fw The later sections introduce more powerful moves, but the difficulty curve should be flat." ]
      guilist [ guitext "^fw You can therefore try the sections in any order you like, " ]
      guilist [ guitext "^fw but keep in mind that moves from earlier sections will be reused without further explanation." ]
      guilist [ guitext (concat "^fw One last thing: If you get stuck somewhere, you can use the^fy" (searchbinds "kill") "^fw key to suicie.") ]
      guilist [ guitext "^fw You will then restart here, such that you can pick another section to proceed." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint0
]
on_trigger_1 = [
  newgui Hint1 [
    guishowtitle
    guititle "^fy 1: Impulse pace and impulse dash"
    guifont super [
      guilist [ guitext "^fw You certainly already know how to use the^fy WASD^fy keys to move and the mouse to steer." ]
      guilist [ guitext "^fw All of your impulse moves are disabled for now, except for the impulse pace and impulse dash." ]
      guilist [ guitext (concat "^fw Impulse pace (run) is on by default and can be disabled by holding the" (searchbinds "pacing") "^fw key (walk).") ]
      guilist [ guitext (concat "^fw If that is still too fast, you can hold the^fy" (searchbinds "crouch") "^fw key to crouch. ") ]
      guilist [ guitext "^fw Double tap a movement key ^fy(WASD)^fw to perform an impulse dash." ]
      guilist [ guitext "^fw You will need this move to get over a steep slope here, as you cannot jump yet." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint1
  jumpspeed 1e-5
  impulseallowed 5
]
on_trigger_2 = [
  newgui Hint2 [
    guishowtitle
    guititle "^fy 2: Basic jumps"
    guifont super [
      guilist [ guitext (concat "^fw Allow me to enable your next ability. Simply press the^fb" (searchbinds "jump") "^fw key to jump.") ]
      guilist [ guitext "^fw Note that jumping while on ground does not count as an impulse move." ]
      guilist [ guitext "^fw But that will be something to discuss later. So first, let us try some basic jumps." ]
      guilist [ guitext "^fw The gaps over there will give you an idea of the width and height you can cover." ]
      guilist [ guitext "^fw Do you see how slopes affect your jumping ability? " ]
      guilist [ guitext "^fw Well, go for it, and do not forget that timing is the key to success." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint2
  jumpspeed 110
  impulseallowed 5
]
on_trigger_3 = [
  newgui Hint3 [
    guishowtitle
    guititle "^fy 3: Impulse jump or vertical boost"
    guifont super [
      guilist [ guitext (concat "^fw Let us unlock your first impulse move, a vertical jump in midair using the ^fb" (searchbinds "jump") "^fw key.") ]
      guilist [ guitext "^fw This will only work if you release the^fy WASD^fw keys while falling or jumping."  ]
      guilist [ guitext "^fw Soon you will learn about other impulse moves, but we shall try this one for now." ]
      guilist [ guitext "^fw To get over those obstacles, you should know that running helps you to jump higher." ]
      guilist [ guitext "^fw Run... jump... impulse jump... that does not sound too complicated, eh?" ]
      guilist [ guitext "^fw Keep your eyes open for ^fbblue^fw hologram bots, they will help you time your jumps." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint3
  jumpspeed 110
  impulseallowed 7
  impulseboost 0
  impulsepower 0
]
on_trigger_4 = [
  newgui Hint4 [
    guishowtitle
    guititle "^fy 5: Impulse boosts or air dashing"
    guifont super [
      guilist [ guitext "^fw The ability we just unlocked is very useful and versatile." ]
      guilist [ guitext (concat "^fw While jumping or falling, hold one of the ^fy WASD^fw keys and press^fb" (searchbinds "jump") "^fw.") ]
      guilist [ guitext "^fw This results in a dash that propels you in the direction you are facing." ]
      guilist [ guitext "^fw To cover a wide distance, you should thus look upwards in a 45 degree angle." ]
      guilist [ guitext "^fw Alternately, you can boost forward to gain speed or even downwards to fall faster." ]
      guilist [ guitext "^fw Also, take a look at your impulse meter when impulse boosting. " ]
      guilist [ guitext "^fw Each impulse move will deplete some energy, which will recover over time." ]
      guilist [ guitext (concat "^fw One last tip: Crouching with ^fy" (searchbinds "crouch") "^fw allows the fastest impulse recovery rate.") ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint4
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 7
  impulseboost 1
  impulsepower 0
]
on_trigger_5 = [
  newgui Hint5 [
    guishowtitle
    guititle "^fy 6: Impulse slide and power jump"
    guifont super [
      guilist [ guitext "^fw These moves are not very commonly in use, but they can be quite interesting:" ]
      guilist [ guitext "^fw Sliding does not only allow fast movements, but also to crash into your foes to attack them." ]
      guilist [ guitext (concat "^fw Pressing^fb" (searchbinds "jump")"^fw while sliding results in a power jump, a rather difficult but powerful move.") ]
      guilist [ guitext (concat "^fw First, you should know that pressing^fr" (searchbinds "crouch")"^fw while holding a ^fyWASD^fw key causes a jump-lock.") ]
      guilist [ guitext "^fw You are then unable to jump, unless you release the ^fyWASD^fw keys, which then triggers a jump." ]
      guilist [ guitext (concat "^fw This can happen easily if you intend to slide, as you will need the^fr" (searchbinds "crouch")"^fw key to crouch.") ]
      guilist [ guitext "^fw One way to perform an impulse slide is to crouch while falling before you hit the ground." ]
      guilist [ guitext "^fw The other option is to crouch while standing and then double tap a^fy WASD^fw key." ]
      guilist [ guitext "^fw To get past the last obstacle, you will need to look up while performing a power jump." ]
      guilist [ guitext "^fw The ^frred^fw holo bots over there give you an idea where to slide." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint5
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 7
  impulseboost 1
  impulsepower 1.5
]
on_trigger_6 = [
  newgui Hint6 [
    guishowtitle
    guititle "^fy 4: Vaulting or ledge grabbing"
    guifont super [
      guilist [ guitext "^fw Let us enable your first parkour move, the ability to vault." ]
      guilist [ guitext (concat "^fw All parkour moves are performed using the^fg" (searchbinds "special") "^fw key and use impulse energy.") ]
      guilist [ guitext (concat "^fw Simply hold^fg" (searchbinds "special") "^fw when an obstacle gets in your way that is not too high for vaulting.") ]
      guilist [ guitext "^fw There also holo bots to help you time your parkour moves. Their color is ^fggreen^fw." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint6
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 15
  impulseboost 1
  impulsepower 1.5
  impulseparkourkick 0
  impulsekick 1E-5
  impulsekickdelay 350
]
on_trigger_7 = [
  newgui Hint7 [
    guishowtitle
    guititle "^fy 7: Impulse kicks or wall kicks"
    guifont super [
      guilist [ guitext "^fw Let us proceed with your second parkour ability, the wall kick." ]
      guilist [ guitext "^fw This section may be a bit more difficult, as kicks can be tricky to execute. " ]
      guilist [ guitext (concat "^fw Pres^fg" (searchbinds "special") "^fw when touching a wall to propel yourself away from the surface. ") ]
      guilist [ guitext "^fw If you are facing the wall (normal vector), the kickpush will be in a horizontal direction." ]
      guilist [ guitext "^fw As you look upwards or downwards, the angle of your kick will get steeper." ]
      guilist [ guitext "^fw Looking either up or down vertically will kick you straight upwards, keeping you close to the wall." ]
      guilist [ guitext "^fw Each wall kick will allow you to perform one additional impulse move, such as boosts or jumps." ]
      guilist [ guitext "^fw However, you cannot perform more than six impulse moves without touching ground again." ]
      guilist [ guitext "^fw To get past the obstacles here, you will need to use jumps and kicks in tandem." ]
      guilist [ guitext "^fw Remember that impulse boosts at a 45 degree angle will cover the widest distance." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint7
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 15
  impulseboost 1
  impulsepower 1.5
  impulseparkourkick 1.3
  impulsekick 1E-5
  impulsekickdelay 2000
]
on_trigger_8 = [
  newgui Hint8 [
    guishowtitle
    guititle "^fy 8: Implulse skate or wall running"
    guifont super [
      guilist [ guitext "^fw Wall running is probably the most important parkour technique." ]
      guilist [ guitext "^fw So if it is that useful, why did we not tell you about that in earlier sections?" ]
      guilist [ guitext "^fw The answer is simple: You could have passed many obstacles without using the other moves." ]
      guilist [ guitext (concat "^fw You can press^fg" (searchbinds "special") "^fw while jumping or falling close to a wall to start wall running.") ]
      guilist [ guitext "^fw Remember that if you face the wall, you will perform an impulse kick instead." ]
      guilist [ guitext "^fw Wall running is not a continuous process, but consists of repeated impulse pushes." ]
      guilist [ guitext "^fw Keep in mind that you cannot use more than six impulse moves without touching ground." ]
      guilist [ guitext (concat "^fw Pressing^fb" (searchbinds "jump") "^fw while wall running performs a wall kick, which in return allows another boost.") ]
      guilist [ guitext "^fw A quick succession of kicks and boosts can grant incredible speed, but depletes your energy quickly." ]
      guilist [ guitext "^fw Running on a wall smoothly is usually preferable and will cover a wider distance." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint8
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 15
  impulseboost 1
  impulsepower 1.5
  impulseparkourkick 1.3
  impulsekick 150
  impulsekickdelay 2000
]
on_trigger_9 = [
  newgui Hint9 [
    guishowtitle
    guititle "^fy 9: Wall climbing"
    guifont super [
      guilist [ guitext "^fw The last ability I can unlock for you is a move to climb walls. " ]
      guilist [ guitext "^fw Technically, this is just a sequence of vertical wall kicks, as described in section 7." ]
      guilist [ guitext (concat "^fw Thus you can either look straight upwards or downwards near a wall and then hold the^fg" (searchbinds "special") "^fw key.") ]
      guilist [ guitext "^fw The actual height you gain is limited by the number of kicks you can perform, which equals six." ]
      guilist [ guitext "^fw If your angle of view is not precisely vertical, this will result in inefficient zig-zag moves." ]
      guilist [ guibutton "^fw Click here or press ^fyEsc^fw to close this window." [cleargui] ]
    ]
  ]
  showgui Hint9
  jumpspeed 110
  impulsejump 1.1
  impulseallowed 15
  impulseboost 1
  impulsepower 1.5
  impulseparkourkick 1.3
  impulsekick 150
  impulsekickdelay 350
]


As usual, constructive feedback is welcome.
Have fun.
Last edited by bonifarz on 07 Apr 2013, 17:14, edited 1 time in total.
User avatar
bonifarz
 
Posts: 379
Joined: 09 Apr 2012, 12:16
Location: switzerland

Re: [concept map] Tutorial

Postby TheLastProject » 01 Apr 2013, 00:24

This is WAY better than the tutorial map I made. The "tutor NPC" thing is probably a nice idea. However, I do have some complaints:
1. Disabling of impulse moves
I have read the explanation the tutor NPC gave me. However, I personally doubt if this is a good idea. Until the player gets to the last part, the player is learning the game in non-standard environments. Players who leave the tutorial early will end up being more confused than helped by it.

2. The length
Both the length of the text as the length of the tutorial are quite long. We're dealing with shooter players here, an impatient bunch. Many will skip these dialogs for their length and complain about the game being "too hard" (sounds stupid, is stupid, but is unfortunately quite likely to happen).

3. The difficulty
Near the end of part 9, I couldn't finish the tutorial. I know, I'm a terrible player, but if I can't do it, how many new players are going to succeed?
All in all, the tutorial is slightly too difficult. A lot of the things are "edge cases" between succeeding and failing. They should be easier for beginners, as it is a tutorial, not a "perfect your skills" mode.

4. The confusing start
I suppose this will be fixed if things are more clearly, but at the beginning I was quite confused as to where to go. I also expect a lot of players to grab a random door, which is probably not desirable.

All in all
All in all, this tutorial does have great potential. And whoa, is it better than mine...
Hats, Afros, wings and raptor feet. This game is showing progress indeed.
TheLastProject
 
Posts: 432
Joined: 06 Nov 2011, 17:04

Re: [concept map] Tutorial

Postby bonifarz » 01 Apr 2013, 11:17

Thanks for your detailed feedback.

First of all, I am quite curious about your tutorial, can you point me to a server where this one is available or provide a link with more information? (EDIT: All I found is this topic ... EDIT: Ah, there it is.)

Second, I highly recommend to take a look at the ParkourTraining by [RM]Temka. I think this one is perfect to give a clear and quick introduction to the basics. Personally, I find there is a wide gap to the more advanced movement techniques, so my intention was to give a hopefully complete description for all moves. Of course, things gets a little lengthly, so this is maybe more of an in depth guide than a tutorial for getting started.

Disabling abilities: Well, this is the key concept here, and it has its downsides for sure. My goal was to avoid death material here to slow down the pace, so players do not die and respawn all the time. However, if you want to enforce the use of certain moves without disabling those moves with better mobility, the map layout and challenges get a lot more difficult and probably rather frustrating.

Difficulty: As usual, this is hard to estimate. I already tried to tone down some trickier parts, like the wall kick section, such that there is some room for mistakes. But if you want to give people a feeling for the range of each move, things easily get difficult to time for new players indeed. A hint for the final obstacle: Try some wall running as you fall down to the lower ceiling.

Start/ hub area: Yeah, the geometry near the player start entity is really a placeholder for now. This part can be designed in any way you like, and the layout should make it clear which teleporter points to which section, probably using some text on the wall textures. I think it is quite important that players can skip a section any time and explore whatever parts they like. This should avoid frustration when you get stuck somewhere and allow you to go through the sections in multiple short sessions.
User avatar
bonifarz
 
Posts: 379
Joined: 09 Apr 2012, 12:16
Location: switzerland

Re: [concept map] Tutorial

Postby greaserpirate » 04 Apr 2013, 04:23

I like it. The explainations were clear, and it seemed a lot more free and less forced than other tutorials.

Here are some suggestions:
-Put numbers (or descriptions) above the doorways, this should eliminate any confusion.
-I can understand the rationale for disabling impulse for several of the other lessons, but taking away jump and making the player use only WASD for the first lesson just seems tedious. Remember, the players just want to learn and test their new knowledge out, so there's no reason to force them through excercises. If they want to try the moves out, they will.
-Special textures like the ones used on Testchamber to indicate where you should use parkour could really come in handy, especially on the wallrunning part (which took me a while to complete).
-Could use some prettying up. (Of course, this isn't really important, at least not yet.)
-This is just an idea, but maybe you could have a trigger that executes /demo for a runthrough demo? It could really come in handy for players to see the moves performed as well as described.
-Optional: one of the things I really liked about Temka's tutorial was the 'playground' area where players got to freely go around and test things out for themselves. Would you like to include one as well?

In any case, this is a good tutorial and a huge improvement over the last one. This could really be useful to new players, and I can see this map, or future versions of it, fulfilling our need for a tutorial very well.

Friendship is Magic Voice Chat Mod
(Map) Trespass
(Map) Suspended
Find out more about >DOOM< here: www.redoomclan.tk
User avatar
greaserpirate
 
Posts: 350
Joined: 22 Jun 2011, 18:23

Re: [concept map] Tutorial

Postby bonifarz » 04 Apr 2013, 07:28

Thanks for your comments, Greaserpirate.

I am glad that you confirm some improvements compared to my previous attempt.
I fully agree with most points you made, especially the inclusion of a demo will be a very useful addition.
If you have any idea how to train the impulse dash technique that does not rely on disabling jumps, I will gladly replace the first section accordingly. I admit that disabling jumps feels very odd, it was just the only solution i found. As for the wall running part, was it very annoying to run back? I wanted to avoid confusion with pushers or teleporters that put you back.
As for the textures and decorations, the suggestions are very reasonable, I just did not include any of that to keep it clean in case someone wants to pick this up. "Prettying up" will be a very important aspect in the end, of course.
User avatar
bonifarz
 
Posts: 379
Joined: 09 Apr 2012, 12:16
Location: switzerland

Re: [concept map] Tutorial

Postby bonifarz » 05 Apr 2013, 12:29

Tow observations:
1) Kicks with zero push still allow you to boost again, so there are actually plenty of shortcuts (just spam Q and space to climb up walls). I will therefore change all early sections to impulseallowed 7, which means that the vaulting section will have to be placed after all jumping, boosting and sliding.
2) I just realize we have some wonderful new support for proper pitch, yaw and roll angles on the mapmodels, and the player actor even bends ("aims") according to the pitch. I think placing collision-free mapmodels on the map will be quite helpful to give players a clue when to jump, look up or wallrun.
Conclusion: I will revamp the entire thing and edit the header of this topic when done.

EDIT: Header updated for version 0.2, for details see the section with the ...
  • bullets
User avatar
bonifarz
 
Posts: 379
Joined: 09 Apr 2012, 12:16
Location: switzerland

Who is online

Users browsing this forum: No registered users and 0 guests

cron