Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TPS Prototype - Third Person Shooter Game Prototype

FPS Demo

A prototype third-person shooter game built with Pascal using the Raylib graphics library and custom game engine components.

๐Ÿ“‹ Overview

TPS Prototype is a demonstration project showcasing a third-person shooter game with:

  • Third-person and first-person camera modes
  • Player movement with animations (idle, walk, run, jump)
  • Weapon system with attached models
  • Enemy AI (zombies) with targeting and states
  • Physics-based interactions
  • Debug visualization tools

๐ŸŽฎ Features

Player Controls

  • WASD - Movement
  • SPACE - Jump
  • LMB - Shoot
  • C - Switch between third-person and first-person camera
  • M - Toggle mouse look
  • F1 - Toggle debug mode

Camera System

  • Third-Person Camera: Follows player with configurable offset and occlusion
  • First-Person Camera: Direct view from player's perspective
  • Smooth camera transitions
  • Occlusion detection (third-person)
  • Adjustable far plane with UP/DOWN arrows

Enemy System

  • Zombie AI with states: Idle, Chase, Attack, HitReact, Dead
  • Health and damage system
  • Target tracking
  • Animation state management

Visual Features

  • R3D rendering engine with bloom, SSGI, SSAO
  • Dynamic lighting with shadows
  • Model loading (GLB/GLTF formats)
  • Animation support
  • Debug visualization (physics capsules, raycasts, camera frustum)

๐Ÿ› ๏ธ Technologies

  • Language: Object Pascal (Free Pascal)
  • Graphics: Raylib + R3D rendering engine
  • Physics: Kraft physics engine
  • Models: GLB/GLTF format support
  • Animations: Skeleton animation system

Configuration

Adjust game parameters in the code:

  • PLAYER_SPEED - Normal movement speed
  • PLAYER_RUN_SPEED - Sprint speed
  • CAMERA_OFFSET_HEIGHT - Camera height above player
  • Enemy stats in Zombie.SetStats()

๐ŸŽฏ Controls Reference

Key Action
W/A/S/D Movement
SPACE Jump
Left Mouse Button Shoot
C Camera mode switch
M Mouse look toggle
F1 Debug overlay toggle
X Toggle X-ray mode
UP/DOWN Adjust far plane
1/2/0 Toggle layer visibility

๐Ÿ› Known Issues

  • Weapon attachment positioning may need adjustment per model
  • Animation names are hardcoded and may need updating for different models
  • Physics slop values may need tuning for different scales

Built with โค๏ธ using Pascal and Raylib

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages