: Add pokemon-harvestcraft [2024-05-27]

This commit is contained in:
octospacc 2024-05-27 15:43:58 +02:00
parent adb3a6b8f1
commit 93f4160790
22 changed files with 213 additions and 29 deletions

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Sala Museo Games
See [about.md](./pages/about.md#Bonus)

View File

@ -19,7 +19,7 @@ menu:
- title: "Contribute (GitHub)"
url: "https://github.com/GamingShitposting/SalaMuseoGames"
type: "external"
- title: "Feed"
- title: "Atom/RSS Feed"
url: "/feed.xml"
email: "gamingshitposting@github.com"
date_format: "%Y.%m.%d"

View File

@ -1,2 +1,9 @@
<script src="{{ site.baseurl }}/assets/js/preferences.js"></script>
<script src="{{ site.baseurl }}/assets/js/pwa.js"></script>
<script src="{{ site.baseurl }}/assets/js/pwa.js"></script>
<script>
document.querySelector('aside#sidebar ul').appendChild(SMG.Util.elementFromHtml(`<li><button onclick="(${(function(){
window.open().document.body.innerHTML = `<iframe src='${location.href}'></iframe><style>
body { margin: 0; } iframe { width: 100vw; height: 100vh; border: none; } </style>`;
location = 'about:blank';
})})();">Cloak to about:blank</button></li>`));
</script>

View File

@ -70,7 +70,7 @@
</script>
<!-- Include the script that allows Netlify CMS login -->
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
<!-- <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script> -->
<!-- Include the website scripts -->
<script src="{{ '/assets/js/scripts.min.js' | prepend: site.baseurl }}"></script>
@ -78,7 +78,7 @@
<script> document.querySelector('footer > div.nojs-menu').remove(); </script>
<!-- Include Google Analytics script -->
<!-- {% include stats.html %} -->
{% include stats.html %}
<!-- Include extra scripts -->
{% include extra-js.html %}

View File

@ -66,14 +66,14 @@
<!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="57x57" href="/assets/img/icons/apple-touch-icon-57x57.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="/assets/img/icons/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="/assets/img/icons/apple-touch-icon-114x114.png"/>
<link rel="apple-touch-icon" sizes="144x144" href="/assets/img/icons/apple-touch-icon-144x144.png"/>
<link rel="apple-touch-icon" sizes="60x60" href="/assets/img/icons/apple-touch-icon-60x60.png"/>
<link rel="apple-touch-icon" sizes="120x120" href="/assets/img/icons/apple-touch-icon-120x120.png"/>
<link rel="apple-touch-icon" sizes="76x76" href="/assets/img/icons/apple-touch-icon-76x76.png"/>
<link rel="apple-touch-icon" sizes="152x152" href="/assets/img/icons/apple-touch-icon-152x152.png"/>
<link rel="apple-touch-icon" sizes="57x57" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-57x57.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-114x114.png"/>
<link rel="apple-touch-icon" sizes="144x144" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-144x144.png"/>
<link rel="apple-touch-icon" sizes="60x60" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-60x60.png"/>
<link rel="apple-touch-icon" sizes="120x120" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-120x120.png"/>
<link rel="apple-touch-icon" sizes="76x76" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-76x76.png"/>
<link rel="apple-touch-icon" sizes="152x152" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon-152x152.png"/>
<!-- Windows 8 Tile Icons -->
<meta name="application-name" content="{{ site.name }}"/>
@ -87,7 +87,7 @@
<meta name="theme-color" content="#141414"/>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Titillium+Web:300,400,700" rel="stylesheet"/>
<link href="{{ site.baseurl }}/assets/fonts/Titillium-Web/index.css" rel="stylesheet"/>
<link rel="stylesheet" href="{{ '/assets/css/styles.css' | prepend: site.baseurl }}"/>
<link rel="canonical" href="{{ url }}"/>

View File

@ -1,5 +1,5 @@
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<!-- <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
<script>
var host = window.location.hostname;
if (host != 'localhost') {
@ -10,4 +10,4 @@
gtag('config', '{{ site.google_analytics }}');
}
</script>
-->

View File

@ -0,0 +1,117 @@
---
layout: "post"
title: "Pokemon HarvestCraft"
subtitle: "A unique blend of Pokémon adventures and Harvest Moon-style farming."
description: "Pokemon HarvestCraft merges classic Pokémon gameplay with farming and life simulation elements, set in a town under the threat of a powerful Trevenant."
image: "/assets/media/games/pokemon-harvestcraft/RSy-V9qg-Imgur.png"
image_source: "internal"
category: "games"
tags:
- "farming"
- "sandbox"
- "simulation"
- "crafting"
- "adventure"
- "rpg"
- "love"
- "time"
- "ranching"
author: "octobot"
software_data:
platform: "gba"
rom_index: "Pokemon_Harvestcraft_Final_2.0.gba"
release:
region: "global"
source: "community"
type: "hack"
year: "2016"
---
## About the game
<blockquote>
<div style="text-align: center"><span class="fixed-color" style="color:sienna"><span style="font-size: 26px"> :t263: Pokemon HarvestCraft :t300: </span></span>&#8203;</div><br/>
<b><span style="font-size: 22px"> :t273: Introduction</span></b><br/>
<div style="margin-left: 20px">Hi everyone! I&#039;m quil09 and I present you my first rom hack...&#8203;</div><br/>
<b><span style="font-size: 22px"> :t276: Story</span></b><br/>
<div style="margin-left: 20px">21 years ago, Pokemon lived in harmony in the woods. The Pokemons there were ruled by the Pokemon Trevenant.<br/>
<br/>
One day, A group of people came and started cutting trees and building houses. There was no left home for the Pokemons. The Trevenant did not know what to do so it ask help on the Harvest Goddess. Harvest Goddess quickly responds and tried to punish the people. But she fell in love with one of them, and his name was Eric, which also fell in love with her. So Harvest Goddess forgave Eric and his townspeople. Trevenant didn&#039;t like her decision but he doesn&#039;t have any choice until he learned that If Harvest Goddess marries a human, she will lost all of her powers and pass it to Trevenant that&#039;s one thing Harvest Goddess didn&#039;t know about herself.<br/>
<br/>
Until 2 years later they got married (That&#039;s a long wait, huh?). At the end of the wedding, Harvest Goddess tried to use her powers to create fireworks but it didn&#039;t work, that&#039;s the time when she realized she lost all of her powers but she accepted it because she is happy with her husband.<br/>
<br/>
Trevenant is wondering why he still don&#039;t have Harvest Goddess&#039; powers so he asked Kappa, Harvest Goddess&#039; brother. Kappa said that he will only obtain Harvest Goddess&#039; powers at the birth of the Harvest Baby.(Kappa didn&#039;t know about Trevenant&#039;s plan yet). One day, Kappa manage to find out Trevenant&#039;s plan, to trap the people inside the town and to kill the Harvest Baby so he tried to stop him but he failed. Kappa was trap inside a mine. Kappa told Trevenant that someone can stop him.<br/>
<br/>
A year later the Harvest Baby is born at that time Trevenant has obtained Harvest Goddess&#039; powers and started the attack. He traps the people inside the town with cursed trees. Harvest Goddess&#039; and ERIC tried to escape they put the baby in the basket. Eric and the baby escaped but Harvest Goddess&#039; didn&#039;t get lucky, she got trap inside the town with the other people. Eric got away from the town with the baby. Knowing Trevenant is after the baby, he left the baby in front of a fosters house. (Why?!? Isn&#039;t he safer with you!?!?)<br/>
<br/>
You&#039;re an 21 year old who&#039;s just starting out on your journey but suddenly you got trapped in the town by Trevenant just for fun. Did he made a very bad thing to trap you in the town too? Can you stop this nonsense and free the townspeople?&#8203;</div><br/>
<b><span style="font-size: 22px"> :t143: Features</span></b><br/>
<div style="margin-left: 20px"><span style="font-size: 12px"><b>Weather System</b></span><br/>
It sometimes rains every Spring, Summer and Fall and sometimes snows every Winter. Weather affects the energy lost when you do work.<br/>
<br/>
<span style="font-size: 12px"><b>Scripted Time and Day</b></span><br/>
Time changes only if you go through Maps. NPCs move around the town depending on time and day.<br/>
<br/>
<span style="font-size: 12px"><b>Seasons</b></span><br/>
Seasons changes every 30 days. Changing Season affects the items found and wild Pokemons encounter in the Woods.<br/>
<br/>
<span style="font-size: 12px"><b>Farming</b></span><br/>
You can plant Apricorns any season except Winter. Up to 6 Apricorns can only be planted.<br/>
<br/>
<b><span style="font-size: 12px">Ranching Pokemons</span></b><br/>
Torchics, Skiddos and Gogoats.<br/>
<br/>
<span style="font-size: 12px"><b>New Berry System</b></span><br/>
Berries found regrow everyday by random.<br/>
<br/>
<b><span style="font-size: 12px">No Gym Leaders and Elite Four</span></b><br/>
Shop Owners give you badges when you defeat them and Trevenant will serve as the Champions battle.<br/>
<br/>
<b><span style="font-size: 12px">Some new Pokemons</span></b><br/>
Some Pokemons from Gen 4 to Gen 6 (May not have the correct Cry, Movesets, and Method of Evolution).<br/>
<br/>
<b><span style="font-size: 12px">Cooking and Crafting</span></b><br/>
Cooking food to replenish Your Energy and Your Pokemon&#039;s Health. Crafting tools to help you on your work.<br/>
<br/>
<b><span style="font-size: 12px">New Items</span></b><br/>
Such as foods, apricorns, and other resources.<br/>
<br/>
<b><span style="font-size: 12px">Energy Mechanics</span></b><br/>
Energy decreases when doing work. You can replenish your Energy by eating or sleeping. Maximum Energy gained when you sleep is determined by the number of badges.<br/>
<br/>
<b><span style="font-size: 12px">Bachelors and Bachelorettes </span></b><br/>
Love System<br/>
<br/>
<b><span style="font-size: 12px">Fairy Type</span></b><br/>
Fairy Type Pokemons and Moves.<br/>
<br/>
<b><span style="font-size: 12px">New Moves</span></b><br/>
New moves doesn&#039;t have new animations or effects. Just some animations that I think it will suit them.<br/>
<br/>
<b><span style="font-size: 12px">And more fun features to discover by yourself</span></b><br/>&#8203;</div><br/>
</blockquote>
"Pokemon HarvestCraft" is an innovative rom hack of "Pokemon Ruby" developed by quil09. This game combines the beloved elements of traditional Pokemon gameplay with the immersive mechanics of farming, ranching, and crafting, creating a uniquely engaging experience for players.
The story begins 21 years prior when Pokemon lived peacefully in the woods under the rule of the Pokemon Trevenant. This tranquility was disrupted when humans arrived, cut down trees, and built a town, leaving the Pokemon homeless. In response, Trevenant sought help from the Harvest Goddess. However, complications arose when the Harvest Goddess fell in love with Eric, one of the humans, and chose to forgive them. Unbeknownst to her, if she married a human, she would lose all her powers, which would then pass to Trevenant.
Two years later, the Harvest Goddess and Eric married. At the ceremony's conclusion, the Harvest Goddess realized she had lost her powers but accepted this for the sake of her happiness with Eric. Trevenant, puzzled by his lack of new powers, consulted Kappa, the Harvest Goddess's brother, and learned that the powers would transfer to him upon the birth of the Harvest Baby. When Kappa discovered Trevenant's malevolent plan to trap the townspeople and kill the Harvest Baby, he attempted to intervene but was imprisoned in a mine by Trevenant.
A year later, the Harvest Baby was born, and Trevenant gained the Harvest Goddess's powers. He trapped the townspeople with cursed trees. The Harvest Goddess and Eric tried to escape with their child, but only Eric and the baby managed to flee, leaving the Harvest Goddess trapped. Eric, knowing Trevenant's pursuit, left the baby at a foster home for safety.
Players step into the role of a 21-year-old starting their journey, only to be trapped in the cursed town by Trevenant. The main quest revolves around stopping Trevenant and freeing the townspeople.
"Pokemon HarvestCraft" introduces numerous unique features that distinguish it from the original "Pokemon Ruby." The game includes a weather system where seasonal changes impact gameplay; for instance, rain and snow affect energy expenditure during work. Time progresses with map transitions, influencing NPC movements and interactions. Seasons change every 30 days, altering available items and wild Pokemon encounters.
Farming and ranching are core mechanics. Players can plant Apricorns (except in winter) and manage Pokemon like Torchics, Skiddos, and Gogoats. A new berry system ensures daily regrowth of berries. Instead of traditional Gym Leaders and Elite Four, players earn badges by defeating shop owners, with Trevenant serving as the final challenge.
The game also features a crafting system, enabling players to create tools and cook food to replenish energy and health. New items, including foods and apricorns, enrich the gameplay. Energy mechanics add a layer of strategy, as energy depletes with work and can be replenished through eating or sleeping, with maximum energy determined by the number of badges earned.
Romance options are available with bachelors and bachelorettes, adding a love system to the game. Additionally, Fairy Type Pokemon and moves are included, alongside new moves tailored with suitable animations.
Overall, "Pokemon HarvestCraft" offers a rich and varied gameplay experience that melds the charm of traditional Pokemon adventures with the depth of simulation elements, providing players with numerous features and surprises to discover.
## Resources
* Official page of the game; Cover image credits: <https://www.pokecommunity.com/threads/pokemon-harvestcraft-version-2-0.330054/>

View File

@ -49,7 +49,7 @@ section.post > article {
iframe.AppFrame,
iframe#software-embed-frame {
height: calc(100vh - 4rem);
height: calc(100vh - 5rem);
border: none;
overflow: hidden;
}

View File

@ -71,7 +71,7 @@ aside.sidebar {
margin: 0;
list-style-type: none;
a {
* {
width: 100%;
display: block;
padding: rem(15px) rem(20px);

View File

@ -0,0 +1,48 @@
/* latin-ext */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 300;
src: url(./NaPDcZTIAOhVxoMyOr9n_E7ffGjEGIVzY4SY.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 300;
src: url(./NaPDcZTIAOhVxoMyOr9n_E7ffGjEGItzYw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 400;
src: url(./NaPecZTIAOhVxoMyOr9n_E7fdM3mDbRS.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 400;
src: url(./NaPecZTIAOhVxoMyOr9n_E7fdMPmDQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 700;
src: url(./NaPDcZTIAOhVxoMyOr9n_E7ffHjDGIVzY4SY.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Titillium Web';
font-style: normal;
font-weight: 700;
src: url(./NaPDcZTIAOhVxoMyOr9n_E7ffHjDGItzYw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@ -5,7 +5,7 @@ var prefsIndex = 'SalaMuseoGames/Prefs/v1';
var Prefs = window.SalaMuseoGames.Prefs = {
softwarePwaManifests: { default: true, /* dependsOn: "pwaManifests", */ name: "Allow installing individual games as PWAs" },
pwaManifests: { default: false, name: "Allow installing the site home itself as a PWA" },
offlineCache: { default: true, name: "Cache site pages and game files offline", summary: "Allow faster site navigation, and gameplay while offline, by caching unlimited data. Disable to save device storage. (Note: data for some emulators and games is always cached regardless of this setting; you can only manage their data in their interface if they show an option.)" },
offlineCache: { default: true, section: "data", name: "Cache site pages and game files offline", summary: "Allow faster site navigation, and gameplay while offline, by caching unlimited data. Disable to save device storage. (Note: data for some emulators and games is always cached regardless of this setting; you can only manage their data in their interface if they show an option.)" },
dataExport: { section: "data", name: "Export site configuration and game saves", onclick: (function(){
async function makeDownloadObj (data) {
var name = 'SalaMuseoGames-Export.json';
@ -19,7 +19,7 @@ var Prefs = window.SalaMuseoGames.Prefs = {
return { download: name, href: URL.createObjectURL(blob) };
}
var data = { localStorage, indexedDB: {} };
var dbs = ["EmulatorJS-core", "/data/saves", "/home/web_user/.renpy"];
var dbs = ["EmulatorJS-core", "/data/saves", "/idbfs", "/home/web_user/.renpy"];
dbs.forEach(function(db){
indexedDB.open(db).onsuccess = (function(event){
idbBackupAndRestore.exportToJson(event.target.result).then(async function(json){
@ -42,7 +42,7 @@ var Prefs = window.SalaMuseoGames.Prefs = {
if ('CompressionStream' in window) {
stream = stream.pipeThrough(new DecompressionStream('gzip'));
} else {
return alert('Compressed archives are not supported in this browser. Please decompress externally and then upload a JSON file.');
return alert('Compressed archives are not supported in this browser. Please decompress externally (via gzip or 7z) and then upload the extracted JSON file.');
}
} else {
return alert('File type not recognized.');

View File

@ -1,11 +1,12 @@
(function(){
var Prefs = SalaMuseoGames.Prefs;
var Software = SalaMuseoGames.page.software_data;
var SMG = SalaMuseoGames;
var Prefs = SMG.Prefs;
var Software = SMG.page.software_data;
var Screen = (Software && Software.screen);
var Site = SalaMuseoGames.site;
var iconUrl = SalaMuseoGames.page.icon;
var coverUrl = SalaMuseoGames.page.image;
var Site = SMG.site;
var iconUrl = SMG.page.icon;
var coverUrl = SMG.page.image;
var sitePath = (Site.url + Site.baseurl);
function absoluteUrlFromRelative (url) {
@ -19,7 +20,7 @@ function absoluteUrlFromRelative (url) {
}
if (Prefs.pwaManifests.value || Prefs.softwarePwaManifests.value) {
var manifestData;
var manifestData = {};
if (Prefs.softwarePwaManifests.value && Software) {
// specific manifests on games pages
var pageUrl = (location.href + '?pwaLaunch=1'); // TODO Url parameters to make the game open fullscreen and automatically start

View File

@ -44,7 +44,7 @@ function controlsHtml (picks) { return ( '<span class="software-embed-controls">
var frame = wrapper.querySelector('iframe#software-embed-frame');
var src = frame.src;
frame.src = '';
frame.src = src;
setTimeout(function(){ frame.src = src }, 33); // timeout to work around a bug where the frame remains blank
}) + ' ' : '') + '</span>'
) }

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -30,10 +30,11 @@ software_data:
frame_url: ""
frame_index: ""
release:
authors: ""
region: ""
source: ""
type: ""
year: ""
type: ""
year: ""
screen:
orientation: ""
display: ""

View File

@ -25,3 +25,10 @@ Central to the success of Sala Museo Games is the emulation community and cuttin
As we embrace the future of gaming, Sala Museo Games remains at the forefront of innovation. Our dedication to cutting-edge web technology ensures a smooth and responsive gaming experience, whether you're accessing the site on a desktop, laptop, or mobile device. We believe in making gaming accessible to everyone, and our platform reflects this commitment through its user-friendly design and responsive interface.
In conclusion, Sala Museo Games stands as a testament to the artistry and cultural significance of video games. By combining a curated collection, online playability, community engagement, and cutting-edge technology, we invite you to embark on a journey through the digital landscapes that have shaped the gaming world. Join us in celebrating the past, present, and future of video games, where every click is an invitation to explore, play, and appreciate the art of gaming.
## Bonus
Sala Museo Games is fully open-source and costantly improving. Any contributions are welcome <a href="https://github.com/GamingShitposting/SalaMuseoGames">on the GitHub repository</a>.
As I personally work on improvements and additions to this website and its underlying technologies, I usually write devlogs on my microblog: <a href="https://octospacc.altervista.org/?s=SalaMuseoGames">octospacc.altervista.org/?s=SalaMuseoGames</a>.