Quick Groups & Prefabs
I finished implementing Quick Groups today in ToeTag. It’s really interesting to me how I figure out the features that the editor needs simply by using it. I was constantly having to copy things like light fixtures or complicated wall structures and other things made of many brushes/entities. This sucked a lot because I had to reselect everything from scratch.
With ‘Quick Groups’, if you are diligent from the start of your map, you’ll be sitting pretty once you reach critical mass of detail. Every level designer knows what critical mass of detail is. That’s the point in the development of your map when you’ve established the visual theme and now you’re heading for the finish line. You’re working on gameplay and new areas but the visuals are more or less established. With ‘Quick Groups’ you’ll be able to copy complex brushes/entities from earlier in your map without a hassle. You select one brush/entity, hit CMD+OPTION+G and then all the other brushes/entities that are part of that quick group are selected.
It does smart things too. If you copy a group of brushes/entities that are part of a quick group, the new brushes/entities that are pasted into the map will be placed into a new quick group automatically so they will be selectable as a group as well.
Creating a quick group is easy as well. Select the brushes/entities that you want to be grouped together and hit CMD+G.
This is hugely powerful once you get the hang of it. And I’ll go even further and say that it’s more powerful than a prefab system. There, I said it.
Prefabs are a great idea in theory but when it comes to Quake levels you tend to customize things in every level. Your prefab library tends to morph to keep up with your current levels requirements. So you might as well use quick groups and work within the level itself.
And let’s face it - level designers like designing levels. They don’t want to use a bunch of stuff that someone else built. They want to build it themselves.
Sure, sometimes you need something standardized like a slipgate or a teleporter. If that’s the case, just open another map in ToeTag, copy and paste what you need. Prefabs be damned!
Tags: Quake, quick groups, ToeTag
April 2nd, 2008 at 6:53 am
Sounds like you have implemented something very similar to Worldcraft’s incredibly useful groups. One thing I hate about radiant is that to rgoup stuff you create func_groups, so basically you can only group brushes. Because worldcraft saves its own map format (rmf files) it can store groups, visgroups and cameras which are all really helpful when making big levels. Groups are pretty much what you have put into toetag, and make managing levels with intricate doorways, arches and such much easier. It’s also useful for adjusting the light level of a whole room at once since you can group the lights and then come back, select the group and adjust the brightness of them all at once (though you have to ungroup them first, then group them again when done).
Actually, that makes me think that an editor based light styles property would be cool. You could set a template light, call it “small spotlight” or something, then set lights you create to have this property. Later if you want to change the value of all the lights you could just adjust the template. Still, maybe that kind of thing isn’t really so useful in Quake as it would be with more up to date games since lighting is fairly straightforward in Quake.
Oh, visgroups in Worldcraft are just groups that any brush or entity in the map can belong to and are used to hide areas of the map. There is also a setting to use the colours assigned to visgroups in the editor views so that you can see what belongs to which group. I tend to use it mainly for hiding clips, trigger, entities etc. on small maps, and rooms in bigger maps. I’d kill for a filter for entities and special brush types like radiant or toetag though :/
April 2nd, 2008 at 7:51 am
It’s -almost- like vis groups but not quite that powerful. A brush/entity can only be in one quick group at a time so it has limitations. I want to add a full on grouping system though at some point.
Cool idea about the light style template. I don’t think that would be too hard to implement. I’ll think about that.
Thanks!
Oh and BTW you can do anything you want with the basic MAP file format as long as you’re willing to put it all into comment lines. That’s what I’m doing with saving viewport camera positions, bookmarks and quick groups at the moment. The QBSP compiler just ignores those lines and ToeTag knows enough to look for them while loading. I think the BSP editor did it this way as well. You don’t really need a special file format unless you’re going to be doing something pretty complex.