Wikia

OpenArena

OACMP/DeveloperFAQ

< OACMP

370pages on
this wiki
Talk0

This page contains rules and useful tips for who wants to contribute, with his own maps or just with testing, to an OpenArena Community Mappack package.
Development of these mappacks happens through Official OpenArena Forums.

Who can enter? Edit

  • Anyone, as long as they respect the rules of the mappack (see below). They don't need to be mappers: even if they can't produce assets, this doesn't mean that they can't test the maps themselves and give feedback.

Requirements Edit

These are points which every OACMP map must accomplish obligatory.

For mappers Edit

  • Both the map and the assets used in order to create it must be GPLv2-compliant. This means that the final release should contain sources for each asset which isn't already in OA itself, and the license file. This counts especially for third-party assets.
    Reasons for this: maintenance (we can correct what's wrong), easiness of maintenance (we won't need to distribute separate parts of the package with it's own license), and compliance with OA's GPL. This also brings the benefit of including this package in practically the same places as OA can be distributed (official repositories, commercial distros, bundles) without worries.
    Regarding the assets, the only allowed licenses are Public Domain stuff (including CC0) and already GPL/GPLv2 stuff. Stuff made from scratch is allowed as well, as long as you provide the sources and a license file compatible with GPLv2. Everything else (other CC licenses, copyrighted stuff -!-) is disallowed.
    Don't forget copyright applies to shader files, too.
  • The map should work 100% into a vanilla OA folder. This means: they shouldn't have other requirements such as compatibility texture packages.
    The reason is (for testing purposes) that non-official PK3 getting in the way of testing causes us unnecessary headaches and (for playing purposes) most of the people who play OA for the first time will surely have a clean installation.
    • Botplay AAS files are required. Not everyone wants to play OA online for different reasons. Every map should have support for OA bots.
    • Stick to default OA gametypes. Not everyone has mods.

For testers Edit

  • Make sure there're no other pk3 files in the baseoa folder other than the default ones and the maps from the pack. The reason is that non-official PK3 getting in the way of testing causes both mappers and testers alike unnecessary headaches.
    • Before a new mappack "Volume X" is officially released, some testing should also be done to check the new pack does not suffer or cause problems due to conflicts with other OACMP packs (e.g. due to different assets using the same path/name). Temporarily add previous OACMP "Volume Y" packs to your game folder to do these tests, and then remove them.
  • After every new version of the pack, clean up the testing folder, otherwise, there may possibly be issues which were already solved.
  • If you have any dubt about GPLv2 compliance of some assets used in the package (e.g. "I thought texture pack X was realeased under CC license..."), please report it immediately.

Tips and recommendations Edit

These are points which OACMP mappers may or may not follow, but their following is adviced as it ensures a good quality on the overall pack.

  • The style of the maps of the pack is up to the mappers themselves. Remakes and "inspirations" are allowed, but the preferences are original maps made specifically for this pack.
  • Longname/message and music are recommended. Not having at least one of those items make the map (and, by extension, the pack) to feel unfinished.
  • It's a good idea to use naming conventions to distinguish different versions of the same map. The same could be applied to, for example, shader files.
  • Create a readme file for your map. The Readme Model page has a template for you.
  • Avoid as much as possible to name your asset folders with known names such as xcsv or mkoxide or swelt*. If possible, use the oacmp_ prefix to differentiate the asset folder from the originals.

On general map layout Edit

  • Plan and build your map with optimizations and the game engine's limitations in mind. From the mapping POV, an unoptimized map brings a higher compiling time and a higher chance of getting BSP-related bugs such as the infamous "Hall of Mirrors", not to mention that it's extremely hard to optimize a map which wasn't built with this in mind. From the playing POV, there's the FPS drop because the engine renders more than it's actually seen and this impacts negatively in the player experience. Good building techniques are always advisable.
  • Distribute the items on the map (ammo, weapons, items, powerups/holdables) in such a way that the player needs to get out of their confort zone in order to equip themself.
  • For every strong zone in the map, such as a sniping tower, there should be a countermeasure such as many paths leading to it or a trap.
  • Also bear in mind the "vertical gameplay": add areas with more than one floor at the same time. Plain single floor leads to boring gameplay.
  • Place bases/markers where the weapons should spawn. This also counts for powerups/holdables, the Runes, and the Megahealth.
  • Design your maps with newbs/bots in mind and add shortcuts for seasoned players but avoid as much as possible the obligatory need of knowing trickjumps in order to reach certain items which cannot be accessed normally on foot. As an example, empty small towers which can only be reached by trickjumping are OK, but the same towers holding items is BAD. Remember that even the original Q3 was enjoyable without the need of knowing trickjumping.

On gametype-based map layout Edit

  • Regarding the size of your map and the multi-gametype-support nature of OA maps, it may be a good idea to consider support for other gametypes. Here's a hint checklist:
    • Every FFA map is able to support Last Man Standing regardless of size, so it's a good idea to specify this in the .arena file.
    • Big FFA maps are able to support Team Deathmatch.
    • Small FFA maps are able to support Tournament.
    • Any CTF map is able to support each and every single of the objective-based team gametypes, namely CTF, One Flag CTF, Harvester, Overload, CTF Elimination and Double Domination.
    • Big maps and CTF-based maps can also support Elimination.
    • Maps with very distinguishable areas can support Domination.
  • For Elimination, it's advisable to use team_CTF_[red/blue]spawn spawnpoints, so each team has a place of start.
  • Even if your map isn't designed for FFA, it's always a good idea to place many (16-20) info_player_deathmatch starting points with "Initial" set to true (spawnflags 1) There's always the chance that people may end up playing deathmatch on your map even if it isn't designed for it. Likewise, place many team_CTF_*player/spawn starting points for CTF-based maps (10 per team is OK).
  • For FFA-based maps, unless you're building your map with other gametype support (such as 1FCTF and (Harvester) in mind, avoid symmetry as much as possible. Symmetry halves the gameplay.

On risk vs. reward Edit

  • If you have an issue placing the Railgun, bear in mind that the map may be also played on Instagib mode. Try to neutralize areas where the Railgun may be overpowered.
  • If you use any of the TA weapons in CTF maps as regular weapons, remember to add the Runes in order to counter them. Where the Runes cannot be supported, they can be used as Superweapons like the BFG.

Resources Edit

Troubleshooting Edit

Before reporting a problem, check if you have additional packages in your game paths. More often than not, most of the common problems have to do with third-party packages (texture compatibility packs or other maps, for example) interfering with the pack or the game's assets[1]. Moving those extra .pk3 files to another place will do the trick.

Notes Edit

  1. Packages of the game: pak0.pk3, pak1-maps.pk3, pak2-players.pk3, pak2-players-mature.pk3, pak4-textures.pk3, pak5-TA.pk3, pak6-misc.pk3, pak6-patch085.pk3 and pak6-patch088.pk3. You can check for conflicting packages under your homepath (configuration folder) and basepath (installation folder).

See also Edit

Around Wikia's network

Random Wiki