The Braid Level Creation Thread

I know that people are starting level creation threads in some places like the Steam forums, but I thought I would post some initial editor information in a very public place like this… people can ask questions here and I will answer them.

And unpack it into your Braid folder. So in the same folder where braid.exe lives, you should now have a folder called “universes”. Inside that there should be one subfolder, “sample”.

Now you can run Braid with the following command-line option:

-universe sample

When the game starts up, everything should look normal, because this sample universe doesn’t replace the starting world, and anything you don’t replace will get pulled from the regular game assets. You’ll start at the beginning of the game, though, because universes have their own save files.

If you walk into the world 2 story screen, instead of what you would normally, you ought to see a very minimal place with one monster in it. This is because world0-2.entities has been overridden by the version in this sample universe. You may also notice that when Tim jumps, he can leap forward very quickly. This is because his jump speed has been changed in the file Mod.variables.

There are only two doors in this new world0-2.entities, because the doors in these story-worlds just off the main hub are generated in order to match the levels present in the game, and the file level_config now says that there are only 2 levels in world 2.

If you collect world 2 puzzle pieces, you’ll notice that they actually look like the world 4 puzzle… this is because I overloaded puzzle2.pi_set with the world 4 version. You could put any image in the puzzles, but you need Photoshop and an extra tool to generate the puzzle pieces; I will talk later about how to do this.

The people inside the new 0-2.entities are from rpgobj.pi_set (also drawn by David Hellman). You can see everything in rpgobj if you go into the editor (by pressing F11), go to a New Universe, press Add Piece Config, and type “rpgobj” into the box. From there you can copy and paste these objects into a level.

Now, if you try to change any levels and save out the results, you’ll notice that next time you play the game, the changes don’t take effect. This is because Braid is not actually reading from the loose files during gameplay. As an efficiency measure, for normal play, Braid files are bundled up into non-compressed .zip files (the same way package.zip and package0.zip are, if you look in your standard Braid file tree). To package up your levels for end-users, you similarly put them into an uncompressed zip file. This is what universes/sample/package.zip is. (For normal play, the “data” directory in universes doesn’t need to be there; I just included both the packed and unpacked versions for this example).

In order to play what you save out, you need to be able to run Braid with the

-no_package

option on the command-line. However, in order to do this, you need to have all the loose files available — not just the ones for your modifications, but all the standard Braid files as well. So to do this, go into the Braid data folder (not the one for your universe, but the standard one that is in the same folder as braid.exe). Copy package.zip and package0.zip one level up (into the same folder where braid.exe is). Then unzip both of these files into that directory. It should add a whole bunch of new, loose files into your Braid data directory that already existed.

Once you do this, you ought to be able to run with -no_package and make your own modifications, then package them up and other people can run them with -universe.

173 thoughts on “The Braid Level Creation Thread”

hey Jonathan, thanks so much for taking the time to put together this tutorial!

it all seems to work fine, but i can’t change any of the images used in the game, as any attempt results in a dark red box. specifically, i’m trying to change ‘inputicons-xbox_page_0.jpg’, so that the buttons match my controller. is there a trick to this?

Gemedet: If you change the dimensions of the jpg it won’t work… all the textures have to be powers of 2 in order to work on your video card. Also note that jpegs don’t have alpha channels, so if you fill in any extra space it has to be filled in tn the texture with the same name in the “alpha” folder. Hopefully if you take a look you will see what I mean.

yeah, i successfully changed the music and text. but i still can\’t change any graphics. i\’m not changing the dimensions of the jpg; i literally just opened the file in photoshop, changed nothing, saved it as new jpg, and then renamed them. still shows up as a red block. maybe it\’s a setting in photoshop?

Archagon: That will happen if you try to load a universe and it can’t find it… if you are launching it from Steam make sure to put the files in the proper Steam folder (Which is different from where the demo is, if you downloaded the demo from Greenhouse, Impulse, etc).

I’ve fixed the version of the sample universe on the server, so hopefully nobody else will have this problem.

Yes, any file you put in the universe folder will override anything that Braid uses by default. So you could make a universe that is just, say, a replacement for the main character sprite / animations, and have people play through the whole game with a different character. Or whatever.

i think it’s also worth noting that it won’t run if the “data” folder is empty; that is, it won’t just default to the normal game. it seems to require having at least the “level_config” file.

also, changes in the “strings” folder won’t override the default text. i tried changing “use left stick to move” to something else, but it kept using the default.

and i figured out the image problem. photoshop automatically saves them with the sRGB color profile. and i guess the game won’t use any images unless they have no profile. also, you can’t just override the image itself, and use the default alpha image, you need to have both in the universe’s directory.

Thanks for this wonderful game. I’ve been looking forward for the PC version for quite a while, so I can play this game. I have a question: I’ve been looking into this and had the idea of making every level in the game slightly harder. Are we allowed to distribute modified versions of the original levels?

I would prefer if people just make their own levels from scratch, rather than making slight modifications of the original levels. I don’t want there to be confusion about what the actual main game is, you know?

But, I am willing to talk to people on a case-by-case basis about this kind of thing.

Right now most of the text objects in the game use handles that get looked up in the strings database files (for internationalization).

The -universe command doesn’t load new strings files, but anywhere that one of those handles gets used in the game, you ought to be able to just type in an actual string and have it work. This means it would be a lot harder to translate a user-made universe into a lot of languages, but hey.

8 – number of levels in the world
0 – number of elements in the world 3-1 (mosaic)
3-1 – the address of level world 3-1
1 – number of elements in the world 3-2 (mosaic)
3-2 – the address of world 3-2
…
2 – number of elements in the world 3-8 (mosaic)
3-8 – the address of world 3-8

I’m a bit confused. I’ve got -universe sample working. I can get to the modified world2-0 story level and see all the changes that are mentioned above. But I cannot get the editor to open. F11 does nothing and niether does any logical combination of buttons with F11. the version I have is from Gamersgate.com and I don’t believe they’ve uploaded the patched version of the game. I’m hoping that is not the issue. But I can’t figure out where I’m going wrong or how to amend this problem. Any suggestions?

To those who can’t get to the editor with F11, I belive you need the “r3” version of the game for that to work. I was trying it using the version I had downloaded originally from Greenhouse which was “r2” and it wasn’t working. I’m downloading “r3” at the moment, hoping that will work.

Having some truble making a reverse level… I noticed that monsters would “un-die” with the use of boosters, but I can’t seem to get a monster to make it past the first one, it just shoots a monster up (from below the floor), which appears dead, and it just falls back down (through the floor). I already know to label the booster that ‘creates’ the monster with the same label as the cannon, but the rest of the boosters I put in don’t do anything…

Icon_Block is one of the blocks used in the castle in the Epilogue.
Killer_Pan is the wall of flames.
Debris is any broken piece of something that bounces and spins (like the pieces of the Chandelier).
Ring is the ring that you drop in world 6.
Surface is used to make a walkable surface or a wall out of a series of points, so that you can adjust the path by moving individual points later (which is often easier than making things out of a bunch of blocks). You use the TAB key to make new points in a surface, and the delete key to delete them.

Booster and Reverse_Effect are for the reverse time levels. However, rather than placing them manually, there are some function keys that I used to make Boosters. I would go into a world with reversed time, and press (I think) F9 which makes time go forward, and then F10 which causes Boosters to be automatically created every time a monster hits the ground or dies. Then I go into the editor and press Ctrl-i. This is like shift-spacebar, except it loads the exact state of the mid-game world into the editor, instead of the fresh level as it would be loaded. Then I select all the Boosters and Ctrl-C to copy them, then shift-space to reload the fresh level, and shift-ctrl-V to paste the Boosters in exactly the same places. (Ctrl-V pastes things near the cursor; Ctrl-Shift-V pastes things at exactly the coordinates they were when you copied them). The Boosters still tend to be a little bit off and need some manual adjustment which is an error-prone process but you get it done eventually.

Jonathan Blow, explain please how to enable, disable, toggle through the Marker? And what kind of special characters like ‘:’ and ‘#’ in names? And also, what is more special characters and what they are doing?

Hey, great game, finished it a couple of days ago. Just one small technical question: when I was playing on my computer, I didn’t get that cool time manipulation effect (you know, the wavy effect when you rewind time). I was watching my brother play on his computer and he had the effect. I have a pretty powerful computer (Macbook Pro) so I was wondering if this was a bug or something else. Thanks.

I notice in a previous post (http://braid-game.com/news/?p=260) that you’ve mentioned you “don’t have the rights to redistribute the music”. I presume this doesn’t include your distribution together with the game, because someone following your instructions here can get access to the music files by downloading the demo version of your game.

Anyway, this looks like a great game. I’m just waiting for Linux / Wine to catch up so that I can play it. I presume if there isn’t a shader 1.x version as alluded to in the error message (I have Intel/945 graphics), some form of software emulation for 2.0 shaders will crop up in Wine sometime soon. I tried on a different system with an ATI card, but ended up with a completely black screen (although that may be due to a slightly older version of Wine).

Just created a braid modding site: Braid-Mods.com. Still designing it, but it’s got the forum up and running, so a central place for people to talk and discuss. Link above goes to the forum. Need some designers (Artistically inclinded =))!

Just want to thank you here for the great experience Braid has brought to me and my girlfriend. We just completed the game, and we are still in awe of the great story and the brilliant end level. Each and every piece of the puzzels we solved made us smile.
You really made a masterpiece, thanks for sharing it with us.

It’ll be interesting to see what kinds of extensions people attempt to make to tie in with the story thematically. I’m certain that with a game like this, some people will take up the mantle of explaining the finale, just as certainly as some people will attempt to outdo the difficulty of the star levels.

I don’t feel like it’s my place to criticize, because I’ve never made anything as extraordinary as Braid, but the story disappointed me. I’m actually heading off to write a long critique of that, since as a writer, the way you handled the finale sort of pissed me off. That said: with one exception, the gameplay was possibly the most brilliant and polished that I’ve come across in any game. Absolute kudos. You’ve made a masterpiece.

Jonathan: I know this is not really related to level creation and it may also be a both too personal and/or too common question but I have to ask: were there a princess in your life that you wished you could have rescued, and at the same time have rescued yourself?

I cant add pieced-image in the universe world (there are empty list). The same feature, when i try to create a new world, i cant add grass fo example. But, in other worlds (2-2…) there are full lists. How to add some images in new world for example. How it works. Help me please.

Hey Jon, huge fan of Braid – when I first played it, it was like a breath of fresh air and honestly renewed my faith in the whole ‘games as art’ debate, inspiring me in ways that not many games have done in recent times…

I’m wondering, is it possible with the editor to allow a player to ‘return’ a puzzle piece? (ie. have the opposite effect of collecting a piece)

Thanks, and I’m very much looking forward to seeing your next project.

Thanks anyway, I just had a crazy idea and wanted to know if it was possible to make a mod where Tim tries to undo his mistakes (again), this time by returning the puzzle pieces, only when he revisits his past he finds that things aren’t quite the same as he remembered them.

Sorry, I’m a little off-topic. Jonathan, thank you for an incredible game. I have been a time travel buff for many years and my friends recomended Braid to me and I am glad they did. Your perception of time is amazing. I saw elements I have never thought of.

I have written and published a RPG manual on time travel and I would like to give you a copy so I could share my thoughts on time with you, if you are interested. (It’s a PDF availible through RPGnow.)

Can’t wait to get my hands on this, haha! I am having one issue, however, that is really starting to bug me. When I try and run braid with -editor or -universe sample in the properties menu, I am given the message saying that Braid is open in another folder. This is clearly not true, and I’m very curious as to why this is happening. Any help would be greatly appreciated.

If the game is crashing, though, the most likely reason is that the archive is compressed now (or some file is compressed, for example your all.variables). The .zip files have to be completely uncompressed.

The safer way to play around with this stuff is to make your own universe and set the values in Mod.variables.

Yeah you were right, and it was because the archive that the files sit in are not compressed, but when I replaced it, I didn’t realize this and I ended up compressing the archive by default (which caused the crash).

I’m really having trouble setting this thing up properly. I’ve copied the content of the two .zip files into the braid directory and added -no_package to the executable. I can edit the cloud hub replacement in the sample, but i am unable to access any other levels from within the editor. It seems that the only way to access the levels is by actually going there in the game, but the editor either stays in the hub level, or gives me an empty screen.
How do i access and edit the other levels from the editor?

Hey, is there any way to activate a platform without a switch? Specifically, can the action of unlocking a door cause a platform to move? I tried giving the door and the platform the same label, but that didin’t work.

I’ve read most of the info available and am I right to assume that making new “powers” is impossible? For example a world where you can stop time for a while (and tim still moves) or a world where tim is always exempt from time and he can scrub time forward and backwards (I guess dying would be a problem then though)

Puran: Well, you can stop time by enabling the world 4 mechanic and setting the effect to 0, or by making everything give Tim time-immunity and making the ring have 9999999 range with 0 speed multiplier.

Hello. I’ve done exactly what this guide says. I’ve extracted the universe file into where the Braid.exe is in, I put on the command line -universe sample, I clicked on the shortcut, and went into the World 2 door. I see no changes, neither does on the stages. I tried to start a new game, and then re-enter that door, but I still see no changes. Any help, please? =(

Nevermind what I said…but I have another problem. I extracted all of the data…into the data folder, that is with the braid.exe, and when I try to start it up, it shows a black screen for a second and it turns off. I try it without packages, but without -no_package, and it doesn’t work. I try with -no_package, and with the packages, doesn’t work. -no_package, no packages, not working. They don’t seem to work. Any idea how to get it started? =(

Jonathan, if you want more people making more mods and levels for braid, you need to release more tools and documentation for it. The docs right now are all over the place (some info here, some info on the braid-mods site and some on the steam forum page).

Also, I tried doing something completely from scratch today, and manually writing those pi_set files is a pain. There should be some kind of tool to generate those.

I’m intending to make a complete mod, using as little of the original content as I can but I’m kind of having a hard time.

The name for the level image is specified in the level_config file (these are the lines that say, for example, “3-1”)… and it looks up the bitmap name by concatenating this with the names of the bitmap sets listed on lines 2 and 3.

So, for example, in the standard level_config, line 2 is “icons” and line 3 is “smallicons”, so if you go into the 4th door on world 2, the string listed there is “2-4”, so the icon will be the bitmap named “icons2-4” (or smallicons2-4 on one of the castle blocks).

Well, those bitmaps are in the ‘pieces’ folder, and they are packed together; icons.pi_set is the index and then icons_page_0.jpg and alpha/icons_page_0.jpg control what they look like. There is a tool that builds these packed bitmap sets but I haven’t released it… for now if you wanted to make new ones, you can copy those files to, say, icons2.pi_set, icons2_page_0.jpg, and alpha/icons2_page_0.jpg; then edit icons.pi_set, and every time it says icons_page_0, change it to icons2_page_0; then you can paint over alpha/icons2_page_0.jpg and put new icons in place over the old ones, and then use those in your level_config.

Mac users: please note that the Mac version has the editor as well, and that the universes folder belongs in the Resources folder nestled within Braid.app. (By right-clicking Braid.app and choosing “Show package contents”, you should be able to look inside Braid.app for the Resources folder.)

The game probably won’t save anything after world 6. This was done for file size reasons, generally. Similarly for loading stuff like puzzle backgrounds, I don’t particularly think that the game is going to do that properly if you go to world 7 or beyond.

This mod stuff is not really meant for you to add things to the base game, it’s meant for you to replace what’s there with your own thing.

I don’t think there is a way to change the strings in the .mo file. However, you can type what you want the dinosaur to say directly into the slots in the editor (instead of the labels of things in the .mo file) and he will say what you typed there instead.

Whenever I try to change string1, string2, or string3, the editor always seems to reject my change and put it back to (null). So, I can change it, but when I try to confirm my change (hitting enter, clicking somewhere else, etc), it always becomes (null) again. It does record the event in the undo panel, but it doesn’t change anything trying to undo/redo the event.

I found that if I replace greeter_id with a string (possible!), he says: greeter(whatever text I put)_0
Could this have something to do with it?

Hello! I have one question – how do you finish last level of every world? Where aren’t any doors or markers, here is only greeter. Maybe greeter ends level? If it’s true, how can I make it on custom level? If it’s false, who ends level?

And last question. My level is vertical (I starts on top and go deeper). When I go across flag (but flag is much deeper than me) level ends! Can I change height of flag-zone (zone that alarms to end level) and make it smaller? Changing of yellow borders of flag don’t help.

I don’t think there’s a way to shrink the flag zone like you want. It is made just for horizontal levels. I think the best you can do is have a little area at the end of the level that goes farther right than the rest of the level, and put the flag there.

Hello Mr. Blow, would you be so kind as to tell me how to open your sample level in os x? I’ve put it in the resources folder like somebody else said but when I go into the door I just get the normal story room. Could it be that I am using the demo? P.S. don’t think me some kind of cheapskate, I’ve got the XBLA version.
Thanks, and lots of love. Sorry if this is a double post, something’s wrong.

Hello! Thanks for helping with greeter! I have another question: There is marker’s label :lightswitch that makes objects visible. Are there any labels that make object impenetrable/intangible or immobile/mobile?

You could try to mask it like: “greeter says: [message here] o_0”. It will not be the best solution, but that is one way to make it look a bit better than “greeter[message here]_0” because it’s a bit hard to read…

@ZramuliZ: Yeah, that’s what I currently have going 🙂
@Jonathan Blow: You’re saying that for anyone with an unpatched copy, the mod won’t work, right? If so, I don’t think that’s a big deal, because I can just have a message on the download page for my mod saying “You need Braid 1.015 or higher in order to run this mod.”

how can i save the edited file by me as i’m not native english user i can not understand what you say. please teach me the way to save braid map file very easy word. for example ‘step 1 what. step 2 what. step 3 …. etc’

Just bought the game, and completed it in one night. Have to say that the level designs were quite ingenious. Game seemed a bit short though, but I am definately glad to hear that there is an editor. Can’t wait to try out player created levels and se what challenges they have in store for me.

I am a bit unclear as to the storyline though I plan to see if there’s some info somewhere that places all the parts in one place and in order. It also may be it’s because I tend to have troubles retaining written material for very long. I did like the hidden story parts in the epilogue as well. 😉 All in all a great game.

I have just bought the PC version after being an avid XBL player, i have beaten the game many times collected the 8 stars and am very highly ranked in alot of the speed trials (equal 3rd for leap of faith and 12th on Jumpman) and decided i wanted to try some of the mods for braid, unfortunately now the braid-mods.com site is down and i cannot get a hold of mods such as “silverbraid” “stone” etc… if anyone could perhaps upload some of the custom universes to rapidshare and give me the link i will be very grateful. Just reply here and i will receive it thank you.

Hello! I love Braid. I’m trying to create my own braid level, but I can’t understand the tutorial, because I don’t speak english. Can someone translate it to spanish? Thank you very much. By te way I played the mods PostEpilogue and I’m playing Silverbraid 😀

@nspc great that you\’re continuing working on silverbraid!
Now that braid-mods is gone there was no place to talk about braid mods.
I hope you\’ll finish silverbraid; I really want to see how the world 1 of silverbraid might look like.

Hi Jonathan, I want to make a mod and I want to modify the visual style. I’ve modified much of it now, but there are images that are not in the folders, like the bridge of the begining, right down Tim. Would you tell me please where is it?

Oh, I didn’t realized about the zero-general-black .dds files. But now the problem is, is there a way I can change the size of the textures?

I know, power of 2, but is there a way of making another dds files with more textures so I can compose them in-game?
I know how to make dds files with PS and the nVidia tools, but how to tell Braid the rectangles of every piece and to load the file?

I don’t know if anyone still kicks around here, but how do I install and play these mods? I’ve tried unpacking the file on this blog, as well as the stone and post epilogue mods in a series of steam folders but no success. I’ve also spent some good time googling, but that only turns up half life 2 mod instructions (which haven’t helped).

Is there any setting that have to be changed, etc? I followed the instructions, but nothing works.

When complete it just gives a great amount of satisfaction. Totally mind-compelling game. Thanx for such a great game Jonathan may The Witness be even greater a mind-compelling one :). Would like to know opinions for amatuer game programming in c++ using object programming. Have thought of a game with its design, etc but don’t know how to start it with…Thanx

I am unable to run the sample universe (or any custom universe) in the Mac version of Braid obtained from Steam. I believe part of the issue may be that package.zip and package0.zip are replaced by package.hba and package0.hba, so likely the custom universe is also expected to have package.hba instead of package.zip.

Since I have Braid on Steam, I obtained the package.zip and package0.zip files by installing it on a Windows machine, and copied them over, extracting them as instructed into the data folder so that I could try running the universe in -no_package mode. However, this still doesn’t quite work; at least it doesn’t crash, but I’m presented with a black screen. Sounds work (for example I can hear the intro music), but no images. Maybe I’m doing something wrong?

Long story short, I’m unsure the Mac version is even capable of playing custom universes, which is a little disappointing.

To play a mod, just do the following steps:
1) extract the zip file like so: C:\Program Files (x86)\Steam\steamapps\common\Braid\universes\silverbraid (e.g. a folder universes should be under the Braid folder)
2) properties > Set Launch Options… and add -universe silverbraid or whatever the exact name of the folder is (case sensitive!)
3) Run, and you will be in the mod instead of in normal Braid. Have fun!

Does anyone know of any links to the mods “Broken”, “Castles”, or “Whole New”? They were on the original Steam forum for Braid mods, but the links no longer work, and since Braid-mods.com went down no one has been able to find them.

I keep returning to this game, and thinking about it, just as I do with really good books and movies. Then I found that there are mods, and I felt like trying them out.

However, like some others in this thread I have problems getting mods to start on my Mac. I’ve tried adding the ‘universes’ folder to these folders…
~/Applications/Braid.app/Resources
~/Library/Application Support/Steam/SteamApps/common/Braid/Braid.app/Contents/Resources

…but Braid crashes whenever I try to load with ‘universe -sample’ (or some other universe I’ve downloaded from a mod).

Did anyone get this working on a Mac, or should I just assume that it doesn’t work?

Hi, everyone! After playing a bunch of the Braid mods out there, I decided to make my own! More Now Than Ever contains a bunch of original writing that represents my best attempt to thoughtfully extend the original game’s story and themes, while the gameplay is an anthologized mix of my own puzzle ideas alongside levels from other mods: Silverbraid, Stone, After the Epilogue, and Tim’s Modysee. (I hope that’s okay with the authors of those mods? Let me know if you have any issues with this.) Hopefully I’ve created a balanced collection that focuses on new puzzle ideas and does a good job mimicking the spirit of my favorite game!

Mwhahahahahaha……now it is litterally impossible to make a braid mod without my magic tool: http://braidmods.byethost7.com/create/package.zip <— There. There is a package.zip for you. You need this because Braid no longer has it. It has a package.braid instead. (And no, you cannot just rename it package.zip)