To manage pipeline workflows, you can turn to Task Operators (TOPs) which are built using a technology called PDG which stands for Procedural Dependency Graph. Workflows created using PDG use TOP nodes that generate work items that distribute tasks to either your local computer or a larger compute farm. 

The TOP network lets you determine how different work items depend on other work items and how each of them is contributing to the final output. This information is easy to visualize in the node graph which can be used to define how you want data to flow through your network. TOPs lets you build workflows that can be used to automate, analyze and scale your pipeline.

In this lesson, you will use TOP nodes to take a city map, create buildings for each city block and then grow this system to handle more complex buildings and larger city maps. Houdini artists will probably know how to do this in SOPs, but by using TOPs, you can learn the PDG workflow while creating a system that can be easily scaled to distribute multiple tasks to an external compute farm to process in parallel. 

Lesson Goal

  • To create a TOP (Task Operator) Network to build up a procedural city and then render it out. 

What you will learn:
  • How to convert a city map image into geometry. 
  • How to set up a TOP network to save out the city blocks
  • How to create Geometry in TOPS to build buildings on each city block.
  • How to create a city core to make some buildings higher than others 
  • How to wedge the cityscape to try different locations for the city core 
  • How to wedge the use of different map images
  • How to use TOPs to render out the city and compare wedges using an image mosaic

NOTE: This lesson uses Image Magick - make sure this app is installed on your computer.



Robert Magee is a Senior Product Marketing Manager at SideFX who has been working with Houdini for over 15 years. He has created lots of learning material and demos designed to help artists understand how going procedural with Houdini can benefit their work.

More from Robert Magee


  • Cookie428 1 week, 3 days ago  | 

    When I get to the create city grid hda step. It seems to error out. I don't know what I am doing wrong.

  • rmagee 1 week, 3 days ago  | 

    Can you save your work so far and zip up your project directory and send it to me ( and I will take a look.

  • FranciscoBravo 1 week, 2 days ago  | 

    Hi, nice Tutorial thank you very much. But I am having a problem at the end with the imagemagick node the next error appears every time I try to cook it:

    Workitem imagemagick10_5 failed
    Workitem imagemagick10_5 failed

    Do you know what might be the problem?

    • rmagee 1 week, 2 days ago  | 

      Do you have Image Magick installed? If so then please send me your project files zipped up and I can look into it for you.

  • aperry 1 week, 2 days ago  | 

    Is anyone else having the issue where the create_buildings ROP geometry output doesn't write any files? I've fiddled around with the settings a lot but I'm not getting anything from this node in the geo directory. I've checked the output path is correct.

    • rmagee 1 week, 2 days ago  | 

      Did you TURN OFF the Use External SOP option on that node? I had that issue when I was testing the tutorial - it says to do it in Part 4 step 1 but I missed that step anyway.

    • JoachimPaul 1 week, 2 days ago  | 

      i guess it's part 01 on page 05
      "Set Work Item Generation to Dynamic"
      Thats what i missed.

  • HoudiniUser2 1 week, 2 days ago  | 

    Hi, thanks for the tutorial. Awesome technology, but ...

    I am following this tutorial to the point of cooking the HDA Processor. The work item display turns red with no further error messages. Just saying: "failed 1" in the info box.

    I tried the same thing with a new file and an example from the side/fx website ("example_top_hdaprocessor")and got the same result. The node cooked,, the work items display became green as normal and short before finishing changed to red.

    Is the Apprentice version of Houdini unable to work with HDA's in the TOP HDA Processor?

    • rmagee 1 week, 1 day ago  | 

      There are lots of little gotchas when working through PDG. I would need to see your network to see how to fix things. I know that all the required steps are in the tutorial but sometimes it is easy to skip one of them.

      • HoudiniUser2 1 week, 1 day ago  | 

        The tutorial should be compatibel with Houdini Apprentice but sadly it is not.

        Here is the error log:

        ['/Applications/Houdini/Houdini17.5.173/Frameworks/Houdini.framework/Versions/Current/Resources/bin/HDAProcessor', '/Users/Uli/Desktop/tops_lesson_start/pdgtemp/54028', '/Users/Uli/Desktop/tops_lesson_start', 'hdaprocessor10_3']
        Returned error code 1:

        hda name: /Users/Uli/Desktop/tops_lesson_start/hda/Uli_test2.hdanc
        operatortype: Sop/Uli_test2

        Could not load /Users/Uli/Desktop/tops_lesson_start/pdgtemp/54028/Uli_test2.hdanc
        HAPI Error: No Valid Licenses Found
        - HAPI_LICENSE_MODE unset or is set to 'default' meaning Houdini Engine will first try to acquire a Houdini Engine license and if one is not found it will try to acquire an interactive Houdini license (Houdini Core then Houdini FX).
        - No Houdini Engine license found.
        - No Houdini license.
        - Found a Houdini FX (Houdini Master) license but it is not the required commercial variant.
        - No Houdini Engine Indie license found.
        - No Houdini Indie license.

  • Mjag007 1 week, 1 day ago  | 

    I'm also running into an issue. It will cook fine and the small city looks great. But when you go back and adjust the height settings and recook. You end up with one messed up building.

    • rmagee 1 week, 1 day ago  | 

      Please check your viewer path - if it is pointing to inside the ropgeometry top then things will look strange - go back to the object level and click on a work item - should fix things.

  • rmagee 1 week, 1 day ago  | 

    It is supposed to work in Apprentice. It should be looking for the Apprentice license. I have forwarded your message to R&D for review.

  • 3clipse 1 week, 1 day ago  | 

    Hi Robert

    Tks for the tut very nice so far... clarification required though.

    In Part 6 - 03 you say to edit the attributecreate node but the associated image shows the change being made ( + @Cd.g*30) in the building _height node?

    Which is it...


    • rmagee 1 week, 1 day ago  | 

      It could go both places but the attributecreaye node is better for steps down the line. Must be an old screen grab when I tried the other way.

      • 3clipse 1 week, 1 day ago  | 

        k tks... I went the other way so will go back and change that... :)

  • 3clipse 1 week, 1 day ago  | 

    Hi Robert

    Another question in Part 8 when converting to hda. I get an error node to convert deleted! On the forums I discovered a post for this error message where Michael Goldfarb advised to shift c (subnet) and then create the HDA from there... I am familiar with creating digital assets this way do you see any problems doing that here?

    • 3clipse 1 week, 1 day ago  | 

      Yeah that didn't work (and neither have another half dozen attempts of various things) I am almost certain that it is a pathing issue... anyway I will keep trying

      • Luiz_Lobato 5 days ago  | 

        It's needed to press shift+C to convert the selected nodes to a subnet first. After this, you can create the HDA.

  • kenxu 6 days, 22 hours ago  | 

    Houdini Engine is not available for Apprentice - that is why HDA Processors will not work in Apprentice. You could use the ROP Geometry node to achieve basically the same thing, however.

  • FrancisGagne 5 days, 3 hours ago  | 

    Hi Robert,

    I cook all the building & i try to figured it out why the height variation doesn't distribute randomly.
    All my building have the same height.

    Thank you, Francis!

  • Luiz_Lobato 5 days ago  | 

    It's needed to press shift+C to convert the selected nodes to a subnet first. After this, you can create the HDA.

  • twelveplusplus 2 days, 10 hours ago  | 

    Thanks, Robert, for continuing to release quality printed/pdf material! Some of us get way more value from print than video!

    I would love more advanced material, too. A Vex wrangle/python cookbook would be extremely useful! Much easier to follow than a youtube video, etc.

    Also, a monthly Houdini Zine would be ***super awesome***! Just a couple of pages with tips and tricks. Maybe a bit of coverage for featured artwork, games, animation, etc.

    A little zine might be a good way to keep people up to speed with current trends, too...
    Development trends change quickly. A regular zine could be a way for literate Houdini users to stay hip.

    ...I'll see my self out, now. :D

  • twelveplusplus 2 days, 9 hours ago  | 

    oh, and love image magick, too! All the best picture processing algorithms for freeee!! Besides which, it makes a mean animated gif!

Please log in to leave a comment.