News | Forum | People | FAQ | Links | Search | Register | Log in
Quake 1 Modding Newbie
Hello! I'm a prospector at Quake modding and i wanted to know a few things before i start. I'm starting at doom modding with ACS and map building and some stuff is still raw in my mind about Quake.
The reason a want to mod Quake is because mostly of meshes and real 3d, unlike doom it can do several things that can give the modder more more freedom so to speak, so here it goes:
1. Is QuakeC as flexible as ACS in terms of creating entities (decorates in ZDoom), and can i create a complete mod using QuakeC only (without getting the Quake source and tinkering with it)?
2. Is the DarkPlace engine a recommendation for modding at all?
3. Is there any repositories for examples/tutorials for complete beginners apart from the InsideQC website?
4. Is there a way to run QC faster than having to compile manually or generating batch files? For example there's Necro's Compiling GUI for mapping...
5. Any IDE?
6. Any limmitation in what you can do? ACS seems limited but stuff like brutal doom are the top notch example of liberty within Doom modding.
7. Whats wrong with Hexen 2 modding? I originally wanted to mod H2 but it seems a nonexistent topic on the web. Can darkplaces and QC be used for that purpose?

I know i can jump into any nowdays game engines like Unreal or Unity, but that's not really my goal since i'm already a game developer....

Thanks! I hope you have patience with a newbie this far .
Okay 
1. I don't know what ACS is so I'll skip that. I also don't know what you define as a "complete mod" but QuakeC lets you create entire new monsters, define all their animation frames and what code happens on those frames, etc.

2. It has lots of bells and whistles added, but everyone hates a mod that requires them to use an engine other than their own favorite. Nearly all quake mods (at least the ones you'll find on this forum) are as engine-agnostic as possible, sticking only to what features the majority of engine ports have all added in a roughly standard way (raised map limits, fog).

3. InsideQC is the best. Second best is just reading through the coding help and mapping help threads on this forum, the good quake wiki:
http://quakewiki.org/wiki
and Preach's blog which is full of crazy hax:
http://tomeofpreach.wordpress.com/

4. putting 'qcc.exe' and 'quake.exe' in the same batch file is about as fast as it gets. what are you hoping for, live editing of game code?

5. notepad++

6. You can't concatenate strings or use arrays, and it's not OO. You can abuse globals and create mindbending bugs though. You also can't touch whatever the engine does, so you can move entities within the existing physics system but not write a new one, etc. If there's an engine effect that doesn't have a quakeC builtin function you can always abuse 'stuffcmd()' which does it through the console instead.

7. I don't know, I guess nobody really plays Hexen 2? Nobody played Arma2 until someone made this crazy sick zombie mod for it and suddenly everyone had to buy Arma2 just to try it, so, if you truly believe in Hexen2 and/or yourself just do it anyway and pimp it and if it looks good enough people will want to try it. 
From My Perspective... 
1. QuakeC is more for gamecode than for mappers. QuakeC is generally just a set of properties (including targets) rather than mapper-visible scripts. You can create all sorts of crazy stuff via qc, but in doing so you make your map specific to a single mod (and vice versa).
search youtube for quakerally or airquake some time, and then remember that these two are mods from before the engine was opened up to a plethora of extensions.

2. depends on what you're trying to do. QuakeSpasm (vanillaish), FTEQW (very versatile, also my project OH NOES! BIAS!), or DP (not mine, also not vanillaish). These 3 are probably the more interesting ones for modders.
there are other engines, of course, like markv.
while some of us do spend far too much time trying to get mods made for other engines working in our own, the fact that it can take that much time shows that you do need to keep an eye on more than one engine - if you want to target more than one. quakespasm is a good mix of features and limitations for this purpose.

3. insideqc is the general recommendation. there's also folks at quakeone.com. also irc (insideqc should have a link to a suitable channel) is good if you want to get a quick reponse.

4. fteqccgui+fteqw. press f7, your code is recompiled, map is reloaded. job done.
you can start other engines via fteqccgui, but doing so will not feature any integration.
I did want to do live editing of code a while back... but frankly all I ended up with was a glorified save-game hack.

5. see 4. note that fteqw will fling you back to your code if your code does something bad. also includes call tips and stuff.
(there's a topic on insideqc to recolour it if you prefer a different colour scheme, although this part isn't quite as friendly as notepad++)

6. depends on the engine you used. fteqw+dp both support string concatenation although fte is more friendly with it (strzone isn't needed, thank god).
fteqcc can emulate arrays, they're a little slower than you'd otherwise expect but they work fine, just try to avoid too many/large field arrays (while fteqcc has some class stuff, no qcvm has variable-sized ents, yet).

7. quake and hexen2 tend to not mix that much - afaik its only fteqw that can run both games without having to recompile the engine. there are a few hexen2-only engines (jshexen2 comes to mind, can't remember the names of others right now, but there's at least 2 others).
fteqcc can also compile HexenC (basically QuakeC but with a few tweaks), but you need to enable a few options so that its happy (those tweaks are not all backwards compatible).
there's a single topic on quakeone.com about hexen2... and that's about it...
the biggest limitation right now is probably the map size limits (someone needs to hack some up to date quake tools to work with hexen2 formats too, or something). 
AI Cafe 
While the above posts have some great sources, for my money the best place to learn about QC is the defunct site AI Cafe. There's a mirror at

https://www.quaddicted.com/webarchive/minion.planetquake.gamespy.com/tutorial/main.htm

My site was mentioned above, and I'm flattered. What I should mention is that most of the stuff I post in https://tomeofpreach.wordpress.com/category/code/ is intermediate QC code, for people who have already got their head around it and want to learn more. Work your way through AI Cafe first! 
Well... 
Thanks for the answers guys!
That's good to know that i can actually build a complete different game out of quake. I was thinking something like an RPG-like mod or anything that requires new attributes and meta mechanics. About darkplaces, it interests me because of its visuals and because of proven games that are 'just' modded versions of it, but i don't think it really matters. FTEQW seem a great option and the Hexen2 stuff really pumps me up! And string concat and arrays are always a plus :-).
As for the suggestions of learning places they all seem awesome! I will check them out later.

As for the IDE and ease of compiling, there is no real issue in using batches (i developed a while for PSX and it was pretty much that). So i'm good with the FTEQC GUI, and i will check the mentioned links to get a better idea of how it all works (it's still a little fresh in my mind, how compilation and mod building and pk3s and all that).

As for the Hexen 2 stuff, i'm encountering problems in using Trenchbroom for H2 mapping and Sledge also seems to need a few adjustments. So i was wondering what mapping tool you guys use (if Sledge, Trench or even QuArK).Trenchbroom seems a bit slow because of the simplicity and perspective-only viewport. Also i'm having trouble in finding model viewers and model texture extractors but that's another topic entirely.

Thanks a bunch for the answers! It put me in a better position in considering taking time learning QC and Quake modding. 
If You Want To Use TB2 
Send me an email. It already supports Hexen 2 and has 2D views. I need testers so I'd be happy to give it to you provided you really use it for productive work. 
 
fteqw has a modelviewer command that can display the various models (and because its built-in, it does all the proper model replacements too). it 'should' also work with file associations.


hexen2's .bsp format is slightly different from quake's due to different hull sizes (its not directly obvious, but if you use a quake-format bsp in hexen2, then various monsters might start poking in to walls or so).

hexen2's .map format is also slightly different due to pointlessness. the extra bits are all ignored, but hexen2's qbsp requires them anyway.
here's gb's workaround - https://spawnhost.wordpress.com/2013/04/15/hexen-2-radiant/ (note that this should work to compile .maps generated by trenchbroom/jackhammer/radiant/whatever too).
palettes may also be an issue, and you'd need some entity type definitions from somewhere.

with fteqw, there is also the possibility of using q3bsp, which can be created with various tools and compiled with q3map2. expect problems with textures though (less of an issue if you depend upon 'replacement' textures as you can then just use those directly.

for mapping, quake is just much better supported. 
 
Great to hear about TB2. I saw the brush editing video and it looks amazing! I'll definitely e-mail you :-D. About the FTEQW the only real problem now is the lack of documentation (at least an easy to find one). But it sounds like an awesome engine and i already got it running with H2 and Q1! Also great to hear about the H2 map compiler there!
Other than that i would like to thank everyone for the patience! Cool to see that Q1-alike modding is still alive :-). TY! 
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2017 John Fitzgibbons. All posts are copyright their respective authors.