Zelda Classic is a great program. But it has its quirks and redneck fixes for everything. Multiple rewrites have been suggested, but I think we need to go in a SLIGHTLY different direction if we DO rewrite.
Scripting needs to be in from the beginning. I want to abstract away from hard-coding everything, opening room for more complex bugs and messy coding that hasn't been touched since Phantom Menace managed ZC. In addition, it would be extremely helpful to pull away from the legacy ZASM and ZScript using Python.
The only things that should be hard coded are cameras, collision and the scripting interfaces. Enemy AI, items, combo types, etc.. should all be driven by scripts for increased modularity and simpler engine upkeep. (most things will be pre-scripted so it will still be completely possible to make a game without scripting yourself)
This would also nearly eliminate the need for quest rules and screen data.
Drop Allegro in favor of SDL. This will increase portability and expand it to, say, the Wii.
Use wx for a GUI. That way you get a NATIVE interface.
Support full 32 bit color. (You'll still be able to use palette graphics if you want them.)
Simplify the interfaces that n00bs usually ask about. Simplify shops. Make messages easier to use. Make it completely obvious how to do everything. (But don't bring in the ribbon, or I will kill somebody. I hate that thing.)
Remove the arbitrary limits. Why only 32 ffcs? Use dynamic allocation, people!
What's 1 byte compared to 100 megs? Almost nothing. Bring internal values up to 4 byte sizes.
Extend access of global game variables and all counters to the subscreen.
The limits ZC has are just ridiculous. Game engines should be limited to your CPU and imagination.
No doubt, finishing ZC 2.50 is a higher priority. When that's done, start on a quality rewrite. I'm entirely willing to help in every way I can with this rewrite.
Sounds like a cross between a 2D game-maker engine and Zelda Classic. To be honest here we might as well drop the "Zelda" from "Maker" and make something that can remake Mega Man or say a Wizardry game just as easily as LOZ1-3 and get rid of any illegal copyright problems (which would be annoying).
SDL is good but it has some annoying limitations and bugs on Windows. This is no big deal since the amount of SDL specific code required is tiny at best; unless you were thinking of using other features of SDL which in that case I would recommend instead going with OpenGL for rendering, you mentioned CPU so cross platform Hardware accelerated graphics are a no brainer, and Fmod or Bass for sound which are the best sound libs I've come across so far and you would be hard pressed to find anything with with more functionality than fmod_ex.
I've never used Python ..it always looked confusing to me... perhaps it's the syntax? How easy would it be for noobs to pick Python? Also what about Lua? -Iv'e never used that before either but from what I understand Lua is much faster and smaller than Python or Ruby, which might make it easier to learn. I don't know; if you asked me to design the simplest scripting language I could think of it would probably look like this:
class octorock {
int HP;
Vec2 pos;
float something;
void on_create()
{
HP = 4;
// gets called when object is instantiated
}
void on_destroy()
{
// gets called when object is destroyed
}
void run()
{
// gets called every frame
}
}
Yeah, allegro is dated and weak nowadays, and allegro GUI sucks. The hardest part would be finding capable people willing to put in blood, tears, and sweat to get a project like that started. Right now zc has only a handful of part-time people working on trying to get all the bugs fixed and 2.5 done and it's not the easiest of tasks. To get a completely new "modern" game maker we're going to need something a little extra in terms of raw hours of dedication. ..Or, if you live in your parents basement and are willing to spend 6 hours a day on it that would help too.