Wednesday, January 16, 2013

Monkey Testing

It is hard to find bugs in software you have written. A developer is always conditioned to the way the software its built. The scenarios that you will test are only those you anticipated. It is like playing chess against yourself.

When it comes to a fresh point of view, nothing can rival an actual monkey. Monkeys are guaranteed to exercise every bit of interface you expose. Now monkeys are hard to come by. If you lack one the next best thing is a two-year old human.

I have two-year old twins girls, so I decided to give it a try. It was surprisingly easy to get them to play with the software. (I did tell them there was a pretty bird hiding somewhere in the trees.)



 

Did they find any bugs?

They found several bugs I had not seen before. Most were about camera collisions, and there was one really nasty synchronization bug with a garbage collector. That bug alone was worth the experiment.

And there is also proof you can advance a software project and look absolutely adorable in the process.

22 comments:

  1. My daughter is just about to turn two. I'll have to keep this in mind :)

    ReplyDelete
  2. It took me a second to figure out what was going on with the upside-down camera...

    I love how she lets go of the mouse at 1:07. You practically hear her thinking, "What is going on? Maybe it will do something interesting if I just let go!"

    I'm pretty sure my 2 year old son would not have been as patient as your daughter was :)

    ReplyDelete
  3. D'awww. However, you are now obliged to put in pretty birds. how about a particle effect you get when being close to some of the trees?

    ReplyDelete
  4. Your minecraft clone should definitely feature a reverse upside-down world.

    ReplyDelete
    Replies
    1. "Clone" ?
      It seems to me that it's way more than that.

      Delete
  5. AGH! Your daughter's hand is so cute I just wanna (lightly...maybe) punch her little fist!

    ReplyDelete
  6. She seems to get better at using the mouse throughout the video, is that from really close to when you let her loose on it? Did she eventually get (near) full control over the mouse? (I am always interested in how people learn, and how fast XD)

    Also, if you need test monkeys, there are plenty volunteer test monkeys on your blog =D.

    ReplyDelete
  7. Ahaha cute! :D

    Why is the camera allowed to go upside-down? Is there any good reason why that should be possible at all?

    ReplyDelete
    Replies
    1. No good reason at this point. I want to try some new concept of leaning forward, for this reason did not bother to add a temporary rotation constraint.

      Delete
    2. That's a pretty cool idea, and well suited for an exploration oriented experience like you are crafting!

      It's always bothered me that in most FPS games, in order to look down a cliffside you have to move the avatar so you are half on and half off it -- risking death, unless they have an artificial "you won't fall off a steep drop if you are 'sneaking'" mechanic.

      FPS' often have lean right and left to get tactical advantage, but a 'lean forward' where you don't feel you are one millimeter from doom would be nice. It would be great if it was intuitive and didn't require another key-binding tho... 'Simpler is better' when it comes to controls.

      Perhaps a lean toggle, key that when toggled your torso will move in the direction the movement keys (or mouse) is pressed -- addressing the lean left and right too.

      Delete
    3. System Shock 2 allows leaning in any direction. Leaning left and right is great for shooting around corners, leaning forward is really useful for looking down into pits without falling in, leaning back is not terribly useful for anything at all.

      Delete
  8. Cute... Frightening how quick they 'get' things... my 3 year old boy can now boot up our family pc, load up chrome, bring up the nickjr website, browse across the tabs and click on yo gabba gabba (his current infernal favourite...)

    ReplyDelete
  9. I have the exact same monitors also dual setup at just about the exact same angle :D I feel some sort of connection with you now..

    ReplyDelete
  10. Hey , I´m from brazilian , i like this project , you are a best indie creator games! You won a fan

    ReplyDelete
  11. when will publish the download or buy?

    ReplyDelete
  12. Miguel, as soon as you make the weather?

    ReplyDelete
  13. Hello Miguel, I recently discovered your blog and since i have an interest in this topic (among others, i'm a Minecraft player and am fascinated by the voxel world it offers), i'm reading it with great interest. I'm discovering new techniques every day!
    But can you tell me one thing: for such a simple world like Minecraft, what in your mind is the easiest and fastest way (if they go together in this special case), to draw the Minecraft world? In my own opinion i think i would cast a ray for every pixel on the screen, see which voxel each one hits in de voxelspace and then draw that pixel with the appropriate texture. But this is what i would do, and i'm a total newbie. What would you do?

    Regards, Harry

    ReplyDelete
    Replies
    1. You create triangles and give them to the GPU :)

      Delete
  14. You've just made me question what I do all day at work as an automated tester. I mean I can test, but not nearly as adorably!

    ReplyDelete
  15. Keep this going please, great job!

    ReplyDelete