Seeing as Ideas come before implementation, I've decided to make this thread here. I don't feel like starting to write up a detailed list tonight, so I'll throw out some interim talking points:
-What TSC script is capable of on its own (which is more than most think)
-Why certain hacks are harder than others
-What our editing programs can and can't do at this stage
-What resources and skills are required to change a certain aspect
-What would be a good 5th thing
Try to keep it fairly objective, as we don't need two threads talking about the quality of ideas and products at the same time.
- What is TSC capable of on its own?
> It is a fully featured Turing complete language, but we don't have many flags to work with.
> It can do arbitrary math.
> Variables up to 8000 bits long (which would use every flag) are allowed.
> Money system is easily implemented, if you're smart.
> Exploding proximity bombs are possible with TSC.
> Tiles that break with different types of weapons other than just the missile launcher are possible by using the right entities, flags, and TSC.
> TSC can implement the portal gun's capabilities, including the part where you have a custom weapon creating portals. It cannot allow the player to maintain momentum through portals. However, you could have a large number of entity XXX on the map. Whenever you fire a bullet at entity XXX and kill it, it could use the boss flag 0x200 to trigger an open portal on the wall opposing the entity.
- Why are certain hacks harder than others?
> Hacks that are easy usually involve changing a constant (horizontal maximum speed hack, infinite booster fuel hack).
> Hacks that are hard change the way the engine runs (2x res hack, weapon hacks, NPC hacks).
- What can our editors do and not do?
> Modify map tiles and entities (Booster's Lab, CaveEditor, Sue's Workshop).
> Change bullet data and NPC table data (CaveEditor, WoC's NPCTBL editor, Booster's Lab?)
> Modify starting game settings, game title, format for images used in the game.
> Edit save files (SaveEditor, any hex editor)
> Cheat at the game in many ways.
> Modify embedded resources in the executable, add new music, add new graphics (ResourceHacker)
> Change key bindings (GRebind, any hex editor)
> Modify raw assembly code (OllyDbg)
> Compile text files with labels to native byte code. (Doukutsu Assembler)
> Do physics hacking (PhysicsEditor)
We cannot do the following...
> Compile C++, C, or Java to assembly code and then to native machine code.
> Pull out ORGs, drums, and embedded graphics so they are used as external files.
> Easily add a DLL to Cave Story.
> Do 2x Res without major hacking.
> Allow for 2 or more player characters simultaneously easily.
> Have networked online play.
> Use multiple threading easily in assembly code
> Edit behaviors of arbitrary TSC commands without using assembly.
-What resources and skills are required to change a certain aspect?
For "resources", see the response to editor capabilities.
> Adding ORGs: Composing ability or music copying ability.
> Adding Graphics: Artistic ability.
> TSC: Programming ability.
> Assembly: Expert programming ability.
> Map editing: Anyone can do this.
> NPC table editing : Anyone can do this.
> Save file editing: Anyone can do this.
-What would be a good 5th thing?
> How long does it take to complete any arbitrary modding task?