-
Notifications
You must be signed in to change notification settings - Fork 3
Physics
jac0be edited this page Aug 31, 2021
·
3 revisions
The sample game provided with the game engine is physics-based, which means that all movement and collisions is handled by a physics simulation. You are not required to use this in your game, so feel free to modify or remove the provided physics code. The popular Box2D library is used to simulate physics. Box2D documentation is highly recommended reading before writing any physics-related code.
-
PhysicsComponent
: This registers an entity as part of the physics engine and allows it to be moved around by physics. -
ColliderComponent
: Adds a collider to the entity, which lets it collide with other colliders (e.g. obstacles, enemies). -
HitboxComponent
: A simple subclass ofColliderComponent
that creates a sensor-only collider. Useful for detecting collisions without actually colliding. -
WeaponHitboxComponent
: Similar toHitboxComponent
, but allows for resizing during run-time. See WeaponHitboxComponent -
PhysicsMovementComponent
: Provides movement for a physics-enabled entity by applying forces in the desired direction. This can steer an entity in a specific direction, and is used in the base game for the player and ghost enemies. -
PhysicsEngine
: Performs the actual physics simulation. You don't have to interact with this directly.
-
Collision Events: All collisions trigger start/end events on the colliding entities. This can be used for combat hitboxes, triggering events when players enter areas, etc. See
PhysicsContactListener
(code). -
Raycasting: Raycasting means firing a line in a certain direction and detecting any collisions. This is used in the sample game to calculate line of sight for enemies. See
PhysicsEngine.raycast()
(code).
Design Document
- Story
- Music
-
Characters
- Main Character
- Bosses
-
Enemies
- Sprint 1: Final Design
-
Sprint 2: Elvish Boss
- Decision to make our boss a mage
- Design Inspiration: Staff Weapon
- Design decisions for boss
- Archery attack animation for minions
- Different types of minion elves and designs
- Melee attack animation
- Boss attack animation using sceptre
- Design Inspiration: Shooting fireballs
- Mage Boss attack method: fireball
- Sprint 3: Walk Animations and Design Amendments
- Sprint 4: Refining animations
- Map Design
- User + Play Testing
- Gameplay
- Art Style Design Guidelines
- Emotional Goals