[Guide] How to make a map pk3, Giuseppe way

Post anything to do with editing Nexuiz here. Whether its problems you've had, questions, or if you just want to show off your work.

Moderators: Nexuiz Moderators, Moderators


  • My personal guide to make a map pk3.
    Here all the things i learned in my mapping works and reading editing topics.
    I divided it in two part.
    The first part explain structure of pk3,
    the second part show some hints.
    The guide name is - How to make a map pk3, Giuseppe way -
    this means there is some my personal idea.


    First part

    Pk3 is a compressed archive in ZIP format.
    It contains all the file necessary to play the map,
    and the files are organizzed in folders.
    The most important file is the BSP,
    I set the name of this file xxxxx only for the pourpose of this guide
    (the extension is bsp of course).

    pk3 folders
      maps
      maps/xxxxx
      scripts
      textures
      models
      sound
      sound/cdtracks
      gfx
      env
      docs

    Only some fast info here.

    The name of red folder is fixed as request from the game and isnt possible use custom one.
    Textures folder is the default one used from net radiant, so is recommendated use that.
    Dont put in model folder the 3d data of custom model (md3, pbj, ase,...),
    is already in bsp, just put textures of models if u have there.
    Sound folder is used to store custom audio files of map (wav or ogg).
    Env usually is used for custom skybox.
    Docs folder can be used for documentation files, like readme.txt and license.txt.

    maps folder contains

      xxxxx.bsp : this is the map compiled / must be in pk3
      xxxxx.mapinfo : simple text file format / required
      xxxxx.jpg : a screenshot of map / required
      xxxxx.waypoints : way points for bots / recommendated
      xxxxx.waypoints.cache : more way points make faster load bots / recommendated
      xxxxx.ent : here only substitutive entities for the map
      xxxxx.rtligths : data for real time lights
      /xxxxx : is subfolder for external lightmap / required

    All the elements must have the same name of bsp! (xxxxx)
    bsp must be in pk3, of course in a map pk3 we have to put the map.
    Mapinfo and the jpg are required to have the map properly in create menu.
    Waypoints and cache improve the use of bots and are recommendated.
    Ent file is used for ex to change the entities of a map from others games like quake3.
    Rtligths if the mapper want add some real time ligths, but can reduce fps performance.
    The xxxxx sub folder is for maps that use external ligthmap. Is required, but can increase a lot pk3 size.

    Others folders:
    if the map needs custom textures, let's add these textures in pk3
    with correct relative path of course in textures folder.
    Put texture in textures/xxxxx/ is a good idea.
    If custom shader are used in map we must put shader file/files in scripts folder, skybox shader also here.
    For team gametype we can add the file xxxxx_radar.tga, this file must be in gfx folder,
    and must have same name of bsp.
    If we want use a custom music track for the map, this file (wav or ogg) must be
    in sound/cdtracks folder, (and add in mapinfo cd loop <musictrack>).
    At the end is good idea add a text file (classic readme.txt) to describe our work
    and define the license of the map, and add also the text of license.

    pk3 name, map name:
    really no rules to chose the name of pk3, but if we use xxxxx its easy know
    wich map the pk3 contains.
    Is recommandated use a suffix for the map name
    with a progressive number to have an ordered list of all versions of the map, and
    recognize easily the last realase of the map in the list.
    Suffix examples:
    _b## (b means beta)
    _v##r## (v means version, r means realase)
    _alliwantwrite## (alliwantwrite means custom suffix but no so long :D)

    now xxxxx = mapname+suffix


    second part

    shader file:
    a good way to eliminate (maybe) pk3 conflicts is imo
    use only a shader file named xxxxx.shader and all the definition of custom shaders inside like this:
    textures/xxxxx/shadername {...}
    In this way the new versions of shaders will not work on previous version of map.

    xxxxx.jpg
    the max video resolution of nexuiz is 2048x1536 px
    and xxxxx.jpg is shown max around 25% of video resolution.
    So is useless put a xxxxx.jpg over 512x384 px

    about textures
    only if really we need alpha channel we must use tga or png format,
    otherwise jpg is very good at 90-95% of quality;
    against pk3 conflict is the use of textures/xxxxx/ subfolder.

    About license
    If we use a gpl license is good idea to realase also the source files of map.
    I mean the MAP file and others file used to obtain the map like for ex 3d model files (ase, md3, obj).
    I think is good idea put this files in an additional archive.
    Almost all the gpl mapper include this files directly in pk3, but if the pk3 pourpose is
    play the map, i think better realase those files separately.
    The name of this archive can be xxxxx_source and the format 7z is great.

    A nice zip and 7z archiver
    I recommend strongly use 7-zip software to make our pk3 in zip and others archives in 7z.


    PS: my pk3s are outdated, but my next will follow the guide :D

    what u think about my guide?
    tecnical and language aspect ...
    User avatar
    giuseppe
    Alien
     
    Posts: 128
    Joined: Fri Mar 16, 2007 6:47 pm
    Location: italy




  • thanks. this helps a lot getting into the basics of a bundle.
    Sneer
    Newbie
     
    Posts: 3
    Joined: Wed Jan 13, 2010 9:52 pm



  • I have maps that i have made for quake one using worldcraft. (long time ago) In the bsp format...
    First, Does nexuiz contain quake 1 textures?
    2nd, How do i load ***.bsp maps? ~
    Thanks
    -Volectorus
    Volectorus
    Newbie
     
    Posts: 2
    Joined: Wed Mar 10, 2010 8:30 pm


  • In nexuiz maybe there are some textures of quake 1 because some times i tried a UK map pack for quake 1 and i have no problem loading the map
    For loading a map you have to use the following comand :

    Code: Select all
    map nameofthebsp

    if the name of the map is soylent you have to write in console

    Code: Select all
    map soylent

    i hope to be clear
    Image
    User avatar
    BARTUC
    Advanced member
     
    Posts: 65
    Joined: Fri Jun 27, 2008 7:16 pm
    Location: near the nex


  • excelent. where should i place the map to load it from the console? data?
    Thx
    -Volectorus
    Volectorus
    Newbie
     
    Posts: 2
    Joined: Wed Mar 10, 2010 8:30 pm


  • Volectorus wrote:excelent. where should i place the map to load it from the console? data?
    Thx
    -Volectorus


    For a .bsp file: data/maps/

    for a .pk3 bundle: data/

    (Neither of which ye all shall ever see released by me again. (And I deleted all 43 links to my allready released maps))
    tundramagi
    Forum addon
     
    Posts: 974
    Joined: Sun Jan 04, 2009 4:53 pm



Return to Nexuiz - Editing




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest