To render at real-time speeds, a bunch of data needs to be pre-computed, including BSP tree and lightmaps. However, levels are static for performance reasons. (and it would make editing the level easier). In an ideal world, nothing in the game would be static, so players would be free to interact with everything The bulk of this is described by the singular worldspawn object in. The scenery is composed mostly of brushes. The static part mostly consists of scenery and the basic geometric area that makes up the levels. Quake divides the game world into a few simple categories.Īt the top-level everything is either static or dynamic. Then for each plane the list of vertices lying in the plane can be assembled into a polygon. One way to do this is to intersect the planes together, 3 at time, to create a vertex. We think of brushes as a solid, but a brush can also be converted into a 3D triangle mesh for rendering. They are convenient for computing BSP trees, which make rendering possible.They are fully enclosed, We can compute collisions with them easily. They have nice mathematical properties.They are easy to edit and UV map, especially for making architecture-like features (a triangle mesh is more detailed, but also more work).It’s not hard to show that a brush must be a convex shape. The solid is defined to be the volume enclosed by the 3D planes (also known as the intersection of half-spaces). Brushesīefore describing the entity system, there is an important technical concept to cover.Ī brush is a 3D solid shape defined by a set of 3 or more 3D planes. Of particular interest to me is it’s similarity to the UNIX philosophy.īoth designs can be summarized as having one primary substance (a unifying concept) and a language (the shell) for combining simple behaviors in emergent ways. In this article I want to provide a brief overview of the Quake entity system and its design (for Quake generally, not just Quake 1). Most of what’s been written about it focuses on the 3D graphics, or client/server networking.īut, much overlooked is the innovative entity system which allows the game to simulate objects and level designers Modders bringing its concepts to other studios, and competitors trying to best it (especially Unreal). The Quake engine has influenced an incredible number of games through direct licensing (games like Half-Life and Star Wars: Jedi Knights), Home GitHub Rss The Quake entity system: shell scripting for games The Quake entity system: shell scripting for games
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |