<
example image

Gotta Catch 'Em All!

Description: This scene is full trees, rocks, mushrooms but most importantly first generation pokemon! You know the drill, gotta catch them all!

From a diglett taking a quick peak to bulbsaur in the middle of evolving to even a rare ... SHINY POKEMON!

The user is able to throw a pokeball using spacebar in efforts to try to catch pokemon, unforunately not all pokemon going to be willing to be caught. If you miss, press 'p' to retrieve the pokeball. The user will only be able to look around in the world but will not be able move in it! Wait for a a visual cue to indicate that you successfully used your pokeball to catch the pokemon.


Program Controls

Mouse - Camera Movement

Spacebar - Spawns Pokeball

P - Delete Pokeball

M - Change Tree Color

example image example image

example image

Bulbasaur is in the middle of evolving

Evolution Visual Event


Implementations

Key Events: When the user presses the space bar, a pokeball spawns in front of the user view and continues in the direction the user was viewing. Once spawned the user can not change the direction in which the pokeball moves. The pokeball can then be deleted from the scene when 'p' is pressed. When the space bar is pressed again, the pokeball is reset to the middle.

Collision Detection: Each mesh that will either be Diglett, Ratatta, Vulpix, or Psyduck have their own bounding box depending on their location. For example, there are two vulpixes in the scene, each have their own static bounding box. The pokeball that spawns when the key event is triggered has it's own bounding box that moves along with the constantly changing pokeball position. The moving pokeball bounding box is then checked with the static bounding boxes to confirm collision which then causes a visual event. The rest of the scene does not contain collision due to the expensiveness of collision checking.

Visual Events: When the pokeball collides with acceptable static bounding boxes, a visual event starts. The visual events shows the pokemon shrinking signifying the pokemon is being caught. Additionally another visual event is when bulbasaur or ivysaur is shrinking or growing while changing colors to indicate an evolution.

example image example image

View when pokeball spawns and when it collides with pokemon

example image example image

When "m" is pressed

Demo

As you can tell, the pokemon unforunately do not have faces, the obj files that I use only consist of one shape which means I cannot apply multiple textures.

References

Link to website with LOTS of pokemon files: The Models Resource

Link to Phong Material Table: Materials