Affordances in High Fidelity Environments or Why I Liked Tomb Raider Better Than Uncharted

I wrote a review of Rise of the Tomb Raider for

In the process, I went back and read my Uncharted review. I played Uncharted really late, and I actually didn’t much like the first Uncharted when I played it. On the other hand, I liked the Tomb Raider reboot and its sequel quite a bit. This is despite the fact that, as I mention in my review, they use more or less the same game format as the first Uncharted. So what’s different? I spend a quick paragraph on it in the review but I want to examine in a more rambling fashion this idea of environmental affordance. I think it’s an important component of modern game environment design.

I’m one of the rare gamers that has written some stuff critical of Final Fantasy VII. Just this week I read this article about the remake trailers, written by Brendan Keogh . I think it’s interesting that he talks about how FFVII “leans into its technical limitations” because I’ve always found the art direction in FFVII uneven for this very reason. Sometimes the environments were so high fidelity in dungeons compared to my weird little block character that it wasn’t even clear where I was able to walk. Fortunately, the designers of the game knew this, and allowed an optional waypoint graphic to appear when needed. This was a trend-setter for many years to come.

In the modern days, we have “Detective Mode.” This is most famous from the Rocksteady Batman games, and in the first game, Arkham Asylum, it’s so useful that it’s basically pointless to even turn it off. Tomb Raider has a similar vision mode called Survival Instincts. It’s balanced by the fact that the player can’t leave it on while in motion and it only flickers up for a brief time. That is, unless you disagree that it is balanced at all. I’ve seen some people such as Andrew Reiner here write that the mode makes the game a bit too easy.


Tomb Raider/Rise of the Tomb Raider do another thing that’s good, though, and make objects in the environment that  can be interacted with very similar in appearance. Any tree in Rise of the Tomb Raider that I can climb looks like every other climbable tree, with a flat bit of exposed wood under the bark and some obviously stripped branches. Rock walls suitable for using the climbing axe all have the same pocky-looking bump map. And most ledges Lara can hang from have a slight white highlight on the top edge, usually a streak of paint, though sometimes it’s just a patch of snow or a trick of the light. This may not be realistic, but I don’t care. It’s a price I’m willing to pay for it being really obvious what I can and can’t interact with in the environment. This part of the game’s texturing is consistent enough that I rarely needed the Survival Instincts to figure out a traversal path, though it was useful occasionally, especially if the way forward wasn’t immediately clear.

Consistent assets help out with affordances as well. There are a few traversal methods later in the game that require objects. If there’s a place I can axe-grapple and swing, the hook that I need to hang from always looks very distinct. The weights and cranks used for puzzle solving are always similar-looking assets as well. This is probably convenient for the developers in that they can re-use the same environment assets from time to time, but it’s also incredibly useful for gamers in that an axe crank always looks like an axe crank. This way I can get to figuring out how to solve the puzzle, instead of just milling around trying to figure out which part of the puzzle is the interactive part.


These two factors combined make me wonder how the game would play without the Survival Instinct vision. But overall I found the vision mode just too useful to live without, especially when finding collectables or enemies in the environment. I think overall, Rise of the Tomb Raider would be a terrific game to study for a basic primer in how to make environments read clearly even when they’re dense with information. This kind of stuff means the difference between a game I enjoy, versus a game that makes me want to tear my hair out in frustration.

Quick Events Update

Just a reminder that I am heading to Grace Hopper Women in Computing starting tomorrow! On Wednesday, I have a panel with three other amazing women! Here’s details:

Hope to meet lots of great new people! I intend to post some video content about this trip too, schedule permitting.

For more information about my other travels, please view my Events calendar, which is updated with all my upcoming plans! I’m looking especially forward to our HoloLens event in Atlanta (which may be sold out already) and upcoming Windows 10 events! And next year… I’ll be back at MAGFest (and I may plan to cosplay).

Cooking with Dungeons & Dragons (2)

Following up on my previous adventures, I’m cooking recipes from Leaves from the Inn of the Last Home when my D&D group comes over to play.

This month I just cooked one recipe – the first one in the recipe book – Gully Dwarf Stew!

Gully Dwarf Stew calls for a lizard, because Gully Dwarves, but adds that you can substitute beef. I did, and a lot of it, because I had a whole party of adventurers to feed! The recipe itself is really simple… just toss a lot of stuff in a pot and cook it. The instructions are written in a kind of cutesy way though (again, because Gully Dwarves). As you can see from the header image, before cooking, it looks really lovely and colorful!


After cooking, it breaks down a lot. It was a very delicious stew and the group responded really well to it!

I made two changes to the recipe as written – I used a carton of beef stock instead of water + bullion, since that’s how I roll. I also dropped one potato, because the stew seemed really full with just two in there. They do disintegrate a lot, though, so adding three as instructed might not really be a terrible idea.

Yum! We have no D&D game in October, so I’ll post more later. We’re also planning a nerdy Thanksgiving feast this year (to watch Mystery Science Theater 3000 Turkey Day, naturally). Looks like it’s time to add a food category to my blog…

How to Make your First Windows 10 App

Because Windows has been slowly transitioning from one app model to another, I found it tricky at first to find Windows 10 specific resources. I started playing around with the Windows 10 specific universal app creation tools recently. Now I’m creating this quick guide to help you make your very first simple Hello World app targeting Windows 10. Hopefully you’ll find this quickstart useful, and then you can move on to using some more complex samples to create more complex apps.

1. Open up Visual Studio 2015. (Community 2015 here is free.)

2. In the file menu, choose New Project – > BlankApp Universal Windows.

3. Name the new project HelloWin10. At least, that’s what I did. What you name things initially in XAML is important because references use exact names and if you can’t keep track of names things will be broken. So be sure that whatever you call it you’re comfortable with still using it throughout the project. If you choose to call it something else, make sure that you replace any references to HelloWin10 in the code below.

4. In your MainPage.xaml.cs have this code:

using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;

namespace HelloWin10
public sealed partial class MainPage : Page
public MainPage()

private void HelloButton_Click(object sender, RoutedEventArgs e)
DisplayText.Text = "Hello, world";

5. In your MainPage.xaml have this code:

<Page x:Class=”HelloWin10.MainPage”

<Grid Background=”{StaticResource ApplicationPageBackgroundThemeBrush}”>


<Button Content=”Click Me” Click=”HelloButton_Click” />

<TextBlock x:Name=”DisplayText” FontSize=”48″ />




6. Test your app by clicking the green arrow or going to Debug. An app screen should appear (if you are on Windows 10). Here the Click Me button calls HelloButton_Click so it displays the text Hello World.

Yeah, so it’s not much of an app, but you gotta start somewhere. In the future I’ll make some more robust apps using data from the web and from Azure and show you those processes too. I’m working out of these files on GitHub and I’ll create a few branches. If you see that the code on GitHub has a little more in it than just Hello World, that’s because I’ve also integrated Template 10 by Jerry Nixon which has a few additional features. It’s not necessary to get started, though!

For learning more about C#/XAML, check out Virtual Academy.

Cooking with Dungeons & Dragons

We’ve started a new D&D campaign at home. I’m not the GM this time, which frees me up to do lots of other projects and just play along.

Last week I looked on my bookshelf and realized I still had a nicely worn copy of Leaves from the Inn of the Last Home, a this-and-that miscellaneous guide to the D&D world of Dragonlance. The book contains music, short stories, poetry, and — critically — recipes, in a chapter called “Tika’s Cookbook.” I recall that when I was younger, all but the simplest recipes were dismissed as too tricky for a preteen to cook. There were a lot in there that I hadn’t tried. Now that I’m fully grown, have my own kitchen, and I’m having people over once a month for D&D… why not give this stuff a shot?

Hence, my new miniature project: cooking my way slowly through the recipes from The Last Home. (And the other books like it, if I can find them.) So here is a journey through “wow, is this book really more than 20 years old?”

This week for the D&D group I cooked:

Fizban’s Fireball Chili

If you think about it at all, Fizban is the worst sort of D&D character. He’s “the GM’s NPC,” a character who is both simultaneously all-powerful and can do anything, but also hilariously bumbling, so he gets himself into scrapes just so the PCs have to do something about it, but it’s actually clear he could have handled it himself all along if he’d felt like it because he’s basically god. Sorry, spoilers.

The chili named after him is supposed to taste like a fireball.

The dish actually isn’t complex; it merely takes time. Get a bunch of stew meat, dump a list of spicy ingredients on the meat, and marinade for about two days. Then stew. It kind of looks like a big red pot of Hell at first.


I didn’t follow the recipe exactly, because it calls for an entire jar of Tabasco for every pound of meat. I was tripling the recipe, and only scared up two jars of Tabasco. I substituted the rest with Frank’s Red Hot and also added about a tablespoon of chili powder instead of just paprika. Later, I realized I also had some fresh jalapeño and half a yellow onion sitting around. The original recipe had no vegetables in it, but onions and peppers are great in chili so in they went.


After marinating it looked appetizing. After stewing it basically disintegrated, so it didn’t look as attractive, but it was very good. It was, however, a bit too hot for some guests (hubby and I thought it was just right, but we’re used to Indian food). The suggested serving is to put it on flatbread with a bit of sour cream and this turned out quite well.

Still, since I made some changes, I didn’t quite exactly make Fizban’s Fireball Chili. Oh well, I made a tasty thing. Fizban is a dumb character anyway.

I also made

(Kender) Kiffles

This is a type of fruit-filled cookie that is actually more like a miniature hand-pie. I’m not reproducing any recipes for copyright reasons, but, if you can get your hands on the book these are a high recommend. The basic step is to make a pie dough, then fill it with fruit jelly. I chose apricot and blackberry and both were terrific. I think the recipe would even work with other pie fillings like lemon curd or chocolate pudding.


A couple warnings about the recipe – it says to refrigerate the dough “2 hours or overnight.” I went with overnight and found it really hard to work the next day. I understand the point of chilling a butter-based dough, but maybe the two hours is just fine. Or leave it out on the counter for an hour or so before trying to work it. It’s super stiff and hard to roll out when very cold.

The recipe says it makes five dozen cookies, but either that’s a typo, or the original authors rolled these out much thinner than I did. I was lucky to get about two and a half dozen. Fortunately, this was enough for my group.  I did make mine slightly larger than recommended (I have a 3.5 inch rather than 3 inch round cookie cutter) but it still seemed like a big discrepancy.


Thanks for joining me on this small interlude about some of my other hobbies. Gaming and Cooking for the win!

If you got this far, don’t forget to check my Events calendar for updates today. Tomorrow I’m speaking at Philly Game Works! I’ll also be at PennApps again this year!

I Started a Video Blog!

I started a new video blog on Channel 9 at MSDN. I’m going to try to post at least every other week with a video about gaming, IoT, or just some technology I’m working with. Hopefully it will give some people more ideas for fun projects.

Check it out here with my first entry, which is a very basic 100-level demystification of Kinect. I link to more advanced Kinect content too.

Please check it out! I’m gonna work a bit on the logo and branding but I wanted to get started with videos.

Amanda Lange’s Video Blog

Also, in the video, I mention you can get a Kinect adapter to hook up your Xbox One Kinect to a PC. That’s this cable here:

Here is the link for Kinect 2.0 SDK:

Happy developing!

Spouse Alert – a Useful IoT Hack

During this week I participated in a Hackathon to increase my own skills and work with my work team. I decided to do a quick project using the Particle Core!

A lot of times during the day my husband wears headphones and it’s hard to get his attention. I thought it might be fun to create a flashing light device that gets his attention whenever I needed him. I set it up with a few different color functionalities, and used the topper from our wedding cake to set the Particle Button inside. The Button has a ring of muti-colored LEDs that can be activated with the use of a simple API call.

I used a fork of the basic Button code, which is on my GitHub here, and created the “SpouseAlert” script. Using Particle Build, I then flashed the code to my device.  Here’s what the chip looks like with the lights on and flashing (red, in this case)


Then I wrote a short Web App to activate the different lights. Using the Windows Voice Commands QuickStart I was able to create an app that could be activated either by clicking or by voice. If I say “Particle, Spouse Alert!” it will open up the app page with the appropriate alert selected.

Here’s the app – it’s pretty simple but it gets the job done. And yes, I used a phone to take a picture of a phone…


I can also activate the lights using a call to Yo. Yo is a silly app but it does something simple – sends a “Yo” message to a person or thing. That means it’s pretty fast if you want to send a “Yo” to an object. In this case, I’m activating the call to Yo with If This, Then That. I learned about this trick from David Washington, whose Super Bowl touchdown light project was an inspiration for me to try the Particle Button!

After putting all the code together, I fit the Particle Button underneath my wedding cake topper. Yes, I saved it all this time… all I had to do was carve a couple holes in it for the wiring. Here it is lit up!


Now when I activate the app it uses a few different patterns of bright lights to send an alert. I hope it’ll help out with communication for us for a while! I think a device like this would also be useful for people whose spouses are hard of hearing. Different colors and flash patterns could be used to send different quick messages, and you don’t even have to be at home!

Hopefully soon I’ll post a tutorial for interacting with the Particle on Channel 9. Also, I’m teaching an Intro to Particle at Walnut Street Labs’ iSchool in September! You can join me the evening of September 9 and I’ll show how to get started with Particle and make simple experiences like this one!


Philly “Move Your Body” Game Jam

The game jam at Philly Dev Night this month was a huge success! I was really happy to be able to sponsor such a cool event and participate in playing all the games!

The secret theme that we announced at the event July 2 was “Move your body.” This year I’ve gotten really interested in gamifying ways to get fit, between Xbox Fitness and Fitbit… and I was wondering what other great movement-based game ideas that people would have. Microsoft sponsored by catering the game showcase on July 16. Here’s a look at some of the games!


The crowd favorite game (by popular vote) was Headbanger. Headbanger consisted of an iPhone attached to a long-haired rock ‘n’ roll wig. Music played (through hooked up speakers, so the crowd could also hear) and the headbanger player had to bang his/her head in time with the music. Pictures were hard to take because the headbanging was so fast and furious!

Up close: a scrambled brain

Up close: a scrambled brain

Dancing Master used up to four Xbox 360 controllers to control feet on the screen and step in time with music. The twist is literally twisting…. The controls for the game involve using one stick and set of shoulder buttons, on each side of the controller, for each foot. It was surprisingly difficult to get things to line up! But it had a great selection of music and was fun to watch.

A few games were on the iPad – one rolling ball demo involved holding the iPad still to avoid the ball onscreen rolling off. Drumandala was developed as an iPad or PC game, but worked better on the touch screen, using fingers to tap shapes in a shooter-like, but zen, atmosphere.

One jammer took the theme “Move your body” literally, and made an adventure/stealth game about how to most effectively hide a corpse. This was improved by the addition of sloppy awkward ragdoll physics on the corpse… oh, and Will Stallwood’s photograph attached to the head for an ounce of realism.


A couple of non-digital games were also displayed. Jake O’Brien called his game entry  Sight is Over Rated. Two teams worked together, with one blindfolded member and one member telling the blindfolded teammate how to move. The object of the game was for the blindfolded team mate to pick up cards from the table while avoiding an obstacle course of cups.

Safari Sock Hop was another purely analog game, involving pantomime to music. Cards handed out to two two-person teams told them what animal to mimic, and what type of dance they should do while pretending to be that animal. Here’s a tap-dancing octopus, for example:


My personal favorite game of the jam was Cipher Prime’s game, which was just called Bodies. This game encouraged all the players to get up and walk around the city, several blocks around the building. Their smartphones would give them a “hot and cold” interface when they were close to a point of interest, and then when they were close enough, a riddle appeared onscreen. If they took a photograph that matched the answer for the riddle, they got a point. Cipher Prime wants to eventually expand this game to allow people to create customized geotagged scavenger hunts for each other.


I was really proud to take part in this jam. The games were great and there was a ton of energy! Thanks to Philly Dev Night for a great time! For the curious, Dev Night does game jams monthly! Just check the schedule at


Amanda Lange's Blog