• The Info class is a generalized class that encompasses all classes that deal with various game-related information, such as the current rules (Deathmatch vs SinglePlayer vs TeamGame), ZoneInfo which is used to create lava, water, or just plain empty space, and PlayerReplicationInfo which contains special networking information for Players. Most of my coding experiences in the Info classes has been in GameInfo to define new game types, or variations on the classics, such as ASMD-only deathmatch. It is also conceivable to subclass the ZoneInfo class to create new types of zones such as toxic goop from Mars, or maybe a specialized case of water that reflects weapon shots, etc.

  • The Trigger class handles the operation of lifts, doors, and other events by responding to certain actions in the game and then performing another action, either by modifying another actor or by setting off other triggers, or both. Triggers are invisible in the game and are generally triggered by touch, proximity, or by another trigger. It is also to call the Trigger() function from another class to set off a trigger, say to open all the doors in a level at once or something. Subclass the Trigger class to create special case triggers, or other event-driven gameplay.

  • The Inventory class, a child class of Actor, contains both the Pickup classes and Weapon classes. Pickup is all the items other than weapons that a Pawn will pick up and use in a game, be it health, armor, or ammo. Use the Pickup class to make your own unique items in a game, such as can of beans, or maybe even a landmine. The Weapon class handles all the functions for firing and aquiring weapons in a game. All of the individual Unreal weapons are defined as subclasses of the Weapon class, and handle the specifics of the weapons, such as animations and creating the projectiles/weapon effects. Just subclass weapon to create new weapons, provided you have a new model, or you can subclass one of Unreal's weapons and just use its model. NOTE: Weapons are based on an important variable, bInstantHit. If this is set to true, then the weapon will not create a projectile (such as a rocket), and instead will do instant damage to any targets in the line of sight (such as the rifle).

  • All the rest
    There are many classes that are used to create the remaining things you see in Unreal, such as the HUD for players, lights, moving brushes, menus, or new projectiles. Experimentation, and just plain browsing through the code should help you gain a basic understanding of how everything else is layed out and how it works.

  • Unreal uses the concept of Vectors and Angles to handle all of the movement and rotation of Actors in the 3d game world. A vector is a structure that consists of 3 components, X, Y, and Z values, where the X axis is forward/back, Y is left/right, and Z is up/down. You can modify these values directly to alter an Actors postition in the world, using the SetLocation() function with a new vector for the new location. Rotation is handled by an Angle structure which also consists of 3 components, Pitch, Yaw, and Roll, where Pitch will rotate up/down, Yaw to the left/right, and Roll will roll as though your were tilting your head to the left/right. Using SetRotation() you can alter what direction an Actor is facing, or convert a rotation to a vector to alter the direction of an Actor's velocity, etc.

  • If you're in college and would like to know more about 3d mathematics, I'd suggest taking some Physics classes and Linear Algebra, as vectors/matrices are common topics. Also try searching online for 3d mathematics tutorials, I know QDevels has a 3d tutorial, as does Weapons of Destruction on PlanetUnreal.

    Copyright © 1996 Epic Games