Skip to content

Commit

Permalink
Streamlined the manual's home page.
Browse files Browse the repository at this point in the history
- Also made it so the user doesn't need to check readme.md as much, since it's not a friendly file to navigate if you're outside of GitHub.
  • Loading branch information
Espyo committed Jan 14, 2025
1 parent d8a9c13 commit 47054a9
Show file tree
Hide file tree
Showing 11 changed files with 173 additions and 88 deletions.
5 changes: 2 additions & 3 deletions manual/content/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,16 @@

<h2 id="overview">Overview</h2>

<p>If you haven't already, you should read the included <code>readme.txt</code> file first, as it explains some things about the engine.</p>
<p><i>Pikifen</i> is a game engine that allows you to play a <i>Pikmin</i>-like game. You control a leader, and can order Pikmin to follow you, carry objects, fight enemies, take down obstacles, and more. Since the engine was designed with flexibility in mind, you are encouraged to create your own Pikmin types, hazards, leaders, areas, enemies, and so on. Depending on the mechanics that are implemented or missing, some things might work, some might not, and some might be working incorrectly.</p>
<p>In order to play a game on the engine, there must be a pack of content for that game in the engine's <code>game_data</code> folder. Luckily, the engine comes with some base content that can be played right off the bat, although you can also download or create any fan-made content and place their packs in the game data folder.</p>
<p>In order to play a game on the engine, there must be a pack of <a href="content.html">content</a> for that game in the engine's <code>game_data</code> folder. Luckily, the engine comes with some base content that can be played right off the bat, although you can also create or download any fan-made content and place their packs in the game data folder.</p>
<p>Upon running the engine, it will read the information in the game data folder and instantly boot up the game. Because the engine is still in development, the concept of a "game" isn't much more than "a collection of areas, enemies, and Pikmin". The main menu will be the same all the time, regardless of game, and choosing the "Play" option will prompt you on which available area you wish to play.</p>
<p>To note is that some downloaded content might depend on other content. For instance, if an area uses an enemy called "green_bulborb", but you do not have any Green Bulborb enemy in your game data, the area will not load properly.</p>

<h2 id="see-also">See also</h2>

<ul>
<li><a href="gameplay.html">How to play</a></li>
<li><a href="making.html">How to make content</a></li>
<li><a href="../../readme.md">The project's readme.md file</a></li>
</ul>

</div>
Expand Down
2 changes: 1 addition & 1 deletion manual/content/compiling.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ <h3 id="windows-vs-other">Other version of Visual Studio</h3>

<h3 id="github-actions">GitHub actions</h3>

<p>You can also let <a href="https://github.com/Espyo/Pikifen">GitHub</a>, the website hosting the repository for the project's source code, do the work. If you have an account, you can use your own fork of the project and run the "Compile for Windows" action. This will generate an artifact which is basically the binary pikifen.exe file.</p>
<p>You can also let <a href="https://github.com/Espyo/Pikifen">GitHub</a>, the website hosting the repository for the project's source code, do the work. If you have an account, you can use your own fork of the project and run the "Compile for Windows" action. This will generate an artifact which is basically the binary <code>pikifen.exe</code> file.</p>

<h2 id="linux">Linux</h2>

Expand Down
46 changes: 46 additions & 0 deletions manual/content/content.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!doctype html>
<html lang="en">

<head>
<meta charset="utf-8">

<title>Pikifen manual</title>
<meta name="description" content="The Pikifen user manual">

<link rel="stylesheet" href="../data/style.css">
<script src="../data/script.js"></script>
</head>

<body onload="setup('Content and packs');">
<div id="page-content">

<h2 id="content">Content</h2>

<p>"Content" refers to the things that make up a game &ndash; Pikmin types, areas, sound effects, scripts, animations, game configurations, and so on. <i>Pikifen</i>, the program, is the engine that grabs content and turns it into something playable.</p>

<p><i>Pikifen</i> does come with some content for you to try right away (the "base" content), but the idea is that you create your own content, or download content made by somebody else to play for yourself! To learn how to make your own, see <a href="making.html">making content</a>. To learn how to install someone else's content, see <a href="#installing">below</a>.</p>

<p>Content is just made up of files and folders inside of your hard drive, particularly inside of <i>Pikifen</i>'s <code>game_data</code> folder, inside the various <a href="#packs">pack</a> subfolders. For instance, the regular cave ambiance weather condition in the base content is stored in <code>game_data/base/weather/cave_normal.txt</code>.</p>

<h2 id="packs">Packs</h2>

<p>Content is organized by type (areas, liquids, graphics, etc.). But before that, it is split into packs, which are typically organized as bundles with a specific experience in mind, like a pack with a new area plus all of the graphics and object types that come with it. Each pack is a folder inside of the <code>game_data</code> folder, along with the content inside. This means players can share each others' packs by just passing a single folder around! You can think of packs as game mods, if you want.</p>

<p>The "base" pack comes with <i>Pikifen</i>, and it contains some stuff for players to play with, and for makers to build on top of. If you have any other packs besides this one, <i>Pikifen</i> will load them all one at a time, along with the content within them. It is also possible for one pack to replace the contents of another, like an "Easy Enemies" pack that replaces the standard Red Bulborb with a variant that only eats one Pikmin at a time. The order packs are loaded in the engine matters for this! You can learn the details <a href="making.html">here</a>, but for most purposes, you just need to know that if a pack is meant to replace another pack's content, it must be loaded after, not before.</p>

<p>Within the options menu in-game, you can find a menu to manage installed packs with. In it, you can disable installed packs, which is a handy alternative to simply deleting the folder. You can also adjust the order in which packs are loaded.</p>

<h3 id="installing">Installing</h3>

<p>To download and install packs, you will first want to find some. The best place to do so is in <i>Pikifen</i>'s' <a href="https://discord.gg/qbhz4u3">Discord server</a>! The content you will find there will likely come in a pack format, and will likely be inside of a zip file. To install it, simply place the zip in your <i>Pikifen</i> folder's <code>game_data</code> folder, then right-click it and choose to extract (exact instructions depend on operative system). Make sure a folder for the pack is created right there, just as there is a folder for the base pack. If the content you have downloaded is not in a pack format, you can usually place it in the <code>game_data/base</code> folder so it becomes a part of the base pack, but this makes things more disorganized; see <a href="making.html">here</a> for details.</p>

<h2 id="see-also">See also</h2>

<ul>
<li><a href="faq.html">Frequently asked questions</a></li>
</ul>

</div>
</body>

</html>
4 changes: 2 additions & 2 deletions manual/content/glossary.html
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ <h2 id="F">F</h2>
<dt>File name</dt>
<dd>The name of a file on your machine, e.g. <code>berry.png</code>. It consists of a base name (<code>Berry</code> in this case) and an extension, which is the part with the dot and whatever comes after (<code>.png</code>). File name extensions are usually not visible by default on Windows operative systems, but can be enabled.</dd>
<dd>For pretty much all content, the file name is also the internal name by which other content refers to it.</dd>
<dd>Further reading: <a href="making.html#content">Making</a>.</dd>
<dd>Further reading: <a href="making.html#content">Making content</a>.</dd>
</dl>
<dl id="frame">
<dt>Frame</dt>
Expand Down Expand Up @@ -276,7 +276,7 @@ <h2 id="I">I</h2>
<dl id="internal-name">
<dt>Internal name</dt>
<dd>The name some content has within the engine, i.e. outside of gameplay.</dd>
<dd>Further reading: <a href="making.html#content">Making</a>.</dd>
<dd>Further reading: <a href="making.html#content">Making content</a>.</dd>
</dl>
<dl id="itch">
<dt>Itch</dt>
Expand Down
2 changes: 2 additions & 0 deletions manual/content/history.html
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ <h2 id="roadmap">Roadmap</h2>
</li>
</ul>

<p>To know how the engine's development is going right now, you can check the <a href="https://discord.gg/qbhz4u3">Discord server</a> or the <a href="https://github.com/Espyo/Pikifen">GitHub project</a> page. The <a href="https://github.com/Espyo/Pikifen/blob/master/source/documents/todo.txt">todo.txt file</a> in the project also lists just about everything that is planned.</p>

</div>
</body>

Expand Down
142 changes: 70 additions & 72 deletions manual/content/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,85 +15,83 @@
<div id="page-content">

<p>Welcome to <i>Pikifen</i>'s user manual!</p>
<p>This manual will teach you how to play and how to make your own content. If you haven't already, please read the included <code>readme.txt</code> file first.</p>
<p>This manual will teach you how to play and how to make your own content.</p>

<div class="home-loose-links">
<a href="https://discord.gg/qbhz4u3">💬 Discord server</a> &bull;
<a href="https://github.com/Espyo/Pikifen">👨‍💻 GitHub project</a>
</div>

<b>About <i>Pikifen</i></b>

<ul>
<li><a href="about.html">About</a></li>
<li><a href="changelog.html">Version changelog</a></li>
<li><a href="credits.html">Credits</a></li>
</ul>

<br>
<b>Playing</b>

<ul>
<li><a href="gameplay.html">Gameplay basics</a></li>
<li><a href="options.html">Options</a></li>
</ul>
<table class="home-table">
<tr>
<td class="home-cell-about" style="border-bottom: none;">
<div class="home-header">About <i>Pikifen</i></div>
<div class="home-big-links">
<ul>
<li><a href="about.html">About</a></li>
<li><a href="changelog.html">Version changelog</a></li>
<li><a href="credits.html">Credits</a></li>
</ul>
</div>
</td>
<td class="home-cell-playing" style="border-bottom: none;">
<div class="home-header">Playing</div>
<div class="home-big-links">
<ul>
<li><a href="gameplay.html">Basics</a></li>
<li><a href="content.html">Finding more content</a></li>
</ul>
</div>
</td>
<td class="home-cell-making" style="border-bottom: none;">
<div class="home-header">Making content</div>
<div class="home-big-links">
<ul>
<li><a href="making.html">Basics</a></li>
<li><a href="quick_start.html">Quick start guide</a></li>
<li><a href="making.html#tutorials">In-depth guides</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<td class="home-cell-about" style="border-top: none; padding-top: 20pt;">
<div class="home-small-links">
<ul>
<li><a href="faq.html">Frequently asked questions</a></li>
<li><a href="troubleshooting.html">Troubleshooting</a></li>
<li><a href="glossary.html">Glossary of terms</a></li>
<li><a href="history.html">History and roadmap</a></li>
<li><a href="compiling.html">Compiling source code</a></li>
</ul>
</div>
</td>
<td class="home-cell-playing" style="border-top: none; padding-top: 20pt;">
<div class="home-small-links">
<ul>
<li><a href="options.html">Options</a></li>
</ul>
</div>
</td>
<td class="home-cell-making" style="border-top: none; padding-top: 20pt;">
<div class="home-small-links">
<ul>
<li><a href="maker_toolkit.html">Maker toolkit</a></li>
</ul>
</div>
</td>
</tr>
</table>

<br>
<b>Making content</b>

<ul>
<li><a href="making.html">Content-making basics</a></li>
<li><a href="quick_start.html">Quick start guide</a></li>
<li>In-depth guides:</li>
<ul>
<li>
Areas
<ul>
<li>
<a href="area.html">Making areas</a> to play on
<ul>
<li><a href="area_tips.html">Area tips</a></li>
</ul>
</li>
</ul>
</li>
<li>
Objects
<ul>
<li><a href="mob_type.html">Making object types</a> like a type of enemy, a type of Pikmin, etc.</li>
<li><a href="animation.html">Making animations</a> for objects or effects</li>
<li>
<a href="script.html">Object scripting</a> controls each object's behavior
<ul>
<li><a href="events_and_actions.html">List of events and actions</a></li>
</ul>
</li>
</ul>
</li>
<li>
Others
<ul>
<li><a href="hazard.html">Making hazards</a> for Pikmin to be in/vulnerable to</li>
<li><a href="spray.html">Making spray types</a> for leaders to use</li>
<li><a href="status.html">Making status effects</a> that change an object's properties</li>
<li><a href="particle.html">Making particle generators</a> so there can be particles</li>
<li><a href="music.html">Making songs</a> for menus, editors, or areas</li>
<li><a href="weather.html">Making weather</a> that changes the area's lighting</li>
<li><a href="gui.html">GUI configuration</a> sets where interface elements are</li>
<li><a href="misc_config.html">Misc. configurations</a></li>
<li><a href="misc_features.html">Misc. features</a></li>
</ul>
</li>
</ul>
<li><a href="maker_toolkit.html">Maker toolkit</a></li>
</ul>
<div class="home-loose-links">
<a href="../../readme.md">Project readme.md file</a> &bull;
<a href="../../license.txt">License</a>
</div>

<br>
<b>More info and troubleshooting</b>

<ul>
<li><a href="faq.html">Frequently asked questions</a></li>
<li><a href="troubleshooting.html">Troubleshooting</a></li>
<li><a href="glossary.html">Glossary of terms</a></li>
<li><a href="history.html">History and roadmap</a></li>
<li><a href="compiling.html">Compiling the source code</a></li>
</ul>

</div>
</body>

Expand Down
13 changes: 6 additions & 7 deletions manual/content/making.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!doctype html>
<!doctype html>
<html lang="en">

<head>
Expand All @@ -23,11 +23,9 @@ <h2 id="overview">Overview</h2>

<h2 id="content">Content</h2>

<p>"Content" refers to the things that make up a game &ndash; Pikmin types, areas, sound effects, scripts, animations, game configurations, and so on.</p>
<p>If you do not know the basics of what content and packs are, please read <a href="content.html">content and packs</a>.</p>

<dl>
<dt><b>Content lives in the <code>game_data</code> folder as plain old files and folders.</b></dt>
<dd>Content is just made up of files and folders inside of your hard drive, particularly inside of <i>Pikifen</i>'s <code>game_data</code> folder, inside the various <a href="#packs">pack</a> subfolders. For instance, the regular cave ambiance weather condition in the base content is stored in <code>game_data/base/weather/cave_normal.txt</code>.</dd>
<dt><b>Every piece of content has an internal name, which is referred to by other content.</b></dt>
<dd>When other content needs to refer to this content, it does so by using the internal name. For example, the spicy status's data refers to the spicy sparkles particles it generates as <code>spicy_sparkles</code>, since that's the internal name of that particle generator.</dd>
<dt><b>Internal names are the file names without extension or the folder names.</b></dt>
Expand Down Expand Up @@ -146,9 +144,9 @@ <h2 id="content-props">Content properties</h2>

<h2 id="packs">Packs</h2>

<p>If you do not know the basics of what content and packs are, please read <a href="content.html">content and packs</a>.</p>

<dl>
<dt><b>Content can be split into packs, which are basically folders.</b></dt>
<dd>Content is organized by type (areas, liquids, graphics, etc.). But before that, it is possible to split it into packs, which are typically organized as bundles with a specific experience in mind, like a pack with a new area plus all of the graphics and object types that come with it. Each pack is a folder inside of the <code>game_data</code> folder, along with the content inside, as well as one file with <a href="#pack-props">the pack's properties</a>. This means players can share each others' packs by just passing a single folder around! You can think of packs as game mods, if you want.</dd>
<dt><b>The base pack comes with the engine and should not be edited!</b></dt>
<dd>The base content, that lives in <code>game_data/base</code>, is meant to contain some, well, base content; basic stuff for players to get a feel of the game and have something to play with, as well as building blocks for people who want to create their own content with. Although you're free to take a look inside or just experiment temporarily, as a general rule you shouldn't create new content inside the base pack or edit the content that's already there!</dd>
<dt><b>You should create your own packs for the stuff you make.</b></dt>
Expand All @@ -160,7 +158,7 @@ <h2 id="packs">Packs</h2>
<dt><b>Content with the same internal name will be overwritten.</b></dt>
<dd>There can only be one piece of content by a given internal name. So you can't have two <code>water</code> hazards loaded, for instance. If a pack has a <code>water</code> hazard, but another pack that gets loaded later also has a <code>water</code> hazard, only the latter's will be loaded. This allows you, for instance, to replace content from the base pack with your own versions!</dd>
<dt><b>Sharing your pack is ideally done with a zip file.</b></dt>
<dd>When you want to share your content with others, it's recommended that you right-click your pack's folder, and zip it. The exact option you should click depends on your operative system and programs, but you're looking for an option to create a compressed archive file, otherwise known as a zip file. Once you share it, any player that wants to try your content simply needs to download your zip file, extract it, and place the extracted folder in their own <code>game_data</code> folder!</dd>
<dd>When you want to share your content with others, it's recommended that you right-click your pack's folder, and zip it. The exact option you should click depends on your operative system and programs, but you're looking for an option to create a compressed archive file, otherwise known as a zip file. It's better to compress the pack folder as a whole, and not the contents <i>inside</i> the folder. Once you share it (try the <a href="https://discord.gg/qbhz4u3">Discord server</a>!), any player that wants to try your content simply needs to download your zip file, extract it, and place the extracted folder in their own <code>game_data</code> folder!</dd>
</dl>

<h3 id="pack-props">Pack properties</h3>
Expand Down Expand Up @@ -233,6 +231,7 @@ <h2 id="tutorials">Tutorials</h2>
Areas
<ul>
<li><a href="area.html">Making areas</a> to play on</li>
<li><a href="area_tips.html">Area tips</a></li>
</ul>
</li>
<li>
Expand Down
Loading

0 comments on commit 47054a9

Please sign in to comment.