Replacing the Halo Editing Kit with open source software

Kavawuvi
By Kavawuvi in Halo CE: Development,
  • 9 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? One of the main issues with the Halo Editing Kit is that is unmaintained and unsupported. Like most Win32 applications, it can run on modern systems thanks to Windows's robust backwards compatibility. However, like many old applications, it hasn't exactly been unscathed by the passage of time. For a start, there are numerous user interface issues in both Sapien and Guerilla that have appeared in semi-recent versions of Windows. Not only that, but it also contains numerous limitations and restrictions that may have made sense with the limited 64 MiB memory of the original Xbox but not a PC game even from this time period. There are various other issues that have become well known by the modding community. None of these issues or concerns have or will ever be patched, officially, as the software is not supported.   The Halo Editing Kit is also closed source and nonfree, requiring you to agree to an additional, restrictive license that takes away your freedom to use their software. While it's great that we have an editing kit in the first place, this nonfreedom can be to the detriment in the community in the long run. For any issues that are found, there is no way to fix the software without resorting to actually making changes to the binary, itself (and doing this is quite limiting!). As a result, people end up being stuck with the limitations and bugs of the software. However, since the software at least "exists" despite its issues, few people are inclined to replace the software.   There's also another issue when it comes to modding using nonfree modding software: Because the software is closed source and nonfree, you're restricted to whatever the developers intended to allow you to mod. With the Halo Editing Kit, you can only modify Halo Custom Edition, and because it has an inferior renderer, people have resorted to dirty workarounds that sacrifice visuals (e.g. using model shaders instead of environment shaders due to fog). Also, without modifying the tools or creating new tools, you're only allowed to do whatever the tools allow you to do, and this is not everything you could do. Lastly, you're restricted to Windows on 32-bit x86, and while most people have access to that, it's possible that it may not be an option for most people in the distant future.   In the end, it is a waste of time to try to fix something that is closed source and nonfree. While it's great that this software at least exists, we should focus our efforts on replacing the binaries, altogether, with better free and open source software. Usage of the Halo Editing Kit or any other "closed" modding tools should be discouraged whenever possible.   What needs done? Questions we can answer right now: How do you edit your tags? Use invader-edit-qt or 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-font. 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. How do you build your maps? Use invader-build. Child scenarios with custom scripts do not work, yet, as invader-build cannot compile scripts. 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 invader-edit-qt or 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. Milestones to achieve? Making a HUD from scratch: Requires being able to edit tag data (use invader-edit-qt or Mozzarilla) Requires being able to create 2D texture bitmaps (use invader-bitmap w/ color plates or Mozzarilla w/ DDS) Requires being able to create sprites (use invader-bitmap) Making a simple multiplayer map with stock assets: Requires being able to build a map (use invader-build) Requires being able to create scenario tags (use invader-edit-qt or Mozzarilla) Requires being able to edit tag data (use invader-edit-qt or 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 edit tag data (use invader-edit-qt or Mozzarilla) Optionally requires being able to make textures (use invader-bitmap w/ color plates or Mozzarilla w/ DDS) Optionally requires being able to make sprites (use invader-bitmap) Optionally requires being able to make cubemaps (use invader-bitmap) Optionally requires being able to make a HUD for weapons, units, and vehicles (see Making a HUD 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 make collision model tags (use tool.exe from the HEK) Making a new campaign map with stock assets: Requires being able to edit tag data (use invader-edit-qt or Mozzarilla) Requires being able to make string tags (use invader-edit-qt or Mozzarilla) Requires being able to create scenario tags (use invader-edit-qt or Mozzarilla) Optionally 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 compile scripts for child scenarios, yet) 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 invader-edit-qt or Mozzarilla) Requires being able to make fonts (use invader-font) Requires being able to make bitmaps for interfaces (use invader-bitmap for color plates or Mozzarilla for DDS) 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?