Replacing the Halo Editing Kit with open source software

Kavawuvi
By Kavawuvi in Halo CE: Development,
  • 8 replies
The Halo Editing Kit sucks and everyone knows it. How do we replace it? I made a list of stuff that needs to be done and stuff that has already been done.   Why should the Halo Editing Kit be replaced? The Halo Editing Kit is unmaintained and unsupported. It contains plenty of bugs, and it is not very user-friendly. It also contains numerous limitations and restrictions that may make sense with the limited 64 MiB memory of the original Xbox but not a PC game even from this time period. It was also made for much older systems (pre-2004 systems), and while it still works with modern systems due to Windows's robust backwards-compatibility support, issues have crept up in the past that make some things worse than what they were in the past (Sapien and Guerilla have UI issues, for example). Also, to use the Halo Editing Kit, you must agree to an additional restrictive license that takes away your freedom to use their software. Invader, on the other hand, uses the GNU General Public License version 3.0, and Mozzarilla and Refinery are part of the MEK which use the MIT license, a license with even fewer restrictions than the GNU GPL.   But the worst of all is that the Halo Editing Kit is closed source and nonfree. Locking down the source code is not only unhelpful to the modding community, but if people begin relying on the software, it proves to be detrimental to the modding community. Why? Because if the software stops being actively maintained and supported, the modding community ends up having to rely on this unmaintained and unsupported software, resulting in potential complications and issues. If issues arise (bugs, limitations, or better ways to do things have been found), there is no way to update the software without resorting to reverse engineering and modification of the binary, so people end up being stuck with the limitations and bugs of the older, closed source software until this happens. Because the closed source tools technically already exist, fewer people are inclined to replace them despite their problems, so in a way, the closed source software ends up being worse than not having the software in the first place.   What needs done? Questions we can answer right now: How do you edit your tags? Use Mozzarilla. How do you make string list tags? Use Mozzarilla or invader-string. How do you make HUD message list tags? Use Mozzarilla. How do you make your bitmaps? Use invader-bitmap (for color plates) or Mozzarilla (for DDS files). How do you make your fonts? Use invader-build. How do you make sprites? Use invader-bitmap. How do you make cubemaps? Use invader-bitmap. How do you make your sounds? Use invader-sound. How do you make animation tags? Use Mozzarilla. You currently need to use closed source software to make the .JMA files. How do you make physics tags? Use Mozzarilla. You currently need to use closed source software or an outdated version of Blender to make the JMS files. How do you make model tags? Use Mozzarilla. You currently need to use closed source software or an outdated version of Blender to make the JMS files. Questions we cannot answer right now: How do you compile your scripts? We don't know yet. How do you make .scenario_structure_bsp tags? We don't know yet. You currently need to use closed source software or an outdated version of Blender to make the JMS files. How do you make collision model tags? We don't know yet. You currently need to use closed source software or an outdated version of Blender to make the JMS files. How do you place your objects? Besides manually placing them in Mozzarilla or placing them in Blender and using an old invader-scenario tool I wrote to apply them to a .scenario tag, we don't know yet. How do you bake lightmaps? We don't know yet. How do you build your maps? Besides invader-build which isn't 100% feature complete, we don't know yet. Milestones to achieve? Making a HUD from scratch: Requires being able to edit tag data (use Mozzarilla) Requires being able to create 2D texture bitmaps (use Mozzarilla or invader-bitmap) Making a simple multiplayer map: Requires being able to build a map (use invader-build) Requires being able to create scenario tags (use Mozzarilla) Requires being able to edit tag data (use Mozzarilla) Requires being able to place objects (use Sapien from the HEK) Requires being able to compile BSPs (use tool.exe from the HEK) Requires being able to bake lightmaps (use tool.exe from the HEK) Making a new object completely from scratch: Requires being able to make animation tags (use Mozzarilla and a closed source program) Requires being able to make model tags (use Mozzarilla and a closed source program) Requires being able to make physics tags (use Mozzarilla and a closed source program) Requires being able to edit tag data (use Mozzarilla) Requires being able to make sprites (use invader-bitmap) Requires being able to make cubemaps (use invader-bitmap) Requires being able to make a HUD for weapons, units, and vehicles (can be done fully in Mozzarilla, optionally using invader-bitmap for bitmaps) Requires being able to make collision model tags (use tool.exe from the HEK) Making a new campaign map: Requires being able to edit tag data (use Mozzarilla) Requires being able to make string tags (use Mozzarilla) Requires being able to create scenario tags (use Mozzarilla) Requires being able to make sprites (use invader-bitmap) Requires being able to create sounds for voice acting (using invader-sound) Requires being able to build singleplayer maps (invader-build works, but it cannot yet place firing positions correctly, so use tool.exe from the HEK for better results) Requires being able to compile scripts (use Sapien from the HEK) Requires being able to place objects (use Sapien from the HEK) Requires being able to compile BSPs (use tool.exe from the HEK) Requires being able to bake lightmaps (use tool.exe from the HEK) Making a complete game: Requires being able to edit tag data (use Mozzarilla) Requires being able to make fonts (use invader-font) Requires being able to make bitmaps for interfaces (use Mozzarilla or invader-bitmap) Requires being able to create sounds from scratch for various effects (use invader-sound) Requires being able to make multiplayer maps (incomplete) Requires being able to make campaign maps (incomplete) Requires being able to make objects from scratch (incomplete) Where do I get this stuff?