Inspiration
As a lead level designer on the Black Mesa Hazard Course developer team, I'd been using qUiCkSiLvEr's extremely popular (and super-useful) VBCT as an alternative to the built-in Hammer compiler for a very long time. However, our team quickly realized that manually compiling all of our levels for every Alpha test release build was a huge pain. We did not discover until too late that VBCT allowed multiple sequential compiles, but since it was not an obvious part of the interface (and arguably isn't very user-friendly anyway), I set out to write my own compile tool for the benefit of our team and the rest of the Source Engine level design community.
How it works
Simply choose your compile preset, drag and drop a *.vmf file (or several!) onto the compile queue, and start compiling. It all works the way you'd expect. Also comes with VMFII support.
Challenges I ran into
In general, Python is very good with managing memory on its own, and you will almost certainly not cause memory leaks in pure Python... unless you do something stupid.
I did something stupid. Remember to clean up your inactive callbacks, kids!
Accomplishments that I'm proud of
Got to know the PySide library very well from writing this tool. I was able to pick it up quickly and put it to good use quickly, and as a result, I was able to contribute to the Source level design community by doing more than just designing levels.
What I learned
Just a little bit of dynamic UI update scheduling can make a huge difference in performance. If your simple-looking GUI is somehow hogging more CPU than you expect it to, try being a bit more careful about scheduling your update callbacks.
What's next for Hazard Team Compile Tool
Whatever features people end up wanting!
Built With
- cython
- psutil
- pyinstaller
- pyside
- python
- upx
Log in or sign up for Devpost to join the conversation.