Looking around, there doesn't seem to be a singular good resource for Quake modding, especially not for "modern" workflows. I'm interested in creating a series of articles on the subject. I have a few ideas brewing, but I'd like some feedback. Naturally, this would be an opinionated guide, so I expect some of you will disagree with my methodology, but I think it would be more useful to newcomers if I tell them what to do rather than give them options at every turn.
Some ideas:
Chapter 1 would essentially be setting up the tools, compiling, and running a mod; perhaps making a small edit (fix the fish enemy count bug).
Chapter 2 would be a high-level description of progs.src/compilation process and defs.qc with some explanation of globals/functions/fields. Another edit, perhaps a new field, and folding in some language features.
etc.
Perhaps the first couple of chapters would be standalone, and additional chapters would require pre-reqs of mapping or modelling skills.
Suggestions?
Some ideas:
- OS Agnostic - As much as possible. This might be a bit difficult as a Linux-exclusive user, but the lion's share of modders are going to be coming from a Windows background. There will be cases where OS-specific instructions are required (e.g. install scripts) but I think there won't be many. I'll err on the side of WIndows users, as I expect Linux users will be able to figure out most things
- Recommended Editor - VScode. There's a QuakeC extension too, although I AFAIK it doesn't support FTE-isms. Vim and Emacs are too steep a learning curve, Notepad sucks. Yeah there's fteqcc-gui, but I feel like it's a disservice to teach such a specialized tool.
- Recommended Compiler - fteqcc. duh.
- Git/GitHub - I think it's important to teach good practices for collaborative development, though perhaps this would be more of an addendum. Git and GitHub could easily be their own topics, and it would likely drive people away if I front-load this stuff right away. I'm thinking I should start people off with a GUI front-end, though I don't have any experience with any. I think VScode might be integrated with Git, come to think of it, but I've always preferred the CLI. Though, since the terminal is integrated with VScode, maybe the CLI wouldn't be so bad...
- Style - Pretty much going to prefer opening-curly-braces-on-same-line and use of curly braces even where there's only one line. Mostly because that's what I use at work and that's my own preference. I'd prefer spaces over tabs, though I don't want to get into a holy war over the topic.
- Starting Source - Probably some "cleaned up" source; I've worked with Shpuld's, which is good, but that's based on 1.01. I think the 1.06 source might be better since it's consistent with pre-re-release vanilla, and I doubt anyone cares about whole license issue.
Chapter 1 would essentially be setting up the tools, compiling, and running a mod; perhaps making a small edit (fix the fish enemy count bug).
Chapter 2 would be a high-level description of progs.src/compilation process and defs.qc with some explanation of globals/functions/fields. Another edit, perhaps a new field, and folding in some language features.
etc.
Perhaps the first couple of chapters would be standalone, and additional chapters would require pre-reqs of mapping or modelling skills.
Suggestions?