As I was mentioning in the topic in News/Updates, this stage of the engine is mainly to get the initial setup of the engine ready. All the engine does is emulate to the best of its abilities what goes on in the Minish Cap in terms of Link, NPCs, enemies, rooms, etc.
There are only two key ways Link's Awakening plays a role in the engine's progress overall. The first being that since the Community Project's game is Link's Awakening, the engine should try and prepare for what is going to happen in that game as it is being remade. This keeps the engine development focused as there is some priority as to what to do and makes sure that the stagnation levels on the Community Project's game in relation to its programming are reduced.
I first think that we should start on getting a Link object which has its primary events run as script files. This goes back to something I said earlier in which we could just update the GML scripts prior to public releases of the overall GM file so we would not be updating the project amongst ourselves by having to save and upload an entire big file each and every time. If we use GML script files, this allows us to also use things like Assembla to manage different versions of the source code.
So, here is where we will start in terms of coding stuff:
- Programming a workable Link object that utilizes scripts in its main events
- making sure that there isn't unnecessary redundancy in animations (e.g. hat/no-hat/run/hold)
- the main events are pretty much in terms of gba are a, b, l, r, start, and select and create/step/draw/animation end
- we'll probably be using keyboard keys a, s, z, x, enter and backspace
- at least getting some of the beginning Link's Awakening Link actions into the engine.
The organization once it goes public is going to be such that a group of coders who know what they are doing - probably all you guys - are going to handle the stable releases. People will be able to contribute to the engine and since it is open source they may submit their own, but as for it being added to what is the official release, what they submit will have to be screened to see if the code is good and if it will work with the project.
As for what people contribute (assuming the code is good), if it is an object like an enemy, there will be a separate GML file set up with just that enemies stuff in it (the code, sprites, etc). The user will also be required to make sure to mention what other GML files are needed for the file to work with the latest stable release. Other users will have the option of downloading that user-made enemy and merging into their version of the stable release. This will hopefully foster some creativity in those making things - it's not hard to do a little or to make a little contribution.
Of course though, in the Community Project's engine, there will be parent objects so that the enemies, NPCs, etc. that users create will have to work with the variable names of the parent objects. This further keeps their code in line with ours.