GOAL: Recreate the entirety of Majora's Mask in ZQuest
CURRENT ZQ VERSION: 2.55 Prelim 17 (Updated 10/24/18)
CHANGELOG:
VERSION - DEMO 1:
Spoiler
Complete, functional Ocarina to play songs with (Changes instrument based on form)
Custom subscreen, which even allows you to view the songs you have learned and how to play them, including pressing A to play the melody. 3-panel active subscreen.
Customized A, B, Ex1, Ex2, and R button functions. B, Ex1, and Ex2 act as item buttons, while A and R change depending on your transformation.
Shield requires use: Your shield will only protect you while you are using it. As Human Link or Fierce Deity Link, your shield is bound to R. Other forms have no shield use.
Throwable Bombs: When you use a bomb, Link will hold it over his head. Press A, B, Ex1, or Ex2 to throw the bomb in the direction you are facing. Press R to place it directly in front of you.
Screens have height; you can go up stairs/slopes and end up on a higher part of the screen, able to fall back down, parkour around higher platforms, and more! Press Ex4 to toggle seeing the screen above you (which is transparent when visible)
Jumping ledges: jump different distance depending on your form. Can even jump between screens at the edge of a screen!
Time system: see the current time on the clock in your passive subscreen!
NPC system: NPCs who can appear in different places at different time
Bombchus, Deku Nuts, Magic Beans all functional!
Transformation masks just like in the original:
Link
Use most items
Equip non-transformation masks
Attack with sword
R to use shield
Jump over 2-tile gaps
Swims, but cannot dive
Plays the Ocarina
Deku Link:
Spin attack to damage enemies
Shoot bubbles with magic power
Skip across water's surface!
Fly with Deku Flowers
Jumps over 1-tile gaps when jumping
Plays the Deku Pipes
Goron Link
Punch to damage enemies directly in front of you!
Use Powder Kegs for big explosions!
Curl up with R to enter curled mode- R again to exit.
While curled, pound the ground with A!
Move to begin rolling. It takes a moment to gain speed, but you should be able to get to about double speed with this!
If you have magic to burn, you can enter spiked mode, granting triple speed and allowing you to trample most enemies! Uses 1 magic point every 10 frames
Go flying off of ramps, at 2x speed crossing 4-tile gaps, at 3x speed crossing 7-tile gaps!
Cannot jump off ledges
Cannot swim
Plays the Goron Drums
Zora Link
Can swim and dive!
Attack with Zora Blades
Swim and Dive!
Jump over 3-tile gaps when jumping
Plays the Zora Guitar
UNFINISHED THINGS IN THE DEMO:
Several items have not been re-sprited, including all swords
Goron Link's rolling sprites are currently placeholders
The outdoor area is a temporary test area
VERSION - DEMO 2
Spoiler
Moved to ZC 2.54 Alpha 30! Deku Link's Spin Attack and Magic Bean plants are both currently nonfunctional due to a bug in this ZC version.
Bottles, complete with all forms of things to go in them!
Torch Puzzles
Deku Sticks can carry fire between torches
Fire arrows also light torches
Normal arrows that touch fire become fire arrows
Light all the torches to trigger secrets (the torches can be spread across multiple screens!)
Ice blocks which can be melted, using either Fire Arrows or Hot Spring Water.
Yeah, Hot Spring Water. It cools off if you hold onto it for too long!
Ice Arrows can freeze water, making it so you can walk over it.
There are now ledges which prevent you from exiting the water. Freezing the water allows you to cross. There are also 2 versions of these, one which requires freezing and another which requires either freezing or using Deku Link to hop over.
Shops! Complete custom shop script setup, all ready to go. Stand below the item, face up, and press A to ask the shopkeeper about it.
Bugs can be found in tall grass and can be bottled. Using bugs while standing on Soft Soil may yield interesting results.
UNFINISHED THINGS IN THE DEMO:
Several items have not been re-sprited, including all swords
Goron Link's rolling sprites are currently placeholders
The outdoor area is a temporary test area
Version: Demo 3 (2018 Expo Demo)
Spoiler
Jumping animation now plays when using ledge-jumping.\
Song of Time, Double Time and Inverted Time now prompt you if you are sure you wish to use them.
Owl Statues now exist!
Song of Soaring is yet to be implemented
Quick-Saving is implemented! Whack an owl statue with your sword to receive a quicksave prompt.
Quick-saving will instantly kick you out of the quest back to the title screen. You can then reload the quick save as you would a normal save.
Reloading from a quick save will place you directly in front of the Owl Statue you saved at!
If you attempt to reload from the same quick-save a second time, it will load you back at the Dawn of the First Day.
Masks all sprited completely.
Bunny Hood is functional for movement speed bonus, and is 0.02 pixels per frame faster than the Goron rolling without spikes. (It is an exact 68% increase, because a wiki somewhere said that was the % in Majora's). The bunny hood also makes Link jump farther, with a jump equivalent to that of Zora Link.
The one tower in clocktown that gets taller as the days go on is set up, including the chest on top.
Skulltula enemy scripted with ghost.
Blast Mask is functional, including using your shield protecting you. *Has a 6 second cooldown between uses!
Zora's boomerangs have been scripted!
Fierce Deity form is mostly complete.
Clock Town outdoor areas pretty much complete.
Started implementing NPCs; the Banker, Brac, and Bremor are implemented.
Name can be changed at the right tablet in the Clock Tower, at any time.
Difficulty settings added.
Difficulty can be changed at the left tablet in the Clock Tower, at any time, so long as the Ocarina of Time is in your possesion.
Lens tints screen purple when in use.
Screen tints while outdoors based on the time; darker at night, normal at day, with an hour transition for sunset and sunrise, relatively gradually (though it is planned to be improved)
Lots of behind-the-scenes scripty stuff.
UNRELEASED FEATURES: (Last updated 10/24/18 at 3:07PM EST)
Spoiler
This thread shall no longer be updated with updates. See bottom of post.
PROGRESS NOTES:
8/20/18 - Converted fully to ZC 2.54 Alpha 30. Deku spin-attack and Magic Bean plants are currently nonfunctional due to a bug in the alpha.
8/22/18 - Added various features to the current working file. New demo is planned for... soon.
8/23/18 - Released Demo 2!
8/24/18 - Began working on the actual Clock Town area! Also implemented quick-saves with owl statues!
8/28/18 - Did a bunch of stuff and things and stuff. Bunch of it, yeah.
8/31/18 - Another bunch of stuff. Fierce deity form, Zora Boomerang, etc etc. --Time for less work on this project, college is starting yo. Dunno how much work will get done on this for a while, but I'm gonna try!--
10/24/18 - Expo Demo released, along with a ton of new stuff!
This thread will no longer be updated as of 10/24/18; changelogs/updates/etc are available on the official project discord, along with a bug reports section and a section for ideas/suggestions. Join now: https://discord.gg/qJghXEM
I have to admire your ambition at creating such an extensive project.
That being said, the downloaded demo is apparently an empty zip file?
Even using the Zip program to explore it (I use ExpressZip) it doesn't seem to contain anything.
I have similar goals with my next quest, but I haven't gotten nearly as far as you seem to have.
I was wondering if you might be willing to share some assets?
I'm particularly interested in any sprites you might have for Zora Link; since I've been unable to find any.
Thanks in advance for any assistance you can provide!
I don't know what to tell you about the ZIP, when I download it it downloads just fine- I also was not the one to zip it, the PureZC site did that when I uploaded the .qst file.
As far as Zora Link, I just took the Zora NPC from the DoR Hybrid tileset and added a green hat XD Same for the Goron Link and Deku Link actually (though I did re-color the deku). The current sprites being used for the goron's rolling are TEMPORARY btw, my buddy Noah is gonna make some nicer sprites when he has the time, I just needed something to throw in the first demo
Coding tends to come naturally to me to an extent, and I just get lost in projects easily and suddenly a lot is done. Sadly work on this will be slowing after this month because classes start up again, but I have no illusions that a project so large will be done quickly.
Based on the code for the Ocarina, the first problem you're likely to run into is ZC's variable limit.
Counting all the ints, arrays, bools and etc in that; you've created nearly 60 variables that exist at a global level.
The problem is that at any level of scope, the maximum amount of variables ZC can use (at least in older versions, not sure about the one that you're using) is 255.
Added to this is the fact that any changes to these will mean that you have to use a fresh save file to test them.
The most commonly used method of circumventing this is to embed such things in a function, or use a large global array.
Another factor is the fact that your functions are part of the global script, rather than separate as their own things.
There's nothing wrong with this in principle, though that means they can't be used by anything; anywhere else in the script file.
Such things work just as well sitting off on their own, where they can be utilized as required.
These are just two quirks of ZScript you don't seem to be aware of which could seriously throw monkey wrenches in your work.
There are a lot of others which can manifest themselves (and will) given the scope of this.
Based on the code for the Ocarina, the first problem you're likely to run into is ZC's variable limit.
Counting all the ints, arrays, bools and etc in that; you've created nearly 60 variables that exist at a global level.
The problem is that at any level of scope, the maximum amount of variables ZC can use (at least in older versions, not sure about the one that you're using) is 255.
Added to this is the fact that any changes to these will mean that you have to use a fresh save file to test them.
The most commonly used method of circumventing this is to embed such things in a function, or use a large global array.
Another factor is the fact that your functions are part of the global script, rather than separate as their own things.
There's nothing wrong with this in principle, though that means they can't be used by anything; anywhere else in the script file.
Such things work just as well sitting off on their own, where they can be utilized as required.
These are just two quirks of ZScript you don't seem to be aware of which could seriously throw monkey wrenches in your work.
There are a lot of others which can manifest themselves (and will) given the scope of this.
Most of the variables in the ocarina script have been removed for this (the OOT warp songs, etc, as well as the SONGSTRINGS_ arrays, as I wouldn't be using those anyway in this since I have tango.zh). I do realize I am likely to run into a large amount of technical difficulties with this in general, and I am also likely to run headfirst into a bunch of limitations to work around. Hopefully I will be able to work around these things.
As for the global script thing, yeah I know. Most of the functions thus far are actually standalone. Don't remember quite why I set up the ocarina script like that initially, but eh, that script was my warm-up for getting back into scripting after half a year having not touched ZC.
Thank you for the advice.
By the way, Octopath Traveller is to blame for lack of any work getting done in the past 4-5 days. DAMN YOU OCTOPATH FOR BEING SO ADDICTIVE!
This thread is officially no longer being updated. Further updates will be posted on the official project discord: https://discord.gg/qJghXEM
Demos will be posted on the project page here still, though only at certain completion levels; I may release intermediate (test) versions in the discord.
The discord has sections for suggestions, as well as bug reports. It also has its' own demo downloads section, which is not restricted by PZC's 3 demo limit.