Jump to content

Photo

State of ZC Development (very important read)


  • Please log in to reply
66 replies to this topic

#16 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 16 August 2021 - 05:39 PM

I will have some further statements regarding Zoria's unprofessional behavior in the upcoming days when War Lord makes his final ruling over the fork and development.  I have been in contact with AGN staff over the manner.

 

That's all I can say at the moment.

 

-James



#17 Moosh

Moosh

    Tiny Little Questmaker

  • ZC Developers

Posted 16 August 2021 - 06:03 PM

Can someone, like (I know this is off topic a little, but maybe not?), record a video going through the repo for the project and just explain what everything is/does, at a high level? I'd be happy to help code, but it's a VAST bit of code. Is something like this out there already?

Some sort of structural overview of the ZC source would be excellent, but seeing as we don't even have something like that for the editor itself that may be a tall order. Regardless I'd certainly be interested.


  • Rambly, Mitsukara and peteandwally like this

#18 Takuya

Takuya

    spirit of fire

  • Members
  • Location:Cali

Posted 16 August 2021 - 11:27 PM

Welp. I got back into things after seeing this thread and stuff on the discord. I'm settled now in my new digs in america again, and i'm going to make myself available to the council and devs and hopefully take up some more of the work again.

 

i'll say that i definitely support this decision and hope to be useful in the days ahead.


  • ShadowTiger, Rambly, Mitsukara and 1 other like this

#19 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 16 August 2021 - 11:48 PM

I have a long day at work tomorrow to catch up,, so there will be no updates until at least 9 PM EDT, when I get home and do the next part of cleanup.

 

Please don't bother the council or the devs until then.  We are all beyond tired from today's events.

 

ZC coding will never be a dictatorship or run by one person ever again.  Open source means open source, if someone wants fork it and is qualified, they can do so hopefully.  This is Dimi and Emily's time to prove themselves.


  • Rambly, Anthus, Twilight Knight and 7 others like this

#20 Saffith

Saffith

    IPv7 user

  • Members

Posted 17 August 2021 - 10:13 AM

Can someone, like (I know this is off topic a little, but maybe not?), record a video going through the repo for the project and just explain what everything is/does, at a high level? I'd be happy to help code, but it's a VAST bit of code. Is something like this out there already?

The thing is, it really is an absolute mess. LinkClass is responsible for half the game, including a lot of combo and weapon interactions and virtually everything that happens during scrolling and warping. zquest.cpp is half the editor, and there's no real logic to what's in there and what's not. I can give you a couple of starting points, at least.

The sprite class (sprite.cpp) is the base class of Link, enemies, weapons, etc. Enemies are in guys.cpp. A lot of their behavior is controlled by generic variables called clk, clk2, clk3, etc. (clk is the animation timer, if I remember correctly). There have been bugs caused by reusing the same clk for different purposes, so be careful with those. Other sprite subclasses are in weapons.cpp, link.cpp, items.cpp, and particles.cpp. Combo and flag stuff is mainly in maps.cpp.

Quests are loaded in qst.cpp and saved in zq_files.cpp. title.cpp is both the title screen and the file select screen. ending.cpp is the ending, as well as the code that starts the next numbered quest.

 

Running scripts is mostly handled in ffscript.cpp, but there are also several new files I'm not familiar with. Compiler stuff is in the parser directory.

zc_sys.cpp handles the system menu and overlays (FPS, "paused", etc.), except the equipment menu is in init.cpp. The code for the GUI widgets is in jwin.cpp, jmenu.cpp, jwinfsel.cpp, and tab_ctl.cpp.

ZQuest is all over the place. If there's something in it you want to find, I'd suggest just grepping for a string.

There are some files that have zc/zq versions, like zc_sprite.cpp and zq_sprite.cpp. Those are generally functions that have different implementations in each program. Usually, that's because they only make sense in one, but they're used in some shared context and have to be implemented in both.


  • ShadowTiger, Rambly, Twilight Knight and 3 others like this

#21 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 17 August 2021 - 11:06 AM

Hey Saffith, how are you doing?

 

I know we've never formally met, how is everything?


  • Emily likes this

#22 Saffith

Saffith

    IPv7 user

  • Members

Posted 17 August 2021 - 11:28 AM

Doing all right. Not a lot going on lately, which is fine with me.

I might actually help out in some capacity. I could use something to do, and I've thought a lot about what we should've done after 2.50. Might try some refactoring, at least.


  • ShadowTiger, Rambly and Emily like this

#23 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 17 August 2021 - 11:35 AM

I don't know how much I want to mess with the dev team, that is purely up to Emily and Syrian, but Saffith, welcome to the Council providing the vote becomes official.

 

Glad to have you back onboard.

 

(edit:  Need to take a council vote)

 

-James



#24 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 17 August 2021 - 12:12 PM

The thing is, it really is an absolute mess. LinkClass is responsible for half the game, including a lot of combo and weapon interactions and virtually everything that happens during scrolling and warping. zquest.cpp is half the editor, and there's no real logic to what's in there and what's not. I can give you a couple of starting points, at least.

The sprite class (sprite.cpp) is the base class of Link, enemies, weapons, etc. Enemies are in guys.cpp. A lot of their behavior is controlled by generic variables called clk, clk2, clk3, etc. (clk is the animation timer, if I remember correctly). There have been bugs caused by reusing the same clk for different purposes, so be careful with those. Other sprite subclasses are in weapons.cpp, link.cpp, items.cpp, and particles.cpp. Combo and flag stuff is mainly in maps.cpp.

Quests are loaded in qst.cpp and saved in zq_files.cpp. title.cpp is both the title screen and the file select screen. ending.cpp is the ending, as well as the code that starts the next numbered quest.

 

Running scripts is mostly handled in ffscript.cpp, but there are also several new files I'm not familiar with. Compiler stuff is in the parser directory.

zc_sys.cpp handles the system menu and overlays (FPS, "paused", etc.), except the equipment menu is in init.cpp. The code for the GUI widgets is in jwin.cpp, jmenu.cpp, jwinfsel.cpp, and tab_ctl.cpp.

ZQuest is all over the place. If there's something in it you want to find, I'd suggest just grepping for a string.

There are some files that have zc/zq versions, like zc_sprite.cpp and zq_sprite.cpp. Those are generally functions that have different implementations in each program. Usually, that's because they only make sense in one, but they're used in some shared context and have to be implemented in both.

...yep. It's a fucking mess. That's why one option we have very clearly on the table is a major rewrite of *all* systems, to modernize and de-spaghettify it, for some future version (likely 3.0 or 4.0)


  • ShadowTiger, Rambly, Twilight Knight and 1 other like this

#25 James24

James24

    Adept

  • Banned
  • Real Name:James
  • Location:Australia

Posted 18 August 2021 - 05:38 AM

I'm very sorry to hear Zoria has gone this way.  Zoria might have said and done many things but he got one very important thing right - the need to put this game on steam.

 

What about the new devs - Emily and Dimi?  What are your visions for Zelda Classic?  Will you follow through with Zoria's legacy and put this game on steam?  What about the many people out there who cannot script?  And is it realistic for you to achieve your vision given limited resources?


  • coolgamer012345 likes this

#26 Bagu

Bagu

    Fandomizer

  • Members
  • Real Name:A.I. Bot Bottomheimer
  • Location:Germany

Posted 18 August 2021 - 05:49 AM

Unfortunately, after a very serious turn of events involving some unprofessional behavior, it was deemed by a unanimous vote of other developers and AGN staff that Zoria's health no longer permits him to continue as the head of Zelda Classic development outright and a change has to be made for the betterment of the project.

 

Now, what this means is that a line of succession has been put into place, and the project has been forked.  No one has been fired, let,go, or demoted outright.  Zoria will continue on his own fork if he desires,and if he recovers and redeems himself, he can still be a valuable asset to the community.  As his friend, I still believe in him.

 

But with the impending ROMUniverse copyright case and stall in development and the 6th Contest Contest, in the better interest a new fork has been set up and a council has been set up to regulate Zelda Classic development.  They will not have access to the DAT files that AGN once had, though with a later read, it is for the best.  This three-headed Hydra will be addressed in a different post.

 

The new ZC Council is:

 

Nightmare - Acting ZC Head

SyrianBallaS - Day to Day Development

Emily - Project Head/Development

Dimi - Developer

Tim/Naturesucks - Advisor/Webmaster/Discord Master/all around good guy

 

The final decision on a head will be up to the community, but will not be made at this time.  To deal with this mess:

 

Zoria will continue with his fork.  No one is stopping him.

 

"Zelda Classic 2.53.1" will be fixed slightly and released as-is."

"Zelda Classic 2.53.2" will be made to run with the 6th Quests and released.  No further long term support for it besides fixing nasty bugs.

 

The name of the project will then change to "ZC" and all Nintendo 1st party material will then be removed.  There will be one final alpha, "Zelda Classic 2.55 A-F" to hold over, then the devs will get a long-deserved break of six months (they will still be free to work if they choose).  There will be no new feature requests for 2.53.1, 2.53.2, or 2.55 A-F and the New Feature forum is to be suspended immediately.

 

After the break:

 

A new tileset and DAT will be introduced and mandatory, which will be worked on during the break.

We will work on original music.  If we can't we will use 3rd party music that's non-Disney.

The 1st, 2nd, and 3rd Quests are out.  The 1st and 2nd Quests are owned by Nintendo, and AlphaDawg is out of contact. 

4th and 5th are being determined.

6th is up to the developers.

 

As the last of the original three that started the project and the last active, this was going down the rabbit hole and action was warranted.  I will be dealing with the consequences of it and I believe a fork is the path of least resistance.  Chris Miller and War Lord will be informed when the dust settles and all the ducks are put in a row.

 

Sincerely yours

 

"Nightmare" James Sorge


Just seen this post.
...that's sad.
Zoria always was my favourite tutor, here at PureZC and his innovative new ZC/ZQ features have always been groundbreaking.

I hope he is getting well, soon.



#27 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 18 August 2021 - 10:44 AM

There will be a week moratorium where no progress will be made most likely and things stay the way they are until people get their heads on straight and backstage negotiations continue.  Gleeok and War Lord will also be brought up speed with everything slowly by both sides.

 

I cannot and will not speak for any forum member outside of the council or myself as I don't have the authorization to do so or it is the right thing to jump any guns.

 

-James



#28 MaskedCritic

MaskedCritic

    Newbie

  • Members

Posted 18 August 2021 - 11:40 AM

...yep. It's a fucking mess. That's why one option we have very clearly on the table is a major rewrite of *all* systems, to modernize and de-spaghettify it, for some future version (likely 3.0 or 4.0)

Speaking from experience, the longer you put that off the harder and more miserable the task will become. If it's really that bad off? Unless you have some new features nearly finalized, refactoring should be one of your highest priorities.

 

Yeah, yeah, unwanted advice from some newbie, why should anybody care... I just hate seeing people in pain. That much spaghetti? Sounds like a lot of pain.


  • ShadowTiger likes this

#29 Saffith

Saffith

    IPv7 user

  • Members

Posted 18 August 2021 - 12:35 PM

Will you follow through with Zoria's legacy and put this game on steam?

That's probably not possible, because ZC is GPL licensed. Even if War Lord decides it's okay to dual-license it, it requires either getting consent from everyone who contributed or removing their contributions.



#30 Nightmare

Nightmare

    Original ZC Tester

  • Members
  • Real Name:James
  • Location:Jackson, NJ

Posted 18 August 2021 - 12:42 PM

There is at least a week's break in development starting right now.  Please start discussing topics like a name change and website for the new organizaton, which are the top issues.

 

Cheers!

 

-James


  • Matthew likes this


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users