Beginners’ guide to creating Portal 2 mods

Beginners’ guide to creating Portal 2 mods


Hello, my name is Anna Eerkes, and I was the lead developer on Portal Stories: Mel, and lead programmer on Portal Stories: VR. I’ve also worked on various other projects, including other Portal 2 mods, and a variety of other mods and games.
What do I need?
If you want to create a Portal 2 mod, the only piece of software you really need is the Portal 2 authoring tools, found in Steam, under Library->Tools. There’s a variety of other useful and free software like GCFScape, VTFEdit and GIMP.
But most important of all, you need time, patience and learn to listen to feedback.


When you start developing a mod, the most important thing to consider is scope. This means, how big is your mod going to be? You should be realistic here. The bigger your project, the longer it’s going to take. For Portal Stories: Mel we planned to have 15 levels of puzzles, with some more areas with a heavier focus on story. After four years of work, by a team of up to 10 people we created those levels. 15 puzzle levels, and 7 levels focused more on story.
Let that sink in for a minute: 4 years, 10 people, 22 maps.
I’ve seen my fair share of projects that start off with the premise of being bigger, better and more awesome than Portal 2, but these projects almost always fail. And yours will probably too. Remember, Portal 2 is created by a big team of experienced developers, and it took them a couple of years too. As someone who’s starting to look into modding, you’re lacking the experience that the Valve people have, so it will take you longer. Also, remember that you’re not making money off your mod, and people can just leave at any time, for any reason.

Your role

As the creator of the mod, you’re going to have to do the majority of the work, especially early on. During Mel’s development there have been times where I was the only person working on the mod for weeks. You need to continue working on your mod, create more awesome content, and make it so that people want to join you to help you create the most awesome mod possible. Being “the ideas-guy” or the guy who wrote the story isn’t going to get you a team that you can rely on. You’re the cornerstone of your mod, so you need to get your hands dirty.
And if you don’t have any experience with Hammer, or modding or whatever, don’t worry. Nor did I when I started working on Portal Stories: Mel. Search the internet for guides, watch useful videos like TopHATTWaffle’s tutorials and check out the documentation on the Valve Developer Wiki.

Listening to feedback

This is super important. When you’re working on something it’s very easy to stop noticing certain things. In Mel for example, we thought the difficulty of the campaign was still a bit on the easy side. Very clearly this wasn’t the case, so we actually added a story mode later, to address some of the criticisms in a variety of levels.
You should also listen to feedback as soon as possible, as soon as you have a level playable, ask some friends to play them and give them your honest feedback. Sometimes it won’t be nice, but it will help you improve. Remember, bad feedback gives you the best opportunity to improve, and they’re not personally attacking you, but helping to improve the project. I’ve seen my fair share of projects where feedback was requested very late in development, and pretty much all criticism got discarded “can’t fix/won’t fix” and all of these projects haven’t done as well as they could have, if they’d listened to feedback earlier.

So what should I start on?

The most important part of your mod, is your gameplay, so start working on that. Create some levels. You can draft stuff in the PTI if you want, you can create levels in Hammer, you can use a mixture, it doesn’t matter. What is important is that you have stuff to actually play.
Once you have some levels you can play, you can start working on the overarching story: get a rough outline of the story, and use this as a framework for your levels, in the case of Mel the outline was a bit like this: “Start in 1950s, areas still alive, <plot reason> you end up in broken version of 1950s, and you need to get out again. <couple of old aperture tests>, go up to new aperture. <plot reason to go destroyed aperture>, finish the destroyed tests, have some sort of end fight, leave through the same town you came in with.” There’s not a single line of dialogue in there, but it still contains the major plotline in the game.
With the story outline in one hand, and working puzzles on the other, you can start piecing things together. Try to keep an eye out for a difficulty curve, try to be consistent in your puzzles. If you made your levels in the PTI now is really the time to get to know hammer. Re-create all your levels in Hammer DO NOT edit PTI levels in hammer, this creates very inefficient logic and will be a pain to adjust further down the line.

But what about the menu/music/voicelines/textures/models?

Those are all things that add to the overall experience, but they shouldn’t be your focus at the beginning of a project. During your project everything will change, things like the menu should be kept for last, if you do it earlier you’ll end up having to go back again anyways, so doing that early is a waste of time, and it’s easier to do once you’ve got more familiar with the engine.
Music, models and textures can always be produced during any time of development, and they can be great inspirations for other parts of the game, so feel free to do that, but don’t make it your main focus early on. You need to have some gameplay first. At the moment of writing I’m working on a completely different game, and I literally have squares move around as NPCs. This allows me to test the gameplay, and programming etc, so I can still continue my work, even if the 3D-artist I’m working with hasn’t been able to create a model for the NPCs yet.
Help! Hammer keeps crashing!
Yes. Hammer will continue to keep crashing. Here are a few tricks to reduce the frustration:

  1. Have at least 8gb of ram, this should allow you to do stuff besides hammer, and let Hammer have all the ram it wants.
  2. If you use the texture browser, type what you need as soon as possible. There is a memory leak in the texture browser, that will cause it to crash regularly, by reducing the amount of stuff it has to load it’ll crash less frequent.
  3. If you so desire, a port of CSGO’s texture editor has been created by the community. This should fix the texture browser as well. Just replace your Hammer Executable and the DLL with the zip file mentioned above. I haven’t personally tested this myself however.
  4. Install Hammer on an SSD if possible, that makes it start up faster after it crashed. 

How do I …?

Google is your friend, there’s a lot of information out there, use it to your advantage! The VDC also holds a whole lot of information. If you can’t find what you need, ask someone else, for example on the Thinking With Portals website or Discord channel.

How to get others on your team

People need to see how awesome your mod is, and want to be excited to work on it. For that publicity is important! If I look at some of the mods I would want to join if I had time for it, it’d probably be like Portal 2 Abyss, Destroyed Aperture, Repercussions etc. Mods that actually have stuff to show for them. So first get some stuff yourself, and then start asking around with other Portal 2 mappers/modders.

Can you help me with … ?

Probably not, I’m working on a variety of my own projects, and I don’t have the spare time to invest in actively developing a mod unfortunately. You can always try to contact me via Discord, Anna#6187

Can you get me in contact with … ?

Nope. Try contacting them directly, if they don’t want to get contacted by you, then me asking isn’t going to change that anyways.

How do I make my mod in Unreal Engine?

This is a question I’ve been asked surprisingly often after we released Portal Stories: VR. The answer to this question is simple: probably not, unless you have someone on your team with significant experience in the Unreal Engine, and you basically re-program the entire game in UE4, in that case, ask your programmer!

Leave a Comment

Your email address will not be published. Required fields are marked *