Friday, December 19, 2014

Final Post!

Well now its all over. Finished the project and time to get some sleep now. Anyways, it was great to see all classmates' projects too and see how much they accomplished. This class was definitely one of the hardest class I've taken and I'm glad to say that I got through it. Here's a video demonstrating our final outcome!

Our code:
https://github.com/ktzhang/First-Person-Shooter




You "wake up" in a room filled with a bunch of colorful Dr. Seuss trees. The only way to escape this horrible nightmare is to shoot and blow all the enemies floating around. Little did you know that this is just the beginning of a long and epic journey...

Basically in this game you control the camera using your mouse movements, and control the person moving using the keyboard. Pressing MOUSE1 will fire a ball in the center of your screen and if that bullet hits an enemy in the scene, the enemy will blow up!

Controls:
w, a, s, d: Person Move
Mouse Move: Camera Move
Left Mouse: Shoot
r: Reset Scene
g: Dynamically generate new trees
p, '[', ']' : generate new skybox background
n: go into night vision mode to see bounding boxes
b: see bounding boxes

The main 3 features we implemented are:
1. L-system plant generation
2. Collision detection with bounding boxes and spheres
3. Particle effects.

Some future features we plan to implement:
1. Scoring system
2. Physics fun!
3. Adding in Objects with texture maps
4. Shading effects
5. Different shaped objects
6. Jumping!
7. Shooting affects screen
Written using C++ with OpenGL.

Wednesday, December 17, 2014

Second Post Update

Second Post!

Game Name:
Trapped!

Now after lots of time of playing around, our team came up with a new design of a game called Box Shooter, which is a First-Person-Shooter. This shooting game occurs in a room, where a person has to shoot different boxes  that are floating around in a scene. They have a gun and the more boxes they destroy, the more points they get. They can freely walk and look around the scene.

The main 3 features we are implementing are:
1. L-system plant generation
2. Collision detection with bounding boxes and spheres
3. Particle effects.

In the past few days we've programmed, we already finished a bunch of features:
1. Camera movements like a First Person Shooter (using our own custom classes)
      + walking around the room
2. L-system tree generation
3. Scene development (using skybox)
4. Creating bounding spheres

There were initially a lot of problems combining our code together, as many things would only work on one project and not on the other. But after many many tries, we managed to get the base system to work out fine, and now we are starting to implement our game design.

Features we plan to finish by tomorrow:
1. Shooting bullets
2. Enemy Boxes that fly and bounce around
3. Collision detection
4. Particle effects enemies blowing up

Some future features we want to implement if we have time:
1. Scoring system
2. Better shaped trees
3. Smoother movements


We will implement more features and post screen shots of them as we program some more today!

Feel free to checkout our code on github: https://github.com/ktzhang/First-Person-Shooter.

Forest of L-System Plants


Thursday, December 11, 2014

First Post

The name of our project:
Racecar fun! (will change to something cooler later).

The names of your team members.
Kevin Zhang - A10810276
Frankie Liu (Qingyang) - A811225129

A short description of the theme/story of your demo.
You are in a world where the only good thing that is left is yourself and a car. Try to navigate the car away from the evil behind you for as long as possible without driving off the road! (But little does the user know that this road is endless and you will never get away). The way you score points is by keeping on the road.

The technical features you are implementing.
Procedurally generated plants with L-system
Procedurally generated terrain
Moving the camera or objects in the scene along a path defined as a piecewise Bezier curve, for example to render a ride on a roller coaster
Collision detection with bounding spheres or boxes
Particle effects

What you are spending your creative efforts on.
Our creative efforts will be mainly the track generation, the scenery generation, the camera movements, and just the number of effects we are planning to use. (although we are not sure we will have enough time for that. Might introduce some physics effects like car jumping, falling off the road, car acceleration, etc, but again depends on the time limit. Might also include things such as procedurally generated roads, random objects on the road for the car to bump into, making a night scene for the car, varying car speeds, drawing the thing that's chasing you, scoring system, multiplayer system, better graphics, but then again depending on how much we get done.

Estimated Project Time:
Thursday - 5 hours
Friday - 3 hours
Tuesday - 7+ hours
Wednesday - 12+ hours
Thursday - 6 hours
Total time: 33+ hours!!!! (wish us luck)

A screen shot showing the latest state of your application. Or in the first week, if your application doesn't render anything yet, supply a picture of a hand-drawn concept sketch.