Tag: Incredipede

  • Pulling at the Wet Strings of Life

    Jordan Fehr is Joining the Incredipede team as the game’s sound designer. I’m a big fan of his work. He’s done a great job on other games like Super Meat Boy, Snapshot, Jamestown and others.

    He asked me to describe my vision for the game. Which I haven’t really articulated here so I thought I’d share my response:

    If you haven’t watched my Sense of Wonder Night presentation start there. I talk about the birth of the game. At its heart it’s about life and the wonder of the variety of life.

    That’s why it’s set somewhere between the age of discovery in the 1600s and the Victorian era of the 1850s.

    That was a time when the world was still open and unfound. When exotic beasts and men existed in rumor and sketch. Imagine the feeling of possibility. Imagine what you could believe.

    The gameplay is about raw creation. The goals and levels only exist to goad you into creating. The point is to make something that you didn’t know existed. To delight yourself at your own creativity and ingenuity.

    That raw creativity is wrapped in the (metaphorical) language of nature, life, and exploration to give it vitality. Why fiddle with nuts and gears and bolts when you can pull at the wet strings of life?

    Colin

  • Incredipede Artist: Thomas Shahan

    Hello to you sirs and madames. I would like to introduce you to a talented young man by the name of Thomas Shahan.

    I found Thomas through a lucky turn of chance while I was perusing Wikipedia.

    Phidippus mystaceus by Thomas Shahan

    I was looking up jumping spiders while we were  in the Philippines because we had a lot of beautiful spiders running around. His astounding Phidippus Mystaceus picture caught my eye and I absent-mindedly decided to find out who had taken it. That brought me to ThomasShahan.com.

    Sterculia Nobilis by Berthe Hoola van Nooten

    I always wanted Incredipede to look like a Victorian illustration. While I was working on the game in Costa Rica I spent hours poring over old illustrated texts of botanists who had traveled to far off corners of the world.

    My favorite is Berthe Hoola van Nooten who traveled through Java and Surinam in the late 1800’s. Her work was lavish and colourful and her write-ups included rich details about how locals used the plants. She instilled the illustrations with a sense of the wider world. I can’t imagine how exciting it must have been to read her book in 1880.

    I was so taken with her work that originally Incredipede was in the form of a book. Each level had text on one side and a level on the other.

    So it was in this context that I discovered Th0mas’ illustrations.

    Pond Gathering by Thomas Shahan

    Thomas’ woodblock cuts harken back to an earlier era than I was focused on. But his absolute reveling in the squishy fecundity of nature amazed me! His work has such a sense of place. It’s so disturbingly fascinating.

    Peregrinus by Thomas Shahan

    I sent him an email asking if he was free and possibly interested in working on a video game. It turns out he was just finishing art school and was interested. I sent him a screenshot of the game and he sent me a mock-up of the screenshot as it might appear with his art. I was blown away by the result.

    It turns out he’s also a pretty big video game nerd. When we started corrosponding he sent me a link to an old Genesis shooter called Bio-Hazard Battle which has a nice organic feel. I’ve also seen him go toe to toe with Alex Neuse in an Atari nostalgia-off. Which makes no real sense since Thomas is way too young to have played any Atari games.

    The Proposed Egg by Thomas Shahan

    A few weeks ago Thomas came out to San Francisco where Sarah and I are staying and we spent a solid week on the game together (although we did find time to go spider hunting in Golden Gate Park).

    So far he’s been doing an amazing job. I put together a secret game-play video and showed it around GDC and people went a little nuts for it.

    I’ll begin showing off his work in future posts. I don’t want to show you everything at once for fear of blowing your mind out through the top of your skull.

    Thomas at the SF MOMA

     

  • 2011 Was A Good Year for Zombies

    It was also a great year for us! Colin and I hopped around the world again with nothing but our laptops, meeting new friends and working on our respective games. I released Rebuild 1 in February from Costa Rica, Rebuild 2 in October from Japan, and Rebuild Mobile in November from the Philippines. The games have done well enough that we can afford to keep this travel thing up for another year.

    Best of 2011 AwardRebuild recently won the Best of 2011 award for Simulation/Strategy from JayIsGames, my favorite casual games review site. Between that, placing in the Kongregate top ten all year, and being called “unputdownable” by Touch Arcade, Rebuild has totally exceeded any expectations I had when I wrote the first version one weekend at my in-law’s house. Thanks to everyone who’s encouraged me to keep improving the series!

    Soon I’ll be releasing Rebuild for iPhone/iPod touch, to complete my domination of the iOS market. Then it’s finally time to take a break from the brain nomming cretins (god love ’em) and work on Incredipede with Colin. Which BTW is going to look amazing!

  • Debugging Shaders in Flash with PIX

    ** Update: It’s hard to tell but I think PIX is no longer a free app and is now part of Visual Studio :/ I have started using Intel’s profiler/debugger which is quite good but requires you to have an intel card you can use **

    What the Fuck!

    What the Fuck is it DOING!?

    Why in the name of hell isn’t it working?

    These are just a few of the fun phrases you can apply in the fun field of Shader programming with Flash’s new Stage3d API.

    Shaders are cool as hell. In my last post I wrote up an example of a pixel shader that makes grass wave in the wind. It was a pretty simple 7 line shader and I managed to write it without a debugger of any kind. The real problem comes when you want to write something more complicated. Then the lack of any solid feedback will start to drive you crazy. You will begin to fantasize about introducing axes to graphics cards with great force. Fortunately Microsoft, in a rare show of magnanimity, has given us a way out.

    There is a tool in DirectX Utilities called PIX which can be used to examine shader variables as well as step through their operation! In a perfect world that would be all the instruction required: use PIX. Unfortunately PIX has a bit of a learning curve and there are a few bends to the curve that are far from obvious so I’m going to tediously document every little step.

    I’m going assume you have the standalone flash player. But you will need that if you don’t have it. This example is going to use my simple Shader Testbed which you can download from this post.

    First go download DirectX and install it. *I don’t think this link will get you PIX anymore* Now run PIX which is one of the DirectX Utilities in your start menu. Inside PIX select file->New Experiment You will be presented with a window that looks like this:

    Provide the path to your flash stand alone player in the Program path field. Select the “a single-frame capture of Direct3D whenever F12 is pressed” radio button. Now click the “more options” button and then the “Target Program” tab.

    In the “Command-line arguments” field fill in the path to your swf. Now hit “Start Experiment”. If your swf doesn’t start running then you’ve got a filename wrong or something.

    Ideally now your swf is running. Do whatever you have to do to get your shader running and the results on the screen. For my Shader Testbed example I’m going to paste in the wavy grass shader.

    The moment has come. Now hit F-12. This will capture the state of the program on that frame. Close your swf. This will bring up PIX’s analysis window which is chock-a-block with stuff. You want to debug a pixel and look at watch the shader modify its value. To do that:

    To get there:

    1. Select the frame you captured
    2. Select the render tab, this will bring up a screenshot of the frame in question
    3. Right click on the pixel you’re interested in and select “Debug This Pixel”

    Now you’ll get a list of draw calls pertaining to that pixel. Unfortunately for some reason it won’t include the draw call you care about. Or it will, but it won’t include your shader… or something. For whatever reason you can’t debug your shader from here. You can debug some shader here but you can’t debug your shader here.

    To debug your shader you have to select the specific draw call that displays your texture. You can find that by expanding the Frame and finding the draw call manually.

    After expanding the Frame press the “Next Draw Call” button. It’s a capital D with an arrow next to it. Then make sure you have the “render” tab open on the right.

    Watch the screenshot on the right and go from draw call to draw call until your texture shows up. Now stop hitting the “Next Draw Call” button or you’ll get back to the useless state. Ok, now go back to the Render window and right-click a pixel on your texture and select “Debug This Pixel”.

    This time it will actually work! Hit the “Debug Pixel” link and you will get to step through your shader code and inspect the registers!

    It’s not in AGAL, it’s in some other shader assembly but, you know, seen one shader assembly language you seen ’em all really.

    So, yeah, that did take a fair amount of work and yes, the turn around time between debug sessions isn’t great. But damn it shaders are super cool and if you want to do much with them then you’re going to have to be able to do some debugging.

    Hope you found this useful. It took me a while to figure out. Also, if you have trouble finding the right draw call you can always use the “Objects” window to find the memory address of your particular shader, search the Frame for that address, and then you know the next draw call is the one you want.

    Woo! Shaders!

  • Simple AGAL Shader Testbed

    This is a very quick testbed designed to help write Flash AGAL shaders.

    If you don’t know what a shader is you should read my Shader Post.

    [swf src=”http://northwaygames.com/wp-content/uploads/ShaderTest.swf” params=”wmode=direct” version=11 width=600 height=600]You must have Flash 11 for this to work[/swf]

    You can test it out by pasting in my “swaying grass” pixel shader:

    sub ft3, v1.y, fc1.y //offset = 1-y
    pow ft3, ft3, fc2 //offset = offset^3
    mul ft3, ft3.y, fc3 //offset = sin(count)*offset
    mul ft3, ft3, fc4 //offset *= .3
    add ft2, v1, ft3 //texturePos.x += offset
    tex ft1, ft2, fs0 <2d,linear,repeat,mipnearest> //pixel = texture(texturePos)
    mov oc, ft1 //return(pixel)

    If you replace the Pixel/Fragment shader with the above code and hit the “Render” button you’ll see the grass sway. See my Pixel Shader Example post for a full description of this AGAL code.

    The (hastily written) source is here: ShaderTestBed.

    And you can download the .swf Here.