Jump to content

Photo

things for ZC/ZQ 3.0


  • Please log in to reply
128 replies to this topic

#31 MoscowModder

MoscowModder

    Sometimes lurking. Rarely posting.

  • Members
  • Location:Wisconsin

Posted 05 February 2013 - 09:10 PM

Speaking of making scripts available: A script auto-importer. Remove all of the merging, assigning, and other complicated things users have to do, and basically treat scripts like plugins.

To go with this, a new constants editor (called "Script/Plugin settings" or something like that) in ZQuest would be awesome.

Actually, even if this doesn't appear in ZQ, it would be awesome to see this as an accompanying addon program. Put in some global scripts, and it parses them into their component sections and combines them for you. Throw in some other scripts and functions, and it combines them into one file, and lets you adjust their constants. Throw the resulting script into ZQ and you're set. Basically, it's a more advanced ZScript preprocessor.

#32 coolgamer012345

coolgamer012345

    🔸

  • Members
  • Location:Indiana, USA

Posted 05 February 2013 - 10:27 PM

does that mean simpler scripting?

Edited by coolgamer012345, 05 February 2013 - 10:28 PM.


#33 MoscowModder

MoscowModder

    Sometimes lurking. Rarely posting.

  • Members
  • Location:Wisconsin

Posted 05 February 2013 - 11:15 PM

Yeah, it means making it easier to use scripts. Maybe I should write something like that when I have more programming experience.

#34 tox_von

tox_von

    Zelda Addict

  • Members
  • Real Name:Redgor
  • Location:Toxicville , Simcity

Posted 05 February 2013 - 11:56 PM

QUOTE
what tox_von(writing a function that deals with giving link tiles depending on direction movement ect is trivial and not that time-consuming)


yeah but different attacks and different menus is had to do and takes time and hasnt been doe yet.

Edited by tox_von, 05 February 2013 - 11:56 PM.


#35 Jamian

Jamian

    ZC enthusiast

  • Members

Posted 07 February 2013 - 08:43 PM

How about being able to edit the "gamble" room type?

At the moment the guy says "let's play money making game" but it's more like "let's play money losing game". It would be fun, and probably easy to implement, to allow the player to actually make money playing this, by being able to change the odds. The way it is set up in the original game, you'll most likely lose, so I never bother playing it.

Edited by Jamian, 07 February 2013 - 08:44 PM.


#36 Jamian

Jamian

    ZC enthusiast

  • Members

Posted 07 February 2013 - 08:56 PM

Also, one thing I've noticed when editing a "walking enemy" type: if you set up the "shot type" without saving the enemy at once, it seems to automatically revert to "1 shot" unless you save it immediately after changing that.

#37 Anthus

Anthus

    Lord of Liquids

  • Members
  • Location:Ohio

Posted 07 February 2013 - 11:45 PM

I have seen "Z3 scrolling" pop up a few times, and pardon me if this has been said already, but I think that'd be awesome. This is pretty much the biggest, most significant improvement I could see happening. Now, assuming ZC "3.0" is similar to ZC as we know it, a "LttP" screen could encompass four screens (2x2). The screen with the rule checked could be the top-left quadrant, or something.

Also, more string editor options. Mostly, it'd be nice to have a spell checker, and define the text box parameters yourself, use other fonts, and maybe even have the ability to make certain text appear slower, or letter by letter, as seen in ALttP, for example. I don't script, but I think it'd also be cool to have an in-engine 'spellchecker' for that as well, as someone else mentioned.

There isn't anything else I can think of that hasn't been mentioned already. Oh, wait, yeah there is, base it off of OoT plz, make it full 3D NOW!! icon_deformed.gif

EDIT: Oh wait, actually, having larger enemies would be cool too. Buut, this has probably also already been said as well.

Edited by Anthus, 07 February 2013 - 11:47 PM.


#38 nicklegends

nicklegends

    Trofessional Pransposer

  • Contributors
  • Real Name:Ed
  • Pronouns:He / Him

Posted 08 February 2013 - 12:13 AM

QUOTE(Anthus @ Feb 7 2013, 08:45 PM) View Post
maybe even have the ability to make certain text appear slower, or letter by letter, as seen in ALttP, for example.

I think string control codes can do that with 2.5, actually. icon_smile.gif Use the \2\X code, where X is the delay between characters appearing.

#39 Zefram

Zefram

    Initiate

  • Members

Posted 08 February 2013 - 12:56 PM

A more elaborate Z coordinate system would be nice, such as being able to assign a Z coordinate to combos which is then passed on to sprites drawn over that combo, and having certain layers affect sprites with a given Z value range while being drawn over/under ones with value outside that range.

#40 coolgamer012345

coolgamer012345

    🔸

  • Members
  • Location:Indiana, USA

Posted 08 February 2013 - 02:04 PM

QUOTE(Jamian @ Feb 7 2013, 08:43 PM) View Post

How about being able to edit the "gamble" room type?

At the moment the guy says "let's play money making game" but it's more like "let's play money losing game". It would be fun, and probably easy to implement, to allow the player to actually make money playing this, by being able to change the odds. The way it is set up in the original game, you'll most likely lose, so I never bother playing it.
.
well there is a room type called gamble,it is a 1 in 3 chance you will win and a 1 in 9 chance it will be a 40,1 in 6 chance that you will win 30,and a 1 in 3 chance you will win 20 rupees.

#41 coolgamer012345

coolgamer012345

    🔸

  • Members
  • Location:Indiana, USA

Posted 08 February 2013 - 02:07 PM

also i thought of something else,the 3.0 should have a normal AND a Lttp/GBA tile set(but make it to where it is in the tiles,not on the combo side)

#42 aaa2

aaa2

    Wizard

  • Banned

Posted 08 February 2013 - 04:07 PM

I think there is actually one thing that i can think of that zc3.0 could really really need(possibly really the only missing thing). that is key-frame animation. In the way that you place objects on a screen those objects each have a position on screen a position on the tilesheet and rotation as well. So how would it work:
You have something like a movie tape that consists of frames lets say 30. Now on the screen that corresponds to frame 1 you put 3 objects(numbered) each with their coordinates (rotation, place on the screen, place in the tilesheet). next you put the same objects on frame 15 with changed locations, rotations and with changed tiles. Now for the frames inbetween zelda classic would interpolate linearily between those positions for you to fill up frame 2-14(should not be hard to program, you could let the program extrapolate the missing frames after linearily). The objects and their data for each of those key frames then could be saved to a custom object that just saves an array of bools(storing if the object is used), an array of integers for x, y,rotation and tile positions. This data type could be called an animaton. Now you could give those animations a position on a screen and let them play out. If you let these animatons be accessed by scripts also it would be possible to access those arrays and then for example use them to control individual parts of a base boss(it moves by the script and the animaton moves the important parts relative to the bosses position because it gets moved with it). Also it would make much more complex item scripts a lot easier to setup(same way). Something like that should also be pretty straightforward to a newbie to use. Also would allows for a lot of ingame movies or similar things, should not be too hard to code. Furthermore it should be pretty memory effective(does not take a lot of space) Also things done this way can easily be used for many purposes especially if copying of those objects is possible.

If anyone has any thoughts on it i would love to hear them.

Also one more thing this of course comes from a scripter this request because complex animations are very annoying to code(take lots of time are simple and just annoying because they need lots of testing).
Here pseudo-code for the header:
CODE

class animatonframe{
public:
animationframe(); //default constructor
~animationframe; //default destructor
void add_object(int _xpos,int _ypos,int _rot,int _tile); //add an object to this list type
void remove_object(int num); //remove an object
int get_x_pos(int num); //access position data
int get_y_pos(int num);
void set_x_pos(int num);
void set_y_pos(int num);
int get_rot_pos(int num);
void set_rot_pos(int num);
int get_num_objects(); //get the number of objects to
int get_frame(); // get the frame number associated with the frame
void set_frame_num(); //change this number
void draw_animation_frame(); //draws the frame (can be used in the play animation in the next class)
private:
int* xpos; //array of xpositions (dynamic memory useage)
int* ypos; // array of ypos (dynamic memory useage)
int* rotangle; //array of rotation angles (dynamic memory useage)
int* tile; //array of tile numbers (dynamic memory useage)
int num_objects; // total number of objects(static memory useage)
int frame_num; //which number of frame we deal with(static memory useage)
};
animationframe get_frame_inbetween(animationframe frame1, animationframe frame 2){
        return  interpolate(frame1, frame 2);
}
animationframe extrapolate animtion_(animationframe frame, int to){
        return  extrapolate(frame, to);
}

class animaton{
public:
animaton(); //default constructor
~animaton(); //default destructor
void animate_animaton(); //play the animation
void add_frame(int i); //add a frame(to make the animation more complex
void remove_frame(int frame); //removes a frame
void set_cur_frame(int frame); // sets the current frame in the animation
int get_xpos(); // gets xpos
int get_ypos(); // gets ypos
int get_num_frames(); // gets the total number of frames
int get_curframe(); // gets the number of current frame
void set_curframe(); // set the number for current frame
private:
int xpos; //position where the animation is placed(static memory useage)
int ypos; //position where the animation is placed(static memory useage)
int num_frames; //number of animation frames in total(interpolated ones included)(static memory useage)
int curframe; //the frame the animation currently is in(static memory useage)
int num_real_frames; //the number of frames that is actually stored(static memory useage)
animatonframe* animframes; //the stored animation frames(dynamic memory useage)
};
//here so you can even write it to a file
std::ostream& operator<<(std::ostream& os,const animationframe& c);
std::ostream& operator<<(std::ostream& os,const animaton& c);
std::istream& operator>>(std::ifstream& is,animationframe& c);
std::istream& operator>>(std::ifstream& is,animaton& c);

If you now fill in all the functions for my header you are nearly done :-)
Also yes all those access functions are needed to prevent people from accessing things in the pointers the wrong way that is also why all variables are private.

Edited by aaa2, 08 February 2013 - 05:59 PM.


#43 coolgamer012345

coolgamer012345

    🔸

  • Members
  • Location:Indiana, USA

Posted 08 February 2013 - 06:17 PM

i think if you know how to make the graphics correctly you would not need to do that,instead you just use layers,there are youtube videos how to do it if you need to know how by watching.

#44 Zefram

Zefram

    Initiate

  • Members

Posted 09 February 2013 - 12:19 PM

How about allowing more than 5 custom combo types and combo flags? Is there any real reason for this limitation? I know it can be hacked around but it just seems unnecessary. Being able to assign scripts to combo types and flags would be nice too, although I don't know how hard it would be to implement.

Edited by Zefram, 09 February 2013 - 12:29 PM.


#45 coolgamer012345

coolgamer012345

    🔸

  • Members
  • Location:Indiana, USA

Posted 09 February 2013 - 12:22 PM

i did not know i can make my own combo type and combo flags.....


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users