Sunday, April 20, 2014

Mountain Climber Dev Log 04: The Measure of a Mountain Climber

April has been a busy month for me, but I finally carved out a weekend afternoon to implement some new features: win/loss conditions and stamina.

Click here to play the latest build. I recommend trying it in fullscreen mode by right-clicking the Unity player and selecting "Go Fullscreen".

The first change you'll probably notice is that the picks are different colors and there are matching semi-circles around the cursor. The different colors are to help players keep track of which pick is associated with which mouse button. The semi-circles are individual stamina meters for each pick. You'll notice they drain when you've got a pick pinned to the wall. They slowly recharge when not pinned, and if you're standing on a stable surface, they recharge quickly. If a pick's stamina meter runs out completely, that pick will become unpinned from the wall, which typically causes you to fall to your death.

Oh, that's another thing: you can now fall to your death. The game currently just prompts you to return to the main menu, but the important thing is that you can now lose the game. You can also win the game by climbing to the top of the mountain. The game even tracks how long it took you to summit the mountain, starting from when you first step off of the ground below. My best time is 37.625 seconds. Can you beat me at my own game? Post your best time in the comments below.

Although all of these new features are still pretty unpolished, this is an important step in the prototype's development. Going forward, win and lose conditions give me some concrete heuristics for tweaking the player movement and terrain generation. When I make a change, I can measure its effect on the game quantitatively: does the new jump height result in faster times? Do steeper slopes on the terrain result in more fatal falls? Better still, this new quantitative game data can be gathered from playtesters instead of from my own playthroughs. How often do new players fall and die? What is their average time on a successful summit?

Going forward, I'll be soliciting playtests from new players and using my observations to decide where to focus my efforts. In fact, that bit where I challenged you to beat my time was a not-so-subtle effort to get more people playing the game. I'll probably subject some unsuspecting folks to in-person playtests, too.

Finally, I've been thinking about this project (and being distracted by ideas for new projects), so I figured I'd share my thought process. I fully intend to finish and release this game, but the question is what "finished" looks like. Some open questions:

- What would a bare-bones version of the game look like?
- What would a fully-realized version look like?
- How fun is the game, as is? How fun do I think it could be if I add a bunch of new features? In other words, what is the potential of this project?
- How much am I enjoying working on it?
- Shall I decide on a finished state for the game and work on it until I reach that state, or set a deadline for myself and work on it as much as I can until then?

I'd love to hear your thoughts, particularly on the "how fun is the game" question!


  1. The game is interesting and unique, and I like the atmosphere a lot. Unfortunately, I can not attest to how 'fun' the game is, as I am playing on a laptop, and i can only hold the left or right mouse exclusively at a time, meaning the game won't work.

  2. Ah, good point. I'd made the assumption people would play it with a 2-button mouse, which obviously isn't always the case. Anyway, thanks for checking it out!

  3. Hey Pat, I played this a little bit this morning, and here are my quick bits of feedback (note this is my first time playing, I have not tried out earlier versions of the prototype):
    -I wished there were more natural flat surfaces I could use as midterm goals as I went up the mountain. It was always a super hectic climb, but I kind of just wanted to get halfway up the mountain and enjoy the view for a second, contemplate my next path up the mountain, and continue on.
    -the ability to fall to your death definitely adds some important tension to the game. I think the danger is absolutely necessary and is having the right effect on the experience.
    -The differing colors on the axes and the stamina UI seem to work well. I would highly recommend making the meters a little bit larger.
    -It seems like the core of having to manage these two stamina bars is a good one. I think before moving onto other stuff it might be worthwhile to deep dive and polish this part of the experience up. I'm sure it's all stuff you have already thought about, but the things that come to mind for me that will be important: add in some sort of visual cue that warns the player when they are getting low on each side of the stamina bar. Have the bar or some other part of the ui change when the axe is embedded vs free (maybe scale up the bar UI in size when connected, so players will draw their eye towards it?), etc.
    -I wish the jump function could be used more intentionally to help boost me up the mountain, or swing me left to right. It seemed to impact my movement in some ways, but I could never really figure out how and when it worked (maybe it is just a feedback problem vs anything wrong with the mechanic?)
    -I don't think I would be as motivated by speed as a primary goal personally, but it definitely is a good simple goal to introduce to give something for players to focus on in the prototype. But from my short time playing, I just wanted to get to the top, and then I wanted a brand new procedurally generated mountain to try and climb next. This might be out of scope for what you can build, but what I'm most intrigued by is having a bit more of an exploratory element to the game. I.E. think more myst/skyrim in feel vs a racing game. Could you overlay a mystery/"story" element to the game? (going to the mountain to recover the remains of a fallen crew, figure out what happened to them; hidden caves, notes to loved ones, voice logs, etc)
    -As I played, a few random ideas popped into my head (again, I'm sure you've thought of a lot of this stuff, just haven't gotten to implementing): frail ice that breaks and disconnects you unexpectedly, hard stone that you can't pick into).

    Overall it's a super intriguing concept, and I love how simple and focused the core mechanic already is.

  4. Really great feedback, Scott. Thanks!

    My next goals will be to polish up the climbing experience and the terrain generation, so hopefully I'll address a lot of your critiques soon. I'm glad to hear you like the stamina mechanic-- folks at the game design meetup have been suggesting that to me for some time, so I finally threw it in this weekend. It took about 15 minutes to implement and about an hour and a half to get the damn semi-circle meters to display properly. You're right that they could use some polish though.

    A lot of your suggestions were indeed things on my to-do list, but that just reassures me that they're worthwhile tasks! I'm intrigued by your comment about speed as the primary goal. My eventual intent is for a time challenge to be a secondary goal for expert players, but I threw it in because it's so easy to implement. I wonder if it colors the feel of the prototype unduly. Maybe I'll take it out for the next build and replace it with an "endless mode" that just keeps generating new mountains. That's closer to the metagame I'd envisioned anyway.

    Thanks for checking it out!

  5. Really cool concept, and the atmosphere feels great. However, I played it for 10 minutes or so, and I could barely get anywhere! I guess this is where in-person play tests come in, and I'm interested to hear if other people had the same problem. Here are some random thoughts that I was having while playing it:

    - When you step back you realize how small the mountain actually is - it would be cool if the mountain was endless and the "top" was some recognizable goal or "base camp", with a fog layer obscuring the true height of the mountain.
    - The stamina meter is cool, and that combined with the fear of falling to your death makes for great tension.
    - I wasn't always clear on what I could climb and what I couldn't - it seems like there was some bugginess with what the game would consider close enough to climb, and sometimes I wouldn't be able to terrain that was right in front of me. Sometimes I would be on a roll, really getting into a rhythm - left, right, left, right - and then I suddenly wouldn't be able to climb anymore.
    - It reminded me of QWOP a bit which is cool.
    - I could see this being a fun 2-player "race" experience.
    - Can I get a Yeti in there somewhere? I just really want to scale a cliff, peer over the edge, straight into the cold, dead eyes of a Yeti who then flings you to your death. OR maybe he gives you a magical elixir that refills your stamina. Twist: The elixir is actually Yeti pee.

    Ok I'm out of actually useful feedback so I'll leave it there. Look forward to seeing more!

    1. Thanks for checking it out, Dustin! Yeah, the mountain in that build is tiny so I could quickly climb it and test the win/loss conditions. I'll generate a gigantic one for the next build. :)

      The bugginess with the "climbing range" is interesting! As far as I know everything is working as intended, but the fact that it feels buggy is telling. I've got some code that holds the player out from the points they're currently pinned to so the collision capsule doesn't get caught on protrusions, but maybe it's pushing TOO far out so the "usable range" of the picks is easy to fall out of.

      Also, one of the really low-priority goals was to actually add a yeti. No joke. :)

  6. 41 seconds to the top
    It's turning out great Pat!

    I like the timers/stamina you put on hanging. It makes climbing a fun challenge. I'm not sure about having two separate timers on each hand. Gameplay wise it didn't seem to change my climbing strategy. Possibly jumping could share the same stamina bar (or get its own), because currently there seems to be no reason to not spam jump all the time.

    Looking forward to the next post!