Japanese Festival

Chris Williams, Kayla Carr, Megan Elrod, Patrick Noble

Download .zip Download .tar.gz View on GitHub

Description

Matsuriyo! is a Japanese festival simulator. At the festival, you can play different minigames, such as Shooting Gallery, Watermelon Smash, or Karaoke. Playing different games earns you different amounts of points so you can save up for prizes in the Shop booth!

Travel around the world using the WASD keys. W and S move you forward or backwards, while A and D rotate the player to change direction.

Press ENTER to play a minigame or shop. In the minigames, you either click to interact with the game or use the arrow keys.

Play minigames to earn points. Once you’ve earned points, you can buy prizes in the shop!

Gameplay Videos

I apologize for the lack of artistic quality in the following videos. We had plans to editing them together into one video, but we had issues sharing screen capture footage.

Controls

  • WASD = Move around
  • Enter = Approach a booth and check out it's contents
  • Move Mouse = Observe the world from a 3rd person perspective
  • Each minigame has different controls which will be displayed as you start playing it

Libraries

  • FreeType2 for text on-screen
  • OpenCV for playing videos
  • irrKlang for playing audio
  • GLFW for window and time management
  • GLEW for OpenGL extension management

Team Contributions

Chris

  • View frustum culling
  • Shooting gallery minigame
  • Cook torrance shader (didn’t make it into final version)
  • Makefile
  • Multiple platform development
  • Project Object Oriented Structure
  • Time-based motion
  • Waving grass
  • Bug fixes
  • Final webpage
  • Version Control

Kayla

  • Texturing
  • Sky box
  • Karaoke minigame
  • Watermelon smash minigame
  • Shop minigame
  • Video playback
  • Glow shading
  • Bump mapping
  • Blinn-phong shader w/ directional lighting
  • Overworld design: trees, benches, ground, zen garden
  • Models: player, background people, watermelons
  • Textures: trees, people

Megan

  • Camera
  • Player
  • HUD: minigame text, scrolling billboard
  • Irrklang sound engine
  • Bug fixes

Patrick

  • Collision Detection: spatial data structures
  • Background player AI
  • Particle system and billboarding
  • Background game logic: shaders, object, world, game state
  • Overworld logic
  • Overworld design: buildings, booths, walls, fountains
  • Models: booth, target, shooting gallery
  • Bug fixes

Technologies Implemented

Major

Chris

  • View Frustum Culling

Kayla

  • Planar Shadows

Megan

  • Camera

Patrick

  • Collision detection
  • Rigid Animation

Minor

Chris

  • Cook-Torrance Shading (not implemented in final version)

Kayla

  • Video playback
  • Environment Mapping
  • Glow shading
  • Bump mapping

Megan

  • HUD

Patrick

  • Particle Systems

References

  • Help from Vital K group with text
  • Glow shading: link
  • Frame Buffer Objects: link
  • Bump mapping: link 1 link 2
  • Skybox: link
  • irrKlang (for Karaoke songs): link
  • OpenCV (for Karaoke songs): link
  • Spatial Data Structures: link