Pitfall - Year 1 - Block A

Sven van Huessen | Nov 3, 2023

Pitfall - Year 1 - Block A

Challenge: Recreate the classic Pitfall game in C++ within 8 weeks without using any external libraries, not even the STD library.

Result: Successfully delivered a complete game, earning a perfect 10.0 grade.

Systems

Built from scratch using only a basic rendering template:

  • Entity Component System - Architecture for game entities and components
  • Scene Management - Transitions between game states
  • UI System - Simple UI framework for Buttons and Text
  • Collision Detection - Physics and interaction handling
  • Animation System - Sprite-based character animations
  • Level System - Tile-based world editor
  • Particle System - For visual effects

Key Technical Achievements

Advanced Particle System

Created a flexible particle system for water splashes and visual effects. The system supports customizable properties and can handle multiple particle types simultaneously.

ParticleWater.gif Water Interaction Particles

ParticleFun.gif System Stress Testing

Level Editor Integration

Integrated Tiled map editor for easy level creation. Levels are exported as CSV files and parsed at runtime, allowing quick changes and easy level design.

PitfallTiledLevelEditor.png

Collision Optimization

Problem: Game is slowing down due to excessive collision checks.

Solution: Developed an algorithm to merge adjacent tiles into larger collision rectangles.

Impact: Reduced colliders from 890 to 65 (93% reduction) while maintaining accuracy.

PitfallBefore.png Before: 890 Colliders

PitfallAfter.png After: 65 Colliders

Project Outcome

Grade: 10.0 / 10.0

“Excellent work beautifully presented. Well done. We can see your learning log improving as the weeks progressed and hope you’ll start next block at that level.”

— Teacher Feedback

Technologies Used

  • C++ (without STL)
  • Custom memory management
  • Tiled map editor
  • CSV file parsing