Jump to content

A Link to Frustration (WORKING TITLE)

Photo

I'm Not Really Sure About Anything


  • Please log in to reply
5 replies to this topic

#1 A Link to Frustration

A Link to Frustration

    Link to Frustration

  • Members
  • Location:My Own Little Plane of Oblivion

Posted 02 December 2014 - 04:13 PM

Okay. It's funny how many of my posts begin with the word okay! It's probably a sign of resignation or something! After all that is pretty much all I've been doing with my posts lately.

Resigning myself to the fact that I suck, and then going on to ask for help to try and suck less. And to some small extent it does work. Thanks to everyone's help on the forms I've been taking little baby steps towards faint comprehension of the technical aspects of what I'm trying to do. I've jumped through hoops before. I've studied the personalities of the ghosts in Pac-Man (the way each of them tends to move, some being more random while others are more head on with their approach, and yet others tend to feign fright and run away only to turn tail and ambush you once you give chase), I've tried to discern a repeat organization to the way that minesweeper lays out it's mines from game to game (that one I eventually wound up giving up as a lost cause). I've played through most of the Zelda games without a guide or walkthrough (for the puzzles and actual gameplay at least, collection quest like TP's insects or OoT's Skulltulas I still used guides to get the full 100%). I can't quite figure out the Rubix Cube yet but god know's I've tried!

But for all that, I still find that I'm most enjoying myself most when the things that I'm doing though are either mindless or creative. Legos are fun (if not a bit too expensive for my liking). Minecraft is simply amazing. Any game with a simple enough level editor is pretty much free reign for me to make my own campaign. ZQuest though was much more complicated. Over the course of a few years (I took a lot of hiatuses for things such as Minecraft, Fallout, and Skyrim) I learned to use it like a semipro, slowly bending the engine to my will to make the kinds of situations I wanted more or less a reality. But once the awe of my new-found power was exhausted, and the stresses of figuring out what I could and couldn't do wore off, I found myself claustrophobic within the limitations of the framework.

I figured out how to make what's close enough to the most of LoZ style pushblock puzzles. I worked out how to connect multiple Lost Woods screens to make gigantic (or at the very least rather sizable) maze regions. I trained myself to plan ahead so that the player doesn't run out of keys (unless I want them to), and that dungeon layouts don't inadvertently bar you from continuing on any further just because you made a wrong turn and used your only key to open one door when you should have opened a different one. I worked at always trying to push the system and combine or extend the already present elements to make for a more diverse gameplay experience than the original LoZ initially allowed.

What I'm saying is that I've come a long way from being the kid who made the entire gameworld (that's Overworld AND Dungeons) on the first layer, with only one Cset and a single Dmap. I feel like I've done way too much and come way too far to just quit now. And I'll sooner be damned than bite the bullet and go ahead with producing what I feel to be a subpar finished product. I may have learned to make compromises, but I'm still a perfectionist at heart, and I owe it to myself not to get overwhelmed and give up just because things seem impossible to understand. I also feel that I owe it to the world to show them the story I've worked out: an epic yarn that seeks to end Ganon's cycle of reincarnation and terror once and for all (whether or not you succeed in doing so depends on how well you do and what ending you get), while tying together the world of the games and the cartoons, and explaining away a bunch of the plot holes left by Nintendo's lack of planning early on (especially where AoL is concerned). There are new characters and old characters, the whole project really being one massive love letter to Nintendo with it's overabundance of Non-Zelda references and cameos (I've found the whole idea of interconnected universes such as the one Disney and Marvel are working on with The Avengers to be fascinating since long before the first Iron Man movie (like the idea of Quinten Tarentino's movies all being interconnected in an alternate timeline that began when Hitler was killed in the Inglorious Bastards movie theater shootout, or all the references to other Nintendo franchises hidden in each of the unrelated Nintendo games)). Tom Nook and Professor E. Gadd are each slated for a brief cameo appearance in my quest just to name two of them. Overall, I have a lot planned storywise. But gameplay... well let's just say what I've got leaves a lot to be desired.

To my pride and horror I've actually got an entire pocket notebook full of ideas. Sidequests, minigames, enemies, bosses, puzzles, and cutscene scripts (script as in that of a movie, not a computer program). I say pride because were I able to incorporate even half of them I'd probably have something along the lines of a twenty-plus hour game (and that's just if you play the story beginning to end without stopping to explore or do minigames), but also I say horror because I don't have even the slightest clue how to do half of the stuff! For all intents and purposes I'm just learning to do things as I go! And that's kind of a pain in the ass!I don't want to rely too much on other people lest I should start just trying to dump entire portions of the game on them to make, but at the same time if I don't ask for anything I'm certain that I'll never manage to get anywhere! My strategy so far has been to start from the beginning just like a player would, and work my way through chronologically from there under the assumption that it will feel more natural to play if my learning curve while programming reflects the player's difficulty curve while playing. The problem with this though is not being able to move on too far ahead if something is puzzling me so I can just come back to it later. This (while being a pain) is still preferable in my mind because I'm developing my custom puzzles and enemies as I go along and don't want the later levels to be more difficult than the earlier ones because I didn't think of more complicated challenges until after I did the final areas (but befor I did the earlier ones). Putting it simply, I expect my mind to get more and more devious as I become more and more comfortable with what I'm doing. A major flaw in this plan though is that so far, much of the stuff I have yet to do requires some level of scripting, and that's just proving to be way too hard.

I took a little bit of computer class back in High School where they briefly covered Java, Flash, and C++, but other than that (and my work with zscript on my own time) I don't really have any background in computer scripting. It doesn't matter how many times I read the documentation that comes with zquest or how many tutorials I track down, I just always seem to trip up on the grammar and formatting when I go to actually write the scripts. For instance say that I wanted to write a script that has Link hold up his sword and say "Yah!" when the player stands on in a certain spot and presses "A", then play a brief message before resuming gameplay...

I make an ffc script that reasons "If 'Link stands on this (the ffc)' and 'Press A = 1 (True)', 'pause all action', 'set bool Link->Invisible = 1(True)', 'draw combo# at this (the ffc)', 'play sound#', 'waitframe', 'play message#', 'remove combo# at this (the ffc)', 'set bool Link->Invisible = 0 (False)', 'unpause all action'." Now as far as I know, all the steps and the actions I'm trying to accomplish are correct (a few may be missing but I don't think any are wrong), but the formatting? Obviously I didn't even try to format the script in a way that's compileable, because my problem is that it just takes too long to ultimately not work!

To come anywhere close I need to have one resource available that describes proper spacing and punctuation, another that lists out possible functions and commands, and another that reminds me what variables I've already written or changed, as well as the actual window I'm writing the script in, all of these which I then switch between as I try to figure out how to write out my ideas in such a way that the system will be able to compile them and use them without any major issues in the actual game. It's just too much for me to handle and my mind doesn't really work that way. Creativity and problem solving are my strengths, not remembering things and adhering to strict and rigerous formulas. Like I said I want to be able to handle creating, testing, and initial debugging of the scripts myself so I don't have to rely on other people to do it for me, but everything I've tried so far to understand them only serves to further cement the stuff I already know (which isn't much) while seemingly taking me farther and farther away from grasping what I truly need to comprehend. Tutorials and advice it seems are only getting me so far (and the speed they get me there is slower than a snail), and none of the scripts I look at to pick apart and study seem to have anything in them that comes anywhere close to being the kind of thing I'd be able to to cut out and transplant with bits and pieces of others to get working in the ways I need. I don't know what I'm looking for in terms of something to help me learn this stuff more naturally, but maybe someone else might. Is there perhaps a dictionary or something detailing specific situations someone might want to script, and how to piece those situations together to make more complex ones? Something that gives some sort of clear framework, like how rather than tell you about all the parts individually, Lego sets instead break up their instruction books to tell you first how to build entire components out of the individual pieces, and then go on to detail how those components fit together once they're built.

I feel that if I had bigger chunks of code to work with, I could more easily piece those together to make different things happen than I could piece together commands to make the chunks. Wording it differently, I'm wondering if there's some way to work on a level of paragraphs instead of words and sentences. The way I code, I feel like I'm trying to write a paper, but having to stop and take several minutes to look up what each and every word means before typing it in, and then doing it all over again for the next word.

ME: "The"... okay? Is that how I start?
CPU: Yes. Start with a "the".
ME: "Fox".
CPU: Okay!? How do I know which fox, in case there are lots of them.
ME: Well... "Brown". It's a brown fox!
CPU: Okay! Anything else?
ME: It's "Quick" I guess.
CPU Good! Very good! So altogether?...
ME: "The... Brown... Quick... Fox..."
CPU: Wait!
ME: What?
CPU: "The brown quick fox..." I kind of get it but... well what to you mean? Are you saying the brown is quick and that the fox is...?
ME: Okay! How about this? "The quick brown fox...?" Is that better?
CPU: Yah, that makes more sense.
ME: Thanks! So can I finish now?
CPU: Yah! I'm not stopping you!
ME: No, but you are slowing me down. It's like I'm suddenly running into a traffic jam, and where I was going sixty,now I'm going only going five. So sure. Yah, I guess I'm still moving, but five miles an hour? I might as well not be! You know what I mean?
CPU:No.
ME:You know what? We're done here!
CPU: Okay! I'll be here when you're ready to continue!
  • Avaro, )-( Marchland Malady )-( and Lightwulf like this

#2 Avaro

Avaro

    o_o

  • Members
  • Real Name:Robin
  • Location:Germany

Posted 02 December 2014 - 05:48 PM

I really feel with you there. I remember when I started with ZC how I struggled with all of it's features. I had problems getting my ideas to work, just like you. Over the years I got better and better with the program. The more tricks you learn, the more creative you can get. Sometimes, you also shouldn't ask yourself "How can I do this and that, with my knowledge?" but instead "What stuff can I do with my knowledge and how creative can I get?". Though, I said that this is only sometimes a good idea, so it is very important to extend your knowledge too. Don't limit yourself. And please, never give up! If you need anything, you can always come back to us, we will be happy to help you out!

 

As for scripts... well, I think people are very different when it comes to learning ZScript. The best thing I can do is tell you how I did it (I'm actually pretty good at scripting, even though I still don't know everything). Basically, I did it just the other way around, than you are doing it. I learned it by using other peoples scripts as examples. I've looked at all scripts different people have made and "studied" them. I've looked through the lines and tried to think off how the stuff works, but most importantly, I learn the grammar (the "syntax") first! I look at how people structure their scripts, compare different scripts and see if there are similarities. I started trying to modify simple parts of the scripts. I've started to understand how exactly loops, if-statements and waitframes work. I think this is a great way to learn scripting. Over the months, you'll get better and better at modifying scripts, until you can start creating your own ones.

 

So yes, I hope this helps you out somehow. If you have any specific questions, ask away! I wish you good luck.

 

And btw, I really like how well your username fits with your entire situation currently. lol


  • TheLegend_njf likes this

#3 TheLegend_njf

TheLegend_njf

    Deified

  • Members
  • Real Name:Grant

Posted 02 December 2014 - 11:25 PM

I am clueless when it comes to scripting. I'm also a slow learner when it comes to it as well.

But I feel that each new day will give me everything I need as I slowly evolve my understandings of it.

I may never learn to script, but that's okay. :P

Besides, scripts don't make the quest.

#4 A Link to Frustration

A Link to Frustration

    Link to Frustration

  • Members
  • Location:My Own Little Plane of Oblivion

Posted 03 December 2014 - 02:45 PM

Yay! I don't think I'll use it because there's too many issues with balance, but it compiles and runs in a quest so here we go! My first script!... Okay, so it's not really mine per say. I took one of the practice scripts from Saffith's scripting tutorial and expanded on it a bit. The original (the one in the tutorial) disabled use of all Link's swords. My extension on the other hand also disables the bows, hammer, feather, shields, hookshots, and (all except for the first of the) boomerangs. It's actually an idea I came up with a little while ago to improve upon the Bubble's curse by disabling a selection of Link's items by way of giving him a headcold. The curse (or illness) rather is then permanent until Link eat's an orange. I also made a second version of the script to re-enable all of the disabled items. But the script is kind of lacking in the "features" department, so as I said, I definitely won't be using it. I'm excited though because for all it's flaws is does compile and run in-game. And knowing I was able to successfully expand upon someone else's script (no matter how slightly) without having it blow up in my face is enough of a victory for the time being.

 

ffc script FallenIll
//Link contracts a headcold, preventing him from using many of his items.
{
    void run()
    {
        Link->Item[I_SWORD1]=false;
        Link->Item[I_SWORD2]=false;
        Link->Item[I_SWORD3]=false;
        Link->Item[I_SWORD4]=false;
        Link->Item[I_BOW1]=false;
        Link->Item[I_BOW2]=false;
        Link->Item[I_HAMMER]=false;
        Link->Item[I_ROCSFEATHER]=false;
        Link->Item[I_SHIELD1]=false;
        Link->Item[I_SHIELD2]=false;
        Link->Item[I_SHIELD3]=false;
        Link->Item[I_HOOKSHOT1]=false;
        Link->Item[I_HOOKSHOT2]=false;
        Link->Item[I_BRANG2]=false;
        Link->Item[I_BRANG3]=false;
    }
}
 
ffc script GetWellSoon
//Link's headcold is cured, and any items he was unable to use are now usable again.
{
    void run()
    {
        Link->Item[I_SWORD1]=true;
        Link->Item[I_SWORD2]=true;
        Link->Item[I_SWORD3]=true;
        Link->Item[I_SWORD4]=true;
        Link->Item[I_BOW1]=true;
        Link->Item[I_BOW2]=true;
        Link->Item[I_HAMMER]=true;
        Link->Item[I_ROCSFEATHER]=true;
        Link->Item[I_SHIELD1]=true;
        Link->Item[I_SHIELD2]=true;
        Link->Item[I_SHIELD3]=true;
        Link->Item[I_HOOKSHOT1]=true;
        Link->Item[I_HOOKSHOT2]=true;
        Link->Item[I_BRANG2]=true;
        Link->Item[I_BRANG3]=true;
    }
}

  • Avaro likes this

#5 Avaro

Avaro

    o_o

  • Members
  • Real Name:Robin
  • Location:Germany

Posted 03 December 2014 - 02:57 PM

Haha, nice :) Good to hear you're getting better at this. There's just 2 things I'd like to mention: "Disable" is the wrong term here, because you aren't disabling Link's items, you are taking them away from him xD. Secondly, you should post scripts in code tags, so they are easier to read.



#6 Deedee

Deedee

    Bug Frog Dragon Girl

  • Moderators
  • Real Name:Deedee
  • Pronouns:She / Her, They / Them
  • Location:Canada

Posted 11 December 2014 - 11:16 PM

You might want to improve that script. When you get cured, you would receive every single item that was disabled, even if you never had them. That's because you are giving him the items, not re-enabling them. You are taking all the items away when they get disabled. Try making a bunch of if statements that check for an item, and if link has it, set a bool statement to true, then take away the item. You will have to make the bools global (Declare outside of all your scripts). Then when you re-enable them, check for the bool statements, then give link back his items. Sounds hard, but it is quite simple.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users