Dote Night: The Petting Zoo Of Disaster

Double pig. Triple Pig. Ultra pig. RAMPAGE.

Part of a miscellany of serious thoughts, animal gifs, and anecdotage from the realm of MOBAs/hero brawlers/lane-pushers/ARTS/tactical wizard-em-ups. One day Pip might even tell you the story of how she bumped into Na’Vi’s Dendi at a dessert buffet cart. THIS WEEK, however, she will be complaining about her Dota 2 petting zoo!

I am staring at a hang screen in Dota 2. I think I just tried to compile a map but I can’t be completely sure because programming words have always been a bit of a mystery to me.

Being sick and jetlagged I took the obvious decision that this would be a good time to build a petting zoo as a custom game mode using Dota 2 Reborn’s toolkit. So far I seem to have made a horrible map in the Hammer editor where the trees look goofy and the textures are unsubtle and there’s an army of butterflies completely by accident that I can’t get rid of. The totally separate INTENTIONAL army of butterflies is in a totally different location but I got cross with rotating them individually so they’re currently in grid formation and now they look weird and menacing and, crucially, unable to fly. I think they might all be dead.

When I went to build the map so I could maybe see what it looked like in-game that’s when the compiler had a tantrum because something was missing. I didn’t know how to find the files it wanted so I overrode whatever the warning was and then my petting zoo crashed.

A YouTube tutorial from a few years back told me how to add what I’d missed – a spawn point – but after adding it in the map still refused to compile and I didn’t understand why.

Why doesn’t the world want me to have my petting zoo?

These are the butterflies I didn't create.

And before any of you point out that you’re not supposed to touch butterflies and they would be a shitty addition to a petting zoo, they were a placeholder. I wanted to check that the idea worked before adding in a load of chickens and pigs in pleasing arrangements near ponds and in muddy shaded glades. I figured everyone could play as Enigma because he has this hand outstretched animation that might look a bit like you’re feeding or stroking the animals. It was going to be so lovely.

The thing is, being able to do any of this is far more than my meager understanding of game creation can cope with. I’ve watched a lot of YouTube videos trying to work out where I’m going wrong but what I really need is someone who knows a thing or two about Hammer leaning over my shoulder so I can say “how do we do the petting bit of this zoo?” and sort out what that actually means in terms of game commands. I don’t even know whether Hammer is the place where you add animal models but they’re listed in the interface so I assumed you could. I figured once the map compiled then the game would have the model info to hand and the butterflies would wake from their weird slumber and flit about.

Pip does game creation, all butterflies die.

I suspect anyone who actually knows anything about programming will be rolling their eyes right about now. Of course you need to do x, y and z – you can’t just assume you put a butterfly in a map from a menu of items and think it’ll know what you were hoping for!

I get that, but the longer I try to play with this map and this idea, the more I’m aware of how little I know and how time-consuming this tiny idea will be. Intimidated, I set the thing aside for a week, wondering whether fresh eyes would help. When I booted it up again this afternoon I found one of the things which was wrong (a save file in the wrong place) and fixed that but I still can’t boot into the map because I now need to find a way to assign myself to a team before I can spawn. Apparently setting a spawn point and being the only person there isn’t enough.

I also don’t understand why there’s a grid over one of the bits of ground or why a rogue node is floating on one of my ponds. I suppose it might be a satellite come to visit?

Where are you from, space visitor?

Given this experience, I know some people would persevere, bashing at it until it made sense. Others, like me, would not. I’ve tried to learn or understand tools like this before and I’ve tried basic programming on a number of occasions. The process is always a mess of forum visits, YouTube snippets, tweeted irate queries, glaring, practice, and trial and error.

I suppose in that respect it’s a lot like learning Dota.

The difference for me is that learning the actual game involved pockets of pleasure between mental brick walls and bad games. I was there with other people, I had a knack for some of the heroes and the cause and effect generally made a lot of sense. I don’t get that with the creation side of things.

With the types of tool at my disposal in Reborn, I found it relatively easy to create a basic map, but doing anything with that map – even something as simple as seeing it in the game – is a different proposition entirely. To me that side of things is as unintuitive and unenjoyable as ever. Questions beget questions beget more questions as you try to break what you thought was a simple problem into ever simpler problems which might be remotely Google-able. Eventually you’ve gone so far back you can’t even remember how what you’re looking at now relates to what you’d wanted to do in the first place.

I'm even cross with the trees at this point.

To be fair to Valve, they’re not billing this as a system everyone will be able to use, just one that people can if they want to. But in a climate where there’s all this rhetoric about the sheer accessibility of game design, I still find myself frustrated when I try it and fail, reality colliding with the fantasy. I also have a lot of respect for those who do push through.

Look. The main point here is that I just wanted a petting zoo. Instead I have a field of dead butterflies trapped forever in a level editor and that is probably the best summary of my game creation experience to date.


  1. Synesthesia says:

    3d is hard. Animation is very hard. Jumping head first into both of those is not a good idea.

  2. Cassius Clayman says:

    Why didn’t you commit to the pig puns? WHY DIDN’T YOU SEIZE THE OPPORTUNITY OF WRITING RAMPIG? WHY, PIP?!

  3. Sam says:

    “… the cause and effect generally made a lot of sense. I don’t get that with the creation side of things.”

    The cruel irony is that programming is all about cause and effect being known and manipulated by the programmer, but “easy to use” solutions so often obscure it. I suppose the trick would be to obscure the more complex aspects but allow the user to easily see the broad outline of what’s going on so they can make sense of it. Otherwise working with the tool devolves to learning a series of rituals that might please the Hammer God.

    There’s similar problems with learning to code on modern machines, where to get anything running you often need pages of incantations that you’ll not fully understand for months. Not to mention setting up build systems. We don’t really have an easily extensible equivalent to the classic
    10 PRINT "I'm a programmer!"
    20 GOTO 10

    Python gets close, but if you want to start drawing things on the screen to make a super simple game you suddenly need to be using libraries and managing windows. In BASIC you could play with PSET and immediately have graphics happening on the screen.

    Unity is fairly good for letting you learn to code gradually while still having stuff that works, but again you’re wrapped up in this huge complex system that you’re unlikely to completely understand for a very long time. Maybe I overestimate how much of a problem that is.

    • somnolentsurfer says:

      I tried starting from 20 goto 10 in my teens, but the process of getting from there to QBasic Gorillas seemed an absolutely impossible task. Recently I’ve been working through Tom Francis’s Game Maker tutorials and it’s a revelation. I draw two sprites in the editor, one’s the player, the other’s an enemy and that’s a game. Task for tomorrow: work out how to make an endlessly scrolling environment. If that goes well, make a start on trying to make it draw that environment using a selection of procedurally chosen tiles. And if there’s still time left try and think about gravity. And astonishingly that all sounds achievable.

    • davethejuggler says:

      I think unity is too overwhelming to start learning if you have no programming skills. I’d recommend learning javascript myself as a starting point. It’s incredibly forgiving (no hard typing etc) and easy to run and debug in a browser. It’s also a great stepping off point for unity as you can just develop with their slightly weird version of javascript. Having all the extra complication of 3d assets, game objects and the way they interract with other things would probably be a bit overwhelming.

      That said i’ve been programming for years, and am now old so probably a young brain could just leap into unity and get it all under control with just a few tutorials. Damn kids these days!

  4. KevinLew says:

    Pip, I swear that if you ever finish this mod, I will actually install Dota 2 and download your map just so I can pet various animals and/or couriers.

  5. Heavenfall says:

    It is the nature of modding that some make wonderful petting zoos from our childhood dreams, and some make fields of dead butterflies. The horrors that have been created in various content creation tools have surely doomed humanity in the eyes of our gods.

  6. SuicideKing says:

    Pigs? Two different ones?

  7. svendelmaus says:

    If you wanted to take another crack at it, my advice would be – start smaller. Grab something that works, make sure that you can get it to work. Then add one small thing, and see whether it still works. Make the change as small as you can manage – if it was a PuzzleScript game, just changing a colour, or adding or removing a single block. In this case, maybe adding a single tree?

    Then keep experimenting like that – add a thing, see if it works. If it doesn’t work, then there’s a much smaller number of things that could have gone wrong. Making a backup copy regularly couldn’t hurt, either.

    When you’re starting with a new tool, it’s a lot easier to gradually transform something into a petting zoo than to try to start a zoo from scratch. This is probably true in most situations. :)

  8. davethejuggler says:

    Does anyone have any recommendations for single player stuff built in this? I fancy playing some dota 2 related single player stuff. I really wish they’d taken the tutorial missions and built a mini campaign along the same lines. Kinda like the custom scenarios in warcraft 3 that was the precursor to wow.

  9. Hieronymusgoa says:

    “and there’s an army of butterflies completely by accident that I can’t get rid of”

    my favorite quote ever

  10. OmNomNom says:

    I’d encourage people NOT to start with a ‘scripting’ language like JavaScript or Python. It’s teaching you the wrong things really and won’t help you once the ‘real’ coding starts. C# is what I’d recommend or Java if you’re windows agonistic

    • OmNomNom says:

      Jesus what comment system made in the last 20 years does not have an edit function. This WordPress shit is embarrassing.