porymap/docs/manual/editing-map-collisions.html
2019-04-24 18:49:08 -05:00

315 lines
No EOL
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Editing Map Collisions &mdash; porymap documentation</title>
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Editing Map Events" href="editing-map-events.html" />
<link rel="prev" title="Editing Map Tiles" href="editing-map-tiles.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: linear-gradient(180deg, #08ACD5 50%, #FF6262 0%);" >
<a href="../index.html" class="icon icon-home"> porymap
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">User Manual</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a><ul>
<li class="toctree-l2"><a class="reference internal" href="introduction.html#about-porymap">About Porymap</a></li>
<li class="toctree-l2"><a class="reference internal" href="introduction.html#getting-started">Getting Started</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="navigation.html">Navigation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="navigation.html#map-list">Map List</a></li>
<li class="toctree-l2"><a class="reference internal" href="navigation.html#main-window">Main Window</a></li>
<li class="toctree-l2"><a class="reference internal" href="navigation.html#tileset-editor">Tileset Editor</a></li>
<li class="toctree-l2"><a class="reference internal" href="navigation.html#region-map-editor">Region Map Editor</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="editing-map-tiles.html">Editing Map Tiles</a><ul>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#visual-options">Visual Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#selecting-metatiles">Selecting Metatiles</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#pencil-tool">Pencil Tool</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#pointer-tool">Pointer Tool</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#bucket-fill-tool">Bucket Fill Tool</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#map-shift-tool">Map Shift Tool</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#smart-paths">Smart Paths</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#change-map-border">Change Map Border</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#change-map-tilesets">Change Map Tilesets</a></li>
<li class="toctree-l2"><a class="reference internal" href="editing-map-tiles.html#undo-redo">Undo &amp; Redo</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Editing Map Collisions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#selecting-collision-types">Selecting Collision Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="#painting-collisions">Painting Collisions</a></li>
<li class="toctree-l2"><a class="reference internal" href="#collision-types">Collision Types</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="editing-map-events.html">Editing Map Events</a></li>
</ul>
<p class="caption"><span class="caption-text">Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/CHANGELOG.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/CHANGELOG.html#unreleased">Unreleased</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/CHANGELOG.html#id1">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id2">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/CHANGELOG.html#id4">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/CHANGELOG.html#id8">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id9">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id10">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id11">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/CHANGELOG.html#id12">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/CHANGELOG.html#id13">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">porymap</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li>Editing Map Collisions</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/huderlem/porymap/blob/master/docsrc/manual/editing-map-collisions.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="editing-map-collisions">
<h1>Editing Map Collisions<a class="headerlink" href="#editing-map-collisions" title="Permalink to this headline"></a></h1>
<p>The second half of editing a maps metatiles is their collision properties. This is what determines if the player can walk or surf on each metatile during gameplay. Whenever editing a maps metatiles, you need to update the collision properties appropriately. Typically, a user will first map the visual metatiles and fill in the collision properties after that is finished. The editing flow for collisions is very similar to editing map tiles. First, you select a collision type. Then, you paint it onto the map.</p>
<div class="section" id="selecting-collision-types">
<h2>Selecting Collision Types<a class="headerlink" href="#selecting-collision-types" title="Permalink to this headline"></a></h2>
<p>The Collision Type Selector is a tab next to the Metatile Selector. It features 32 total different collision types. The left column is for collision types that allow the player to walk through the tiles. These are denoted by white text. The right column is for collision types that are impassable by the player. These are denoted by red text.</p>
<p>The transparency slider above the collision types controls the transparency of the collision properties on the map view.</p>
<div class="figure" id="id1">
<img alt="Map Collisions View" src="../_images/map-collisions.png" />
<p class="caption"><span class="caption-text">Map Collisions View</span></p>
</div>
<p>Unlike metatiles, only one collision type can be selected at a time. A collision type can be selected either by clicking in the Collision Type Selector. You can also right-click on a metatile from the map area, just like you would when editing metatiles.</p>
</div>
<div class="section" id="painting-collisions">
<h2>Painting Collisions<a class="headerlink" href="#painting-collisions" title="Permalink to this headline"></a></h2>
<p>The painting process for collisions is nearly identical to painting metatiles. You can use the same paint tools and shortcuts, with the exception of Smart Paths. Undo/redo history includes collision modifications, too.</p>
</div>
<div class="section" id="collision-types">
<h2>Collision Types<a class="headerlink" href="#collision-types" title="Permalink to this headline"></a></h2>
<p>Now well go over the different types of collisions, along with some important concepts. Each row in the Collision Type Selector represents a different <em>elevation</em>, which is why most rows have hexadecimal numbers in them (2, 3, 4, …, D, E). Rows 0, 1, and F have special purposes.</p>
<p>Elevation is how the game determines whether or not an object is on the same level as something else. For example, its commonly used to make sure the player cant walk off the top side of a mountain. If the players current elevation is 4, but the player is trying to walk onto a metatile with elevation 3, then the game wont let the player walk in that direction. In the example below from Route 114, the player would be unable to walk north from the mountain onto the grass. This is because 3 and 4 are different elevations.</p>
<div class="figure" id="id2">
<img alt="Different Elevations on a Cliff" src="../_images/collision-cliff.png" />
<p class="caption"><span class="caption-text">Different Elevations on a Cliff</span></p>
</div>
<p>Now that you undertand the basics of elevation, lets explore the special collision types, which have no elevation associated with them.</p>
<dl class="docutils">
<dt>Transition Collision Type <img alt="transition-collision-type" src="../_images/transition-collision-type.png" /></dt>
<dd>The Transition collision type allows the player to move between different elevations. The most common use case is for stairs. The player will always be allowed to walk onto this collision type. Then, the player will be able to walk onto any elevation.</dd>
</dl>
<dl class="docutils">
<dt>Impassable Collision Type <img alt="impassable-collision-type" src="../_images/impassable-collision-type.png" /></dt>
<dd>The Impassable collision type blocks the player from moving. What makes it special is that it doesnt count as any particular elevation. This means that, for example, a signpost would be interactable from all elevations if it uses this collision type. This is the most common impassable collision type used in the game, and it should generally be used for impassable tiles.</dd>
</dl>
<dl class="docutils">
<dt>Surf Collision Type <img alt="surf-collision-type-1" src="../_images/surf-collision-type-1.png" /> <img alt="surf-collision-type-2" src="../_images/surf-collision-type-2.png" /></dt>
<dd>The Surf collision type allow the player to surf. The red version is just the impassable version. <strong>The player will only be able to start surfing from elevation 3. The same is true when hopping off onto land.</strong></dd>
</dl>
<dl class="docutils">
<dt>Multi-Level Collision Type <img alt="multi-level-collision-type-1" src="../_images/multi-level-collision-type-1.png" /> <img alt="multi-level-collision-type-2" src="../_images/multi-level-collision-type-2.png" /></dt>
<dd>The Multi-Level collision type is used for bridges. The red version is just the impassable version, and it doesnt have any special use. Multi-level collision type remembers the players previous elevation and maintains that elevation as long as the player continues to walk on multi-level collision. The player will only be able to leave multi-level collision if he walks onto a new tile that has the same elevation as before the multi-level collision was entered. Here is an example of a bridge from Route 119 that illustrates the ability to surf north/south under the bridge, while also being able to walk east/west.</dd>
</dl>
<div class="figure" id="id3">
<img alt="Multi-Level Collision Type on a Bridge" src="../_images/multi-level-bridge.png" />
<p class="caption"><span class="caption-text">Multi-Level Collision Type on a Bridge</span></p>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="editing-map-events.html" class="btn btn-neutral float-right" title="Editing Map Events" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="editing-map-tiles.html" class="btn btn-neutral float-left" title="Editing Map Tiles" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019, huderlem
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>