View previous topic :: View next topic |
Author |
Message |
scar3crow Inside3D Staff

Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV
|
Posted: Sat May 19, 2007 10:41 pm Post subject: Encompassing Mod for Mappers |
|
|
This can go into Coding or Mapping, so I am putting it in General. I want everyone to respond to it, particularly mappers.
Yesterday FrikaC was discussing (with Rich some) the idea of an encompassing mod, that played Quake properly, but also was useful for mappers to map for. This mod could have rotating brushes, and all kinds of other handy dandy things. This was around the same time I mentioned to neg!ke that I thought it would be nice to see a really good map made for DPmod that took advantage of the qc's exploding brushes and weather effects.
I think we could see some really cool things if the community could agree on a mod to map for (as in people have it, it is low impact, merely expanding horizons).
Here are some of my ideas for qc changes that could be made and put into a map (other mods may have these, of course):
Weather effects.
EntityFactories (keeping an area populated and/or not unfair).
Multiple entities within others (functioning buttons and doors within a func_train).
Rotating brushes.
Breakable and exploding brushes.
Generic object.
Generic sound.
Monster spawning as seen in numerous mods and Preach's tutorial.
A host of accepted new monsters, items and weapons (Missionpacks and Quoth for example).
Please contribute to this one. |
|
Back to top |
|
 |
leileilol

Joined: 15 Oct 2004 Posts: 1322
|
Posted: Sat May 19, 2007 11:37 pm Post subject: |
|
|
p0x's Extras? |
|
Back to top |
|
 |
Preach
Joined: 25 Nov 2004 Posts: 122
|
Posted: Sat May 19, 2007 11:39 pm Post subject: Re: Encompassing Mod for Mappers |
|
|
I don't think people would want one mod to do everything, it will end up with too many redundant pieces. Once you've decided to use a mod instead of stock quake then it's no more hassle to provide your own mod with a map than it is to tell people to use this unified mod. If you want to change things later you'll need to make sure you have backwards compatibility, which might be restrictive/complicated. Plus individual maps often need things tailored in ways nobody anticipates - no matter how many features you add. Adding your own unique boss to a map, for example.
What I think could be more useful would be a repository of code that does all of these things, easily available, made as modular as possible. You could have a base qc source that changes nothing at all except fixing bugs - the Quake Info Pool list of fixes for instance, along with a few things aguirRe is always fixing in mods for people - recursion in some of the search functions and the like.
Then you'd have a list of these useful things like rotating brushes, generic sound, teleportation flag. Each useful thing would come with a chunk of code, with very clear instructions on how to impliment it(for someone with absolutely no experience in QC). The various bits of code would be as modular as you could make it, all the various pieces being designed to work together in theory. You could warn of possible conflicts between pieces of code in this repository if they arise.
Then when someone is making a new map, they can just run a checklist down this set of available features and build the ones they want quickly and easily, even if they don't really understand QC. The end result is that they get a nice slimline mod that does just what they need for the map without any fat.
For my part, here are the things I'd think would be handy:
Entity Optimisations - saving ents is important for large maps, so things like culling info_teleport_destinations, storing info_player_start,coop,deathmatch as origin vectors in globals, actually removing the ammo entities in single player rather than just hiding them.
Corpse Management - related to entity optimisations is what to do once an enemy is dead. Lots of larger maps need the bodies removed, so a nice bit of code is needed to handle this job. It can be done in a "unified" way like the monster spawning, with a little ingenuity.
Customisable monsters - this one strays a little from the custom mod for each map idea, as it's a kind of generic mod feature. It's also hard to see it being a feature that's easy to impliment in a modular way. What it involves is turning lines like
setmodel(self, "progs/ogre.mdl");
into
if(self.model == "" )
self.model = "progs/ogre.mdl";
setmodel(self, self.model");
So you can customise the model/health/etc of a monster by setting the entity fields, and leaving them blank sets the defaults.
Logic gates - There are ways to set up logic gates in maps already, using spikeshooters and doors as literal gates. But obviously an entity to formalise this would be much more sensible. The logic gate entities would be statements like AND/OR/NOT with several input fields, each having a targetname. The gate would then have one "target" field that gets triggered if the logic gate test is passed. Chaining them to make more complicated decision trees would be straightforward from there.
Decision triggers - Similar to the logic gates, you would have a trigger that fires if a certain property holds, for example if the player is below x health, if the player has a certain weapon, if a monster is nearby/no monster is nearby. It would be quite hard to exhaustively list all the possible things a map might want to check for, but having customisable code here would help a lot. |
|
Back to top |
|
 |
dayfive

Joined: 10 Nov 2006 Posts: 77
|
Posted: Sun May 20, 2007 12:41 am Post subject: |
|
|
Rotating brushes - like in Rubicon
Brushes that appear and disappear - like in TargetQuake |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1027
|
Posted: Sun May 20, 2007 1:10 am Post subject: |
|
|
Preaches 'entity optimisation' and 'corpse management' makes me go ..huh? Is the entity optimisation for stock engines that have a hard limit on entities? And the corpse management... how is a corpse more taxing on an engine than a living monster? Why would you need to remove corpses? Let me say that one of the big reasons I like Quake is because unlike all those other stupid games it DOESN'T remove corpses. I hate that. _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe. |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Sun May 20, 2007 5:50 am Post subject: Re: Encompassing Mod for Mappers |
|
|
Preach wrote: | I don't think people would want one mod to do everything, it will end up with too many redundant pieces. Once you've decided to use a mod instead of stock quake then it's no more hassle to provide your own mod with a map than it is to tell people to use this unified mod. If you want to change things later you'll need to make sure you have backwards compatibility, which might be restrictive/complicated. Plus individual maps often need things tailored in ways nobody anticipates - no matter how many features you add. Adding your own unique boss to a map, for example. |
Well the idea I was talking about with Rich was that it would be a plugin, ala FrikBot, that would add these custom map-related things to every mod.
See, my major gripe when I was doing silly things like weapon mods and downloading singleplayer map packs was nearly every map pack out there had some custom QC, and it usually wasn't anything major - and no source code - mappers seems to not bother releasing source.
Yet Quake can't run two mods at once, my mod or the mapper's that was required to play their map. As the whole idea was to play my mod, a large chunk of mapper's maps were out of the picture. If they all had used something semi-standard I could just implement in my mod, then I could play them: Custents, only not horribly shitty.
I had the idea that you can code an admittedly rudimentary, but fairly powerful script interpreter in QuakeC and a custom BSP compiler that can compile QuakeC code right into the brushes of the mpa. It can do nearly everything QuakeC can, so mappers can just plop in some scripts for their new enemies, whatever.
This script system being the core of the QuakeC plugin, but also included could be some commonly useful ents, like rotating brushes and reltest, things like that, so even if you didn't want the script engine, there's some great stuff you get out of it. |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Sun May 20, 2007 5:56 am Post subject: Re: Encompassing Mod for Mappers |
|
|
scar3crow wrote: |
A host of accepted new monsters, items and weapons (Missionpacks and Quoth for example). |
No. Bad. Monsters items and weapons compiled in requires models and sounds, I would specifically ban such, because the intent is not to make Custents all over again. |
|
Back to top |
|
 |
Preach
Joined: 25 Nov 2004 Posts: 122
|
Posted: Sun May 20, 2007 8:28 am Post subject: |
|
|
Sajt wrote: | Preaches 'entity optimisation' and 'corpse management' makes me go ..huh? Is the entity optimisation for stock engines that have a hard limit on entities? And the corpse management... how is a corpse more taxing on an engine than a living monster? Why would you need to remove corpses? Let me say that one of the big reasons I like Quake is because unlike all those other stupid games it DOESN'T remove corpses. I hate that. |
Yes, most engines only have 600 or so. And you remove corpses because having all those bodies affects the framerate, to keep things running smoothly in areas with large numbers of monsters. Plus the extra free edict is a bonus. |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1027
|
Posted: Sun May 20, 2007 8:43 am Post subject: |
|
|
Yes but when you walk into the room in the first place all those monsters are there... during the most crucial time, when they are alive. _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe. |
|
Back to top |
|
 |
Preach
Joined: 25 Nov 2004 Posts: 122
|
Posted: Sun May 20, 2007 9:08 am Post subject: |
|
|
Sajt wrote: | Yes but when you walk into the room in the first place all those monsters are there... during the most crucial time, when they are alive. |
Usually you have waves of monsters that spawn, or reinforcements that arrive when you revisit an area. Then it's useful to have corpse removal. |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1027
|
Posted: Sun May 20, 2007 10:50 am Post subject: |
|
|
Well you fight like a cow. _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe. |
|
Back to top |
|
 |
Dr. Shadowborg Inside3D Staff

Joined: 16 Oct 2004 Posts: 726
|
Posted: Sun May 20, 2007 9:48 pm Post subject: |
|
|
*cough* XEvil *cough*
"The Ogre corpse has decomposed"
=P _________________ "Roboto suggests Plasma Bazooka." |
|
Back to top |
|
 |
scar3crow Inside3D Staff

Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV
|
Posted: Sun May 20, 2007 11:08 pm Post subject: |
|
|
Preach - I will put my opinion on the matter simply. Very mild changes that benefit one aspect of a map to me do not feel worthy of having a new progs.dat and a new folder in my Quake directory. Beyond Belief is a good example to me, great, wonderful maps. But as far as I know, the qc change only matters on one map in the episode (the worst one), and it is a fairly common change made. A vulnerable to weapons Chthon, a mega-enforcer and the centroid seem to be so prevalent... And I have a different folder for each time a map uses one of these.
Quote: | Once you've decided to use a mod instead of stock quake then it's no more hassle to provide your own mod with a map than it is to tell people to use this unified mod. |
I don't find it to be a hassle when someone tells me "You need missionpack 1 installed for this" or "This uses Quoth monsters". You know why? Anyone who plays single player maps has Quoth or MP1. If an encompassing mod is made relevantly and provides desirable changes, people will have it, for the same fact that people have MP1 and Quoth because they are fun.
Quote: | Plus individual maps often need things tailored in ways nobody anticipates - no matter how many features you add. Adding your own unique boss to a map, for example. |
Maybe I'm just spoiled by Unreal where in the code, things like that are easily done in the editor. Take TeamFortress, it has open ended goal entities and other such, that allow great extensability. This extensability allows Rock2 to have its own gasmask model, named such, and vx gas model, named such, functioning on the map with their own purpose. Yet there is no need for a fortressrock2 folder, simply put rock2.bsp in fortress/maps and the other appropriate files in /progs and /sounds as mentioned by the readme.
I may be missing a technical detail in there, something that perhaps QW takes care of that I'm not aware of. All I know is TF gets by just fine having a single mod which can do a wide variety of things, and people would download maps with custom models and sounds and it played them just fine.
Your mention of customisable monsters further down in your post seems to agree with me.
FrikaC - That is why it was at the bottom. However I would counter with the fact that we see MegaEnforcer as the requirements for a progs.dat and progs/sound files over and over. I would much rather just have a mod that includes megaenforcer, plays like stock Quake unless he is put in there, and the map tells me "just drop me in the megaenforcer folder and I will play fine." |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1027
|
Posted: Mon May 21, 2007 2:17 am Post subject: |
|
|
I dunno if there's any hope to a mod like this at this point... I see something like this being done eventually but it still gets ignored by the mapping community, who either want id1 compatibility, have 'something else in mind' or just don't care. _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe. |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Mon May 21, 2007 3:21 am Post subject: |
|
|
Sajt wrote: | I dunno if there's any hope to a mod like this at this point... I see something like this being done eventually but it still gets ignored by the mapping community, who either want id1 compatibility, have 'something else in mind' or just don't care. |
Actually, now that I think about the idea in depth, I can recall the reason I wanted to do it - most bsp, trigger and 'scripting' entites are useful in virtually every mod and as I was making mod after mod I found myself re-inventing the wheel, such as with Prydon's doors and so forth, I realized a more centralized library of these entities with a basic plugin architecture would mean I could just bring that library with me.
Further, I could make deathmatch and single player maps using this stuff and provided I drop in the plugin, I can play them with basically any mod there is.
Monster, items and weapons are somewhat mod specific. I wouldn't be opposed to a second 'monster lib' - it'd be helpful for SP maps, but the original idea was to make a simple compilation of things like func_frame, hiprot, reltest, logic gate entities, etc, etc. For my own use, for modder's general use, and for mappers if they so desired. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2004 phpBB Group
|