As many of you know, I am a member of facepunch studios forums (http://forums.facepunchstudios.com/). For those of you who don’t go out often, these forums are run and operated by Garry Newman, creator of Garry’s Mod, a popular Half-Life 2 mod.
I’ve had a few things bouncing around in my head about FP and GMod in general, so I thought I’d get around to writing them down.
What makes GMod’s lua so successful?
- Easy to learn – Unlike a full-fledge language like C++, lua can be picked up in a few days.
- Limited API – Users who start using lua in GMod won’t be overwhelmed with thousands of functions they can use to interact with the game. (GMod 10 will be losing this, as it uses a more complicated API with many more features. This may discourage scripters that would have given it a shot in GMod 9)
- Instant usage and feedback – If you make a script and post it on FP, you’re nearly guaranteed that someone will try it out and leave a comment. This is unlike C++, where most one-man newbie projects would be considered worthless.
- Well documented – Both lua and the GM9 API are well documented, there is no question how something reacts.
- Support – Support for a language like C++ is lengthy and often results in step-by-step debugging for problems, but with lua, you’re more likely to get someone willing to help you look at your code and find any problems as well as offer solutions.
- No compiling or linking – Let’s admit it, no one likes waiting several minutes for an application to compile. Even worse, no one enjoys unresolved linker errors, something that is almost unavoidable when you’re programming with the Source engine.
My personal annoyances with FP
- You don’t get responses from the people you need it from most – For the most part with my scripts, all feedback comes from relatively inexperienced users, or those who can’t follow directions and need someone to bail them out. What’s worse, you never seem to get the negative feedback either. Instead, people with negative remarks take it to other threads.
- When the old rating system was in place, ratings did not depend on the quality or time and effort in the script. Instead, rating was based only on how well the script did what it was supposed to do. It might be a 10-line script, but if it works like you describe, you get straight 5’s.