Creating a map in GtkRadiant for OpenArena


This tutorial is written for anyone wishing to get started making maps in OpenArena or another ioquake3 game.

  1. Get GtkRadiant.
  2. Get Extract it into your GtkRadiant installation folder. If your OpenArena installation folder is not in C:\Program Files, open the GtkRadiant\games\ file and change the enginepath_win32 variable to reflect the location of the installation folder.
  3. Get Q3Map2Build and extract it to C:\q3map2build.
  4. Launch C:\q3map2build\q3map2build.exe. Click Directory Options and set “Game executable” to your openarena.exe file, q3map2.exe location to q3map2.exe in your GtkRadiant folder, and bspc.exe location to bspc.exe in your GtkRadiant folder. Set BSP, VIS, LIGHT, and BSPC to Normal. Uncheck “Pause” under each item. Leave q3map2build open.
  5. Launch GtkRadiant. When it prompts for a game, select OpenArena and uncheck “Show Global Preferences.”
  6. Press P to bring up Preferences, go to Interface->Layout, and select the third layout option. Restart GtkRadiant afterwards. This will give you the old-fashioned Q3Radiant layout that is similar to major 3D applications.
  7. In one of the non-camera viewports, click and drag out to form a rectangle. If the resulting prism is too short, drag up in another viewport to bring it up to the desired size. Press T to bring up the Texture Browser, double click on “base,” and open “base_wall.” Click on “concrete” and press T to close the browser. Then click the Hollow button (it’s the one before the button with the white cube, it looks like a square with a perforated square outline inside).
  8. In the middle of this new hollow room, right click on the map and select “light.” Enter 850 for intensity, press Enter, and press Esc.
  9. Above the floor of the room, right-click and select “info”->”info_player_start.” If the item isn’t in the room and above the floor, click and drag it to where it needs to be. Press Esc when done.
  10. Repeat the above procedure and put another info_player_start entity in the map, away from the first one.
  11. Right-click on the map again and insert a “weapon”->”weapon_shotgun.” Press Esc when done.
  12. Save the map in your openarena\baseoa\maps folder as
  13. Go back to q3map2build and click Refresh. “baseoa/maps/” should show up in the “Maps” list. Select it and press Build. Check your maps folder afterwards. There should be four files (excluding test.bak): test.bsp,, test.srf, and test.aas. If there aren’t four files, there’s a problem with the map and you should start over.
  14. Launch OpenArena. Pull down the console with the ~ key. Type /sv_pure 0 and press Enter. Then, type /map test and press Enter.
  15. You should spawn in a brightly lit room with a shotgun nearby. Pull down the console and type /addbot grunt 3, and press Enter. This should spawn a bot.
  16. That’s it! For more about GtkRadiant operation, see GTKRadiant Tutorials and Q3Radiant tutorials. Enjoy!

Here’s a video companion to the tutorial:


34 Responses to “Creating a map in GtkRadiant for OpenArena”

  1. 1 zaculon

    Sorry, but this guide sucks, you need to do this yourself (from scratch) before you post a guide.
    You can’t even get past step 5 without changing a whole bunch of stuff so that Open Arena actually shows up on the list of games.
    Right now I’m stuck on step 7. I do as you say and nothing happens

  2. 2 modulatum

    Ok, I did it myself from scratch. Attached is the video of me doing it.

  3. 3 eye

    My map builds successfully (no errors on console, all of aas, bsp, srf are built and have same timestamp), yet i have no luck getting to run it. the game says cannot find test.bsp. What could have gone wrong?

  4. 4 modulatum

    Have you set sv_pure to 0? Also, is your map in baseoa/maps?

  5. 5 aztec

    Awesome guide worked first time, really fantastic what can i say best quake map guide i could find, up to date, works, concise excellent thanks alot!!!

    /sv_pure 0

    easy peasy thanks

  6. 6 modulatum

    No problem, you’re welcome!

  7. 7 help?

    i need some help with this i folow all the directions to step 7 but none of the texture show up and i also laeave q3map2build open some help would be awsome

  8. 8 help?

    and oh eyah i love the song in the vid but i cant find it any where on the internet

  9. 9 modulatum

    Make sure you follow Step 2 very carefully, as it sounds like you didn’t set up your shaders properly.

    As for the song, it’s not free, so you’ll have to buy the album to listen to it.

  10. 10 help?

    i will definatly buy the album =)
    thanks for the help if i have any more questions can i ask them if they pop up

  11. 11 help?

    um after reading number two very carfully im still confuzzed where do i put

    in the open arena fodler(the actaul game)
    or do i put in in the gtk open arena folder

  12. 12 modulatum

    The location of q3map2build is (as described in Step 3) in C:\q3map2build. The reason I referred you to Step 2 was because your textures weren’t working and it’s possible you misconfigured the shaders file.

  13. 13 help?

    lol i gives up

  14. 14 HyperKUltra

    Step 7 doesn’t work for me… I can’t draw anythign in the views.

  15. Wow, this working for me fine – i made a copy of your map(i hope your map haven’t COPYRIGHT ^_^ )

    Giant thanks for author – modulatum! 🙂

  16. 16 GYNGONET

    Eu gostaria muito de me dedicar à criação de pequenos mapas para serem jogados em LAN-HOUSE, mas me parece tão complicado…Ainda mais sem um tutorial em português…

  17. Good tutorial thanks, but in openarena i recive this error: “can’t load map in maps/test.bsp” …
    I searched a lot on google but now i ask you for help…

  18. 18 modulatum

    @HyperKUltra: Try clicking and dragging. Otherwise, reinstall GtkRadiant.

    @WilgoX: Glad you got it working!

    @GYNGONET: Sorry, I don’t speak Portuguese, but I’m learning! 🙂

    @rajan: pull down the console and type /sv_pure 0

  19. 19 flatcable2000

    Good tutorial, works like a charm …

    small question though; can a level build this way be played as a multiplayer map without too much hassle?

  20. 20 modulatum

    @flatcable2000: Of course! All you have to do is make sure the server is not “pure,” that other players can download the map either in-game or from a different source, and start a server with the map selected.

  21. 21 Sabino

    Ok, and how about linux users?

  22. I will not allow a file map Q3Map2Build to do with the 4 files to do it.

  23. bro i cant make it work :s im talking about RETURN TO CASTLE WOLFENSTEIN i modify the map base and i do everytihng then i try to see the map and say cant find mp_jyosain.bsp y put like 2000000 times sv_pure 0 and dont work say the same then i upload the map to my server to paly multiplayer and say the same, then i upload the mp_jyosain.mao and .bsp and dont work idk what to do i want to put it in my server

  24. I get to step 7, when i press T the texture browser pops up, but only contains one texture to choose from (the “shader not found” texture), I dont see any “base” or “base_wall” to click on .

  25. 25 hunter

    hey i made a map successfully but i was wondering how i can incorporate it into the game so i dont have to type “/sv_pure 0” every single time that i want to play the map?

  26. 26 EDDD

    hi i`m have a problem; when im build the map the compiler can`t create a .ASS file an i cant spawn bot in my map

  27. Works great… Thanks for the tutorial. Lessons learned in step 2. Make sure the “enginepath_win32” variable path is correct with forward slashes and enclosed in commas.

  28. 28 HerQule

    is it available to convert or modify Mohaa maps to Openarena maps
    if yes please tell me how can it be done
    please reply to my email too.

  29. 29 Luc

    I really need help at number 5 😦
    When I launch GTKRadiant I get this error:

    Radiant – Runtime Error
    assertion failure: toggle already registered: FilterEntities
    KERNELBASE!RaiseException() + 58
    GtkRadiant!write_stack_trace(outputStream) + 3B c:\dev\gtkradiant\radiant\stracktrace.cpp line 269
    GtkRadiant!PopupDebugMessageHandler::handleMessage() + 20 c:\dev\gtkradiant\radiant
    \main.cpp line 252
    GtkRadiant!GlobalToggles_insert(name, callback, exportCallback, accelerator) + 108 c:\dev\gtkradiant\radiant\commands.cpp line99
    GtkRadiant!add_filter_command(flag, command, accelerator) + 6 c:\dev\gtkradiant\radiant\filters.cpp line 163
    GtkRadiant!ConstructFilters() + 87 c:\dev\gtkradiant\radiant\filters.cpp line 217
    >::capture() + B5 c:\dev\gtkradiant\libs\modulesystem\singletonmodule.h line 124
    entityq3!Radiant_registerModules() + 9F0

  30. If you wish for to obtain much from this piece of writing then you have to apply such methods to your won website.

  31. Piece of writing writing is also a fun, if you be familiar
    with after that you can write or else it is complex to

  32. 32 c_mysterie

    Clearly many here have suffered from the diffuculites of installing this fucking piece of software. I am not going to complain about it, i’m sure its complicated stuff and it takes alot of dedication to get it working. I can only hope i’ll get there eventually.

  33. I think this is among the most significant information for me.

    And i am glad reading your article. But wanna remark on some
    general things, The site style is perfect, the articles is really nice :
    D. Good job, cheers

  34. 34 lisacvuk

    Thanks for placing this, i really needed q3map2build.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: